diff --git a/Earthfile b/Earthfile
index d08a9ff434..6cc80e828a 100644
--- a/Earthfile
+++ b/Earthfile
@@ -22,10 +22,10 @@ speakeasy:
build-final-spec:
FROM core+base-image
RUN apk update && apk add yarn nodejs npm jq
- WORKDIR /src/openapi
+ WORKDIR /src/libs/clients
RUN mkdir build
- COPY openapi/base.yaml .
- COPY openapi/package.* .
+ COPY libs/clients/base.yaml .
+ COPY libs/clients/package.* .
RUN npm install
WORKDIR /src/components
FOR c IN ledger payments
@@ -35,13 +35,13 @@ build-final-spec:
FOR c IN auth webhooks search wallets orchestration reconciliation
COPY ee/$c/openapi.yaml $c/openapi.yaml
END
- WORKDIR /src/openapi
- COPY openapi/openapi-merge.json .
+ WORKDIR /src/libs/clients
+ COPY libs/clients/openapi-merge.json .
RUN npm run build
LET VERSION=$(date +%Y%m%d)
RUN jq '.info.version = "v1.0.${VERSION}"' build/generate.json > build/generate-with-version.json
SAVE ARTIFACT build/generate-with-version.json
- SAVE ARTIFACT build/generate-with-version.json AS LOCAL openapi/build/generate.json
+ SAVE ARTIFACT build/generate-with-version.json AS LOCAL libs/clients/build/generate.json
build-sdk:
BUILD --pass-args +build-final-spec # Force output of the final spec
@@ -50,18 +50,18 @@ build-sdk:
RUN apk update && apk add yq
COPY (+speakeasy/speakeasy) /bin/speakeasy
COPY (+build-final-spec/generate-with-version.json) final-spec.json
- ARG LANG=go
- COPY --dir openapi/templates/${LANG} sdks/${LANG}
- RUN --secret SPEAKEASY_API_KEY speakeasy generate sdk -s ./final-spec.json -o ./sdks/${LANG} -l ${LANG}
- SAVE ARTIFACT sdks/${LANG} AS LOCAL ./sdks/${LANG}
- SAVE ARTIFACT sdks/${LANG}
+ COPY --dir libs/clients/go ./sdks/go
+ RUN --secret SPEAKEASY_API_KEY speakeasy generate sdk -s ./final-spec.json -o ./sdks/go -l go
+ RUN rm -rf ./libs/clients/go
+ SAVE ARTIFACT sdks/go AS LOCAL ./libs/clients/go
+ SAVE ARTIFACT sdks/go
goreleaser:
FROM core+builder-image
ARG --required components
ARG --required type
COPY . /src
- COPY (+build-sdk/go --LANG=go) /src/sdks/go
+ COPY (+build-sdk/go --LANG=go) /src/libs/clients/go
WORKDIR /src/$type/$components
ARG mode=local
LET buildArgs = --clean
diff --git a/components/fctl/Earthfile b/components/fctl/Earthfile
index 6408884178..7302d17bc3 100644
--- a/components/fctl/Earthfile
+++ b/components/fctl/Earthfile
@@ -18,7 +18,7 @@ tests:
sources:
WORKDIR src
- COPY --pass-args (stack+build-sdk/go --LANG=go) sdks/go
+ COPY --pass-args (stack+build-sdk/go) libs/clients/go
DO stack+INCLUDE_GO_LIBS --LOCATION libs/go-libs
WORKDIR /src/components/fctl
COPY go.* .
diff --git a/components/fctl/go.mod b/components/fctl/go.mod
index 17652d741b..f5eac77390 100644
--- a/components/fctl/go.mod
+++ b/components/fctl/go.mod
@@ -82,4 +82,4 @@ replace github.com/formancehq/fctl/membershipclient => ./membershipclient
replace github.com/spf13/cobra v1.6.1 => github.com/formancehq/cobra v0.0.0-20221112160629-60a6d6d55ef9
-replace github.com/formancehq/formance-sdk-go => ../../sdks/go
+replace github.com/formancehq/formance-sdk-go => ../../libs/clients/go
diff --git a/components/fctl/go.sum b/components/fctl/go.sum
index 3b85969994..1383492055 100644
--- a/components/fctl/go.sum
+++ b/components/fctl/go.sum
@@ -104,7 +104,6 @@ github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lL
github.com/mattn/go-tty v0.0.3/go.mod h1:ihxohKRERHTVzN+aSVRwACLCeqIoZAWpoICkkvrWyR0=
github.com/mattn/go-tty v0.0.4 h1:NVikla9X8MN0SQAqCYzpGyXv0jY7MNl3HOWD2dkle7E=
github.com/mattn/go-tty v0.0.4/go.mod h1:u5GGXBtZU6RQoKV8gY5W6UhMudbR5vXnUe7j3pxse28=
-github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/muhlemmer/gu v0.3.1 h1:7EAqmFrW7n3hETvuAdmFmn4hS8W+z3LgKtrnow+YzNM=
github.com/muhlemmer/gu v0.3.1/go.mod h1:YHtHR+gxM+bKEIIs7Hmi9sPT3ZDUvTN/i88wQpZkrdM=
github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
@@ -144,7 +143,6 @@ github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
-github.com/spyzhov/ajson v0.8.0/go.mod h1:63V+CGM6f1Bu/p4nLIN8885ojBdt88TbLoSFzyqMuVA=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
diff --git a/components/payments/Earthfile b/components/payments/Earthfile
index 50163768d9..d8e280c7bc 100644
--- a/components/payments/Earthfile
+++ b/components/payments/Earthfile
@@ -10,7 +10,7 @@ FROM core+base-image
sources:
WORKDIR src
DO stack+INCLUDE_GO_LIBS --LOCATION libs/go-libs
- COPY --pass-args (stack+build-sdk/go --LANG=go) sdks/go
+ COPY --pass-args (stack+build-sdk/go) libs/clients/go
WORKDIR /src/components/payments
COPY go.* .
COPY --dir pkg cmd internal .
diff --git a/ee/orchestration/Earthfile b/ee/orchestration/Earthfile
index ecff618dc3..d0567906c9 100644
--- a/ee/orchestration/Earthfile
+++ b/ee/orchestration/Earthfile
@@ -10,7 +10,7 @@ FROM core+base-image
sources:
WORKDIR src
DO stack+INCLUDE_GO_LIBS --LOCATION libs/go-libs
- COPY --pass-args (stack+build-sdk/go --LANG=go) sdks/go
+ COPY --pass-args (stack+build-sdk/go) libs/clients/go
WORKDIR /src/ee/orchestration
COPY go.* .
COPY --dir pkg cmd internal .
diff --git a/ee/orchestration/go.mod b/ee/orchestration/go.mod
index 13b27ae3f6..dbb2a9eb7b 100644
--- a/ee/orchestration/go.mod
+++ b/ee/orchestration/go.mod
@@ -157,4 +157,4 @@ require (
replace github.com/formancehq/stack/libs/go-libs => ../../libs/go-libs
-replace github.com/formancehq/formance-sdk-go => ../../sdks/go
+replace github.com/formancehq/formance-sdk-go => ../../libs/clients/go
diff --git a/ee/reconciliation/Earthfile b/ee/reconciliation/Earthfile
index 5f345b55dd..47623eabe3 100644
--- a/ee/reconciliation/Earthfile
+++ b/ee/reconciliation/Earthfile
@@ -10,7 +10,7 @@ FROM core+base-image
sources:
WORKDIR src
DO stack+INCLUDE_GO_LIBS --LOCATION libs/go-libs
- COPY --pass-args (stack+build-sdk/go --LANG=go) sdks/go
+ COPY --pass-args (stack+build-sdk/go) libs/clients/go
WORKDIR /src/ee/reconciliation
COPY go.* .
COPY --dir cmd internal .
diff --git a/ee/reconciliation/go.mod b/ee/reconciliation/go.mod
index 7578013a07..52b8f8356c 100644
--- a/ee/reconciliation/go.mod
+++ b/ee/reconciliation/go.mod
@@ -117,4 +117,4 @@ require (
replace github.com/formancehq/stack/libs/go-libs => ../../libs/go-libs
-replace github.com/formancehq/formance-sdk-go => ../../sdks/go
+replace github.com/formancehq/formance-sdk-go => ../../libs/clients/go
diff --git a/ee/wallets/Dockerfile b/ee/wallets/Dockerfile
index 98ceb3a721..1f5171e354 100644
--- a/ee/wallets/Dockerfile
+++ b/ee/wallets/Dockerfile
@@ -2,7 +2,7 @@ FROM golang:1.20 AS builder
ARG APP_SHA
ARG VERSION
WORKDIR /src
-COPY sdks/go /src/sdks/go
+COPY libs/clients/go /src/libs/clients/go
COPY libs /src/libs
COPY components/wallets /src/ee/wallets
WORKDIR /src/ee/wallets
diff --git a/ee/wallets/Earthfile b/ee/wallets/Earthfile
index e2f66d6337..977cdb57e7 100644
--- a/ee/wallets/Earthfile
+++ b/ee/wallets/Earthfile
@@ -10,7 +10,7 @@ FROM core+base-image
sources:
WORKDIR src
DO stack+INCLUDE_GO_LIBS --LOCATION libs/go-libs
- COPY --pass-args (stack+build-sdk/go --LANG=go) sdks/go
+ COPY --pass-args (stack+build-sdk/go) libs/clients/go
WORKDIR /src/ee/wallets
COPY go.* .
COPY --dir pkg cmd .
diff --git a/ee/wallets/go.mod b/ee/wallets/go.mod
index 17494ad5a7..1361402e67 100644
--- a/ee/wallets/go.mod
+++ b/ee/wallets/go.mod
@@ -77,4 +77,4 @@ require (
replace github.com/formancehq/stack/libs/go-libs => ../../libs/go-libs
-replace github.com/formancehq/formance-sdk-go => ../../sdks/go
+replace github.com/formancehq/formance-sdk-go => ../../libs/clients/go
diff --git a/libs/clients/.gitignore b/libs/clients/.gitignore
new file mode 100644
index 0000000000..c795b054e5
--- /dev/null
+++ b/libs/clients/.gitignore
@@ -0,0 +1 @@
+build
\ No newline at end of file
diff --git a/openapi/README.md b/libs/clients/README.md
similarity index 100%
rename from openapi/README.md
rename to libs/clients/README.md
diff --git a/openapi/base.yaml b/libs/clients/base.yaml
similarity index 97%
rename from openapi/base.yaml
rename to libs/clients/base.yaml
index 466d03d770..1f314acf4c 100644
--- a/openapi/base.yaml
+++ b/libs/clients/base.yaml
@@ -105,6 +105,9 @@ x-tagGroups:
- name: Flows
tags:
- Orchestration
+ - name: Reconciliation
+ tags:
+ - Reconciliation
paths:
/versions:
diff --git a/libs/clients/go/.gitattributes b/libs/clients/go/.gitattributes
new file mode 100755
index 0000000000..e6a994416d
--- /dev/null
+++ b/libs/clients/go/.gitattributes
@@ -0,0 +1,2 @@
+# This allows generated code to be indexed correctly
+*.go linguist-generated=false
\ No newline at end of file
diff --git a/libs/clients/go/.gitignore b/libs/clients/go/.gitignore
new file mode 100755
index 0000000000..d3c2f597fe
--- /dev/null
+++ b/libs/clients/go/.gitignore
@@ -0,0 +1 @@
+# .gitignore
diff --git a/libs/clients/go/README.md b/libs/clients/go/README.md
new file mode 100755
index 0000000000..f19722e6f1
--- /dev/null
+++ b/libs/clients/go/README.md
@@ -0,0 +1,345 @@
+# github.com/formancehq/formance-sdk-go
+
+
+
+
+
+
+## 🏗 **Welcome to your new SDK!** 🏗
+
+It has been generated successfully based on your OpenAPI spec. However, it is not yet ready for production use. Here are some next steps:
+- [ ] 🛠 Make your SDK feel handcrafted by [customizing it](https://www.speakeasyapi.dev/docs/customize-sdks)
+- [ ] ♻️ Refine your SDK quickly by iterating locally with the [Speakeasy CLI](https://github.com/speakeasy-api/speakeasy)
+- [ ] 🎁 Publish your SDK to package managers by [configuring automatic publishing](https://www.speakeasyapi.dev/docs/productionize-sdks/publish-sdks)
+- [ ] ✨ When ready to productionize, delete this section from the README
+
+# SDK Installation
+
+```bash
+go get github.com/formancehq/formance-sdk-go
+```
+
+
+## SDK Example Usage
+
+
+
+```go
+package main
+
+import (
+ "context"
+ formancesdkgo "github.com/formancehq/formance-sdk-go"
+ "log"
+)
+
+func main() {
+ s := formancesdkgo.New()
+
+ ctx := context.Background()
+ res, err := s.Formance.GetVersions(ctx)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ if res.GetVersionsResponse != nil {
+ // handle response
+ }
+}
+
+```
+
+
+
+# Available Resources and Operations
+
+## [Formance SDK](docs/sdks/formance/README.md)
+
+* [GetVersions](docs/sdks/formance/README.md#getversions) - Show stack version information
+* [GetAPIAuthWellKnownOpenidConfiguration](docs/sdks/formance/README.md#getapiauthwellknownopenidconfiguration)
+
+## [Auth](docs/sdks/auth/README.md)
+
+* [CreateClient](docs/sdks/auth/README.md#createclient) - Create client
+* [CreateSecret](docs/sdks/auth/README.md#createsecret) - Add a secret to a client
+* [DeleteClient](docs/sdks/auth/README.md#deleteclient) - Delete client
+* [DeleteSecret](docs/sdks/auth/README.md#deletesecret) - Delete a secret from a client
+* [GetServerInfo](docs/sdks/auth/README.md#getserverinfo) - Get server info
+* [ListClients](docs/sdks/auth/README.md#listclients) - List clients
+* [ListUsers](docs/sdks/auth/README.md#listusers) - List users
+* [ReadClient](docs/sdks/auth/README.md#readclient) - Read client
+* [ReadUser](docs/sdks/auth/README.md#readuser) - Read user
+* [UpdateClient](docs/sdks/auth/README.md#updateclient) - Update client
+
+## [Ledger](docs/sdks/ledger/README.md)
+
+* [CreateLedger](docs/sdks/ledger/README.md#createledger) - Create a ledger
+* [GetLedger](docs/sdks/ledger/README.md#getledger) - Get a ledger
+* [ListLedgers](docs/sdks/ledger/README.md#listledgers) - List ledgers
+
+## [Ledger.V2](docs/sdks/ledgerv2/README.md)
+
+* [AddMetadataOnTransaction](docs/sdks/ledgerv2/README.md#addmetadataontransaction) - Set the metadata of a transaction by its ID
+* [AddMetadataToAccount](docs/sdks/ledgerv2/README.md#addmetadatatoaccount) - Add metadata to an account
+* [CountAccounts](docs/sdks/ledgerv2/README.md#countaccounts) - Count the accounts from a ledger
+* [CountTransactions](docs/sdks/ledgerv2/README.md#counttransactions) - Count the transactions from a ledger
+* [CreateBulk](docs/sdks/ledgerv2/README.md#createbulk) - Bulk request
+* [CreateTransaction](docs/sdks/ledgerv2/README.md#createtransaction) - Create a new transaction to a ledger
+* [DeleteAccountMetadata](docs/sdks/ledgerv2/README.md#deleteaccountmetadata) - Delete metadata by key
+* [DeleteTransactionMetadata](docs/sdks/ledgerv2/README.md#deletetransactionmetadata) - Delete metadata by key
+* [GetAccount](docs/sdks/ledgerv2/README.md#getaccount) - Get account by its address
+* [GetBalancesAggregated](docs/sdks/ledgerv2/README.md#getbalancesaggregated) - Get the aggregated balances from selected accounts
+* [GetInfo](docs/sdks/ledgerv2/README.md#getinfo) - Show server information
+* [GetLedgerInfo](docs/sdks/ledgerv2/README.md#getledgerinfo) - Get information about a ledger
+* [GetTransaction](docs/sdks/ledgerv2/README.md#gettransaction) - Get transaction from a ledger by its ID
+* [ListAccounts](docs/sdks/ledgerv2/README.md#listaccounts) - List accounts from a ledger
+* [ListLogs](docs/sdks/ledgerv2/README.md#listlogs) - List the logs from a ledger
+* [ListTransactions](docs/sdks/ledgerv2/README.md#listtransactions) - List transactions from a ledger
+* [ReadStats](docs/sdks/ledgerv2/README.md#readstats) - Get statistics from a ledger
+* [RevertTransaction](docs/sdks/ledgerv2/README.md#reverttransaction) - Revert a ledger transaction by its ID
+
+## [Orchestration](docs/sdks/orchestration/README.md)
+
+* [CancelEvent](docs/sdks/orchestration/README.md#cancelevent) - Cancel a running workflow
+* [CreateTrigger](docs/sdks/orchestration/README.md#createtrigger) - Create trigger
+* [CreateWorkflow](docs/sdks/orchestration/README.md#createworkflow) - Create workflow
+* [DeleteTrigger](docs/sdks/orchestration/README.md#deletetrigger) - Delete trigger
+* [DeleteWorkflow](docs/sdks/orchestration/README.md#deleteworkflow) - Delete a flow by id
+* [GetInstance](docs/sdks/orchestration/README.md#getinstance) - Get a workflow instance by id
+* [GetInstanceHistory](docs/sdks/orchestration/README.md#getinstancehistory) - Get a workflow instance history by id
+* [GetInstanceStageHistory](docs/sdks/orchestration/README.md#getinstancestagehistory) - Get a workflow instance stage history
+* [GetWorkflow](docs/sdks/orchestration/README.md#getworkflow) - Get a flow by id
+* [ListInstances](docs/sdks/orchestration/README.md#listinstances) - List instances of a workflow
+* [ListTriggers](docs/sdks/orchestration/README.md#listtriggers) - List triggers
+* [ListTriggersOccurrences](docs/sdks/orchestration/README.md#listtriggersoccurrences) - List triggers occurrences
+* [ListWorkflows](docs/sdks/orchestration/README.md#listworkflows) - List registered workflows
+* [OrchestrationgetServerInfo](docs/sdks/orchestration/README.md#orchestrationgetserverinfo) - Get server info
+* [ReadTrigger](docs/sdks/orchestration/README.md#readtrigger) - Read trigger
+* [RunWorkflow](docs/sdks/orchestration/README.md#runworkflow) - Run workflow
+* [SendEvent](docs/sdks/orchestration/README.md#sendevent) - Send an event to a running workflow
+
+## [Payments](docs/sdks/payments/README.md)
+
+* [AddAccountToPool](docs/sdks/payments/README.md#addaccounttopool) - Add an account to a pool
+* [ConnectorsTransfer](docs/sdks/payments/README.md#connectorstransfer) - Transfer funds between Connector accounts
+* [CreateBankAccount](docs/sdks/payments/README.md#createbankaccount) - Create a BankAccount in Payments and on the PSP
+* [CreatePayment](docs/sdks/payments/README.md#createpayment) - Create a payment
+* [CreatePool](docs/sdks/payments/README.md#createpool) - Create a Pool
+* [CreateTransferInitiation](docs/sdks/payments/README.md#createtransferinitiation) - Create a TransferInitiation
+* [DeletePool](docs/sdks/payments/README.md#deletepool) - Delete a Pool
+* [DeleteTransferInitiation](docs/sdks/payments/README.md#deletetransferinitiation) - Delete a transfer initiation
+* [GetAccountBalances](docs/sdks/payments/README.md#getaccountbalances) - Get account balances
+* [GetBankAccount](docs/sdks/payments/README.md#getbankaccount) - Get a bank account created by user on Formance
+* [~~GetConnectorTask~~](docs/sdks/payments/README.md#getconnectortask) - Read a specific task of the connector :warning: **Deprecated**
+* [GetConnectorTaskV1](docs/sdks/payments/README.md#getconnectortaskv1) - Read a specific task of the connector
+* [GetPayment](docs/sdks/payments/README.md#getpayment) - Get a payment
+* [GetPool](docs/sdks/payments/README.md#getpool) - Get a Pool
+* [GetPoolBalances](docs/sdks/payments/README.md#getpoolbalances) - Get pool balances
+* [GetTransferInitiation](docs/sdks/payments/README.md#gettransferinitiation) - Get a transfer initiation
+* [InstallConnector](docs/sdks/payments/README.md#installconnector) - Install a connector
+* [ListAllConnectors](docs/sdks/payments/README.md#listallconnectors) - List all installed connectors
+* [ListBankAccounts](docs/sdks/payments/README.md#listbankaccounts) - List bank accounts created by user on Formance
+* [ListConfigsAvailableConnectors](docs/sdks/payments/README.md#listconfigsavailableconnectors) - List the configs of each available connector
+* [~~ListConnectorTasks~~](docs/sdks/payments/README.md#listconnectortasks) - List tasks from a connector :warning: **Deprecated**
+* [ListConnectorTasksV1](docs/sdks/payments/README.md#listconnectortasksv1) - List tasks from a connector
+* [ListPayments](docs/sdks/payments/README.md#listpayments) - List payments
+* [ListPools](docs/sdks/payments/README.md#listpools) - List Pools
+* [ListTransferInitiations](docs/sdks/payments/README.md#listtransferinitiations) - List Transfer Initiations
+* [PaymentsgetAccount](docs/sdks/payments/README.md#paymentsgetaccount) - Get an account
+* [PaymentsgetServerInfo](docs/sdks/payments/README.md#paymentsgetserverinfo) - Get server info
+* [PaymentslistAccounts](docs/sdks/payments/README.md#paymentslistaccounts) - List accounts
+* [~~ReadConnectorConfig~~](docs/sdks/payments/README.md#readconnectorconfig) - Read the config of a connector :warning: **Deprecated**
+* [ReadConnectorConfigV1](docs/sdks/payments/README.md#readconnectorconfigv1) - Read the config of a connector
+* [RemoveAccountFromPool](docs/sdks/payments/README.md#removeaccountfrompool) - Remove an account from a pool
+* [~~ResetConnector~~](docs/sdks/payments/README.md#resetconnector) - Reset a connector :warning: **Deprecated**
+* [ResetConnectorV1](docs/sdks/payments/README.md#resetconnectorv1) - Reset a connector
+* [RetryTransferInitiation](docs/sdks/payments/README.md#retrytransferinitiation) - Retry a failed transfer initiation
+* [UdpateTransferInitiationStatus](docs/sdks/payments/README.md#udpatetransferinitiationstatus) - Update the status of a transfer initiation
+* [~~UninstallConnector~~](docs/sdks/payments/README.md#uninstallconnector) - Uninstall a connector :warning: **Deprecated**
+* [UninstallConnectorV1](docs/sdks/payments/README.md#uninstallconnectorv1) - Uninstall a connector
+* [UpdateMetadata](docs/sdks/payments/README.md#updatemetadata) - Update metadata
+
+## [Reconciliation](docs/sdks/reconciliation/README.md)
+
+* [CreatePolicy](docs/sdks/reconciliation/README.md#createpolicy) - Create a policy
+* [DeletePolicy](docs/sdks/reconciliation/README.md#deletepolicy) - Delete a policy
+* [GetPolicy](docs/sdks/reconciliation/README.md#getpolicy) - Get a policy
+* [GetReconciliation](docs/sdks/reconciliation/README.md#getreconciliation) - Get a reconciliation
+* [ListPolicies](docs/sdks/reconciliation/README.md#listpolicies) - List policies
+* [ListReconciliations](docs/sdks/reconciliation/README.md#listreconciliations) - List reconciliations
+* [Reconcile](docs/sdks/reconciliation/README.md#reconcile) - Reconcile using a policy
+* [ReconciliationgetServerInfo](docs/sdks/reconciliation/README.md#reconciliationgetserverinfo) - Get server info
+
+## [Search](docs/sdks/search/README.md)
+
+* [Search](docs/sdks/search/README.md#search) - Search
+* [SearchgetServerInfo](docs/sdks/search/README.md#searchgetserverinfo) - Get server info
+
+## [Wallets](docs/sdks/wallets/README.md)
+
+* [ConfirmHold](docs/sdks/wallets/README.md#confirmhold) - Confirm a hold
+* [CreateBalance](docs/sdks/wallets/README.md#createbalance) - Create a balance
+* [CreateWallet](docs/sdks/wallets/README.md#createwallet) - Create a new wallet
+* [CreditWallet](docs/sdks/wallets/README.md#creditwallet) - Credit a wallet
+* [DebitWallet](docs/sdks/wallets/README.md#debitwallet) - Debit a wallet
+* [GetBalance](docs/sdks/wallets/README.md#getbalance) - Get detailed balance
+* [GetHold](docs/sdks/wallets/README.md#gethold) - Get a hold
+* [GetHolds](docs/sdks/wallets/README.md#getholds) - Get all holds for a wallet
+* [GetTransactions](docs/sdks/wallets/README.md#gettransactions)
+* [GetWallet](docs/sdks/wallets/README.md#getwallet) - Get a wallet
+* [GetWalletSummary](docs/sdks/wallets/README.md#getwalletsummary) - Get wallet summary
+* [ListBalances](docs/sdks/wallets/README.md#listbalances) - List balances of a wallet
+* [ListWallets](docs/sdks/wallets/README.md#listwallets) - List all wallets
+* [UpdateWallet](docs/sdks/wallets/README.md#updatewallet) - Update a wallet
+* [VoidHold](docs/sdks/wallets/README.md#voidhold) - Cancel a hold
+* [WalletsgetServerInfo](docs/sdks/wallets/README.md#walletsgetserverinfo) - Get server info
+
+## [Webhooks](docs/sdks/webhooks/README.md)
+
+* [ActivateConfig](docs/sdks/webhooks/README.md#activateconfig) - Activate one config
+* [ChangeConfigSecret](docs/sdks/webhooks/README.md#changeconfigsecret) - Change the signing secret of a config
+* [DeactivateConfig](docs/sdks/webhooks/README.md#deactivateconfig) - Deactivate one config
+* [DeleteConfig](docs/sdks/webhooks/README.md#deleteconfig) - Delete one config
+* [GetManyConfigs](docs/sdks/webhooks/README.md#getmanyconfigs) - Get many configs
+* [InsertConfig](docs/sdks/webhooks/README.md#insertconfig) - Insert a new config
+* [TestConfig](docs/sdks/webhooks/README.md#testconfig) - Test one config
+
+
+
+
+
+
+
+
+
+# Error Handling
+
+Handling errors in your SDK should largely match your expectations. All operations return a response object or an error, they will never return both. When specified by the OpenAPI spec document, the SDK will return the appropriate subclass.
+
+
+
+
+
+# Server Selection
+
+## Select Server by Index
+
+You can override the default server globally using the `WithServerIndex` option when initializing the SDK client instance. The selected server will then be used as the default on the operations that use it. This table lists the indexes associated with the available servers:
+
+| # | Server | Variables |
+| - | ------ | --------- |
+| 0 | `http://localhost` | None |
+
+For example:
+
+
+```go
+package main
+
+import (
+ "context"
+ formancesdkgo "github.com/formancehq/formance-sdk-go"
+ "log"
+)
+
+func main() {
+ s := formancesdkgo.New(
+ formancesdkgo.WithServerIndex(0),
+ )
+
+ ctx := context.Background()
+ res, err := s.Formance.GetVersions(ctx)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ if res.GetVersionsResponse != nil {
+ // handle response
+ }
+}
+
+```
+
+
+## Override Server URL Per-Client
+
+The default server can also be overridden globally using the `WithServerURL` option when initializing the SDK client instance. For example:
+
+
+```go
+package main
+
+import (
+ "context"
+ formancesdkgo "github.com/formancehq/formance-sdk-go"
+ "log"
+)
+
+func main() {
+ s := formancesdkgo.New(
+ formancesdkgo.WithServerURL("http://localhost"),
+ )
+
+ ctx := context.Background()
+ res, err := s.Formance.GetVersions(ctx)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ if res.GetVersionsResponse != nil {
+ // handle response
+ }
+}
+
+```
+
+
+
+# Custom HTTP Client
+
+The Go SDK makes API calls that wrap an internal HTTP client. The requirements for the HTTP client are very simple. It must match this interface:
+
+```go
+type HTTPClient interface {
+ Do(req *http.Request) (*http.Response, error)
+}
+```
+
+The built-in `net/http` client satisfies this interface and a default client based on the built-in is provided by default. To replace this default with a client of your own, you can implement this interface yourself or provide your own client configured as desired. Here's a simple example, which adds a client with a 30 second timeout.
+
+```go
+import (
+ "net/http"
+ "time"
+ "github.com/myorg/your-go-sdk"
+)
+
+var (
+ httpClient = &http.Client{Timeout: 30 * time.Second}
+ sdkClient = sdk.New(sdk.WithClient(httpClient))
+)
+```
+
+This can be a convenient way to configure timeouts, cookies, proxies, custom headers, and other low-level configuration.
+
+
+
+
+
+
+
+
+# Development
+
+## Maturity
+
+This SDK is in beta, and there may be breaking changes between versions without a major version update. Therefore, we recommend pinning usage
+to a specific package version. This way, you can install the same version each time without breaking changes unless you are intentionally
+looking for the latest version.
+
+## Contributions
+
+While we value open-source contributions to this SDK, this library is generated programmatically.
+Feel free to open a PR or a Github issue as a proof of concept and we'll do our best to include it in a future release!
+
+### SDK Created by [Speakeasy](https://docs.speakeasyapi.dev/docs/using-speakeasy/client-sdks)
diff --git a/libs/clients/go/USAGE.md b/libs/clients/go/USAGE.md
new file mode 100755
index 0000000000..5b533a5b6f
--- /dev/null
+++ b/libs/clients/go/USAGE.md
@@ -0,0 +1,28 @@
+
+
+
+```go
+package main
+
+import (
+ "context"
+ formancesdkgo "github.com/formancehq/formance-sdk-go"
+ "log"
+)
+
+func main() {
+ s := formancesdkgo.New()
+
+ ctx := context.Background()
+ res, err := s.Formance.GetVersions(ctx)
+ if err != nil {
+ log.Fatal(err)
+ }
+
+ if res.GetVersionsResponse != nil {
+ // handle response
+ }
+}
+
+```
+
\ No newline at end of file
diff --git a/libs/clients/go/auth.go b/libs/clients/go/auth.go
new file mode 100755
index 0000000000..4dfb5ffb2c
--- /dev/null
+++ b/libs/clients/go/auth.go
@@ -0,0 +1,585 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package formancesdkgo
+
+import (
+ "bytes"
+ "context"
+ "fmt"
+ "github.com/formancehq/formance-sdk-go/pkg/models/operations"
+ "github.com/formancehq/formance-sdk-go/pkg/models/sdkerrors"
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "io"
+ "net/http"
+ "strings"
+)
+
+type auth struct {
+ sdkConfiguration sdkConfiguration
+}
+
+func newAuth(sdkConfig sdkConfiguration) *auth {
+ return &auth{
+ sdkConfiguration: sdkConfig,
+ }
+}
+
+// CreateClient - Create client
+func (s *auth) CreateClient(ctx context.Context, request *shared.CreateClientRequest) (*operations.CreateClientResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/auth/clients"
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "Request", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.CreateClientResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 201:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.CreateClientResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.CreateClientResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// CreateSecret - Add a secret to a client
+func (s *auth) CreateSecret(ctx context.Context, request operations.CreateSecretRequest) (*operations.CreateSecretResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/auth/clients/{clientId}/secrets", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "CreateSecretRequest", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.CreateSecretResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.CreateSecretResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.CreateSecretResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// DeleteClient - Delete client
+func (s *auth) DeleteClient(ctx context.Context, request operations.DeleteClientRequest) (*operations.DeleteClientResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/auth/clients/{clientId}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "*/*")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.DeleteClientResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ }
+
+ return res, nil
+}
+
+// DeleteSecret - Delete a secret from a client
+func (s *auth) DeleteSecret(ctx context.Context, request operations.DeleteSecretRequest) (*operations.DeleteSecretResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/auth/clients/{clientId}/secrets/{secretId}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "*/*")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.DeleteSecretResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ }
+
+ return res, nil
+}
+
+// GetServerInfo - Get server info
+func (s *auth) GetServerInfo(ctx context.Context) (*operations.GetServerInfoResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/auth/_info"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetServerInfoResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ServerInfo
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ServerInfo = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ListClients - List clients
+func (s *auth) ListClients(ctx context.Context) (*operations.ListClientsResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/auth/clients"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ListClientsResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ListClientsResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ListClientsResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ListUsers - List users
+// List users
+func (s *auth) ListUsers(ctx context.Context) (*operations.ListUsersResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/auth/users"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ListUsersResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ListUsersResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ListUsersResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ReadClient - Read client
+func (s *auth) ReadClient(ctx context.Context, request operations.ReadClientRequest) (*operations.ReadClientResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/auth/clients/{clientId}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ReadClientResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ReadClientResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ReadClientResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ReadUser - Read user
+// Read user
+func (s *auth) ReadUser(ctx context.Context, request operations.ReadUserRequest) (*operations.ReadUserResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/auth/users/{userId}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ReadUserResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ReadUserResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ReadUserResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// UpdateClient - Update client
+func (s *auth) UpdateClient(ctx context.Context, request operations.UpdateClientRequest) (*operations.UpdateClientResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/auth/clients/{clientId}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "UpdateClientRequest", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "PUT", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.UpdateClientResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.UpdateClientResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.UpdateClientResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
diff --git a/libs/clients/go/docs/models/operations/activateconfigrequest.md b/libs/clients/go/docs/models/operations/activateconfigrequest.md
new file mode 100755
index 0000000000..427993287f
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/activateconfigrequest.md
@@ -0,0 +1,8 @@
+# ActivateConfigRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
+| `ID` | *string* | :heavy_check_mark: | Config ID | 4997257d-dfb6-445b-929c-cbe2ab182818 |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/activateconfigresponse.md b/libs/clients/go/docs/models/operations/activateconfigresponse.md
new file mode 100755
index 0000000000..8a9db7b059
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/activateconfigresponse.md
@@ -0,0 +1,12 @@
+# ActivateConfigResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
+| `ConfigResponse` | [*shared.ConfigResponse](../../models/shared/configresponse.md) | :heavy_minus_sign: | Config successfully activated. |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `WebhooksErrorResponse` | [*shared.WebhooksErrorResponse](../../models/shared/webhookserrorresponse.md) | :heavy_minus_sign: | Error |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/addaccounttopoolrequest.md b/libs/clients/go/docs/models/operations/addaccounttopoolrequest.md
new file mode 100755
index 0000000000..88ecfa330f
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/addaccounttopoolrequest.md
@@ -0,0 +1,9 @@
+# AddAccountToPoolRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
+| `AddAccountToPoolRequest` | [shared.AddAccountToPoolRequest](../../models/shared/addaccounttopoolrequest.md) | :heavy_check_mark: | N/A |
+| `PoolID` | *string* | :heavy_check_mark: | The pool ID. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/addaccounttopoolresponse.md b/libs/clients/go/docs/models/operations/addaccounttopoolresponse.md
new file mode 100755
index 0000000000..c4facac372
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/addaccounttopoolresponse.md
@@ -0,0 +1,10 @@
+# AddAccountToPoolResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/addmetadataontransactionrequest.md b/libs/clients/go/docs/models/operations/addmetadataontransactionrequest.md
new file mode 100755
index 0000000000..29137dab3a
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/addmetadataontransactionrequest.md
@@ -0,0 +1,12 @@
+# AddMetadataOnTransactionRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
+| `IdempotencyKey` | **string* | :heavy_minus_sign: | Use an idempotency key | |
+| `RequestBody` | map[string]*string* | :heavy_minus_sign: | metadata | [object Object] |
+| `DryRun` | **bool* | :heavy_minus_sign: | Set the dryRun mode. Dry run mode doesn't add the logs to the database or publish a message to the message broker. | true |
+| `ID` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | Transaction ID. | 1234 |
+| `Ledger` | *string* | :heavy_check_mark: | Name of the ledger. | ledger001 |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/addmetadataontransactionresponse.md b/libs/clients/go/docs/models/operations/addmetadataontransactionresponse.md
new file mode 100755
index 0000000000..37afeaacae
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/addmetadataontransactionresponse.md
@@ -0,0 +1,11 @@
+# AddMetadataOnTransactionResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ErrorResponse` | [*shared.ErrorResponse](../../models/shared/errorresponse.md) | :heavy_minus_sign: | Error |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/addmetadatatoaccountrequest.md b/libs/clients/go/docs/models/operations/addmetadatatoaccountrequest.md
new file mode 100755
index 0000000000..7746c0a8ae
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/addmetadatatoaccountrequest.md
@@ -0,0 +1,12 @@
+# AddMetadataToAccountRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
+| `IdempotencyKey` | **string* | :heavy_minus_sign: | Use an idempotency key | |
+| `RequestBody` | map[string]*string* | :heavy_check_mark: | metadata | [object Object] |
+| `Address` | *string* | :heavy_check_mark: | Exact address of the account. It must match the following regular expressions pattern:
```
^\w+(:\w+)*$
```
| users:001 |
+| `DryRun` | **bool* | :heavy_minus_sign: | Set the dry run mode. Dry run mode doesn't add the logs to the database or publish a message to the message broker. | true |
+| `Ledger` | *string* | :heavy_check_mark: | Name of the ledger. | ledger001 |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/addmetadatatoaccountresponse.md b/libs/clients/go/docs/models/operations/addmetadatatoaccountresponse.md
new file mode 100755
index 0000000000..2a9906831a
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/addmetadatatoaccountresponse.md
@@ -0,0 +1,11 @@
+# AddMetadataToAccountResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ErrorResponse` | [*shared.ErrorResponse](../../models/shared/errorresponse.md) | :heavy_minus_sign: | Error |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/canceleventrequest.md b/libs/clients/go/docs/models/operations/canceleventrequest.md
new file mode 100755
index 0000000000..7c991ef42d
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/canceleventrequest.md
@@ -0,0 +1,8 @@
+# CancelEventRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `InstanceID` | *string* | :heavy_check_mark: | The instance id |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/canceleventresponse.md b/libs/clients/go/docs/models/operations/canceleventresponse.md
new file mode 100755
index 0000000000..f3d5c80662
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/canceleventresponse.md
@@ -0,0 +1,11 @@
+# CancelEventResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `Error` | [*shared.Error](../../models/shared/error.md) | :heavy_minus_sign: | General error |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/changeconfigsecretrequest.md b/libs/clients/go/docs/models/operations/changeconfigsecretrequest.md
new file mode 100755
index 0000000000..a71d6bd146
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/changeconfigsecretrequest.md
@@ -0,0 +1,9 @@
+# ChangeConfigSecretRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
+| `ConfigChangeSecret` | [*shared.ConfigChangeSecret](../../models/shared/configchangesecret.md) | :heavy_minus_sign: | N/A | |
+| `ID` | *string* | :heavy_check_mark: | Config ID | 4997257d-dfb6-445b-929c-cbe2ab182818 |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/changeconfigsecretresponse.md b/libs/clients/go/docs/models/operations/changeconfigsecretresponse.md
new file mode 100755
index 0000000000..8257c52d5d
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/changeconfigsecretresponse.md
@@ -0,0 +1,12 @@
+# ChangeConfigSecretResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
+| `ConfigResponse` | [*shared.ConfigResponse](../../models/shared/configresponse.md) | :heavy_minus_sign: | Secret successfully changed. |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `WebhooksErrorResponse` | [*shared.WebhooksErrorResponse](../../models/shared/webhookserrorresponse.md) | :heavy_minus_sign: | Error |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/confirmholdrequest.md b/libs/clients/go/docs/models/operations/confirmholdrequest.md
new file mode 100755
index 0000000000..925322278b
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/confirmholdrequest.md
@@ -0,0 +1,9 @@
+# ConfirmHoldRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
+| `ConfirmHoldRequest` | [*shared.ConfirmHoldRequest](../../models/shared/confirmholdrequest.md) | :heavy_minus_sign: | N/A |
+| `HoldID` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/confirmholdresponse.md b/libs/clients/go/docs/models/operations/confirmholdresponse.md
new file mode 100755
index 0000000000..f005845534
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/confirmholdresponse.md
@@ -0,0 +1,11 @@
+# ConfirmHoldResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `WalletsErrorResponse` | [*shared.WalletsErrorResponse](../../models/shared/walletserrorresponse.md) | :heavy_minus_sign: | Error |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/connectorstransferrequest.md b/libs/clients/go/docs/models/operations/connectorstransferrequest.md
new file mode 100755
index 0000000000..c25088ff82
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/connectorstransferrequest.md
@@ -0,0 +1,9 @@
+# ConnectorsTransferRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- |
+| `TransferRequest` | [shared.TransferRequest](../../models/shared/transferrequest.md) | :heavy_check_mark: | N/A |
+| `Connector` | [shared.Connector](../../models/shared/connector.md) | :heavy_check_mark: | The name of the connector. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/connectorstransferresponse.md b/libs/clients/go/docs/models/operations/connectorstransferresponse.md
new file mode 100755
index 0000000000..4b532405bc
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/connectorstransferresponse.md
@@ -0,0 +1,11 @@
+# ConnectorsTransferResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `TransferResponse` | [*shared.TransferResponse](../../models/shared/transferresponse.md) | :heavy_minus_sign: | OK |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/countaccountsrequest.md b/libs/clients/go/docs/models/operations/countaccountsrequest.md
new file mode 100755
index 0000000000..7cf366d55c
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/countaccountsrequest.md
@@ -0,0 +1,10 @@
+# CountAccountsRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | ------------------------------------------ |
+| `RequestBody` | map[string]*interface{}* | :heavy_minus_sign: | N/A | |
+| `Ledger` | *string* | :heavy_check_mark: | Name of the ledger. | ledger001 |
+| `Pit` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/countaccountsresponse.md b/libs/clients/go/docs/models/operations/countaccountsresponse.md
new file mode 100755
index 0000000000..54f910b77c
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/countaccountsresponse.md
@@ -0,0 +1,12 @@
+# CountAccountsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ErrorResponse` | [*shared.ErrorResponse](../../models/shared/errorresponse.md) | :heavy_minus_sign: | Error |
+| `Headers` | map[string][]*string* | :heavy_minus_sign: | N/A |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/counttransactionsrequest.md b/libs/clients/go/docs/models/operations/counttransactionsrequest.md
new file mode 100755
index 0000000000..2d0b62567f
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/counttransactionsrequest.md
@@ -0,0 +1,10 @@
+# CountTransactionsRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | ------------------------------------------ |
+| `RequestBody` | map[string]*interface{}* | :heavy_minus_sign: | N/A | |
+| `Ledger` | *string* | :heavy_check_mark: | Name of the ledger. | ledger001 |
+| `Pit` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/counttransactionsresponse.md b/libs/clients/go/docs/models/operations/counttransactionsresponse.md
new file mode 100755
index 0000000000..12cf513496
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/counttransactionsresponse.md
@@ -0,0 +1,12 @@
+# CountTransactionsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ErrorResponse` | [*shared.ErrorResponse](../../models/shared/errorresponse.md) | :heavy_minus_sign: | Error |
+| `Headers` | map[string][]*string* | :heavy_minus_sign: | N/A |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/createbalancerequest.md b/libs/clients/go/docs/models/operations/createbalancerequest.md
new file mode 100755
index 0000000000..efa1781847
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/createbalancerequest.md
@@ -0,0 +1,9 @@
+# CreateBalanceRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
+| `CreateBalanceRequest` | [*shared.CreateBalanceRequest](../../models/shared/createbalancerequest.md) | :heavy_minus_sign: | N/A |
+| `ID` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/createbalanceresponse.md b/libs/clients/go/docs/models/operations/createbalanceresponse.md
new file mode 100755
index 0000000000..3288552383
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/createbalanceresponse.md
@@ -0,0 +1,12 @@
+# CreateBalanceResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `CreateBalanceResponse` | [*shared.CreateBalanceResponse](../../models/shared/createbalanceresponse.md) | :heavy_minus_sign: | Created balance |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `WalletsErrorResponse` | [*shared.WalletsErrorResponse](../../models/shared/walletserrorresponse.md) | :heavy_minus_sign: | Error |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/createbankaccountresponse.md b/libs/clients/go/docs/models/operations/createbankaccountresponse.md
new file mode 100755
index 0000000000..196473a9e6
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/createbankaccountresponse.md
@@ -0,0 +1,11 @@
+# CreateBankAccountResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
+| `BankAccountResponse` | [*shared.BankAccountResponse](../../models/shared/bankaccountresponse.md) | :heavy_minus_sign: | OK |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/createbulkrequest.md b/libs/clients/go/docs/models/operations/createbulkrequest.md
new file mode 100755
index 0000000000..9d79442daf
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/createbulkrequest.md
@@ -0,0 +1,9 @@
+# CreateBulkRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- |
+| `RequestBody` | [][shared.BulkElement](../../models/shared/bulkelement.md) | :heavy_minus_sign: | N/A | |
+| `Ledger` | *string* | :heavy_check_mark: | Name of the ledger. | ledger001 |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/createbulkresponse.md b/libs/clients/go/docs/models/operations/createbulkresponse.md
new file mode 100755
index 0000000000..0b7bbf9049
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/createbulkresponse.md
@@ -0,0 +1,12 @@
+# CreateBulkResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
+| `BulkResponse` | [*shared.BulkResponse](../../models/shared/bulkresponse.md) | :heavy_minus_sign: | OK |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ErrorResponse` | [*shared.ErrorResponse](../../models/shared/errorresponse.md) | :heavy_minus_sign: | Error |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/createclientresponse.md b/libs/clients/go/docs/models/operations/createclientresponse.md
new file mode 100755
index 0000000000..0ae3736cef
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/createclientresponse.md
@@ -0,0 +1,11 @@
+# CreateClientResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `CreateClientResponse` | [*shared.CreateClientResponse](../../models/shared/createclientresponse.md) | :heavy_minus_sign: | Client created |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/createledgerrequest.md b/libs/clients/go/docs/models/operations/createledgerrequest.md
new file mode 100755
index 0000000000..1db1935e9a
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/createledgerrequest.md
@@ -0,0 +1,9 @@
+# CreateLedgerRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
+| `CreateLedgerRequest` | [*shared.CreateLedgerRequest](../../models/shared/createledgerrequest.md) | :heavy_minus_sign: | N/A | |
+| `Ledger` | *string* | :heavy_check_mark: | Name of the ledger. | ledger001 |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/createledgerresponse.md b/libs/clients/go/docs/models/operations/createledgerresponse.md
new file mode 100755
index 0000000000..babca0a242
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/createledgerresponse.md
@@ -0,0 +1,11 @@
+# CreateLedgerResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ErrorResponse` | [*shared.ErrorResponse](../../models/shared/errorresponse.md) | :heavy_minus_sign: | Error |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/createpaymentresponse.md b/libs/clients/go/docs/models/operations/createpaymentresponse.md
new file mode 100755
index 0000000000..19723779d9
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/createpaymentresponse.md
@@ -0,0 +1,11 @@
+# CreatePaymentResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `PaymentResponse` | [*shared.PaymentResponse](../../models/shared/paymentresponse.md) | :heavy_minus_sign: | OK |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/createpolicyresponse.md b/libs/clients/go/docs/models/operations/createpolicyresponse.md
new file mode 100755
index 0000000000..4328d39587
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/createpolicyresponse.md
@@ -0,0 +1,12 @@
+# CreatePolicyResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `PolicyResponse` | [*shared.PolicyResponse](../../models/shared/policyresponse.md) | :heavy_minus_sign: | OK |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `ReconciliationErrorResponse` | [*shared.ReconciliationErrorResponse](../../models/shared/reconciliationerrorresponse.md) | :heavy_minus_sign: | Error response |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/createpoolresponse.md b/libs/clients/go/docs/models/operations/createpoolresponse.md
new file mode 100755
index 0000000000..27a915568e
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/createpoolresponse.md
@@ -0,0 +1,11 @@
+# CreatePoolResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `PoolResponse` | [*shared.PoolResponse](../../models/shared/poolresponse.md) | :heavy_minus_sign: | OK |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/createsecretrequest.md b/libs/clients/go/docs/models/operations/createsecretrequest.md
new file mode 100755
index 0000000000..489a03ad16
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/createsecretrequest.md
@@ -0,0 +1,9 @@
+# CreateSecretRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
+| `CreateSecretRequest` | [*shared.CreateSecretRequest](../../models/shared/createsecretrequest.md) | :heavy_minus_sign: | N/A |
+| `ClientID` | *string* | :heavy_check_mark: | Client ID |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/createsecretresponse.md b/libs/clients/go/docs/models/operations/createsecretresponse.md
new file mode 100755
index 0000000000..f2ebbae874
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/createsecretresponse.md
@@ -0,0 +1,11 @@
+# CreateSecretResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `CreateSecretResponse` | [*shared.CreateSecretResponse](../../models/shared/createsecretresponse.md) | :heavy_minus_sign: | Created secret |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/createtransactionrequest.md b/libs/clients/go/docs/models/operations/createtransactionrequest.md
new file mode 100755
index 0000000000..2cf1e48f71
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/createtransactionrequest.md
@@ -0,0 +1,11 @@
+# CreateTransactionRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `IdempotencyKey` | **string* | :heavy_minus_sign: | Use an idempotency key | |
+| `PostTransaction` | [shared.PostTransaction](../../models/shared/posttransaction.md) | :heavy_check_mark: | The request body must contain at least one of the following objects:
- `postings`: suitable for simple transactions
- `script`: enabling more complex transactions with Numscript
| |
+| `DryRun` | **bool* | :heavy_minus_sign: | Set the dryRun mode. dry run mode doesn't add the logs to the database or publish a message to the message broker. | true |
+| `Ledger` | *string* | :heavy_check_mark: | Name of the ledger. | ledger001 |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/createtransactionresponse.md b/libs/clients/go/docs/models/operations/createtransactionresponse.md
new file mode 100755
index 0000000000..3647422417
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/createtransactionresponse.md
@@ -0,0 +1,12 @@
+# CreateTransactionResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `CreateTransactionResponse` | [*shared.CreateTransactionResponse](../../models/shared/createtransactionresponse.md) | :heavy_minus_sign: | OK |
+| `ErrorResponse` | [*shared.ErrorResponse](../../models/shared/errorresponse.md) | :heavy_minus_sign: | Error |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/createtransferinitiationresponse.md b/libs/clients/go/docs/models/operations/createtransferinitiationresponse.md
new file mode 100755
index 0000000000..9a23c4bfd7
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/createtransferinitiationresponse.md
@@ -0,0 +1,11 @@
+# CreateTransferInitiationResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `TransferInitiationResponse` | [*shared.TransferInitiationResponse](../../models/shared/transferinitiationresponse.md) | :heavy_minus_sign: | OK |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/createtriggerresponse.md b/libs/clients/go/docs/models/operations/createtriggerresponse.md
new file mode 100755
index 0000000000..0443e56d14
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/createtriggerresponse.md
@@ -0,0 +1,12 @@
+# CreateTriggerResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `CreateTriggerResponse` | [*shared.CreateTriggerResponse](../../models/shared/createtriggerresponse.md) | :heavy_minus_sign: | Created trigger |
+| `Error` | [*shared.Error](../../models/shared/error.md) | :heavy_minus_sign: | General error |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/createwalletresponse.md b/libs/clients/go/docs/models/operations/createwalletresponse.md
new file mode 100755
index 0000000000..d0592f1544
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/createwalletresponse.md
@@ -0,0 +1,12 @@
+# CreateWalletResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `CreateWalletResponse` | [*shared.CreateWalletResponse](../../models/shared/createwalletresponse.md) | :heavy_minus_sign: | Wallet created |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `WalletsErrorResponse` | [*shared.WalletsErrorResponse](../../models/shared/walletserrorresponse.md) | :heavy_minus_sign: | Error |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/createworkflowresponse.md b/libs/clients/go/docs/models/operations/createworkflowresponse.md
new file mode 100755
index 0000000000..1b1d6aaafd
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/createworkflowresponse.md
@@ -0,0 +1,12 @@
+# CreateWorkflowResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `CreateWorkflowResponse` | [*shared.CreateWorkflowResponse](../../models/shared/createworkflowresponse.md) | :heavy_minus_sign: | Created workflow |
+| `Error` | [*shared.Error](../../models/shared/error.md) | :heavy_minus_sign: | General error |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/creditwalletrequest.md b/libs/clients/go/docs/models/operations/creditwalletrequest.md
new file mode 100755
index 0000000000..0036038071
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/creditwalletrequest.md
@@ -0,0 +1,9 @@
+# CreditWalletRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
+| `CreditWalletRequest` | [*shared.CreditWalletRequest](../../models/shared/creditwalletrequest.md) | :heavy_minus_sign: | N/A |
+| `ID` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/creditwalletresponse.md b/libs/clients/go/docs/models/operations/creditwalletresponse.md
new file mode 100755
index 0000000000..4f1ec99bf4
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/creditwalletresponse.md
@@ -0,0 +1,11 @@
+# CreditWalletResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `WalletsErrorResponse` | [*shared.WalletsErrorResponse](../../models/shared/walletserrorresponse.md) | :heavy_minus_sign: | Error |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/deactivateconfigrequest.md b/libs/clients/go/docs/models/operations/deactivateconfigrequest.md
new file mode 100755
index 0000000000..2604bd4bdd
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/deactivateconfigrequest.md
@@ -0,0 +1,8 @@
+# DeactivateConfigRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
+| `ID` | *string* | :heavy_check_mark: | Config ID | 4997257d-dfb6-445b-929c-cbe2ab182818 |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/deactivateconfigresponse.md b/libs/clients/go/docs/models/operations/deactivateconfigresponse.md
new file mode 100755
index 0000000000..d8abe50abf
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/deactivateconfigresponse.md
@@ -0,0 +1,12 @@
+# DeactivateConfigResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
+| `ConfigResponse` | [*shared.ConfigResponse](../../models/shared/configresponse.md) | :heavy_minus_sign: | Config successfully deactivated. |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `WebhooksErrorResponse` | [*shared.WebhooksErrorResponse](../../models/shared/webhookserrorresponse.md) | :heavy_minus_sign: | Error |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/debitwalletrequest.md b/libs/clients/go/docs/models/operations/debitwalletrequest.md
new file mode 100755
index 0000000000..afcfd7ff28
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/debitwalletrequest.md
@@ -0,0 +1,9 @@
+# DebitWalletRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
+| `DebitWalletRequest` | [*shared.DebitWalletRequest](../../models/shared/debitwalletrequest.md) | :heavy_minus_sign: | N/A |
+| `ID` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/debitwalletresponse.md b/libs/clients/go/docs/models/operations/debitwalletresponse.md
new file mode 100755
index 0000000000..a8b527bd78
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/debitwalletresponse.md
@@ -0,0 +1,12 @@
+# DebitWalletResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `DebitWalletResponse` | [*shared.DebitWalletResponse](../../models/shared/debitwalletresponse.md) | :heavy_minus_sign: | Wallet successfully debited as a pending hold |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `WalletsErrorResponse` | [*shared.WalletsErrorResponse](../../models/shared/walletserrorresponse.md) | :heavy_minus_sign: | Error |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/deleteaccountmetadatarequest.md b/libs/clients/go/docs/models/operations/deleteaccountmetadatarequest.md
new file mode 100755
index 0000000000..78c24e3493
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/deleteaccountmetadatarequest.md
@@ -0,0 +1,10 @@
+# DeleteAccountMetadataRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------- | ------------------- | ------------------- | ------------------- | ------------------- |
+| `Address` | *string* | :heavy_check_mark: | Account address | |
+| `Key` | *string* | :heavy_check_mark: | The key to remove. | foo |
+| `Ledger` | *string* | :heavy_check_mark: | Name of the ledger. | ledger001 |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/deleteaccountmetadataresponse.md b/libs/clients/go/docs/models/operations/deleteaccountmetadataresponse.md
new file mode 100755
index 0000000000..4319af6352
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/deleteaccountmetadataresponse.md
@@ -0,0 +1,10 @@
+# DeleteAccountMetadataResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/deleteclientrequest.md b/libs/clients/go/docs/models/operations/deleteclientrequest.md
new file mode 100755
index 0000000000..44fe54ff22
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/deleteclientrequest.md
@@ -0,0 +1,8 @@
+# DeleteClientRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `ClientID` | *string* | :heavy_check_mark: | Client ID |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/deleteclientresponse.md b/libs/clients/go/docs/models/operations/deleteclientresponse.md
new file mode 100755
index 0000000000..ac17a0a656
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/deleteclientresponse.md
@@ -0,0 +1,10 @@
+# DeleteClientResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/deleteconfigrequest.md b/libs/clients/go/docs/models/operations/deleteconfigrequest.md
new file mode 100755
index 0000000000..e143e30b17
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/deleteconfigrequest.md
@@ -0,0 +1,8 @@
+# DeleteConfigRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
+| `ID` | *string* | :heavy_check_mark: | Config ID | 4997257d-dfb6-445b-929c-cbe2ab182818 |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/deleteconfigresponse.md b/libs/clients/go/docs/models/operations/deleteconfigresponse.md
new file mode 100755
index 0000000000..59c268383c
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/deleteconfigresponse.md
@@ -0,0 +1,11 @@
+# DeleteConfigResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `WebhooksErrorResponse` | [*shared.WebhooksErrorResponse](../../models/shared/webhookserrorresponse.md) | :heavy_minus_sign: | Error |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/deletepolicyrequest.md b/libs/clients/go/docs/models/operations/deletepolicyrequest.md
new file mode 100755
index 0000000000..08ca962a1f
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/deletepolicyrequest.md
@@ -0,0 +1,8 @@
+# DeletePolicyRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `PolicyID` | *string* | :heavy_check_mark: | The policy ID. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/deletepolicyresponse.md b/libs/clients/go/docs/models/operations/deletepolicyresponse.md
new file mode 100755
index 0000000000..441575c729
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/deletepolicyresponse.md
@@ -0,0 +1,11 @@
+# DeletePolicyResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `ReconciliationErrorResponse` | [*shared.ReconciliationErrorResponse](../../models/shared/reconciliationerrorresponse.md) | :heavy_minus_sign: | Error response |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/deletepoolrequest.md b/libs/clients/go/docs/models/operations/deletepoolrequest.md
new file mode 100755
index 0000000000..4d64212367
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/deletepoolrequest.md
@@ -0,0 +1,8 @@
+# DeletePoolRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `PoolID` | *string* | :heavy_check_mark: | The pool ID. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/deletepoolresponse.md b/libs/clients/go/docs/models/operations/deletepoolresponse.md
new file mode 100755
index 0000000000..1af08cc076
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/deletepoolresponse.md
@@ -0,0 +1,10 @@
+# DeletePoolResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/deletesecretrequest.md b/libs/clients/go/docs/models/operations/deletesecretrequest.md
new file mode 100755
index 0000000000..0091443fbc
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/deletesecretrequest.md
@@ -0,0 +1,9 @@
+# DeleteSecretRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `ClientID` | *string* | :heavy_check_mark: | Client ID |
+| `SecretID` | *string* | :heavy_check_mark: | Secret ID |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/deletesecretresponse.md b/libs/clients/go/docs/models/operations/deletesecretresponse.md
new file mode 100755
index 0000000000..d59ea6bb2f
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/deletesecretresponse.md
@@ -0,0 +1,10 @@
+# DeleteSecretResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/deletetransactionmetadatarequest.md b/libs/clients/go/docs/models/operations/deletetransactionmetadatarequest.md
new file mode 100755
index 0000000000..eb4fe496e7
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/deletetransactionmetadatarequest.md
@@ -0,0 +1,10 @@
+# DeleteTransactionMetadataRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- |
+| `ID` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | Transaction ID. | 1234 |
+| `Key` | *string* | :heavy_check_mark: | The key to remove. | foo |
+| `Ledger` | *string* | :heavy_check_mark: | Name of the ledger. | ledger001 |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/deletetransactionmetadataresponse.md b/libs/clients/go/docs/models/operations/deletetransactionmetadataresponse.md
new file mode 100755
index 0000000000..532242cf70
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/deletetransactionmetadataresponse.md
@@ -0,0 +1,10 @@
+# DeleteTransactionMetadataResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/deletetransferinitiationrequest.md b/libs/clients/go/docs/models/operations/deletetransferinitiationrequest.md
new file mode 100755
index 0000000000..7df8fa9598
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/deletetransferinitiationrequest.md
@@ -0,0 +1,8 @@
+# DeleteTransferInitiationRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `TransferID` | *string* | :heavy_check_mark: | The transfer ID. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/deletetransferinitiationresponse.md b/libs/clients/go/docs/models/operations/deletetransferinitiationresponse.md
new file mode 100755
index 0000000000..48abdf1b69
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/deletetransferinitiationresponse.md
@@ -0,0 +1,10 @@
+# DeleteTransferInitiationResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/deletetriggerrequest.md b/libs/clients/go/docs/models/operations/deletetriggerrequest.md
new file mode 100755
index 0000000000..feb6d395ce
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/deletetriggerrequest.md
@@ -0,0 +1,8 @@
+# DeleteTriggerRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `TriggerID` | *string* | :heavy_check_mark: | The trigger id |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/deletetriggerresponse.md b/libs/clients/go/docs/models/operations/deletetriggerresponse.md
new file mode 100755
index 0000000000..517297e1ab
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/deletetriggerresponse.md
@@ -0,0 +1,11 @@
+# DeleteTriggerResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `Error` | [*shared.Error](../../models/shared/error.md) | :heavy_minus_sign: | General error |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/deleteworkflowrequest.md b/libs/clients/go/docs/models/operations/deleteworkflowrequest.md
new file mode 100755
index 0000000000..9bddccd88e
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/deleteworkflowrequest.md
@@ -0,0 +1,8 @@
+# DeleteWorkflowRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `FlowID` | *string* | :heavy_check_mark: | The flow id |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/deleteworkflowresponse.md b/libs/clients/go/docs/models/operations/deleteworkflowresponse.md
new file mode 100755
index 0000000000..471eef4fe1
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/deleteworkflowresponse.md
@@ -0,0 +1,11 @@
+# DeleteWorkflowResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `Error` | [*shared.Error](../../models/shared/error.md) | :heavy_minus_sign: | General error |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getaccountbalancesrequest.md b/libs/clients/go/docs/models/operations/getaccountbalancesrequest.md
new file mode 100755
index 0000000000..0bc335c04c
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getaccountbalancesrequest.md
@@ -0,0 +1,15 @@
+# GetAccountBalancesRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `AccountID` | *string* | :heavy_check_mark: | The account ID. | |
+| `Asset` | **string* | :heavy_minus_sign: | Filter balances by currency.
If not specified, all account's balances will be returned.
| |
+| `Cursor` | **string* | :heavy_minus_sign: | Parameter used in pagination requests. Maximum page size is set to 15.
Set to the value of next for the next page of results.
Set to the value of previous for the previous page of results.
No other parameters can be set when this parameter is set.
| aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ== |
+| `From` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | Filter balances by date.
If not specified, all account's balances will be returned.
| |
+| `Limit` | **int64* | :heavy_minus_sign: | The maximum number of results to return per page. | |
+| `PageSize` | **int64* | :heavy_minus_sign: | The maximum number of results to return per page.
| |
+| `Sort` | []*string* | :heavy_minus_sign: | Fields used to sort payments (default is date:desc). | |
+| `To` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | Filter balances by date.
If not specified, default will be set to now.
| |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getaccountbalancesresponse.md b/libs/clients/go/docs/models/operations/getaccountbalancesresponse.md
new file mode 100755
index 0000000000..d2ee91a1ac
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getaccountbalancesresponse.md
@@ -0,0 +1,11 @@
+# GetAccountBalancesResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- |
+| `BalancesCursor` | [*shared.BalancesCursor](../../models/shared/balancescursor.md) | :heavy_minus_sign: | OK |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getaccountrequest.md b/libs/clients/go/docs/models/operations/getaccountrequest.md
new file mode 100755
index 0000000000..de17b9e38d
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getaccountrequest.md
@@ -0,0 +1,11 @@
+# GetAccountRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
+| `Address` | *string* | :heavy_check_mark: | Exact address of the account. It must match the following regular expressions pattern:
```
^\w+(:\w+)*$
```
| users:001 |
+| `Expand` | **string* | :heavy_minus_sign: | N/A | |
+| `Ledger` | *string* | :heavy_check_mark: | Name of the ledger. | ledger001 |
+| `Pit` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getaccountresponse.md b/libs/clients/go/docs/models/operations/getaccountresponse.md
new file mode 100755
index 0000000000..4f69b0ee9d
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getaccountresponse.md
@@ -0,0 +1,12 @@
+# GetAccountResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- |
+| `AccountResponse` | [*shared.AccountResponse](../../models/shared/accountresponse.md) | :heavy_minus_sign: | OK |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ErrorResponse` | [*shared.ErrorResponse](../../models/shared/errorresponse.md) | :heavy_minus_sign: | Error |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getapiauthwellknownopenidconfigurationresponse.md b/libs/clients/go/docs/models/operations/getapiauthwellknownopenidconfigurationresponse.md
new file mode 100755
index 0000000000..4090e8a013
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getapiauthwellknownopenidconfigurationresponse.md
@@ -0,0 +1,10 @@
+# GetAPIAuthWellKnownOpenidConfigurationResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getbalancerequest.md b/libs/clients/go/docs/models/operations/getbalancerequest.md
new file mode 100755
index 0000000000..27f8cfb52e
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getbalancerequest.md
@@ -0,0 +1,9 @@
+# GetBalanceRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `BalanceName` | *string* | :heavy_check_mark: | N/A |
+| `ID` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getbalanceresponse.md b/libs/clients/go/docs/models/operations/getbalanceresponse.md
new file mode 100755
index 0000000000..6bdd936f22
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getbalanceresponse.md
@@ -0,0 +1,12 @@
+# GetBalanceResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `GetBalanceResponse` | [*shared.GetBalanceResponse](../../models/shared/getbalanceresponse.md) | :heavy_minus_sign: | Balance summary |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `WalletsErrorResponse` | [*shared.WalletsErrorResponse](../../models/shared/walletserrorresponse.md) | :heavy_minus_sign: | Error |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getbalancesaggregatedrequest.md b/libs/clients/go/docs/models/operations/getbalancesaggregatedrequest.md
new file mode 100755
index 0000000000..63ad7953e5
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getbalancesaggregatedrequest.md
@@ -0,0 +1,10 @@
+# GetBalancesAggregatedRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | ------------------------------------------ |
+| `RequestBody` | map[string]*interface{}* | :heavy_minus_sign: | N/A | |
+| `Ledger` | *string* | :heavy_check_mark: | Name of the ledger. | ledger001 |
+| `Pit` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getbalancesaggregatedresponse.md b/libs/clients/go/docs/models/operations/getbalancesaggregatedresponse.md
new file mode 100755
index 0000000000..8729b46bcd
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getbalancesaggregatedresponse.md
@@ -0,0 +1,12 @@
+# GetBalancesAggregatedResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
+| `AggregateBalancesResponse` | [*shared.AggregateBalancesResponse](../../models/shared/aggregatebalancesresponse.md) | :heavy_minus_sign: | OK |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ErrorResponse` | [*shared.ErrorResponse](../../models/shared/errorresponse.md) | :heavy_minus_sign: | Error |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getbankaccountrequest.md b/libs/clients/go/docs/models/operations/getbankaccountrequest.md
new file mode 100755
index 0000000000..6fdcbdb993
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getbankaccountrequest.md
@@ -0,0 +1,8 @@
+# GetBankAccountRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| -------------------- | -------------------- | -------------------- | -------------------- |
+| `BankAccountID` | *string* | :heavy_check_mark: | The bank account ID. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getbankaccountresponse.md b/libs/clients/go/docs/models/operations/getbankaccountresponse.md
new file mode 100755
index 0000000000..346c6415a1
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getbankaccountresponse.md
@@ -0,0 +1,11 @@
+# GetBankAccountResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
+| `BankAccountResponse` | [*shared.BankAccountResponse](../../models/shared/bankaccountresponse.md) | :heavy_minus_sign: | OK |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getconnectortaskrequest.md b/libs/clients/go/docs/models/operations/getconnectortaskrequest.md
new file mode 100755
index 0000000000..b59c62d1af
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getconnectortaskrequest.md
@@ -0,0 +1,9 @@
+# GetConnectorTaskRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
+| `Connector` | [shared.Connector](../../models/shared/connector.md) | :heavy_check_mark: | The name of the connector. |
+| `TaskID` | *string* | :heavy_check_mark: | The task ID. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getconnectortaskresponse.md b/libs/clients/go/docs/models/operations/getconnectortaskresponse.md
new file mode 100755
index 0000000000..2fe2fb5b56
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getconnectortaskresponse.md
@@ -0,0 +1,11 @@
+# GetConnectorTaskResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `TaskResponse` | [*shared.TaskResponse](../../models/shared/taskresponse.md) | :heavy_minus_sign: | OK |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getconnectortaskv1request.md b/libs/clients/go/docs/models/operations/getconnectortaskv1request.md
new file mode 100755
index 0000000000..ffaf751519
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getconnectortaskv1request.md
@@ -0,0 +1,10 @@
+# GetConnectorTaskV1Request
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
+| `Connector` | [shared.Connector](../../models/shared/connector.md) | :heavy_check_mark: | The name of the connector. |
+| `ConnectorID` | *string* | :heavy_check_mark: | The connector ID. |
+| `TaskID` | *string* | :heavy_check_mark: | The task ID. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getconnectortaskv1response.md b/libs/clients/go/docs/models/operations/getconnectortaskv1response.md
new file mode 100755
index 0000000000..b1f636c311
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getconnectortaskv1response.md
@@ -0,0 +1,11 @@
+# GetConnectorTaskV1Response
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `TaskResponse` | [*shared.TaskResponse](../../models/shared/taskresponse.md) | :heavy_minus_sign: | OK |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getholdrequest.md b/libs/clients/go/docs/models/operations/getholdrequest.md
new file mode 100755
index 0000000000..2dfc2a8710
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getholdrequest.md
@@ -0,0 +1,8 @@
+# GetHoldRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `HoldID` | *string* | :heavy_check_mark: | The hold ID |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getholdresponse.md b/libs/clients/go/docs/models/operations/getholdresponse.md
new file mode 100755
index 0000000000..167640565b
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getholdresponse.md
@@ -0,0 +1,12 @@
+# GetHoldResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `GetHoldResponse` | [*shared.GetHoldResponse](../../models/shared/getholdresponse.md) | :heavy_minus_sign: | Holds |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `WalletsErrorResponse` | [*shared.WalletsErrorResponse](../../models/shared/walletserrorresponse.md) | :heavy_minus_sign: | Error |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getholdsrequest.md b/libs/clients/go/docs/models/operations/getholdsrequest.md
new file mode 100755
index 0000000000..f654cf6ddc
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getholdsrequest.md
@@ -0,0 +1,11 @@
+# GetHoldsRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `Cursor` | **string* | :heavy_minus_sign: | Parameter used in pagination requests.
Set to the value of next for the next page of results.
Set to the value of previous for the previous page of results.
No other parameters can be set when the pagination token is set.
| aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ== |
+| `Metadata` | map[string]*string* | :heavy_minus_sign: | Filter holds by metadata key value pairs. Nested objects can be used as seen in the example below. | |
+| `PageSize` | **int64* | :heavy_minus_sign: | The maximum number of results to return per page | |
+| `WalletID` | **string* | :heavy_minus_sign: | The wallet to filter on | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getholdsresponse.md b/libs/clients/go/docs/models/operations/getholdsresponse.md
new file mode 100755
index 0000000000..eda9419c53
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getholdsresponse.md
@@ -0,0 +1,12 @@
+# GetHoldsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `GetHoldsResponse` | [*shared.GetHoldsResponse](../../models/shared/getholdsresponse.md) | :heavy_minus_sign: | Holds |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `WalletsErrorResponse` | [*shared.WalletsErrorResponse](../../models/shared/walletserrorresponse.md) | :heavy_minus_sign: | Error |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getinforesponse.md b/libs/clients/go/docs/models/operations/getinforesponse.md
new file mode 100755
index 0000000000..835462c082
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getinforesponse.md
@@ -0,0 +1,12 @@
+# GetInfoResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
+| `ConfigInfoResponse` | [*shared.ConfigInfoResponse](../../models/shared/configinforesponse.md) | :heavy_minus_sign: | OK |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ErrorResponse` | [*shared.ErrorResponse](../../models/shared/errorresponse.md) | :heavy_minus_sign: | Error |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getinstancehistoryrequest.md b/libs/clients/go/docs/models/operations/getinstancehistoryrequest.md
new file mode 100755
index 0000000000..4e0e28b7a0
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getinstancehistoryrequest.md
@@ -0,0 +1,8 @@
+# GetInstanceHistoryRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `InstanceID` | *string* | :heavy_check_mark: | The instance id |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getinstancehistoryresponse.md b/libs/clients/go/docs/models/operations/getinstancehistoryresponse.md
new file mode 100755
index 0000000000..e49bfe328e
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getinstancehistoryresponse.md
@@ -0,0 +1,12 @@
+# GetInstanceHistoryResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `Error` | [*shared.Error](../../models/shared/error.md) | :heavy_minus_sign: | General error |
+| `GetWorkflowInstanceHistoryResponse` | [*shared.GetWorkflowInstanceHistoryResponse](../../models/shared/getworkflowinstancehistoryresponse.md) | :heavy_minus_sign: | The workflow instance history |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getinstancerequest.md b/libs/clients/go/docs/models/operations/getinstancerequest.md
new file mode 100755
index 0000000000..3be7c8df68
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getinstancerequest.md
@@ -0,0 +1,8 @@
+# GetInstanceRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `InstanceID` | *string* | :heavy_check_mark: | The instance id |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getinstanceresponse.md b/libs/clients/go/docs/models/operations/getinstanceresponse.md
new file mode 100755
index 0000000000..c4455e87f5
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getinstanceresponse.md
@@ -0,0 +1,12 @@
+# GetInstanceResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `Error` | [*shared.Error](../../models/shared/error.md) | :heavy_minus_sign: | General error |
+| `GetWorkflowInstanceResponse` | [*shared.GetWorkflowInstanceResponse](../../models/shared/getworkflowinstanceresponse.md) | :heavy_minus_sign: | The workflow instance |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getinstancestagehistoryrequest.md b/libs/clients/go/docs/models/operations/getinstancestagehistoryrequest.md
new file mode 100755
index 0000000000..afce543742
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getinstancestagehistoryrequest.md
@@ -0,0 +1,9 @@
+# GetInstanceStageHistoryRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `InstanceID` | *string* | :heavy_check_mark: | The instance id |
+| `Number` | *int64* | :heavy_check_mark: | The stage number |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getinstancestagehistoryresponse.md b/libs/clients/go/docs/models/operations/getinstancestagehistoryresponse.md
new file mode 100755
index 0000000000..cc4ffc2065
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getinstancestagehistoryresponse.md
@@ -0,0 +1,12 @@
+# GetInstanceStageHistoryResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `Error` | [*shared.Error](../../models/shared/error.md) | :heavy_minus_sign: | General error |
+| `GetWorkflowInstanceHistoryStageResponse` | [*shared.GetWorkflowInstanceHistoryStageResponse](../../models/shared/getworkflowinstancehistorystageresponse.md) | :heavy_minus_sign: | The workflow instance stage history |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getledgerinforequest.md b/libs/clients/go/docs/models/operations/getledgerinforequest.md
new file mode 100755
index 0000000000..f45b795ddd
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getledgerinforequest.md
@@ -0,0 +1,8 @@
+# GetLedgerInfoRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------- | ------------------- | ------------------- | ------------------- | ------------------- |
+| `Ledger` | *string* | :heavy_check_mark: | Name of the ledger. | ledger001 |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getledgerinforesponse.md b/libs/clients/go/docs/models/operations/getledgerinforesponse.md
new file mode 100755
index 0000000000..44227bfceb
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getledgerinforesponse.md
@@ -0,0 +1,12 @@
+# GetLedgerInfoResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ErrorResponse` | [*shared.ErrorResponse](../../models/shared/errorresponse.md) | :heavy_minus_sign: | Error |
+| `LedgerInfoResponse` | [*shared.LedgerInfoResponse](../../models/shared/ledgerinforesponse.md) | :heavy_minus_sign: | OK |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getledgerrequest.md b/libs/clients/go/docs/models/operations/getledgerrequest.md
new file mode 100755
index 0000000000..efb22f9ce5
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getledgerrequest.md
@@ -0,0 +1,8 @@
+# GetLedgerRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------- | ------------------- | ------------------- | ------------------- | ------------------- |
+| `Ledger` | *string* | :heavy_check_mark: | Name of the ledger. | ledger001 |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getledgerresponse.md b/libs/clients/go/docs/models/operations/getledgerresponse.md
new file mode 100755
index 0000000000..fbfdf0ba7d
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getledgerresponse.md
@@ -0,0 +1,12 @@
+# GetLedgerResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ErrorResponse` | [*shared.ErrorResponse](../../models/shared/errorresponse.md) | :heavy_minus_sign: | Error |
+| `Ledger` | [*shared.Ledger](../../models/shared/ledger.md) | :heavy_minus_sign: | OK |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getmanyconfigsrequest.md b/libs/clients/go/docs/models/operations/getmanyconfigsrequest.md
new file mode 100755
index 0000000000..4d2f18e194
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getmanyconfigsrequest.md
@@ -0,0 +1,9 @@
+# GetManyConfigsRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
+| `Endpoint` | **string* | :heavy_minus_sign: | Optional filter by endpoint URL | https://example.com |
+| `ID` | **string* | :heavy_minus_sign: | Optional filter by Config ID | 4997257d-dfb6-445b-929c-cbe2ab182818 |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getmanyconfigsresponse.md b/libs/clients/go/docs/models/operations/getmanyconfigsresponse.md
new file mode 100755
index 0000000000..ef0a5cfa50
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getmanyconfigsresponse.md
@@ -0,0 +1,12 @@
+# GetManyConfigsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
+| `ConfigsResponse` | [*shared.ConfigsResponse](../../models/shared/configsresponse.md) | :heavy_minus_sign: | OK |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `WebhooksErrorResponse` | [*shared.WebhooksErrorResponse](../../models/shared/webhookserrorresponse.md) | :heavy_minus_sign: | Error |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getpaymentrequest.md b/libs/clients/go/docs/models/operations/getpaymentrequest.md
new file mode 100755
index 0000000000..537fe2039f
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getpaymentrequest.md
@@ -0,0 +1,8 @@
+# GetPaymentRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `PaymentID` | *string* | :heavy_check_mark: | The payment ID. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getpaymentresponse.md b/libs/clients/go/docs/models/operations/getpaymentresponse.md
new file mode 100755
index 0000000000..f9b6db83f5
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getpaymentresponse.md
@@ -0,0 +1,11 @@
+# GetPaymentResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `PaymentResponse` | [*shared.PaymentResponse](../../models/shared/paymentresponse.md) | :heavy_minus_sign: | OK |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getpolicyrequest.md b/libs/clients/go/docs/models/operations/getpolicyrequest.md
new file mode 100755
index 0000000000..495cdc6eaa
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getpolicyrequest.md
@@ -0,0 +1,8 @@
+# GetPolicyRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `PolicyID` | *string* | :heavy_check_mark: | The policy ID. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getpolicyresponse.md b/libs/clients/go/docs/models/operations/getpolicyresponse.md
new file mode 100755
index 0000000000..b4953a213a
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getpolicyresponse.md
@@ -0,0 +1,12 @@
+# GetPolicyResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `PolicyResponse` | [*shared.PolicyResponse](../../models/shared/policyresponse.md) | :heavy_minus_sign: | OK |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `ReconciliationErrorResponse` | [*shared.ReconciliationErrorResponse](../../models/shared/reconciliationerrorresponse.md) | :heavy_minus_sign: | Error response |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getpoolbalancesrequest.md b/libs/clients/go/docs/models/operations/getpoolbalancesrequest.md
new file mode 100755
index 0000000000..0fad2c1b39
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getpoolbalancesrequest.md
@@ -0,0 +1,9 @@
+# GetPoolBalancesRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
+| `At` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | Filter balances by date.
|
+| `PoolID` | *string* | :heavy_check_mark: | The pool ID. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getpoolbalancesresponse.md b/libs/clients/go/docs/models/operations/getpoolbalancesresponse.md
new file mode 100755
index 0000000000..b809f44137
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getpoolbalancesresponse.md
@@ -0,0 +1,11 @@
+# GetPoolBalancesResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `PoolBalancesResponse` | [*shared.PoolBalancesResponse](../../models/shared/poolbalancesresponse.md) | :heavy_minus_sign: | OK |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getpoolrequest.md b/libs/clients/go/docs/models/operations/getpoolrequest.md
new file mode 100755
index 0000000000..bffc2a4a57
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getpoolrequest.md
@@ -0,0 +1,8 @@
+# GetPoolRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `PoolID` | *string* | :heavy_check_mark: | The pool ID. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getpoolresponse.md b/libs/clients/go/docs/models/operations/getpoolresponse.md
new file mode 100755
index 0000000000..73ffe69685
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getpoolresponse.md
@@ -0,0 +1,11 @@
+# GetPoolResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `PoolResponse` | [*shared.PoolResponse](../../models/shared/poolresponse.md) | :heavy_minus_sign: | OK |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getreconciliationrequest.md b/libs/clients/go/docs/models/operations/getreconciliationrequest.md
new file mode 100755
index 0000000000..d5dba742b7
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getreconciliationrequest.md
@@ -0,0 +1,8 @@
+# GetReconciliationRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ---------------------- | ---------------------- | ---------------------- | ---------------------- |
+| `ReconciliationID` | *string* | :heavy_check_mark: | The reconciliation ID. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getreconciliationresponse.md b/libs/clients/go/docs/models/operations/getreconciliationresponse.md
new file mode 100755
index 0000000000..0ace47b690
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getreconciliationresponse.md
@@ -0,0 +1,12 @@
+# GetReconciliationResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ReconciliationResponse` | [*shared.ReconciliationResponse](../../models/shared/reconciliationresponse.md) | :heavy_minus_sign: | OK |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `ReconciliationErrorResponse` | [*shared.ReconciliationErrorResponse](../../models/shared/reconciliationerrorresponse.md) | :heavy_minus_sign: | Error response |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getserverinforesponse.md b/libs/clients/go/docs/models/operations/getserverinforesponse.md
new file mode 100755
index 0000000000..172e4c76e2
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getserverinforesponse.md
@@ -0,0 +1,11 @@
+# GetServerInfoResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ServerInfo` | [*shared.ServerInfo](../../models/shared/serverinfo.md) | :heavy_minus_sign: | Server information |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/gettransactionrequest.md b/libs/clients/go/docs/models/operations/gettransactionrequest.md
new file mode 100755
index 0000000000..4cc864f9bb
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/gettransactionrequest.md
@@ -0,0 +1,11 @@
+# GetTransactionRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- |
+| `Expand` | **string* | :heavy_minus_sign: | N/A | |
+| `ID` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | Transaction ID. | 1234 |
+| `Ledger` | *string* | :heavy_check_mark: | Name of the ledger. | ledger001 |
+| `Pit` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/gettransactionresponse.md b/libs/clients/go/docs/models/operations/gettransactionresponse.md
new file mode 100755
index 0000000000..a21fba0ec3
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/gettransactionresponse.md
@@ -0,0 +1,12 @@
+# GetTransactionResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ErrorResponse` | [*shared.ErrorResponse](../../models/shared/errorresponse.md) | :heavy_minus_sign: | Error |
+| `GetTransactionResponse` | [*shared.GetTransactionResponse](../../models/shared/gettransactionresponse.md) | :heavy_minus_sign: | OK |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/gettransactionsrequest.md b/libs/clients/go/docs/models/operations/gettransactionsrequest.md
new file mode 100755
index 0000000000..76f8dc4966
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/gettransactionsrequest.md
@@ -0,0 +1,10 @@
+# GetTransactionsRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `Cursor` | **string* | :heavy_minus_sign: | Parameter used in pagination requests.
Set to the value of next for the next page of results.
Set to the value of previous for the previous page of results.
No other parameters can be set when the cursor is set.
| aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ== |
+| `PageSize` | **int64* | :heavy_minus_sign: | The maximum number of results to return per page | |
+| `WalletID` | **string* | :heavy_minus_sign: | A wallet ID to filter on | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/gettransactionsresponse.md b/libs/clients/go/docs/models/operations/gettransactionsresponse.md
new file mode 100755
index 0000000000..c99b5fa2df
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/gettransactionsresponse.md
@@ -0,0 +1,12 @@
+# GetTransactionsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `GetTransactionsResponse` | [*shared.GetTransactionsResponse](../../models/shared/gettransactionsresponse.md) | :heavy_minus_sign: | OK |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `WalletsErrorResponse` | [*shared.WalletsErrorResponse](../../models/shared/walletserrorresponse.md) | :heavy_minus_sign: | Error |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/gettransferinitiationrequest.md b/libs/clients/go/docs/models/operations/gettransferinitiationrequest.md
new file mode 100755
index 0000000000..e6e42086ab
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/gettransferinitiationrequest.md
@@ -0,0 +1,8 @@
+# GetTransferInitiationRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `TransferID` | *string* | :heavy_check_mark: | The transfer ID. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/gettransferinitiationresponse.md b/libs/clients/go/docs/models/operations/gettransferinitiationresponse.md
new file mode 100755
index 0000000000..c4814e1d3d
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/gettransferinitiationresponse.md
@@ -0,0 +1,11 @@
+# GetTransferInitiationResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `TransferInitiationResponse` | [*shared.TransferInitiationResponse](../../models/shared/transferinitiationresponse.md) | :heavy_minus_sign: | OK |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getversionsresponse.md b/libs/clients/go/docs/models/operations/getversionsresponse.md
new file mode 100755
index 0000000000..e9b42492ea
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getversionsresponse.md
@@ -0,0 +1,11 @@
+# GetVersionsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `GetVersionsResponse` | [*shared.GetVersionsResponse](../../models/shared/getversionsresponse.md) | :heavy_minus_sign: | OK |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getwalletrequest.md b/libs/clients/go/docs/models/operations/getwalletrequest.md
new file mode 100755
index 0000000000..7a7f0a0741
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getwalletrequest.md
@@ -0,0 +1,8 @@
+# GetWalletRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `ID` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getwalletresponse.md b/libs/clients/go/docs/models/operations/getwalletresponse.md
new file mode 100755
index 0000000000..50cd33d420
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getwalletresponse.md
@@ -0,0 +1,12 @@
+# GetWalletResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `GetWalletResponse` | [*shared.GetWalletResponse](../../models/shared/getwalletresponse.md) | :heavy_minus_sign: | Wallet |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `WalletsErrorResponse` | [*shared.WalletsErrorResponse](../../models/shared/walletserrorresponse.md) | :heavy_minus_sign: | Error |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getwalletsummaryrequest.md b/libs/clients/go/docs/models/operations/getwalletsummaryrequest.md
new file mode 100755
index 0000000000..2b3e537772
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getwalletsummaryrequest.md
@@ -0,0 +1,8 @@
+# GetWalletSummaryRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `ID` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getwalletsummaryresponse.md b/libs/clients/go/docs/models/operations/getwalletsummaryresponse.md
new file mode 100755
index 0000000000..3b3158d745
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getwalletsummaryresponse.md
@@ -0,0 +1,12 @@
+# GetWalletSummaryResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `GetWalletSummaryResponse` | [*shared.GetWalletSummaryResponse](../../models/shared/getwalletsummaryresponse.md) | :heavy_minus_sign: | Wallet summary |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `WalletsErrorResponse` | [*shared.WalletsErrorResponse](../../models/shared/walletserrorresponse.md) | :heavy_minus_sign: | Error |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getworkflowrequest.md b/libs/clients/go/docs/models/operations/getworkflowrequest.md
new file mode 100755
index 0000000000..bb2563d4ba
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getworkflowrequest.md
@@ -0,0 +1,8 @@
+# GetWorkflowRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `FlowID` | *string* | :heavy_check_mark: | The flow id |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/getworkflowresponse.md b/libs/clients/go/docs/models/operations/getworkflowresponse.md
new file mode 100755
index 0000000000..0c2965d631
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/getworkflowresponse.md
@@ -0,0 +1,12 @@
+# GetWorkflowResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `Error` | [*shared.Error](../../models/shared/error.md) | :heavy_minus_sign: | General error |
+| `GetWorkflowResponse` | [*shared.GetWorkflowResponse](../../models/shared/getworkflowresponse.md) | :heavy_minus_sign: | The workflow |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/insertconfigresponse.md b/libs/clients/go/docs/models/operations/insertconfigresponse.md
new file mode 100755
index 0000000000..ab1b2fd87d
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/insertconfigresponse.md
@@ -0,0 +1,12 @@
+# InsertConfigResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
+| `ConfigResponse` | [*shared.ConfigResponse](../../models/shared/configresponse.md) | :heavy_minus_sign: | Config created successfully. |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `WebhooksErrorResponse` | [*shared.WebhooksErrorResponse](../../models/shared/webhookserrorresponse.md) | :heavy_minus_sign: | Error |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/installconnectorrequest.md b/libs/clients/go/docs/models/operations/installconnectorrequest.md
new file mode 100755
index 0000000000..758c921257
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/installconnectorrequest.md
@@ -0,0 +1,9 @@
+# InstallConnectorRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- |
+| `ConnectorConfig` | [shared.ConnectorConfig](../../models/shared/connectorconfig.md) | :heavy_check_mark: | N/A |
+| `Connector` | [shared.Connector](../../models/shared/connector.md) | :heavy_check_mark: | The name of the connector. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/installconnectorresponse.md b/libs/clients/go/docs/models/operations/installconnectorresponse.md
new file mode 100755
index 0000000000..53bcbb4add
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/installconnectorresponse.md
@@ -0,0 +1,11 @@
+# InstallConnectorResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
+| `ConnectorResponse` | [*shared.ConnectorResponse](../../models/shared/connectorresponse.md) | :heavy_minus_sign: | OK |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listaccountsrequest.md b/libs/clients/go/docs/models/operations/listaccountsrequest.md
new file mode 100755
index 0000000000..c9fc78dc31
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listaccountsrequest.md
@@ -0,0 +1,13 @@
+# ListAccountsRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `RequestBody` | map[string]*interface{}* | :heavy_minus_sign: | N/A | |
+| `Cursor` | **string* | :heavy_minus_sign: | Parameter used in pagination requests. Maximum page size is set to 15.
Set to the value of next for the next page of results.
Set to the value of previous for the previous page of results.
No other parameters can be set when this parameter is set.
| aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ== |
+| `Expand` | **string* | :heavy_minus_sign: | N/A | |
+| `Ledger` | *string* | :heavy_check_mark: | Name of the ledger. | ledger001 |
+| `PageSize` | **int64* | :heavy_minus_sign: | The maximum number of results to return per page.
| |
+| `Pit` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listaccountsresponse.md b/libs/clients/go/docs/models/operations/listaccountsresponse.md
new file mode 100755
index 0000000000..eb8c9218f6
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listaccountsresponse.md
@@ -0,0 +1,12 @@
+# ListAccountsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
+| `AccountsCursorResponse` | [*shared.AccountsCursorResponse](../../models/shared/accountscursorresponse.md) | :heavy_minus_sign: | OK |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ErrorResponse` | [*shared.ErrorResponse](../../models/shared/errorresponse.md) | :heavy_minus_sign: | Error |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listallconnectorsresponse.md b/libs/clients/go/docs/models/operations/listallconnectorsresponse.md
new file mode 100755
index 0000000000..ec431eb843
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listallconnectorsresponse.md
@@ -0,0 +1,11 @@
+# ListAllConnectorsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
+| `ConnectorsResponse` | [*shared.ConnectorsResponse](../../models/shared/connectorsresponse.md) | :heavy_minus_sign: | OK |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listbalancesrequest.md b/libs/clients/go/docs/models/operations/listbalancesrequest.md
new file mode 100755
index 0000000000..eb35a0125e
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listbalancesrequest.md
@@ -0,0 +1,8 @@
+# ListBalancesRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `ID` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listbalancesresponse.md b/libs/clients/go/docs/models/operations/listbalancesresponse.md
new file mode 100755
index 0000000000..0c803e790b
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listbalancesresponse.md
@@ -0,0 +1,11 @@
+# ListBalancesResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ListBalancesResponse` | [*shared.ListBalancesResponse](../../models/shared/listbalancesresponse.md) | :heavy_minus_sign: | Balances list |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listbankaccountsrequest.md b/libs/clients/go/docs/models/operations/listbankaccountsrequest.md
new file mode 100755
index 0000000000..711f9e1240
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listbankaccountsrequest.md
@@ -0,0 +1,10 @@
+# ListBankAccountsRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `Cursor` | **string* | :heavy_minus_sign: | Parameter used in pagination requests. Maximum page size is set to 15.
Set to the value of next for the next page of results.
Set to the value of previous for the previous page of results.
No other parameters can be set when this parameter is set.
| aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ== |
+| `PageSize` | **int64* | :heavy_minus_sign: | The maximum number of results to return per page.
| |
+| `Sort` | []*string* | :heavy_minus_sign: | Fields used to sort payments (default is date:desc). | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listbankaccountsresponse.md b/libs/clients/go/docs/models/operations/listbankaccountsresponse.md
new file mode 100755
index 0000000000..88c2b87614
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listbankaccountsresponse.md
@@ -0,0 +1,11 @@
+# ListBankAccountsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
+| `BankAccountsCursor` | [*shared.BankAccountsCursor](../../models/shared/bankaccountscursor.md) | :heavy_minus_sign: | OK |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listclientsresponse.md b/libs/clients/go/docs/models/operations/listclientsresponse.md
new file mode 100755
index 0000000000..4a2207eb06
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listclientsresponse.md
@@ -0,0 +1,11 @@
+# ListClientsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ListClientsResponse` | [*shared.ListClientsResponse](../../models/shared/listclientsresponse.md) | :heavy_minus_sign: | List of clients |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listconfigsavailableconnectorsresponse.md b/libs/clients/go/docs/models/operations/listconfigsavailableconnectorsresponse.md
new file mode 100755
index 0000000000..267f107b0e
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listconfigsavailableconnectorsresponse.md
@@ -0,0 +1,11 @@
+# ListConfigsAvailableConnectorsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
+| `ConnectorsConfigsResponse` | [*shared.ConnectorsConfigsResponse](../../models/shared/connectorsconfigsresponse.md) | :heavy_minus_sign: | OK |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listconnectortasksrequest.md b/libs/clients/go/docs/models/operations/listconnectortasksrequest.md
new file mode 100755
index 0000000000..bca1819885
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listconnectortasksrequest.md
@@ -0,0 +1,10 @@
+# ListConnectorTasksRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `Connector` | [shared.Connector](../../models/shared/connector.md) | :heavy_check_mark: | The name of the connector. | |
+| `Cursor` | **string* | :heavy_minus_sign: | Parameter used in pagination requests. Maximum page size is set to 15.
Set to the value of next for the next page of results.
Set to the value of previous for the previous page of results.
No other parameters can be set when this parameter is set.
| aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ== |
+| `PageSize` | **int64* | :heavy_minus_sign: | The maximum number of results to return per page.
| |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listconnectortasksresponse.md b/libs/clients/go/docs/models/operations/listconnectortasksresponse.md
new file mode 100755
index 0000000000..cc9fe0b197
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listconnectortasksresponse.md
@@ -0,0 +1,11 @@
+# ListConnectorTasksResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `TasksCursor` | [*shared.TasksCursor](../../models/shared/taskscursor.md) | :heavy_minus_sign: | OK |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listconnectortasksv1request.md b/libs/clients/go/docs/models/operations/listconnectortasksv1request.md
new file mode 100755
index 0000000000..0f2f049898
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listconnectortasksv1request.md
@@ -0,0 +1,11 @@
+# ListConnectorTasksV1Request
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `Connector` | [shared.Connector](../../models/shared/connector.md) | :heavy_check_mark: | The name of the connector. | |
+| `ConnectorID` | *string* | :heavy_check_mark: | The connector ID. | |
+| `Cursor` | **string* | :heavy_minus_sign: | Parameter used in pagination requests. Maximum page size is set to 15.
Set to the value of next for the next page of results.
Set to the value of previous for the previous page of results.
No other parameters can be set when this parameter is set.
| aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ== |
+| `PageSize` | **int64* | :heavy_minus_sign: | The maximum number of results to return per page.
| |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listconnectortasksv1response.md b/libs/clients/go/docs/models/operations/listconnectortasksv1response.md
new file mode 100755
index 0000000000..7018c265c3
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listconnectortasksv1response.md
@@ -0,0 +1,11 @@
+# ListConnectorTasksV1Response
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `TasksCursor` | [*shared.TasksCursor](../../models/shared/taskscursor.md) | :heavy_minus_sign: | OK |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listinstancesrequest.md b/libs/clients/go/docs/models/operations/listinstancesrequest.md
new file mode 100755
index 0000000000..2701ad1082
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listinstancesrequest.md
@@ -0,0 +1,9 @@
+# ListInstancesRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------ | ------------------------ | ------------------------ | ------------------------ |
+| `Running` | **bool* | :heavy_minus_sign: | Filter running instances |
+| `WorkflowID` | **string* | :heavy_minus_sign: | A workflow id |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listinstancesresponse.md b/libs/clients/go/docs/models/operations/listinstancesresponse.md
new file mode 100755
index 0000000000..0a5fd29f1f
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listinstancesresponse.md
@@ -0,0 +1,12 @@
+# ListInstancesResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `Error` | [*shared.Error](../../models/shared/error.md) | :heavy_minus_sign: | General error |
+| `ListRunsResponse` | [*shared.ListRunsResponse](../../models/shared/listrunsresponse.md) | :heavy_minus_sign: | List of workflow instances |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listledgersrequest.md b/libs/clients/go/docs/models/operations/listledgersrequest.md
new file mode 100755
index 0000000000..10defc25e0
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listledgersrequest.md
@@ -0,0 +1,9 @@
+# ListLedgersRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `Cursor` | **string* | :heavy_minus_sign: | Parameter used in pagination requests. Maximum page size is set to 15.
Set to the value of next for the next page of results.
Set to the value of previous for the previous page of results.
No other parameters can be set when this parameter is set.
| aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ== |
+| `PageSize` | **int64* | :heavy_minus_sign: | The maximum number of results to return per page.
| |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listledgersresponse.md b/libs/clients/go/docs/models/operations/listledgersresponse.md
new file mode 100755
index 0000000000..4cfa4cc9d9
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listledgersresponse.md
@@ -0,0 +1,12 @@
+# ListLedgersResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ErrorResponse` | [*shared.ErrorResponse](../../models/shared/errorresponse.md) | :heavy_minus_sign: | Error |
+| `LedgerListResponse` | [*shared.LedgerListResponse](../../models/shared/ledgerlistresponse.md) | :heavy_minus_sign: | OK |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listlogsrequest.md b/libs/clients/go/docs/models/operations/listlogsrequest.md
new file mode 100755
index 0000000000..942596639e
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listlogsrequest.md
@@ -0,0 +1,12 @@
+# ListLogsRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `RequestBody` | map[string]*interface{}* | :heavy_minus_sign: | N/A | |
+| `Cursor` | **string* | :heavy_minus_sign: | Parameter used in pagination requests. Maximum page size is set to 15.
Set to the value of next for the next page of results.
Set to the value of previous for the previous page of results.
No other parameters can be set when this parameter is set.
| aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ== |
+| `Ledger` | *string* | :heavy_check_mark: | Name of the ledger. | ledger001 |
+| `PageSize` | **int64* | :heavy_minus_sign: | The maximum number of results to return per page.
| |
+| `Pit` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listlogsresponse.md b/libs/clients/go/docs/models/operations/listlogsresponse.md
new file mode 100755
index 0000000000..18518b5c24
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listlogsresponse.md
@@ -0,0 +1,12 @@
+# ListLogsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ErrorResponse` | [*shared.ErrorResponse](../../models/shared/errorresponse.md) | :heavy_minus_sign: | Error |
+| `LogsCursorResponse` | [*shared.LogsCursorResponse](../../models/shared/logscursorresponse.md) | :heavy_minus_sign: | OK |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listpaymentsrequest.md b/libs/clients/go/docs/models/operations/listpaymentsrequest.md
new file mode 100755
index 0000000000..a56b49139c
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listpaymentsrequest.md
@@ -0,0 +1,10 @@
+# ListPaymentsRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `Cursor` | **string* | :heavy_minus_sign: | Parameter used in pagination requests. Maximum page size is set to 15.
Set to the value of next for the next page of results.
Set to the value of previous for the previous page of results.
No other parameters can be set when this parameter is set.
| aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ== |
+| `PageSize` | **int64* | :heavy_minus_sign: | The maximum number of results to return per page.
| |
+| `Sort` | []*string* | :heavy_minus_sign: | Fields used to sort payments (default is date:desc). | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listpaymentsresponse.md b/libs/clients/go/docs/models/operations/listpaymentsresponse.md
new file mode 100755
index 0000000000..8939fc3b93
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listpaymentsresponse.md
@@ -0,0 +1,11 @@
+# ListPaymentsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `PaymentsCursor` | [*shared.PaymentsCursor](../../models/shared/paymentscursor.md) | :heavy_minus_sign: | OK |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listpoliciesrequest.md b/libs/clients/go/docs/models/operations/listpoliciesrequest.md
new file mode 100755
index 0000000000..29f5a922da
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listpoliciesrequest.md
@@ -0,0 +1,9 @@
+# ListPoliciesRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `Cursor` | **string* | :heavy_minus_sign: | Parameter used in pagination requests. Maximum page size is set to 15.
Set to the value of next for the next page of results.
Set to the value of previous for the previous page of results.
No other parameters can be set when this parameter is set.
| aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ== |
+| `PageSize` | **int64* | :heavy_minus_sign: | The maximum number of results to return per page.
| |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listpoliciesresponse.md b/libs/clients/go/docs/models/operations/listpoliciesresponse.md
new file mode 100755
index 0000000000..be6fdccc78
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listpoliciesresponse.md
@@ -0,0 +1,12 @@
+# ListPoliciesResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `PoliciesCursorResponse` | [*shared.PoliciesCursorResponse](../../models/shared/policiescursorresponse.md) | :heavy_minus_sign: | OK |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `ReconciliationErrorResponse` | [*shared.ReconciliationErrorResponse](../../models/shared/reconciliationerrorresponse.md) | :heavy_minus_sign: | Error response |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listpoolsrequest.md b/libs/clients/go/docs/models/operations/listpoolsrequest.md
new file mode 100755
index 0000000000..648ef7329d
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listpoolsrequest.md
@@ -0,0 +1,11 @@
+# ListPoolsRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `Cursor` | **string* | :heavy_minus_sign: | Parameter used in pagination requests. Maximum page size is set to 15.
Set to the value of next for the next page of results.
Set to the value of previous for the previous page of results.
No other parameters can be set when this parameter is set.
| aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ== |
+| `PageSize` | **int64* | :heavy_minus_sign: | The maximum number of results to return per page.
| |
+| `Query` | **string* | :heavy_minus_sign: | Filters used to filter resources.
| |
+| `Sort` | []*string* | :heavy_minus_sign: | Fields used to sort payments (default is date:desc). | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listpoolsresponse.md b/libs/clients/go/docs/models/operations/listpoolsresponse.md
new file mode 100755
index 0000000000..5ecdc03ba0
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listpoolsresponse.md
@@ -0,0 +1,11 @@
+# ListPoolsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `PoolsCursor` | [*shared.PoolsCursor](../../models/shared/poolscursor.md) | :heavy_minus_sign: | OK |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listreconciliationsrequest.md b/libs/clients/go/docs/models/operations/listreconciliationsrequest.md
new file mode 100755
index 0000000000..f8338615c3
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listreconciliationsrequest.md
@@ -0,0 +1,9 @@
+# ListReconciliationsRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `Cursor` | **string* | :heavy_minus_sign: | Parameter used in pagination requests. Maximum page size is set to 15.
Set to the value of next for the next page of results.
Set to the value of previous for the previous page of results.
No other parameters can be set when this parameter is set.
| aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ== |
+| `PageSize` | **int64* | :heavy_minus_sign: | The maximum number of results to return per page.
| |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listreconciliationsresponse.md b/libs/clients/go/docs/models/operations/listreconciliationsresponse.md
new file mode 100755
index 0000000000..73a811bbab
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listreconciliationsresponse.md
@@ -0,0 +1,12 @@
+# ListReconciliationsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ReconciliationsCursorResponse` | [*shared.ReconciliationsCursorResponse](../../models/shared/reconciliationscursorresponse.md) | :heavy_minus_sign: | OK |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `ReconciliationErrorResponse` | [*shared.ReconciliationErrorResponse](../../models/shared/reconciliationerrorresponse.md) | :heavy_minus_sign: | Error response |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listtransactionsrequest.md b/libs/clients/go/docs/models/operations/listtransactionsrequest.md
new file mode 100755
index 0000000000..3853d6928e
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listtransactionsrequest.md
@@ -0,0 +1,13 @@
+# ListTransactionsRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `RequestBody` | map[string]*interface{}* | :heavy_minus_sign: | N/A | |
+| `Cursor` | **string* | :heavy_minus_sign: | Parameter used in pagination requests. Maximum page size is set to 15.
Set to the value of next for the next page of results.
Set to the value of previous for the previous page of results.
No other parameters can be set when this parameter is set.
| aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ== |
+| `Expand` | **string* | :heavy_minus_sign: | N/A | |
+| `Ledger` | *string* | :heavy_check_mark: | Name of the ledger. | ledger001 |
+| `PageSize` | **int64* | :heavy_minus_sign: | The maximum number of results to return per page.
| |
+| `Pit` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listtransactionsresponse.md b/libs/clients/go/docs/models/operations/listtransactionsresponse.md
new file mode 100755
index 0000000000..dbcde85f6b
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listtransactionsresponse.md
@@ -0,0 +1,12 @@
+# ListTransactionsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ErrorResponse` | [*shared.ErrorResponse](../../models/shared/errorresponse.md) | :heavy_minus_sign: | Error |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `TransactionsCursorResponse` | [*shared.TransactionsCursorResponse](../../models/shared/transactionscursorresponse.md) | :heavy_minus_sign: | OK |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listtransferinitiationsrequest.md b/libs/clients/go/docs/models/operations/listtransferinitiationsrequest.md
new file mode 100755
index 0000000000..5ed6e4860a
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listtransferinitiationsrequest.md
@@ -0,0 +1,11 @@
+# ListTransferInitiationsRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `Cursor` | **string* | :heavy_minus_sign: | Parameter used in pagination requests. Maximum page size is set to 15.
Set to the value of next for the next page of results.
Set to the value of previous for the previous page of results.
No other parameters can be set when this parameter is set.
| aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ== |
+| `PageSize` | **int64* | :heavy_minus_sign: | The maximum number of results to return per page.
| |
+| `Query` | **string* | :heavy_minus_sign: | Filters used to filter resources.
| |
+| `Sort` | []*string* | :heavy_minus_sign: | Fields used to sort payments (default is date:desc). | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listtransferinitiationsresponse.md b/libs/clients/go/docs/models/operations/listtransferinitiationsresponse.md
new file mode 100755
index 0000000000..0368f9c2bb
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listtransferinitiationsresponse.md
@@ -0,0 +1,11 @@
+# ListTransferInitiationsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `TransferInitiationsCursor` | [*shared.TransferInitiationsCursor](../../models/shared/transferinitiationscursor.md) | :heavy_minus_sign: | OK |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listtriggersoccurrencesrequest.md b/libs/clients/go/docs/models/operations/listtriggersoccurrencesrequest.md
new file mode 100755
index 0000000000..ee2406b263
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listtriggersoccurrencesrequest.md
@@ -0,0 +1,8 @@
+# ListTriggersOccurrencesRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `TriggerID` | *string* | :heavy_check_mark: | The trigger id |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listtriggersoccurrencesresponse.md b/libs/clients/go/docs/models/operations/listtriggersoccurrencesresponse.md
new file mode 100755
index 0000000000..6885cd3214
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listtriggersoccurrencesresponse.md
@@ -0,0 +1,12 @@
+# ListTriggersOccurrencesResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `Error` | [*shared.Error](../../models/shared/error.md) | :heavy_minus_sign: | General error |
+| `ListTriggersOccurrencesResponse` | [*shared.ListTriggersOccurrencesResponse](../../models/shared/listtriggersoccurrencesresponse.md) | :heavy_minus_sign: | List of triggers occurrences |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listtriggersresponse.md b/libs/clients/go/docs/models/operations/listtriggersresponse.md
new file mode 100755
index 0000000000..b695eb54e6
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listtriggersresponse.md
@@ -0,0 +1,12 @@
+# ListTriggersResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `Error` | [*shared.Error](../../models/shared/error.md) | :heavy_minus_sign: | General error |
+| `ListTriggersResponse` | [*shared.ListTriggersResponse](../../models/shared/listtriggersresponse.md) | :heavy_minus_sign: | List of triggers |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listusersresponse.md b/libs/clients/go/docs/models/operations/listusersresponse.md
new file mode 100755
index 0000000000..601e737a75
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listusersresponse.md
@@ -0,0 +1,11 @@
+# ListUsersResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ListUsersResponse` | [*shared.ListUsersResponse](../../models/shared/listusersresponse.md) | :heavy_minus_sign: | List of users |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listwalletsrequest.md b/libs/clients/go/docs/models/operations/listwalletsrequest.md
new file mode 100755
index 0000000000..f752d00eb5
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listwalletsrequest.md
@@ -0,0 +1,11 @@
+# ListWalletsRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `Cursor` | **string* | :heavy_minus_sign: | Parameter used in pagination requests.
Set to the value of next for the next page of results.
Set to the value of previous for the previous page of results.
No other parameters can be set when the pagination token is set.
| aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ== |
+| `Metadata` | map[string]*string* | :heavy_minus_sign: | Filter wallets by metadata key value pairs. Nested objects can be used as seen in the example below. | |
+| `Name` | **string* | :heavy_minus_sign: | Filter on wallet name | |
+| `PageSize` | **int64* | :heavy_minus_sign: | The maximum number of results to return per page | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listwalletsresponse.md b/libs/clients/go/docs/models/operations/listwalletsresponse.md
new file mode 100755
index 0000000000..5055d3162f
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listwalletsresponse.md
@@ -0,0 +1,11 @@
+# ListWalletsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ListWalletsResponse` | [*shared.ListWalletsResponse](../../models/shared/listwalletsresponse.md) | :heavy_minus_sign: | OK |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/listworkflowsresponse.md b/libs/clients/go/docs/models/operations/listworkflowsresponse.md
new file mode 100755
index 0000000000..6beb4d3410
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/listworkflowsresponse.md
@@ -0,0 +1,12 @@
+# ListWorkflowsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `Error` | [*shared.Error](../../models/shared/error.md) | :heavy_minus_sign: | General error |
+| `ListWorkflowsResponse` | [*shared.ListWorkflowsResponse](../../models/shared/listworkflowsresponse.md) | :heavy_minus_sign: | List of workflows |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/orchestrationgetserverinforesponse.md b/libs/clients/go/docs/models/operations/orchestrationgetserverinforesponse.md
new file mode 100755
index 0000000000..46cb39ffe0
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/orchestrationgetserverinforesponse.md
@@ -0,0 +1,12 @@
+# OrchestrationgetServerInfoResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `Error` | [*shared.Error](../../models/shared/error.md) | :heavy_minus_sign: | General error |
+| `ServerInfo` | [*shared.ServerInfo](../../models/shared/serverinfo.md) | :heavy_minus_sign: | Server information |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/paymentsgetaccountrequest.md b/libs/clients/go/docs/models/operations/paymentsgetaccountrequest.md
new file mode 100755
index 0000000000..352d08714e
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/paymentsgetaccountrequest.md
@@ -0,0 +1,8 @@
+# PaymentsgetAccountRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `AccountID` | *string* | :heavy_check_mark: | The account ID. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/paymentsgetaccountresponse.md b/libs/clients/go/docs/models/operations/paymentsgetaccountresponse.md
new file mode 100755
index 0000000000..dfc0655ba5
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/paymentsgetaccountresponse.md
@@ -0,0 +1,11 @@
+# PaymentsgetAccountResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `PaymentsAccountResponse` | [*shared.PaymentsAccountResponse](../../models/shared/paymentsaccountresponse.md) | :heavy_minus_sign: | OK |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/paymentsgetserverinforesponse.md b/libs/clients/go/docs/models/operations/paymentsgetserverinforesponse.md
new file mode 100755
index 0000000000..bad79e11f1
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/paymentsgetserverinforesponse.md
@@ -0,0 +1,11 @@
+# PaymentsgetServerInfoResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ServerInfo` | [*shared.ServerInfo](../../models/shared/serverinfo.md) | :heavy_minus_sign: | Server information |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/paymentslistaccountsrequest.md b/libs/clients/go/docs/models/operations/paymentslistaccountsrequest.md
new file mode 100755
index 0000000000..343f619107
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/paymentslistaccountsrequest.md
@@ -0,0 +1,10 @@
+# PaymentslistAccountsRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `Cursor` | **string* | :heavy_minus_sign: | Parameter used in pagination requests. Maximum page size is set to 15.
Set to the value of next for the next page of results.
Set to the value of previous for the previous page of results.
No other parameters can be set when this parameter is set.
| aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ== |
+| `PageSize` | **int64* | :heavy_minus_sign: | The maximum number of results to return per page.
| |
+| `Sort` | []*string* | :heavy_minus_sign: | Fields used to sort payments (default is date:desc). | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/paymentslistaccountsresponse.md b/libs/clients/go/docs/models/operations/paymentslistaccountsresponse.md
new file mode 100755
index 0000000000..fee21b7eb7
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/paymentslistaccountsresponse.md
@@ -0,0 +1,11 @@
+# PaymentslistAccountsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- |
+| `AccountsCursor` | [*shared.AccountsCursor](../../models/shared/accountscursor.md) | :heavy_minus_sign: | OK |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/readclientrequest.md b/libs/clients/go/docs/models/operations/readclientrequest.md
new file mode 100755
index 0000000000..b970757299
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/readclientrequest.md
@@ -0,0 +1,8 @@
+# ReadClientRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `ClientID` | *string* | :heavy_check_mark: | Client ID |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/readclientresponse.md b/libs/clients/go/docs/models/operations/readclientresponse.md
new file mode 100755
index 0000000000..95da33334e
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/readclientresponse.md
@@ -0,0 +1,11 @@
+# ReadClientResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ReadClientResponse` | [*shared.ReadClientResponse](../../models/shared/readclientresponse.md) | :heavy_minus_sign: | Retrieved client |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/readconnectorconfigrequest.md b/libs/clients/go/docs/models/operations/readconnectorconfigrequest.md
new file mode 100755
index 0000000000..eb437e64d2
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/readconnectorconfigrequest.md
@@ -0,0 +1,8 @@
+# ReadConnectorConfigRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
+| `Connector` | [shared.Connector](../../models/shared/connector.md) | :heavy_check_mark: | The name of the connector. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/readconnectorconfigresponse.md b/libs/clients/go/docs/models/operations/readconnectorconfigresponse.md
new file mode 100755
index 0000000000..d2ef298dbd
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/readconnectorconfigresponse.md
@@ -0,0 +1,11 @@
+# ReadConnectorConfigResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
+| `ConnectorConfigResponse` | [*shared.ConnectorConfigResponse](../../models/shared/connectorconfigresponse.md) | :heavy_minus_sign: | OK |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/readconnectorconfigv1request.md b/libs/clients/go/docs/models/operations/readconnectorconfigv1request.md
new file mode 100755
index 0000000000..6c484d93f4
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/readconnectorconfigv1request.md
@@ -0,0 +1,9 @@
+# ReadConnectorConfigV1Request
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
+| `Connector` | [shared.Connector](../../models/shared/connector.md) | :heavy_check_mark: | The name of the connector. |
+| `ConnectorID` | *string* | :heavy_check_mark: | The connector ID. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/readconnectorconfigv1response.md b/libs/clients/go/docs/models/operations/readconnectorconfigv1response.md
new file mode 100755
index 0000000000..48b550e7d3
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/readconnectorconfigv1response.md
@@ -0,0 +1,11 @@
+# ReadConnectorConfigV1Response
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
+| `ConnectorConfigResponse` | [*shared.ConnectorConfigResponse](../../models/shared/connectorconfigresponse.md) | :heavy_minus_sign: | OK |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/readstatsrequest.md b/libs/clients/go/docs/models/operations/readstatsrequest.md
new file mode 100755
index 0000000000..1be5ec7475
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/readstatsrequest.md
@@ -0,0 +1,8 @@
+# ReadStatsRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
+| `Ledger` | *string* | :heavy_check_mark: | name of the ledger | ledger001 |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/readstatsresponse.md b/libs/clients/go/docs/models/operations/readstatsresponse.md
new file mode 100755
index 0000000000..0bec29590a
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/readstatsresponse.md
@@ -0,0 +1,12 @@
+# ReadStatsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ErrorResponse` | [*shared.ErrorResponse](../../models/shared/errorresponse.md) | :heavy_minus_sign: | Error |
+| `StatsResponse` | [*shared.StatsResponse](../../models/shared/statsresponse.md) | :heavy_minus_sign: | OK |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/readtriggerrequest.md b/libs/clients/go/docs/models/operations/readtriggerrequest.md
new file mode 100755
index 0000000000..2ddf0c179c
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/readtriggerrequest.md
@@ -0,0 +1,8 @@
+# ReadTriggerRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `TriggerID` | *string* | :heavy_check_mark: | The trigger id |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/readtriggerresponse.md b/libs/clients/go/docs/models/operations/readtriggerresponse.md
new file mode 100755
index 0000000000..3213fd6f05
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/readtriggerresponse.md
@@ -0,0 +1,12 @@
+# ReadTriggerResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `Error` | [*shared.Error](../../models/shared/error.md) | :heavy_minus_sign: | General error |
+| `ReadTriggerResponse` | [*shared.ReadTriggerResponse](../../models/shared/readtriggerresponse.md) | :heavy_minus_sign: | A specific trigger |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/readuserrequest.md b/libs/clients/go/docs/models/operations/readuserrequest.md
new file mode 100755
index 0000000000..69fb9f890c
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/readuserrequest.md
@@ -0,0 +1,8 @@
+# ReadUserRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `UserID` | *string* | :heavy_check_mark: | User ID |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/readuserresponse.md b/libs/clients/go/docs/models/operations/readuserresponse.md
new file mode 100755
index 0000000000..fb2cb57b1f
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/readuserresponse.md
@@ -0,0 +1,11 @@
+# ReadUserResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ReadUserResponse` | [*shared.ReadUserResponse](../../models/shared/readuserresponse.md) | :heavy_minus_sign: | Retrieved user |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/reconcilerequest.md b/libs/clients/go/docs/models/operations/reconcilerequest.md
new file mode 100755
index 0000000000..52394f3989
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/reconcilerequest.md
@@ -0,0 +1,9 @@
+# ReconcileRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
+| `ReconciliationRequest` | [shared.ReconciliationRequest](../../models/shared/reconciliationrequest.md) | :heavy_check_mark: | N/A |
+| `PolicyID` | *string* | :heavy_check_mark: | The policy ID. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/reconcileresponse.md b/libs/clients/go/docs/models/operations/reconcileresponse.md
new file mode 100755
index 0000000000..10c6d7aefe
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/reconcileresponse.md
@@ -0,0 +1,12 @@
+# ReconcileResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ReconciliationResponse` | [*shared.ReconciliationResponse](../../models/shared/reconciliationresponse.md) | :heavy_minus_sign: | OK |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `ReconciliationErrorResponse` | [*shared.ReconciliationErrorResponse](../../models/shared/reconciliationerrorresponse.md) | :heavy_minus_sign: | Error response |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/reconciliationgetserverinforesponse.md b/libs/clients/go/docs/models/operations/reconciliationgetserverinforesponse.md
new file mode 100755
index 0000000000..aeaa4c37b6
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/reconciliationgetserverinforesponse.md
@@ -0,0 +1,12 @@
+# ReconciliationgetServerInfoResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ServerInfo` | [*shared.ServerInfo](../../models/shared/serverinfo.md) | :heavy_minus_sign: | Server information |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `ReconciliationErrorResponse` | [*shared.ReconciliationErrorResponse](../../models/shared/reconciliationerrorresponse.md) | :heavy_minus_sign: | Error response |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/removeaccountfrompoolrequest.md b/libs/clients/go/docs/models/operations/removeaccountfrompoolrequest.md
new file mode 100755
index 0000000000..838870fb42
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/removeaccountfrompoolrequest.md
@@ -0,0 +1,9 @@
+# RemoveAccountFromPoolRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `AccountID` | *string* | :heavy_check_mark: | The account ID. |
+| `PoolID` | *string* | :heavy_check_mark: | The pool ID. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/removeaccountfrompoolresponse.md b/libs/clients/go/docs/models/operations/removeaccountfrompoolresponse.md
new file mode 100755
index 0000000000..b7dfb3f0a5
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/removeaccountfrompoolresponse.md
@@ -0,0 +1,10 @@
+# RemoveAccountFromPoolResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/resetconnectorrequest.md b/libs/clients/go/docs/models/operations/resetconnectorrequest.md
new file mode 100755
index 0000000000..3b7f11c4a4
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/resetconnectorrequest.md
@@ -0,0 +1,8 @@
+# ResetConnectorRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
+| `Connector` | [shared.Connector](../../models/shared/connector.md) | :heavy_check_mark: | The name of the connector. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/resetconnectorresponse.md b/libs/clients/go/docs/models/operations/resetconnectorresponse.md
new file mode 100755
index 0000000000..b7349da760
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/resetconnectorresponse.md
@@ -0,0 +1,10 @@
+# ResetConnectorResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/resetconnectorv1request.md b/libs/clients/go/docs/models/operations/resetconnectorv1request.md
new file mode 100755
index 0000000000..4539a71163
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/resetconnectorv1request.md
@@ -0,0 +1,9 @@
+# ResetConnectorV1Request
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
+| `Connector` | [shared.Connector](../../models/shared/connector.md) | :heavy_check_mark: | The name of the connector. |
+| `ConnectorID` | *string* | :heavy_check_mark: | The connector ID. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/resetconnectorv1response.md b/libs/clients/go/docs/models/operations/resetconnectorv1response.md
new file mode 100755
index 0000000000..a13dc2abbb
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/resetconnectorv1response.md
@@ -0,0 +1,10 @@
+# ResetConnectorV1Response
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/retrytransferinitiationrequest.md b/libs/clients/go/docs/models/operations/retrytransferinitiationrequest.md
new file mode 100755
index 0000000000..e84c9eb19c
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/retrytransferinitiationrequest.md
@@ -0,0 +1,8 @@
+# RetryTransferInitiationRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `TransferID` | *string* | :heavy_check_mark: | The transfer ID. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/retrytransferinitiationresponse.md b/libs/clients/go/docs/models/operations/retrytransferinitiationresponse.md
new file mode 100755
index 0000000000..64eb1a5e8b
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/retrytransferinitiationresponse.md
@@ -0,0 +1,10 @@
+# RetryTransferInitiationResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/reverttransactionrequest.md b/libs/clients/go/docs/models/operations/reverttransactionrequest.md
new file mode 100755
index 0000000000..cac7a130ba
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/reverttransactionrequest.md
@@ -0,0 +1,10 @@
+# RevertTransactionRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- |
+| `Force` | **bool* | :heavy_minus_sign: | Force revert | |
+| `ID` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | Transaction ID. | 1234 |
+| `Ledger` | *string* | :heavy_check_mark: | Name of the ledger. | ledger001 |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/reverttransactionresponse.md b/libs/clients/go/docs/models/operations/reverttransactionresponse.md
new file mode 100755
index 0000000000..f4e5c914c4
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/reverttransactionresponse.md
@@ -0,0 +1,12 @@
+# RevertTransactionResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ErrorResponse` | [*shared.ErrorResponse](../../models/shared/errorresponse.md) | :heavy_minus_sign: | Error |
+| `RevertTransactionResponse` | [*shared.RevertTransactionResponse](../../models/shared/reverttransactionresponse.md) | :heavy_minus_sign: | OK |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/runworkflowrequest.md b/libs/clients/go/docs/models/operations/runworkflowrequest.md
new file mode 100755
index 0000000000..21bfdd3db7
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/runworkflowrequest.md
@@ -0,0 +1,10 @@
+# RunWorkflowRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- |
+| `RequestBody` | map[string]*string* | :heavy_minus_sign: | N/A |
+| `Wait` | **bool* | :heavy_minus_sign: | Wait end of the workflow before return |
+| `WorkflowID` | *string* | :heavy_check_mark: | The flow id |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/runworkflowresponse.md b/libs/clients/go/docs/models/operations/runworkflowresponse.md
new file mode 100755
index 0000000000..f1fe7750d7
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/runworkflowresponse.md
@@ -0,0 +1,12 @@
+# RunWorkflowResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `Error` | [*shared.Error](../../models/shared/error.md) | :heavy_minus_sign: | General error |
+| `RunWorkflowResponse` | [*shared.RunWorkflowResponse](../../models/shared/runworkflowresponse.md) | :heavy_minus_sign: | The workflow instance |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/searchgetserverinforesponse.md b/libs/clients/go/docs/models/operations/searchgetserverinforesponse.md
new file mode 100755
index 0000000000..e728aa762b
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/searchgetserverinforesponse.md
@@ -0,0 +1,11 @@
+# SearchgetServerInfoResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ServerInfo` | [*shared.ServerInfo](../../models/shared/serverinfo.md) | :heavy_minus_sign: | Server information |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/searchresponse.md b/libs/clients/go/docs/models/operations/searchresponse.md
new file mode 100755
index 0000000000..74816dd099
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/searchresponse.md
@@ -0,0 +1,11 @@
+# SearchResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `Response` | [*shared.Response](../../models/shared/response.md) | :heavy_minus_sign: | Success |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/sendeventrequest.md b/libs/clients/go/docs/models/operations/sendeventrequest.md
new file mode 100755
index 0000000000..42b1dce1a5
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/sendeventrequest.md
@@ -0,0 +1,9 @@
+# SendEventRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
+| `RequestBody` | [*SendEventRequestBody](../../models/operations/sendeventrequestbody.md) | :heavy_minus_sign: | N/A |
+| `InstanceID` | *string* | :heavy_check_mark: | The instance id |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/sendeventrequestbody.md b/libs/clients/go/docs/models/operations/sendeventrequestbody.md
new file mode 100755
index 0000000000..902bd4126f
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/sendeventrequestbody.md
@@ -0,0 +1,8 @@
+# SendEventRequestBody
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `Name` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/sendeventresponse.md b/libs/clients/go/docs/models/operations/sendeventresponse.md
new file mode 100755
index 0000000000..f59e93f586
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/sendeventresponse.md
@@ -0,0 +1,11 @@
+# SendEventResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `Error` | [*shared.Error](../../models/shared/error.md) | :heavy_minus_sign: | General error |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/testconfigrequest.md b/libs/clients/go/docs/models/operations/testconfigrequest.md
new file mode 100755
index 0000000000..1f3711220a
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/testconfigrequest.md
@@ -0,0 +1,8 @@
+# TestConfigRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
+| `ID` | *string* | :heavy_check_mark: | Config ID | 4997257d-dfb6-445b-929c-cbe2ab182818 |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/testconfigresponse.md b/libs/clients/go/docs/models/operations/testconfigresponse.md
new file mode 100755
index 0000000000..a5b2f37687
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/testconfigresponse.md
@@ -0,0 +1,12 @@
+# TestConfigResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
+| `AttemptResponse` | [*shared.AttemptResponse](../../models/shared/attemptresponse.md) | :heavy_minus_sign: | OK |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `WebhooksErrorResponse` | [*shared.WebhooksErrorResponse](../../models/shared/webhookserrorresponse.md) | :heavy_minus_sign: | Error |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/udpatetransferinitiationstatusrequest.md b/libs/clients/go/docs/models/operations/udpatetransferinitiationstatusrequest.md
new file mode 100755
index 0000000000..3f6ac0f69c
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/udpatetransferinitiationstatusrequest.md
@@ -0,0 +1,9 @@
+# UdpateTransferInitiationStatusRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
+| `UpdateTransferInitiationStatusRequest` | [shared.UpdateTransferInitiationStatusRequest](../../models/shared/updatetransferinitiationstatusrequest.md) | :heavy_check_mark: | N/A |
+| `TransferID` | *string* | :heavy_check_mark: | The transfer ID. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/udpatetransferinitiationstatusresponse.md b/libs/clients/go/docs/models/operations/udpatetransferinitiationstatusresponse.md
new file mode 100755
index 0000000000..ef8e358303
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/udpatetransferinitiationstatusresponse.md
@@ -0,0 +1,10 @@
+# UdpateTransferInitiationStatusResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/uninstallconnectorrequest.md b/libs/clients/go/docs/models/operations/uninstallconnectorrequest.md
new file mode 100755
index 0000000000..77656e5b6e
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/uninstallconnectorrequest.md
@@ -0,0 +1,8 @@
+# UninstallConnectorRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
+| `Connector` | [shared.Connector](../../models/shared/connector.md) | :heavy_check_mark: | The name of the connector. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/uninstallconnectorresponse.md b/libs/clients/go/docs/models/operations/uninstallconnectorresponse.md
new file mode 100755
index 0000000000..cc34c54dcd
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/uninstallconnectorresponse.md
@@ -0,0 +1,10 @@
+# UninstallConnectorResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/uninstallconnectorv1request.md b/libs/clients/go/docs/models/operations/uninstallconnectorv1request.md
new file mode 100755
index 0000000000..9c5a0cdf55
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/uninstallconnectorv1request.md
@@ -0,0 +1,9 @@
+# UninstallConnectorV1Request
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------------------- |
+| `Connector` | [shared.Connector](../../models/shared/connector.md) | :heavy_check_mark: | The name of the connector. |
+| `ConnectorID` | *string* | :heavy_check_mark: | The connector ID. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/uninstallconnectorv1response.md b/libs/clients/go/docs/models/operations/uninstallconnectorv1response.md
new file mode 100755
index 0000000000..cd9a5c164c
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/uninstallconnectorv1response.md
@@ -0,0 +1,10 @@
+# UninstallConnectorV1Response
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/updateclientrequest.md b/libs/clients/go/docs/models/operations/updateclientrequest.md
new file mode 100755
index 0000000000..4941654bc7
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/updateclientrequest.md
@@ -0,0 +1,9 @@
+# UpdateClientRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
+| `UpdateClientRequest` | [*shared.UpdateClientRequest](../../models/shared/updateclientrequest.md) | :heavy_minus_sign: | N/A |
+| `ClientID` | *string* | :heavy_check_mark: | Client ID |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/updateclientresponse.md b/libs/clients/go/docs/models/operations/updateclientresponse.md
new file mode 100755
index 0000000000..1b47de511d
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/updateclientresponse.md
@@ -0,0 +1,11 @@
+# UpdateClientResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `UpdateClientResponse` | [*shared.UpdateClientResponse](../../models/shared/updateclientresponse.md) | :heavy_minus_sign: | Updated client |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/updatemetadatarequest.md b/libs/clients/go/docs/models/operations/updatemetadatarequest.md
new file mode 100755
index 0000000000..a3f55f5186
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/updatemetadatarequest.md
@@ -0,0 +1,9 @@
+# UpdateMetadataRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------- | ------------------- | ------------------- | ------------------- |
+| `RequestBody` | map[string]*string* | :heavy_check_mark: | N/A |
+| `PaymentID` | *string* | :heavy_check_mark: | The payment ID. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/updatemetadataresponse.md b/libs/clients/go/docs/models/operations/updatemetadataresponse.md
new file mode 100755
index 0000000000..d30fc664e6
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/updatemetadataresponse.md
@@ -0,0 +1,10 @@
+# UpdateMetadataResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/updatewalletrequest.md b/libs/clients/go/docs/models/operations/updatewalletrequest.md
new file mode 100755
index 0000000000..e57bde5abf
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/updatewalletrequest.md
@@ -0,0 +1,9 @@
+# UpdateWalletRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
+| `RequestBody` | [*UpdateWalletRequestBody](../../models/operations/updatewalletrequestbody.md) | :heavy_minus_sign: | N/A |
+| `ID` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/updatewalletrequestbody.md b/libs/clients/go/docs/models/operations/updatewalletrequestbody.md
new file mode 100755
index 0000000000..d93cb0df5e
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/updatewalletrequestbody.md
@@ -0,0 +1,8 @@
+# UpdateWalletRequestBody
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
+| `Metadata` | map[string]*string* | :heavy_check_mark: | Custom metadata to attach to this wallet. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/updatewalletresponse.md b/libs/clients/go/docs/models/operations/updatewalletresponse.md
new file mode 100755
index 0000000000..2ed290f8f6
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/updatewalletresponse.md
@@ -0,0 +1,11 @@
+# UpdateWalletResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `WalletsErrorResponse` | [*shared.WalletsErrorResponse](../../models/shared/walletserrorresponse.md) | :heavy_minus_sign: | Error |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/voidholdrequest.md b/libs/clients/go/docs/models/operations/voidholdrequest.md
new file mode 100755
index 0000000000..48a62532af
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/voidholdrequest.md
@@ -0,0 +1,8 @@
+# VoidHoldRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `HoldID` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/voidholdresponse.md b/libs/clients/go/docs/models/operations/voidholdresponse.md
new file mode 100755
index 0000000000..fd3d2c06c3
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/voidholdresponse.md
@@ -0,0 +1,11 @@
+# VoidHoldResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `WalletsErrorResponse` | [*shared.WalletsErrorResponse](../../models/shared/walletserrorresponse.md) | :heavy_minus_sign: | Error |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/operations/walletsgetserverinforesponse.md b/libs/clients/go/docs/models/operations/walletsgetserverinforesponse.md
new file mode 100755
index 0000000000..ae9ca76178
--- /dev/null
+++ b/libs/clients/go/docs/models/operations/walletsgetserverinforesponse.md
@@ -0,0 +1,12 @@
+# WalletsgetServerInfoResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
+| `ContentType` | *string* | :heavy_check_mark: | HTTP response content type for this operation |
+| `ServerInfo` | [*shared.ServerInfo](../../models/shared/serverinfo.md) | :heavy_minus_sign: | Server information |
+| `StatusCode` | *int* | :heavy_check_mark: | HTTP response status code for this operation |
+| `RawResponse` | [*http.Response](https://pkg.go.dev/net/http#Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing |
+| `WalletsErrorResponse` | [*shared.WalletsErrorResponse](../../models/shared/walletserrorresponse.md) | :heavy_minus_sign: | Error |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/account.md b/libs/clients/go/docs/models/shared/account.md
new file mode 100755
index 0000000000..70d6d4265c
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/account.md
@@ -0,0 +1,11 @@
+# Account
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- | -------------------------------------------------- |
+| `Address` | *string* | :heavy_check_mark: | N/A | users:001 |
+| `EffectiveVolumes` | map[string][Volume](../../models/shared/volume.md) | :heavy_minus_sign: | N/A | [object Object] |
+| `Metadata` | map[string]*string* | :heavy_check_mark: | N/A | [object Object] |
+| `Volumes` | map[string][Volume](../../models/shared/volume.md) | :heavy_minus_sign: | N/A | [object Object] |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/accountbalance.md b/libs/clients/go/docs/models/shared/accountbalance.md
new file mode 100755
index 0000000000..8bd123e9b3
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/accountbalance.md
@@ -0,0 +1,13 @@
+# AccountBalance
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
+| `AccountID` | *string* | :heavy_check_mark: | N/A |
+| `Asset` | *string* | :heavy_check_mark: | N/A |
+| `Balance` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A |
+| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
+| ~~`Currency`~~ | *string* | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. |
+| `LastUpdatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/accountresponse.md b/libs/clients/go/docs/models/shared/accountresponse.md
new file mode 100755
index 0000000000..43f9a8f1be
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/accountresponse.md
@@ -0,0 +1,8 @@
+# AccountResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
+| `Data` | [Account](../../models/shared/account.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/accountscursor.md b/libs/clients/go/docs/models/shared/accountscursor.md
new file mode 100755
index 0000000000..d0cca6ec81
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/accountscursor.md
@@ -0,0 +1,8 @@
+# AccountsCursor
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
+| `Cursor` | [AccountsCursorCursor](../../models/shared/accountscursorcursor.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/accountscursorcursor.md b/libs/clients/go/docs/models/shared/accountscursorcursor.md
new file mode 100755
index 0000000000..1996d8c7a3
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/accountscursorcursor.md
@@ -0,0 +1,12 @@
+# AccountsCursorCursor
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
+| `Data` | [][PaymentsAccount](../../models/shared/paymentsaccount.md) | :heavy_check_mark: | N/A | |
+| `HasMore` | *bool* | :heavy_check_mark: | N/A | false |
+| `Next` | **string* | :heavy_minus_sign: | N/A | |
+| `PageSize` | *int64* | :heavy_check_mark: | N/A | 15 |
+| `Previous` | **string* | :heavy_minus_sign: | N/A | YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol= |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/accountscursorresponse.md b/libs/clients/go/docs/models/shared/accountscursorresponse.md
new file mode 100755
index 0000000000..9aca72fa6f
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/accountscursorresponse.md
@@ -0,0 +1,8 @@
+# AccountsCursorResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
+| `Cursor` | [AccountsCursorResponseCursor](../../models/shared/accountscursorresponsecursor.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/accountscursorresponsecursor.md b/libs/clients/go/docs/models/shared/accountscursorresponsecursor.md
new file mode 100755
index 0000000000..0e026a12d4
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/accountscursorresponsecursor.md
@@ -0,0 +1,12 @@
+# AccountsCursorResponseCursor
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- |
+| `Data` | [][Account](../../models/shared/account.md) | :heavy_check_mark: | N/A | |
+| `HasMore` | *bool* | :heavy_check_mark: | N/A | false |
+| `Next` | **string* | :heavy_minus_sign: | N/A | |
+| `PageSize` | *int64* | :heavy_check_mark: | N/A | 15 |
+| `Previous` | **string* | :heavy_minus_sign: | N/A | YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol= |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/activityconfirmhold.md b/libs/clients/go/docs/models/shared/activityconfirmhold.md
new file mode 100755
index 0000000000..f7cd1379ed
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/activityconfirmhold.md
@@ -0,0 +1,8 @@
+# ActivityConfirmHold
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `ID` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/activitycreatetransaction.md b/libs/clients/go/docs/models/shared/activitycreatetransaction.md
new file mode 100755
index 0000000000..5a2dedb887
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/activitycreatetransaction.md
@@ -0,0 +1,9 @@
+# ActivityCreateTransaction
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- |
+| `Data` | [*PostTransaction](../../models/shared/posttransaction.md) | :heavy_minus_sign: | N/A |
+| `Ledger` | **string* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/activitycreatetransactionoutput.md b/libs/clients/go/docs/models/shared/activitycreatetransactionoutput.md
new file mode 100755
index 0000000000..348a257078
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/activitycreatetransactionoutput.md
@@ -0,0 +1,8 @@
+# ActivityCreateTransactionOutput
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- |
+| `Data` | [Transaction](../../models/shared/transaction.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/activitycreditwallet.md b/libs/clients/go/docs/models/shared/activitycreditwallet.md
new file mode 100755
index 0000000000..71343d79f6
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/activitycreditwallet.md
@@ -0,0 +1,9 @@
+# ActivityCreditWallet
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
+| `Data` | [*CreditWalletRequest](../../models/shared/creditwalletrequest.md) | :heavy_minus_sign: | N/A |
+| `ID` | **string* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/activitydebitwallet.md b/libs/clients/go/docs/models/shared/activitydebitwallet.md
new file mode 100755
index 0000000000..955e532f35
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/activitydebitwallet.md
@@ -0,0 +1,9 @@
+# ActivityDebitWallet
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- |
+| `Data` | [*DebitWalletRequest](../../models/shared/debitwalletrequest.md) | :heavy_minus_sign: | N/A |
+| `ID` | **string* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/activitydebitwalletoutput.md b/libs/clients/go/docs/models/shared/activitydebitwalletoutput.md
new file mode 100755
index 0000000000..b1667af9b0
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/activitydebitwalletoutput.md
@@ -0,0 +1,8 @@
+# ActivityDebitWalletOutput
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- |
+| `Data` | [Hold](../../models/shared/hold.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/activitygetaccount.md b/libs/clients/go/docs/models/shared/activitygetaccount.md
new file mode 100755
index 0000000000..733d5a87c1
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/activitygetaccount.md
@@ -0,0 +1,9 @@
+# ActivityGetAccount
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `ID` | *string* | :heavy_check_mark: | N/A |
+| `Ledger` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/activitygetaccountoutput.md b/libs/clients/go/docs/models/shared/activitygetaccountoutput.md
new file mode 100755
index 0000000000..0ce683eb1f
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/activitygetaccountoutput.md
@@ -0,0 +1,8 @@
+# ActivityGetAccountOutput
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
+| `Data` | [Account](../../models/shared/account.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/activitygetpayment.md b/libs/clients/go/docs/models/shared/activitygetpayment.md
new file mode 100755
index 0000000000..7030418b5c
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/activitygetpayment.md
@@ -0,0 +1,8 @@
+# ActivityGetPayment
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `ID` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/activitygetpaymentoutput.md b/libs/clients/go/docs/models/shared/activitygetpaymentoutput.md
new file mode 100755
index 0000000000..74e80647bb
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/activitygetpaymentoutput.md
@@ -0,0 +1,8 @@
+# ActivityGetPaymentOutput
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
+| `Data` | [OrchestrationPayment](../../models/shared/orchestrationpayment.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/activitygetwallet.md b/libs/clients/go/docs/models/shared/activitygetwallet.md
new file mode 100755
index 0000000000..482ede875e
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/activitygetwallet.md
@@ -0,0 +1,8 @@
+# ActivityGetWallet
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `ID` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/activitygetwalletoutput.md b/libs/clients/go/docs/models/shared/activitygetwalletoutput.md
new file mode 100755
index 0000000000..792a658adb
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/activitygetwalletoutput.md
@@ -0,0 +1,8 @@
+# ActivityGetWalletOutput
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- |
+| `Data` | [WalletWithBalances](../../models/shared/walletwithbalances.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/activityreverttransaction.md b/libs/clients/go/docs/models/shared/activityreverttransaction.md
new file mode 100755
index 0000000000..8e24a39fbb
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/activityreverttransaction.md
@@ -0,0 +1,9 @@
+# ActivityRevertTransaction
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `ID` | *string* | :heavy_check_mark: | N/A |
+| `Ledger` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/activityreverttransactionoutput.md b/libs/clients/go/docs/models/shared/activityreverttransactionoutput.md
new file mode 100755
index 0000000000..46c880183d
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/activityreverttransactionoutput.md
@@ -0,0 +1,8 @@
+# ActivityRevertTransactionOutput
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- |
+| `Data` | [Transaction](../../models/shared/transaction.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/activitystripetransfer.md b/libs/clients/go/docs/models/shared/activitystripetransfer.md
new file mode 100755
index 0000000000..b03e841d59
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/activitystripetransfer.md
@@ -0,0 +1,13 @@
+# ActivityStripeTransfer
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| `Amount` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_minus_sign: | N/A | 100 |
+| `Asset` | **string* | :heavy_minus_sign: | N/A | USD |
+| `ConnectorID` | **string* | :heavy_minus_sign: | N/A | |
+| `Destination` | **string* | :heavy_minus_sign: | N/A | acct_1Gqj58KZcSIg2N2q |
+| `Metadata` | [*ActivityStripeTransferMetadata](../../models/shared/activitystripetransfermetadata.md) | :heavy_minus_sign: | A set of key/value pairs that you can attach to a transfer object.
It can be useful for storing additional information about the transfer in a structured format.
| |
+| `WaitingValidation` | **bool* | :heavy_minus_sign: | N/A | false |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/activitystripetransfermetadata.md b/libs/clients/go/docs/models/shared/activitystripetransfermetadata.md
new file mode 100755
index 0000000000..055e707c8a
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/activitystripetransfermetadata.md
@@ -0,0 +1,11 @@
+# ActivityStripeTransferMetadata
+
+A set of key/value pairs that you can attach to a transfer object.
+It can be useful for storing additional information about the transfer in a structured format.
+
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------- | ----------- | ----------- | ----------- |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/activityvoidhold.md b/libs/clients/go/docs/models/shared/activityvoidhold.md
new file mode 100755
index 0000000000..72eb0ab9cf
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/activityvoidhold.md
@@ -0,0 +1,8 @@
+# ActivityVoidHold
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `ID` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/addaccounttopoolrequest.md b/libs/clients/go/docs/models/shared/addaccounttopoolrequest.md
new file mode 100755
index 0000000000..8917605156
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/addaccounttopoolrequest.md
@@ -0,0 +1,8 @@
+# AddAccountToPoolRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `AccountID` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/aggregatebalancesresponse.md b/libs/clients/go/docs/models/shared/aggregatebalancesresponse.md
new file mode 100755
index 0000000000..797556d91d
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/aggregatebalancesresponse.md
@@ -0,0 +1,8 @@
+# AggregateBalancesResponse
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ |
+| `Data` | map[string][*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A | [object Object] |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/assetholder.md b/libs/clients/go/docs/models/shared/assetholder.md
new file mode 100755
index 0000000000..fc37e084d2
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/assetholder.md
@@ -0,0 +1,8 @@
+# AssetHolder
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ |
+| `Assets` | map[string][*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/atlarconfig.md b/libs/clients/go/docs/models/shared/atlarconfig.md
new file mode 100755
index 0000000000..f5491c7f8b
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/atlarconfig.md
@@ -0,0 +1,13 @@
+# AtlarConfig
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `AccessKey` | *string* | :heavy_check_mark: | The access key used by the connector for authorizing requests to the Atlar API.
You can obtain it along with the associated secret from the Atlar dashboard.
| XXX |
+| `BaseURL` | **string* | :heavy_minus_sign: | The base URL the client uses for making requests towards the Atlar API.
| https://api.example.com |
+| `Name` | *string* | :heavy_check_mark: | N/A | My Atlar Account |
+| `PageSize` | **int64* | :heavy_minus_sign: | Number of items to fetch when querying paginated APIs.
| 50 |
+| `PollingPeriod` | **string* | :heavy_minus_sign: | The frequency at which the connector tries to fetch new Transaction objects from the Atlar API.
| 60s |
+| `Secret` | *string* | :heavy_check_mark: | The secret used by the connector for authorizing requests to the Atlar API.
You can obtain it along with the associated access key from the Atlar dashboard.
| XXX |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/attempt.md b/libs/clients/go/docs/models/shared/attempt.md
new file mode 100755
index 0000000000..5a8ad86c93
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/attempt.md
@@ -0,0 +1,17 @@
+# Attempt
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `Config` | [WebhooksConfig](../../models/shared/webhooksconfig.md) | :heavy_check_mark: | N/A | |
+| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A | |
+| `ID` | *string* | :heavy_check_mark: | N/A | |
+| `NextRetryAfter` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A | |
+| `Payload` | *string* | :heavy_check_mark: | N/A | {"data":"test"} |
+| `RetryAttempt` | *int64* | :heavy_check_mark: | N/A | 1 |
+| `Status` | *string* | :heavy_check_mark: | N/A | success |
+| `StatusCode` | *int64* | :heavy_check_mark: | N/A | 200 |
+| `UpdatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A | |
+| `WebhookID` | *string* | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/attemptresponse.md b/libs/clients/go/docs/models/shared/attemptresponse.md
new file mode 100755
index 0000000000..6d45062df3
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/attemptresponse.md
@@ -0,0 +1,8 @@
+# AttemptResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
+| `Data` | [Attempt](../../models/shared/attempt.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/balance.md b/libs/clients/go/docs/models/shared/balance.md
new file mode 100755
index 0000000000..7182263bb4
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/balance.md
@@ -0,0 +1,10 @@
+# Balance
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- |
+| `ExpiresAt` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A |
+| `Name` | *string* | :heavy_check_mark: | N/A |
+| `Priority` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/balancescursor.md b/libs/clients/go/docs/models/shared/balancescursor.md
new file mode 100755
index 0000000000..4fc6f43ddf
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/balancescursor.md
@@ -0,0 +1,8 @@
+# BalancesCursor
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
+| `Cursor` | [BalancesCursorCursor](../../models/shared/balancescursorcursor.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/balancescursorcursor.md b/libs/clients/go/docs/models/shared/balancescursorcursor.md
new file mode 100755
index 0000000000..b0080e28e8
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/balancescursorcursor.md
@@ -0,0 +1,12 @@
+# BalancesCursorCursor
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- |
+| `Data` | [][AccountBalance](../../models/shared/accountbalance.md) | :heavy_check_mark: | N/A | |
+| `HasMore` | *bool* | :heavy_check_mark: | N/A | false |
+| `Next` | **string* | :heavy_minus_sign: | N/A | |
+| `PageSize` | *int64* | :heavy_check_mark: | N/A | 15 |
+| `Previous` | **string* | :heavy_minus_sign: | N/A | YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol= |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/balancewithassets.md b/libs/clients/go/docs/models/shared/balancewithassets.md
new file mode 100755
index 0000000000..3ca251c032
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/balancewithassets.md
@@ -0,0 +1,11 @@
+# BalanceWithAssets
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ |
+| `Assets` | map[string][*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A |
+| `ExpiresAt` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A |
+| `Name` | *string* | :heavy_check_mark: | N/A |
+| `Priority` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/bankaccount.md b/libs/clients/go/docs/models/shared/bankaccount.md
new file mode 100755
index 0000000000..484eb18cd7
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/bankaccount.md
@@ -0,0 +1,15 @@
+# BankAccount
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
+| `AccountNumber` | **string* | :heavy_minus_sign: | N/A |
+| `ConnectorID` | *string* | :heavy_check_mark: | N/A |
+| `Country` | *string* | :heavy_check_mark: | N/A |
+| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
+| `Iban` | **string* | :heavy_minus_sign: | N/A |
+| `ID` | *string* | :heavy_check_mark: | N/A |
+| `Provider` | **string* | :heavy_minus_sign: | N/A |
+| `SwiftBicCode` | **string* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/bankaccountrequest.md b/libs/clients/go/docs/models/shared/bankaccountrequest.md
new file mode 100755
index 0000000000..83a3737bf6
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/bankaccountrequest.md
@@ -0,0 +1,13 @@
+# BankAccountRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
+| `AccountNumber` | **string* | :heavy_minus_sign: | N/A | |
+| `ConnectorID` | *string* | :heavy_check_mark: | N/A | |
+| `Country` | *string* | :heavy_check_mark: | N/A | GB |
+| `Iban` | **string* | :heavy_minus_sign: | N/A | |
+| `Name` | *string* | :heavy_check_mark: | N/A | My account |
+| `SwiftBicCode` | **string* | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/bankaccountresponse.md b/libs/clients/go/docs/models/shared/bankaccountresponse.md
new file mode 100755
index 0000000000..3b1fc78404
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/bankaccountresponse.md
@@ -0,0 +1,8 @@
+# BankAccountResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- |
+| `Data` | [BankAccount](../../models/shared/bankaccount.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/bankaccountscursor.md b/libs/clients/go/docs/models/shared/bankaccountscursor.md
new file mode 100755
index 0000000000..1ca7324372
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/bankaccountscursor.md
@@ -0,0 +1,8 @@
+# BankAccountsCursor
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
+| `Cursor` | [BankAccountsCursorCursor](../../models/shared/bankaccountscursorcursor.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/bankaccountscursorcursor.md b/libs/clients/go/docs/models/shared/bankaccountscursorcursor.md
new file mode 100755
index 0000000000..77b79ba388
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/bankaccountscursorcursor.md
@@ -0,0 +1,12 @@
+# BankAccountsCursorCursor
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- |
+| `Data` | [][BankAccount](../../models/shared/bankaccount.md) | :heavy_check_mark: | N/A | |
+| `HasMore` | *bool* | :heavy_check_mark: | N/A | false |
+| `Next` | **string* | :heavy_minus_sign: | N/A | |
+| `PageSize` | *int64* | :heavy_check_mark: | N/A | 15 |
+| `Previous` | **string* | :heavy_minus_sign: | N/A | YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol= |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/bankingcircleconfig.md b/libs/clients/go/docs/models/shared/bankingcircleconfig.md
new file mode 100755
index 0000000000..3d38c7f973
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/bankingcircleconfig.md
@@ -0,0 +1,15 @@
+# BankingCircleConfig
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
+| `AuthorizationEndpoint` | *string* | :heavy_check_mark: | N/A | XXX |
+| `Endpoint` | *string* | :heavy_check_mark: | N/A | XXX |
+| `Name` | *string* | :heavy_check_mark: | N/A | My Banking Circle Account |
+| `Password` | *string* | :heavy_check_mark: | N/A | XXX |
+| `PollingPeriod` | **string* | :heavy_minus_sign: | The frequency at which the connector will try to fetch new BalanceTransaction objects from Banking Circle API.
| 60s |
+| `UserCertificate` | *string* | :heavy_check_mark: | N/A | XXX |
+| `UserCertificateKey` | *string* | :heavy_check_mark: | N/A | XXX |
+| `Username` | *string* | :heavy_check_mark: | N/A | XXX |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/bulkelement.md b/libs/clients/go/docs/models/shared/bulkelement.md
new file mode 100755
index 0000000000..afb8fee827
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/bulkelement.md
@@ -0,0 +1,29 @@
+# BulkElement
+
+
+## Supported Types
+
+### BulkElementBulkElementAddMetadata
+
+```go
+bulkElement := shared.CreateBulkElementAddMetadata(shared.BulkElementBulkElementAddMetadata{/* values here */})
+```
+
+### BulkElementBulkElementCreateTransaction
+
+```go
+bulkElement := shared.CreateBulkElementCreateTransaction(shared.BulkElementBulkElementCreateTransaction{/* values here */})
+```
+
+### BulkElementBulkElementDeleteMetadata
+
+```go
+bulkElement := shared.CreateBulkElementDeleteMetadata(shared.BulkElementBulkElementDeleteMetadata{/* values here */})
+```
+
+### BulkElementBulkElementRevertTransaction
+
+```go
+bulkElement := shared.CreateBulkElementRevertTransaction(shared.BulkElementBulkElementRevertTransaction{/* values here */})
+```
+
diff --git a/libs/clients/go/docs/models/shared/bulkelementbulkelementaddmetadata.md b/libs/clients/go/docs/models/shared/bulkelementbulkelementaddmetadata.md
new file mode 100755
index 0000000000..4b5264c3dc
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/bulkelementbulkelementaddmetadata.md
@@ -0,0 +1,10 @@
+# BulkElementBulkElementAddMetadata
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
+| `Action` | *string* | :heavy_check_mark: | N/A |
+| `Data` | [*BulkElementBulkElementAddMetadataData](../../models/shared/bulkelementbulkelementaddmetadatadata.md) | :heavy_minus_sign: | N/A |
+| `Ik` | **string* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/bulkelementbulkelementaddmetadatadata.md b/libs/clients/go/docs/models/shared/bulkelementbulkelementaddmetadatadata.md
new file mode 100755
index 0000000000..8f52e5f38a
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/bulkelementbulkelementaddmetadatadata.md
@@ -0,0 +1,10 @@
+# BulkElementBulkElementAddMetadataData
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- |
+| `Metadata` | map[string]*string* | :heavy_check_mark: | N/A |
+| `TargetID` | [TargetID](../../models/shared/targetid.md) | :heavy_check_mark: | N/A |
+| `TargetType` | [TargetType](../../models/shared/targettype.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/bulkelementbulkelementcreatetransaction.md b/libs/clients/go/docs/models/shared/bulkelementbulkelementcreatetransaction.md
new file mode 100755
index 0000000000..6bcf96b623
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/bulkelementbulkelementcreatetransaction.md
@@ -0,0 +1,10 @@
+# BulkElementBulkElementCreateTransaction
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- |
+| `Action` | *string* | :heavy_check_mark: | N/A |
+| `Data` | [*PostTransaction](../../models/shared/posttransaction.md) | :heavy_minus_sign: | N/A |
+| `Ik` | **string* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/bulkelementbulkelementdeletemetadata.md b/libs/clients/go/docs/models/shared/bulkelementbulkelementdeletemetadata.md
new file mode 100755
index 0000000000..8f62918fa7
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/bulkelementbulkelementdeletemetadata.md
@@ -0,0 +1,10 @@
+# BulkElementBulkElementDeleteMetadata
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
+| `Action` | *string* | :heavy_check_mark: | N/A |
+| `Data` | [*BulkElementBulkElementDeleteMetadataData](../../models/shared/bulkelementbulkelementdeletemetadatadata.md) | :heavy_minus_sign: | N/A |
+| `Ik` | **string* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/bulkelementbulkelementdeletemetadatadata.md b/libs/clients/go/docs/models/shared/bulkelementbulkelementdeletemetadatadata.md
new file mode 100755
index 0000000000..322fe8c9ea
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/bulkelementbulkelementdeletemetadatadata.md
@@ -0,0 +1,10 @@
+# BulkElementBulkElementDeleteMetadataData
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- | ----------------------------------------------- |
+| `Key` | *string* | :heavy_check_mark: | N/A |
+| `TargetID` | [TargetID](../../models/shared/targetid.md) | :heavy_check_mark: | N/A |
+| `TargetType` | [TargetType](../../models/shared/targettype.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/bulkelementbulkelementreverttransaction.md b/libs/clients/go/docs/models/shared/bulkelementbulkelementreverttransaction.md
new file mode 100755
index 0000000000..ba1f64fec1
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/bulkelementbulkelementreverttransaction.md
@@ -0,0 +1,10 @@
+# BulkElementBulkElementRevertTransaction
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
+| `Action` | *string* | :heavy_check_mark: | N/A |
+| `Data` | [*BulkElementBulkElementRevertTransactionData](../../models/shared/bulkelementbulkelementreverttransactiondata.md) | :heavy_minus_sign: | N/A |
+| `Ik` | **string* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/bulkelementbulkelementreverttransactiondata.md b/libs/clients/go/docs/models/shared/bulkelementbulkelementreverttransactiondata.md
new file mode 100755
index 0000000000..cb6e63adc4
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/bulkelementbulkelementreverttransactiondata.md
@@ -0,0 +1,9 @@
+# BulkElementBulkElementRevertTransactionData
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- |
+| `Force` | **bool* | :heavy_minus_sign: | N/A |
+| `ID` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/bulkelementresult.md b/libs/clients/go/docs/models/shared/bulkelementresult.md
new file mode 100755
index 0000000000..bbcb52288b
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/bulkelementresult.md
@@ -0,0 +1,35 @@
+# BulkElementResult
+
+
+## Supported Types
+
+### BulkElementResultBulkElementResultAddMetadata
+
+```go
+bulkElementResult := shared.CreateBulkElementResultAddMetadata(shared.BulkElementResultBulkElementResultAddMetadata{/* values here */})
+```
+
+### BulkElementResultBulkElementResultCreateTransaction
+
+```go
+bulkElementResult := shared.CreateBulkElementResultCreateTransaction(shared.BulkElementResultBulkElementResultCreateTransaction{/* values here */})
+```
+
+### BulkElementResultBulkElementResultDeleteMetadata
+
+```go
+bulkElementResult := shared.CreateBulkElementResultDeleteMetadata(shared.BulkElementResultBulkElementResultDeleteMetadata{/* values here */})
+```
+
+### BulkElementResultBulkElementResultError
+
+```go
+bulkElementResult := shared.CreateBulkElementResultError(shared.BulkElementResultBulkElementResultError{/* values here */})
+```
+
+### BulkElementResultBulkElementResultRevertTransaction
+
+```go
+bulkElementResult := shared.CreateBulkElementResultRevertTransaction(shared.BulkElementResultBulkElementResultRevertTransaction{/* values here */})
+```
+
diff --git a/libs/clients/go/docs/models/shared/bulkelementresultbulkelementresultaddmetadata.md b/libs/clients/go/docs/models/shared/bulkelementresultbulkelementresultaddmetadata.md
new file mode 100755
index 0000000000..413b4bdb78
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/bulkelementresultbulkelementresultaddmetadata.md
@@ -0,0 +1,8 @@
+# BulkElementResultBulkElementResultAddMetadata
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `ResponseType` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/bulkelementresultbulkelementresultcreatetransaction.md b/libs/clients/go/docs/models/shared/bulkelementresultbulkelementresultcreatetransaction.md
new file mode 100755
index 0000000000..65f5867ddb
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/bulkelementresultbulkelementresultcreatetransaction.md
@@ -0,0 +1,9 @@
+# BulkElementResultBulkElementResultCreateTransaction
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- |
+| `Data` | [Transaction](../../models/shared/transaction.md) | :heavy_check_mark: | N/A |
+| `ResponseType` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/bulkelementresultbulkelementresultdeletemetadata.md b/libs/clients/go/docs/models/shared/bulkelementresultbulkelementresultdeletemetadata.md
new file mode 100755
index 0000000000..2262d9bbf5
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/bulkelementresultbulkelementresultdeletemetadata.md
@@ -0,0 +1,8 @@
+# BulkElementResultBulkElementResultDeleteMetadata
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `ResponseType` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/bulkelementresultbulkelementresulterror.md b/libs/clients/go/docs/models/shared/bulkelementresultbulkelementresulterror.md
new file mode 100755
index 0000000000..c9c5c0e68b
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/bulkelementresultbulkelementresulterror.md
@@ -0,0 +1,11 @@
+# BulkElementResultBulkElementResultError
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `ErrorCode` | *string* | :heavy_check_mark: | N/A |
+| `ErrorDescription` | *string* | :heavy_check_mark: | N/A |
+| `ErrorDetails` | **string* | :heavy_minus_sign: | N/A |
+| `ResponseType` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/bulkelementresultbulkelementresultreverttransaction.md b/libs/clients/go/docs/models/shared/bulkelementresultbulkelementresultreverttransaction.md
new file mode 100755
index 0000000000..6a56012a58
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/bulkelementresultbulkelementresultreverttransaction.md
@@ -0,0 +1,9 @@
+# BulkElementResultBulkElementResultRevertTransaction
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- |
+| `Data` | [Transaction](../../models/shared/transaction.md) | :heavy_check_mark: | N/A |
+| `ResponseType` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/bulkresponse.md b/libs/clients/go/docs/models/shared/bulkresponse.md
new file mode 100755
index 0000000000..6807ff4bf8
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/bulkresponse.md
@@ -0,0 +1,8 @@
+# BulkResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- |
+| `Data` | [][BulkElementResult](../../models/shared/bulkelementresult.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/client.md b/libs/clients/go/docs/models/shared/client.md
new file mode 100755
index 0000000000..56a6972c27
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/client.md
@@ -0,0 +1,17 @@
+# Client
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
+| `Description` | **string* | :heavy_minus_sign: | N/A |
+| `ID` | *string* | :heavy_check_mark: | N/A |
+| `Metadata` | map[string]*interface{}* | :heavy_minus_sign: | N/A |
+| `Name` | *string* | :heavy_check_mark: | N/A |
+| `PostLogoutRedirectUris` | []*string* | :heavy_minus_sign: | N/A |
+| `Public` | **bool* | :heavy_minus_sign: | N/A |
+| `RedirectUris` | []*string* | :heavy_minus_sign: | N/A |
+| `Scopes` | []*string* | :heavy_minus_sign: | N/A |
+| `Secrets` | [][ClientSecret](../../models/shared/clientsecret.md) | :heavy_minus_sign: | N/A |
+| `Trusted` | **bool* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/clientsecret.md b/libs/clients/go/docs/models/shared/clientsecret.md
new file mode 100755
index 0000000000..2ae9d20a2c
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/clientsecret.md
@@ -0,0 +1,11 @@
+# ClientSecret
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------ | ------------------------ | ------------------------ | ------------------------ |
+| `ID` | *string* | :heavy_check_mark: | N/A |
+| `LastDigits` | *string* | :heavy_check_mark: | N/A |
+| `Metadata` | map[string]*interface{}* | :heavy_minus_sign: | N/A |
+| `Name` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/configchangesecret.md b/libs/clients/go/docs/models/shared/configchangesecret.md
new file mode 100755
index 0000000000..95cba305be
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/configchangesecret.md
@@ -0,0 +1,8 @@
+# ConfigChangeSecret
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- |
+| `Secret` | *string* | :heavy_check_mark: | N/A | V0bivxRWveaoz08afqjU6Ko/jwO0Cb+3 |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/configinforesponse.md b/libs/clients/go/docs/models/shared/configinforesponse.md
new file mode 100755
index 0000000000..ed94460957
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/configinforesponse.md
@@ -0,0 +1,9 @@
+# ConfigInfoResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `Server` | *string* | :heavy_check_mark: | N/A |
+| `Version` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/configresponse.md b/libs/clients/go/docs/models/shared/configresponse.md
new file mode 100755
index 0000000000..b5922c97b0
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/configresponse.md
@@ -0,0 +1,8 @@
+# ConfigResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `Data` | [WebhooksConfig](../../models/shared/webhooksconfig.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/configsresponse.md b/libs/clients/go/docs/models/shared/configsresponse.md
new file mode 100755
index 0000000000..1c7f68e09b
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/configsresponse.md
@@ -0,0 +1,8 @@
+# ConfigsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
+| `Cursor` | [ConfigsResponseCursor](../../models/shared/configsresponsecursor.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/configsresponsecursor.md b/libs/clients/go/docs/models/shared/configsresponsecursor.md
new file mode 100755
index 0000000000..c7f076416b
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/configsresponsecursor.md
@@ -0,0 +1,9 @@
+# ConfigsResponseCursor
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- |
+| `Data` | [][WebhooksConfig](../../models/shared/webhooksconfig.md) | :heavy_check_mark: | N/A | |
+| `HasMore` | *bool* | :heavy_check_mark: | N/A | false |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/configuser.md b/libs/clients/go/docs/models/shared/configuser.md
new file mode 100755
index 0000000000..1bdef6f536
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/configuser.md
@@ -0,0 +1,10 @@
+# ConfigUser
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- |
+| `Endpoint` | *string* | :heavy_check_mark: | N/A | https://example.com |
+| `EventTypes` | []*string* | :heavy_check_mark: | N/A | TYPE1,TYPE2 |
+| `Secret` | **string* | :heavy_minus_sign: | N/A | V0bivxRWveaoz08afqjU6Ko/jwO0Cb+3 |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/confirmholdrequest.md b/libs/clients/go/docs/models/shared/confirmholdrequest.md
new file mode 100755
index 0000000000..349f475f02
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/confirmholdrequest.md
@@ -0,0 +1,9 @@
+# ConfirmHoldRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
+| `Amount` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_minus_sign: | Define the amount to transfer. | 100 |
+| `Final` | **bool* | :heavy_minus_sign: | Define a final confirmation. Remaining funds will be returned to the wallet. | true |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/connector.md b/libs/clients/go/docs/models/shared/connector.md
new file mode 100755
index 0000000000..4f71eeb0f4
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/connector.md
@@ -0,0 +1,16 @@
+# Connector
+
+
+## Values
+
+| Name | Value |
+| ------------------------ | ------------------------ |
+| `ConnectorStripe` | STRIPE |
+| `ConnectorDummyPay` | DUMMY-PAY |
+| `ConnectorWise` | WISE |
+| `ConnectorModulr` | MODULR |
+| `ConnectorCurrencyCloud` | CURRENCY-CLOUD |
+| `ConnectorBankingCircle` | BANKING-CIRCLE |
+| `ConnectorMangopay` | MANGOPAY |
+| `ConnectorMoneycorp` | MONEYCORP |
+| `ConnectorAtlar` | ATLAR |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/connectorconfig.md b/libs/clients/go/docs/models/shared/connectorconfig.md
new file mode 100755
index 0000000000..a51644e91e
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/connectorconfig.md
@@ -0,0 +1,59 @@
+# ConnectorConfig
+
+
+## Supported Types
+
+### StripeConfig
+
+```go
+connectorConfig := shared.CreateConnectorConfigStripeConfig(shared.StripeConfig{/* values here */})
+```
+
+### DummyPayConfig
+
+```go
+connectorConfig := shared.CreateConnectorConfigDummyPayConfig(shared.DummyPayConfig{/* values here */})
+```
+
+### WiseConfig
+
+```go
+connectorConfig := shared.CreateConnectorConfigWiseConfig(shared.WiseConfig{/* values here */})
+```
+
+### ModulrConfig
+
+```go
+connectorConfig := shared.CreateConnectorConfigModulrConfig(shared.ModulrConfig{/* values here */})
+```
+
+### CurrencyCloudConfig
+
+```go
+connectorConfig := shared.CreateConnectorConfigCurrencyCloudConfig(shared.CurrencyCloudConfig{/* values here */})
+```
+
+### BankingCircleConfig
+
+```go
+connectorConfig := shared.CreateConnectorConfigBankingCircleConfig(shared.BankingCircleConfig{/* values here */})
+```
+
+### MangoPayConfig
+
+```go
+connectorConfig := shared.CreateConnectorConfigMangoPayConfig(shared.MangoPayConfig{/* values here */})
+```
+
+### MoneycorpConfig
+
+```go
+connectorConfig := shared.CreateConnectorConfigMoneycorpConfig(shared.MoneycorpConfig{/* values here */})
+```
+
+### AtlarConfig
+
+```go
+connectorConfig := shared.CreateConnectorConfigAtlarConfig(shared.AtlarConfig{/* values here */})
+```
+
diff --git a/libs/clients/go/docs/models/shared/connectorconfigresponse.md b/libs/clients/go/docs/models/shared/connectorconfigresponse.md
new file mode 100755
index 0000000000..c77d29e684
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/connectorconfigresponse.md
@@ -0,0 +1,8 @@
+# ConnectorConfigResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- |
+| `Data` | [ConnectorConfig](../../models/shared/connectorconfig.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/connectorresponse.md b/libs/clients/go/docs/models/shared/connectorresponse.md
new file mode 100755
index 0000000000..bf6feccd57
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/connectorresponse.md
@@ -0,0 +1,8 @@
+# ConnectorResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------- |
+| `Data` | [ConnectorResponseData](../../models/shared/connectorresponsedata.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/connectorresponsedata.md b/libs/clients/go/docs/models/shared/connectorresponsedata.md
new file mode 100755
index 0000000000..c832416693
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/connectorresponsedata.md
@@ -0,0 +1,8 @@
+# ConnectorResponseData
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `ConnectorID` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/connectorsconfigsresponse.md b/libs/clients/go/docs/models/shared/connectorsconfigsresponse.md
new file mode 100755
index 0000000000..dec57cc632
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/connectorsconfigsresponse.md
@@ -0,0 +1,8 @@
+# ConnectorsConfigsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
+| `Data` | [ConnectorsConfigsResponseData](../../models/shared/connectorsconfigsresponsedata.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/connectorsconfigsresponsedata.md b/libs/clients/go/docs/models/shared/connectorsconfigsresponsedata.md
new file mode 100755
index 0000000000..0adc62bac8
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/connectorsconfigsresponsedata.md
@@ -0,0 +1,8 @@
+# ConnectorsConfigsResponseData
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
+| `Connector` | [ConnectorsConfigsResponseDataConnector](../../models/shared/connectorsconfigsresponsedataconnector.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/connectorsconfigsresponsedataconnector.md b/libs/clients/go/docs/models/shared/connectorsconfigsresponsedataconnector.md
new file mode 100755
index 0000000000..a31c7a6ed7
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/connectorsconfigsresponsedataconnector.md
@@ -0,0 +1,8 @@
+# ConnectorsConfigsResponseDataConnector
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
+| `Key` | [ConnectorsConfigsResponseDataConnectorKey](../../models/shared/connectorsconfigsresponsedataconnectorkey.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/connectorsconfigsresponsedataconnectorkey.md b/libs/clients/go/docs/models/shared/connectorsconfigsresponsedataconnectorkey.md
new file mode 100755
index 0000000000..147c99ccde
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/connectorsconfigsresponsedataconnectorkey.md
@@ -0,0 +1,9 @@
+# ConnectorsConfigsResponseDataConnectorKey
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `DataType` | *string* | :heavy_check_mark: | N/A |
+| `Required` | *bool* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/connectorsresponse.md b/libs/clients/go/docs/models/shared/connectorsresponse.md
new file mode 100755
index 0000000000..6c40408cb2
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/connectorsresponse.md
@@ -0,0 +1,8 @@
+# ConnectorsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
+| `Data` | [][ConnectorsResponseData](../../models/shared/connectorsresponsedata.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/connectorsresponsedata.md b/libs/clients/go/docs/models/shared/connectorsresponsedata.md
new file mode 100755
index 0000000000..5777834ecc
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/connectorsresponsedata.md
@@ -0,0 +1,11 @@
+# ConnectorsResponseData
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- |
+| `ConnectorID` | *string* | :heavy_check_mark: | N/A |
+| `Enabled` | **bool* | :heavy_minus_sign: | N/A |
+| `Name` | *string* | :heavy_check_mark: | N/A |
+| `Provider` | [Connector](../../models/shared/connector.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/createbalancerequest.md b/libs/clients/go/docs/models/shared/createbalancerequest.md
new file mode 100755
index 0000000000..b728788edc
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/createbalancerequest.md
@@ -0,0 +1,10 @@
+# CreateBalanceRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- |
+| `ExpiresAt` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A |
+| `Name` | *string* | :heavy_check_mark: | N/A |
+| `Priority` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/createbalanceresponse.md b/libs/clients/go/docs/models/shared/createbalanceresponse.md
new file mode 100755
index 0000000000..b85aa5a969
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/createbalanceresponse.md
@@ -0,0 +1,8 @@
+# CreateBalanceResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
+| `Data` | [Balance](../../models/shared/balance.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/createclientrequest.md b/libs/clients/go/docs/models/shared/createclientrequest.md
new file mode 100755
index 0000000000..18d97d89c7
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/createclientrequest.md
@@ -0,0 +1,15 @@
+# CreateClientRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------ | ------------------------ | ------------------------ | ------------------------ |
+| `Description` | **string* | :heavy_minus_sign: | N/A |
+| `Metadata` | map[string]*interface{}* | :heavy_minus_sign: | N/A |
+| `Name` | *string* | :heavy_check_mark: | N/A |
+| `PostLogoutRedirectUris` | []*string* | :heavy_minus_sign: | N/A |
+| `Public` | **bool* | :heavy_minus_sign: | N/A |
+| `RedirectUris` | []*string* | :heavy_minus_sign: | N/A |
+| `Scopes` | []*string* | :heavy_minus_sign: | N/A |
+| `Trusted` | **bool* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/createclientresponse.md b/libs/clients/go/docs/models/shared/createclientresponse.md
new file mode 100755
index 0000000000..10c2816b32
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/createclientresponse.md
@@ -0,0 +1,8 @@
+# CreateClientResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
+| `Data` | [*Client](../../models/shared/client.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/createledgerrequest.md b/libs/clients/go/docs/models/shared/createledgerrequest.md
new file mode 100755
index 0000000000..ed81430e7a
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/createledgerrequest.md
@@ -0,0 +1,8 @@
+# CreateLedgerRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `Bucket` | **string* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/createsecretrequest.md b/libs/clients/go/docs/models/shared/createsecretrequest.md
new file mode 100755
index 0000000000..0764cebeb7
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/createsecretrequest.md
@@ -0,0 +1,9 @@
+# CreateSecretRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------ | ------------------------ | ------------------------ | ------------------------ |
+| `Metadata` | map[string]*interface{}* | :heavy_minus_sign: | N/A |
+| `Name` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/createsecretresponse.md b/libs/clients/go/docs/models/shared/createsecretresponse.md
new file mode 100755
index 0000000000..51482f9232
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/createsecretresponse.md
@@ -0,0 +1,8 @@
+# CreateSecretResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
+| `Data` | [*Secret](../../models/shared/secret.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/createtransactionresponse.md b/libs/clients/go/docs/models/shared/createtransactionresponse.md
new file mode 100755
index 0000000000..5883d0c991
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/createtransactionresponse.md
@@ -0,0 +1,8 @@
+# CreateTransactionResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- |
+| `Data` | [Transaction](../../models/shared/transaction.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/createtriggerresponse.md b/libs/clients/go/docs/models/shared/createtriggerresponse.md
new file mode 100755
index 0000000000..2d5fbd3e9a
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/createtriggerresponse.md
@@ -0,0 +1,8 @@
+# CreateTriggerResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
+| `Data` | [Trigger](../../models/shared/trigger.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/createwalletrequest.md b/libs/clients/go/docs/models/shared/createwalletrequest.md
new file mode 100755
index 0000000000..6579086797
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/createwalletrequest.md
@@ -0,0 +1,9 @@
+# CreateWalletRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
+| `Metadata` | map[string]*string* | :heavy_check_mark: | Custom metadata to attach to this wallet. |
+| `Name` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/createwalletresponse.md b/libs/clients/go/docs/models/shared/createwalletresponse.md
new file mode 100755
index 0000000000..5eb60a4ebb
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/createwalletresponse.md
@@ -0,0 +1,8 @@
+# CreateWalletResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------- | --------------------------------------- | --------------------------------------- | --------------------------------------- |
+| `Data` | [Wallet](../../models/shared/wallet.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/createworkflowrequest.md b/libs/clients/go/docs/models/shared/createworkflowrequest.md
new file mode 100755
index 0000000000..b8380049d4
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/createworkflowrequest.md
@@ -0,0 +1,9 @@
+# CreateWorkflowRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| -------------------------- | -------------------------- | -------------------------- | -------------------------- |
+| `Name` | **string* | :heavy_minus_sign: | N/A |
+| `Stages` | []map[string]*interface{}* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/createworkflowresponse.md b/libs/clients/go/docs/models/shared/createworkflowresponse.md
new file mode 100755
index 0000000000..65db51a534
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/createworkflowresponse.md
@@ -0,0 +1,8 @@
+# CreateWorkflowResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- |
+| `Data` | [Workflow](../../models/shared/workflow.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/creditwalletrequest.md b/libs/clients/go/docs/models/shared/creditwalletrequest.md
new file mode 100755
index 0000000000..456162b648
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/creditwalletrequest.md
@@ -0,0 +1,12 @@
+# CreditWalletRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- |
+| `Amount` | [Monetary](../../models/shared/monetary.md) | :heavy_check_mark: | N/A |
+| `Balance` | **string* | :heavy_minus_sign: | The balance to credit |
+| `Metadata` | map[string]*string* | :heavy_check_mark: | Metadata associated with the wallet. |
+| `Reference` | **string* | :heavy_minus_sign: | N/A |
+| `Sources` | [][Subject](../../models/shared/subject.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/currencycloudconfig.md b/libs/clients/go/docs/models/shared/currencycloudconfig.md
new file mode 100755
index 0000000000..23a645d958
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/currencycloudconfig.md
@@ -0,0 +1,12 @@
+# CurrencyCloudConfig
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
+| `APIKey` | *string* | :heavy_check_mark: | N/A | XXX |
+| `Endpoint` | **string* | :heavy_minus_sign: | The endpoint to use for the API. Defaults to https://devapi.currencycloud.com | XXX |
+| `LoginID` | *string* | :heavy_check_mark: | Username of the API Key holder | XXX |
+| `Name` | *string* | :heavy_check_mark: | N/A | My CurrencyCloud Account |
+| `PollingPeriod` | **string* | :heavy_minus_sign: | The frequency at which the connector will fetch transactions | 60s |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/debitwalletrequest.md b/libs/clients/go/docs/models/shared/debitwalletrequest.md
new file mode 100755
index 0000000000..df93e03a00
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/debitwalletrequest.md
@@ -0,0 +1,13 @@
+# DebitWalletRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
+| `Amount` | [Monetary](../../models/shared/monetary.md) | :heavy_check_mark: | N/A |
+| `Balances` | []*string* | :heavy_minus_sign: | N/A |
+| `Description` | **string* | :heavy_minus_sign: | N/A |
+| `Destination` | [*Subject](../../models/shared/subject.md) | :heavy_minus_sign: | N/A |
+| `Metadata` | map[string]*string* | :heavy_check_mark: | Metadata associated with the wallet. |
+| `Pending` | **bool* | :heavy_minus_sign: | Set to true to create a pending hold. If false, the wallet will be debited immediately. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/debitwalletresponse.md b/libs/clients/go/docs/models/shared/debitwalletresponse.md
new file mode 100755
index 0000000000..4b4073f868
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/debitwalletresponse.md
@@ -0,0 +1,8 @@
+# DebitWalletResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- |
+| `Data` | [Hold](../../models/shared/hold.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/dummypayconfig.md b/libs/clients/go/docs/models/shared/dummypayconfig.md
new file mode 100755
index 0000000000..a4009cef48
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/dummypayconfig.md
@@ -0,0 +1,11 @@
+# DummyPayConfig
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
+| `Directory` | *string* | :heavy_check_mark: | N/A | /tmp/dummypay |
+| `FileGenerationPeriod` | **string* | :heavy_minus_sign: | The frequency at which the connector will create new payment objects in the directory | 60s |
+| `FilePollingPeriod` | **string* | :heavy_minus_sign: | The frequency at which the connector will try to fetch new payment objects from the directory | 60s |
+| `Name` | *string* | :heavy_check_mark: | N/A | My DummyPay Account |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/error.md b/libs/clients/go/docs/models/shared/error.md
new file mode 100755
index 0000000000..c152dacc26
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/error.md
@@ -0,0 +1,9 @@
+# Error
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `ErrorCode` | [ErrorErrorCode](../../models/shared/errorerrorcode.md) | :heavy_check_mark: | N/A |
+| `ErrorMessage` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/errorerrorcode.md b/libs/clients/go/docs/models/shared/errorerrorcode.md
new file mode 100755
index 0000000000..cc79cf5e0d
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/errorerrorcode.md
@@ -0,0 +1,9 @@
+# ErrorErrorCode
+
+
+## Values
+
+| Name | Value |
+| -------------------------- | -------------------------- |
+| `ErrorErrorCodeValidation` | VALIDATION |
+| `ErrorErrorCodeNotFound` | NOT_FOUND |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/errorresponse.md b/libs/clients/go/docs/models/shared/errorresponse.md
new file mode 100755
index 0000000000..e93fb9512f
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/errorresponse.md
@@ -0,0 +1,10 @@
+# ErrorResponse
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
+| `Details` | **string* | :heavy_minus_sign: | N/A | https://play.numscript.org/?payload=eyJlcnJvciI6ImFjY291bnQgaGFkIGluc3VmZmljaWVudCBmdW5kcyJ9 |
+| `ErrorCode` | [ErrorsEnum](../../models/shared/errorsenum.md) | :heavy_check_mark: | N/A | VALIDATION |
+| `ErrorMessage` | *string* | :heavy_check_mark: | N/A | [VALIDATION] invalid 'cursor' query param |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/errorsenum.md b/libs/clients/go/docs/models/shared/errorsenum.md
new file mode 100755
index 0000000000..0f15c32b73
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/errorsenum.md
@@ -0,0 +1,17 @@
+# ErrorsEnum
+
+
+## Values
+
+| Name | Value |
+| ----------------------------- | ----------------------------- |
+| `ErrorsEnumInternal` | INTERNAL |
+| `ErrorsEnumInsufficientFund` | INSUFFICIENT_FUND |
+| `ErrorsEnumValidation` | VALIDATION |
+| `ErrorsEnumConflict` | CONFLICT |
+| `ErrorsEnumCompilationFailed` | COMPILATION_FAILED |
+| `ErrorsEnumMetadataOverride` | METADATA_OVERRIDE |
+| `ErrorsEnumNotFound` | NOT_FOUND |
+| `ErrorsEnumRevertOccurring` | REVERT_OCCURRING |
+| `ErrorsEnumAlreadyRevert` | ALREADY_REVERT |
+| `ErrorsEnumNoPostings` | NO_POSTINGS |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/expandeddebithold.md b/libs/clients/go/docs/models/shared/expandeddebithold.md
new file mode 100755
index 0000000000..f4a078bd2f
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/expandeddebithold.md
@@ -0,0 +1,14 @@
+# ExpandedDebitHold
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- |
+| `Description` | *string* | :heavy_check_mark: | N/A | |
+| `Destination` | [*Subject](../../models/shared/subject.md) | :heavy_minus_sign: | N/A | |
+| `ID` | *string* | :heavy_check_mark: | The unique ID of the hold. | |
+| `Metadata` | map[string]*string* | :heavy_check_mark: | Metadata associated with the hold. | |
+| `OriginalAmount` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | Original amount on hold | 100 |
+| `Remaining` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | Remaining amount on hold | 10 |
+| `WalletID` | *string* | :heavy_check_mark: | The ID of the wallet the hold is associated with. | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/expandedtransaction.md b/libs/clients/go/docs/models/shared/expandedtransaction.md
new file mode 100755
index 0000000000..9af31d6d69
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/expandedtransaction.md
@@ -0,0 +1,15 @@
+# ExpandedTransaction
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
+| `ID` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A | |
+| `Metadata` | map[string]*string* | :heavy_check_mark: | N/A | [object Object] |
+| `PostCommitVolumes` | map[string]map[string][Volume](../../models/shared/volume.md) | :heavy_minus_sign: | N/A | [object Object] |
+| `Postings` | [][Posting](../../models/shared/posting.md) | :heavy_check_mark: | N/A | |
+| `PreCommitVolumes` | map[string]map[string][Volume](../../models/shared/volume.md) | :heavy_minus_sign: | N/A | [object Object] |
+| `Reference` | **string* | :heavy_minus_sign: | N/A | ref:001 |
+| `Reverted` | *bool* | :heavy_check_mark: | N/A | |
+| `Timestamp` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/getbalanceresponse.md b/libs/clients/go/docs/models/shared/getbalanceresponse.md
new file mode 100755
index 0000000000..48e4695cbd
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/getbalanceresponse.md
@@ -0,0 +1,8 @@
+# GetBalanceResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
+| `Data` | [BalanceWithAssets](../../models/shared/balancewithassets.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/getholdresponse.md b/libs/clients/go/docs/models/shared/getholdresponse.md
new file mode 100755
index 0000000000..d559f5701f
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/getholdresponse.md
@@ -0,0 +1,8 @@
+# GetHoldResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
+| `Data` | [ExpandedDebitHold](../../models/shared/expandeddebithold.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/getholdsresponse.md b/libs/clients/go/docs/models/shared/getholdsresponse.md
new file mode 100755
index 0000000000..8988694161
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/getholdsresponse.md
@@ -0,0 +1,8 @@
+# GetHoldsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
+| `Cursor` | [GetHoldsResponseCursor](../../models/shared/getholdsresponsecursor.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/getholdsresponsecursor.md b/libs/clients/go/docs/models/shared/getholdsresponsecursor.md
new file mode 100755
index 0000000000..b1729f39cc
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/getholdsresponsecursor.md
@@ -0,0 +1,12 @@
+# GetHoldsResponseCursor
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- |
+| `Data` | [][Hold](../../models/shared/hold.md) | :heavy_check_mark: | N/A | |
+| `HasMore` | **bool* | :heavy_minus_sign: | N/A | false |
+| `Next` | **string* | :heavy_minus_sign: | N/A | |
+| `PageSize` | *int64* | :heavy_check_mark: | N/A | 15 |
+| `Previous` | **string* | :heavy_minus_sign: | N/A | YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol= |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/gettransactionresponse.md b/libs/clients/go/docs/models/shared/gettransactionresponse.md
new file mode 100755
index 0000000000..94a1b7ae84
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/gettransactionresponse.md
@@ -0,0 +1,8 @@
+# GetTransactionResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- |
+| `Data` | [ExpandedTransaction](../../models/shared/expandedtransaction.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/gettransactionsresponse.md b/libs/clients/go/docs/models/shared/gettransactionsresponse.md
new file mode 100755
index 0000000000..d2976080fe
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/gettransactionsresponse.md
@@ -0,0 +1,8 @@
+# GetTransactionsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
+| `Cursor` | [GetTransactionsResponseCursor](../../models/shared/gettransactionsresponsecursor.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/gettransactionsresponsecursor.md b/libs/clients/go/docs/models/shared/gettransactionsresponsecursor.md
new file mode 100755
index 0000000000..4c1954210c
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/gettransactionsresponsecursor.md
@@ -0,0 +1,12 @@
+# GetTransactionsResponseCursor
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- |
+| `Data` | [][WalletsTransaction](../../models/shared/walletstransaction.md) | :heavy_check_mark: | N/A | |
+| `HasMore` | **bool* | :heavy_minus_sign: | N/A | false |
+| `Next` | **string* | :heavy_minus_sign: | N/A | |
+| `PageSize` | *int64* | :heavy_check_mark: | N/A | 15 |
+| `Previous` | **string* | :heavy_minus_sign: | N/A | YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol= |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/getversionsresponse.md b/libs/clients/go/docs/models/shared/getversionsresponse.md
new file mode 100755
index 0000000000..bf490d2862
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/getversionsresponse.md
@@ -0,0 +1,10 @@
+# GetVersionsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- |
+| `Env` | *string* | :heavy_check_mark: | N/A |
+| `Region` | *string* | :heavy_check_mark: | N/A |
+| `Versions` | [][Version](../../models/shared/version.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/getwalletresponse.md b/libs/clients/go/docs/models/shared/getwalletresponse.md
new file mode 100755
index 0000000000..b00a1d26b4
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/getwalletresponse.md
@@ -0,0 +1,8 @@
+# GetWalletResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- |
+| `Data` | [WalletWithBalances](../../models/shared/walletwithbalances.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/getwalletsummaryresponse.md b/libs/clients/go/docs/models/shared/getwalletsummaryresponse.md
new file mode 100755
index 0000000000..5c1ca823b4
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/getwalletsummaryresponse.md
@@ -0,0 +1,12 @@
+# GetWalletSummaryResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- |
+| `AvailableFunds` | map[string][*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A |
+| `Balances` | [][BalanceWithAssets](../../models/shared/balancewithassets.md) | :heavy_check_mark: | N/A |
+| `ExpirableFunds` | map[string][*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A |
+| `ExpiredFunds` | map[string][*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A |
+| `HoldFunds` | map[string][*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/getworkflowinstancehistoryresponse.md b/libs/clients/go/docs/models/shared/getworkflowinstancehistoryresponse.md
new file mode 100755
index 0000000000..e8bcb000a4
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/getworkflowinstancehistoryresponse.md
@@ -0,0 +1,8 @@
+# GetWorkflowInstanceHistoryResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
+| `Data` | [][WorkflowInstanceHistory](../../models/shared/workflowinstancehistory.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/getworkflowinstancehistorystageresponse.md b/libs/clients/go/docs/models/shared/getworkflowinstancehistorystageresponse.md
new file mode 100755
index 0000000000..7941f27da5
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/getworkflowinstancehistorystageresponse.md
@@ -0,0 +1,8 @@
+# GetWorkflowInstanceHistoryStageResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
+| `Data` | [][WorkflowInstanceHistoryStage](../../models/shared/workflowinstancehistorystage.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/getworkflowinstanceresponse.md b/libs/clients/go/docs/models/shared/getworkflowinstanceresponse.md
new file mode 100755
index 0000000000..ad33c50975
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/getworkflowinstanceresponse.md
@@ -0,0 +1,8 @@
+# GetWorkflowInstanceResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
+| `Data` | [WorkflowInstance](../../models/shared/workflowinstance.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/getworkflowresponse.md b/libs/clients/go/docs/models/shared/getworkflowresponse.md
new file mode 100755
index 0000000000..1139677374
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/getworkflowresponse.md
@@ -0,0 +1,8 @@
+# GetWorkflowResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- |
+| `Data` | [Workflow](../../models/shared/workflow.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/hold.md b/libs/clients/go/docs/models/shared/hold.md
new file mode 100755
index 0000000000..5d3d752792
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/hold.md
@@ -0,0 +1,12 @@
+# Hold
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- |
+| `Description` | *string* | :heavy_check_mark: | N/A |
+| `Destination` | [*Subject](../../models/shared/subject.md) | :heavy_minus_sign: | N/A |
+| `ID` | *string* | :heavy_check_mark: | The unique ID of the hold. |
+| `Metadata` | map[string]*string* | :heavy_check_mark: | Metadata associated with the hold. |
+| `WalletID` | *string* | :heavy_check_mark: | The ID of the wallet the hold is associated with. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/ledger.md b/libs/clients/go/docs/models/shared/ledger.md
new file mode 100755
index 0000000000..49af8a40b7
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/ledger.md
@@ -0,0 +1,10 @@
+# Ledger
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
+| `AddedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
+| `Bucket` | *string* | :heavy_check_mark: | N/A |
+| `Name` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/ledgeraccountsubject.md b/libs/clients/go/docs/models/shared/ledgeraccountsubject.md
new file mode 100755
index 0000000000..c6eec721d5
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/ledgeraccountsubject.md
@@ -0,0 +1,9 @@
+# LedgerAccountSubject
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `Identifier` | *string* | :heavy_check_mark: | N/A |
+| `Type` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/ledgerinfo.md b/libs/clients/go/docs/models/shared/ledgerinfo.md
new file mode 100755
index 0000000000..137b63aabb
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/ledgerinfo.md
@@ -0,0 +1,9 @@
+# LedgerInfo
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- | -------------------------------------------------------------- |
+| `Name` | **string* | :heavy_minus_sign: | N/A | ledger001 |
+| `Storage` | [*LedgerInfoStorage](../../models/shared/ledgerinfostorage.md) | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/ledgerinforesponse.md b/libs/clients/go/docs/models/shared/ledgerinforesponse.md
new file mode 100755
index 0000000000..b2c42626af
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/ledgerinforesponse.md
@@ -0,0 +1,8 @@
+# LedgerInfoResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ | ------------------------------------------------ |
+| `Data` | [*LedgerInfo](../../models/shared/ledgerinfo.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/ledgerinfostorage.md b/libs/clients/go/docs/models/shared/ledgerinfostorage.md
new file mode 100755
index 0000000000..2d93d7e7b8
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/ledgerinfostorage.md
@@ -0,0 +1,8 @@
+# LedgerInfoStorage
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `Migrations` | [][MigrationInfo](../../models/shared/migrationinfo.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/ledgerlistresponse.md b/libs/clients/go/docs/models/shared/ledgerlistresponse.md
new file mode 100755
index 0000000000..2b851b8cbf
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/ledgerlistresponse.md
@@ -0,0 +1,8 @@
+# LedgerListResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
+| `Cursor` | [LedgerListResponseCursor](../../models/shared/ledgerlistresponsecursor.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/ledgerlistresponsecursor.md b/libs/clients/go/docs/models/shared/ledgerlistresponsecursor.md
new file mode 100755
index 0000000000..55057688ee
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/ledgerlistresponsecursor.md
@@ -0,0 +1,12 @@
+# LedgerListResponseCursor
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- |
+| `Data` | [][Ledger](../../models/shared/ledger.md) | :heavy_check_mark: | N/A | |
+| `HasMore` | *bool* | :heavy_check_mark: | N/A | false |
+| `Next` | **string* | :heavy_minus_sign: | N/A | |
+| `PageSize` | *int64* | :heavy_check_mark: | N/A | 15 |
+| `Previous` | **string* | :heavy_minus_sign: | N/A | YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol= |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/listbalancesresponse.md b/libs/clients/go/docs/models/shared/listbalancesresponse.md
new file mode 100755
index 0000000000..6238accf48
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/listbalancesresponse.md
@@ -0,0 +1,8 @@
+# ListBalancesResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
+| `Cursor` | [ListBalancesResponseCursor](../../models/shared/listbalancesresponsecursor.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/listbalancesresponsecursor.md b/libs/clients/go/docs/models/shared/listbalancesresponsecursor.md
new file mode 100755
index 0000000000..6b71dd2f2b
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/listbalancesresponsecursor.md
@@ -0,0 +1,12 @@
+# ListBalancesResponseCursor
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- |
+| `Data` | [][Balance](../../models/shared/balance.md) | :heavy_check_mark: | N/A | |
+| `HasMore` | **bool* | :heavy_minus_sign: | N/A | false |
+| `Next` | **string* | :heavy_minus_sign: | N/A | |
+| `PageSize` | *int64* | :heavy_check_mark: | N/A | 15 |
+| `Previous` | **string* | :heavy_minus_sign: | N/A | YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol= |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/listclientsresponse.md b/libs/clients/go/docs/models/shared/listclientsresponse.md
new file mode 100755
index 0000000000..ada6d7eeda
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/listclientsresponse.md
@@ -0,0 +1,8 @@
+# ListClientsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
+| `Data` | [][Client](../../models/shared/client.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/listrunsresponse.md b/libs/clients/go/docs/models/shared/listrunsresponse.md
new file mode 100755
index 0000000000..1b08dcf9c6
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/listrunsresponse.md
@@ -0,0 +1,8 @@
+# ListRunsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
+| `Data` | [][WorkflowInstance](../../models/shared/workflowinstance.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/listtriggersoccurrencesresponse.md b/libs/clients/go/docs/models/shared/listtriggersoccurrencesresponse.md
new file mode 100755
index 0000000000..9aaafd5456
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/listtriggersoccurrencesresponse.md
@@ -0,0 +1,8 @@
+# ListTriggersOccurrencesResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- |
+| `Data` | [][TriggerOccurrence](../../models/shared/triggeroccurrence.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/listtriggersresponse.md b/libs/clients/go/docs/models/shared/listtriggersresponse.md
new file mode 100755
index 0000000000..7b6e3972f1
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/listtriggersresponse.md
@@ -0,0 +1,8 @@
+# ListTriggersResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- |
+| `Data` | [][Trigger](../../models/shared/trigger.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/listusersresponse.md b/libs/clients/go/docs/models/shared/listusersresponse.md
new file mode 100755
index 0000000000..e4586af183
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/listusersresponse.md
@@ -0,0 +1,8 @@
+# ListUsersResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- |
+| `Data` | [][User](../../models/shared/user.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/listwalletsresponse.md b/libs/clients/go/docs/models/shared/listwalletsresponse.md
new file mode 100755
index 0000000000..c28c056dd5
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/listwalletsresponse.md
@@ -0,0 +1,8 @@
+# ListWalletsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
+| `Cursor` | [ListWalletsResponseCursor](../../models/shared/listwalletsresponsecursor.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/listwalletsresponsecursor.md b/libs/clients/go/docs/models/shared/listwalletsresponsecursor.md
new file mode 100755
index 0000000000..63f0972615
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/listwalletsresponsecursor.md
@@ -0,0 +1,12 @@
+# ListWalletsResponseCursor
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- |
+| `Data` | [][Wallet](../../models/shared/wallet.md) | :heavy_check_mark: | N/A | |
+| `HasMore` | **bool* | :heavy_minus_sign: | N/A | false |
+| `Next` | **string* | :heavy_minus_sign: | N/A | |
+| `PageSize` | *int64* | :heavy_check_mark: | N/A | 15 |
+| `Previous` | **string* | :heavy_minus_sign: | N/A | YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol= |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/listworkflowsresponse.md b/libs/clients/go/docs/models/shared/listworkflowsresponse.md
new file mode 100755
index 0000000000..7986d2b68a
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/listworkflowsresponse.md
@@ -0,0 +1,8 @@
+# ListWorkflowsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------- | --------------------------------------------- | --------------------------------------------- | --------------------------------------------- |
+| `Data` | [][Workflow](../../models/shared/workflow.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/log.md b/libs/clients/go/docs/models/shared/log.md
new file mode 100755
index 0000000000..756392f214
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/log.md
@@ -0,0 +1,12 @@
+# Log
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- |
+| `Data` | map[string]*interface{}* | :heavy_check_mark: | N/A | |
+| `Date` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A | |
+| `Hash` | *string* | :heavy_check_mark: | N/A | 9ee060170400f556b7e1575cb13f9db004f150a08355c7431c62bc639166431e |
+| `ID` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A | 1234 |
+| `Type` | [LogType](../../models/shared/logtype.md) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/logscursorresponse.md b/libs/clients/go/docs/models/shared/logscursorresponse.md
new file mode 100755
index 0000000000..322cd96b6b
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/logscursorresponse.md
@@ -0,0 +1,8 @@
+# LogsCursorResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
+| `Cursor` | [LogsCursorResponseCursor](../../models/shared/logscursorresponsecursor.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/logscursorresponsecursor.md b/libs/clients/go/docs/models/shared/logscursorresponsecursor.md
new file mode 100755
index 0000000000..03fc795db0
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/logscursorresponsecursor.md
@@ -0,0 +1,12 @@
+# LogsCursorResponseCursor
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- |
+| `Data` | [][Log](../../models/shared/log.md) | :heavy_check_mark: | N/A | |
+| `HasMore` | *bool* | :heavy_check_mark: | N/A | false |
+| `Next` | **string* | :heavy_minus_sign: | N/A | |
+| `PageSize` | *int64* | :heavy_check_mark: | N/A | 15 |
+| `Previous` | **string* | :heavy_minus_sign: | N/A | YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol= |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/logtype.md b/libs/clients/go/docs/models/shared/logtype.md
new file mode 100755
index 0000000000..262ce243d5
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/logtype.md
@@ -0,0 +1,10 @@
+# LogType
+
+
+## Values
+
+| Name | Value |
+| ---------------------------- | ---------------------------- |
+| `LogTypeNewTransaction` | NEW_TRANSACTION |
+| `LogTypeSetMetadata` | SET_METADATA |
+| `LogTypeRevertedTransaction` | REVERTED_TRANSACTION |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/mangopayconfig.md b/libs/clients/go/docs/models/shared/mangopayconfig.md
new file mode 100755
index 0000000000..66d779f580
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/mangopayconfig.md
@@ -0,0 +1,12 @@
+# MangoPayConfig
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
+| `APIKey` | *string* | :heavy_check_mark: | N/A | XXX |
+| `ClientID` | *string* | :heavy_check_mark: | N/A | XXX |
+| `Endpoint` | *string* | :heavy_check_mark: | N/A | XXX |
+| `Name` | *string* | :heavy_check_mark: | N/A | My MangoPay Account |
+| `PollingPeriod` | **string* | :heavy_minus_sign: | The frequency at which the connector will try to fetch new BalanceTransaction objects from MangoPay API.
| 60s |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/migrationinfo.md b/libs/clients/go/docs/models/shared/migrationinfo.md
new file mode 100755
index 0000000000..25f2551614
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/migrationinfo.md
@@ -0,0 +1,11 @@
+# MigrationInfo
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------- |
+| `Date` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A | |
+| `Name` | **string* | :heavy_minus_sign: | N/A | migrations:001 |
+| `State` | [*MigrationInfoState](../../models/shared/migrationinfostate.md) | :heavy_minus_sign: | N/A | |
+| `Version` | **int64* | :heavy_minus_sign: | N/A | 11 |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/migrationinfostate.md b/libs/clients/go/docs/models/shared/migrationinfostate.md
new file mode 100755
index 0000000000..5193be7151
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/migrationinfostate.md
@@ -0,0 +1,9 @@
+# MigrationInfoState
+
+
+## Values
+
+| Name | Value |
+| ------------------------ | ------------------------ |
+| `MigrationInfoStateToDo` | to do |
+| `MigrationInfoStateDone` | done |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/modulrconfig.md b/libs/clients/go/docs/models/shared/modulrconfig.md
new file mode 100755
index 0000000000..8e258e0e3c
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/modulrconfig.md
@@ -0,0 +1,12 @@
+# ModulrConfig
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
+| `APIKey` | *string* | :heavy_check_mark: | N/A | XXX |
+| `APISecret` | *string* | :heavy_check_mark: | N/A | XXX |
+| `Endpoint` | **string* | :heavy_minus_sign: | N/A | XXX |
+| `Name` | *string* | :heavy_check_mark: | N/A | My Modulr Account |
+| `PollingPeriod` | **string* | :heavy_minus_sign: | The frequency at which the connector will try to fetch new BalanceTransaction objects from Modulr API.
| 60s |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/monetary.md b/libs/clients/go/docs/models/shared/monetary.md
new file mode 100755
index 0000000000..9597de311e
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/monetary.md
@@ -0,0 +1,9 @@
+# Monetary
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- |
+| `Amount` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | The amount of the monetary value. |
+| `Asset` | *string* | :heavy_check_mark: | The asset of the monetary value. |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/moneycorpconfig.md b/libs/clients/go/docs/models/shared/moneycorpconfig.md
new file mode 100755
index 0000000000..a6fd7be886
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/moneycorpconfig.md
@@ -0,0 +1,12 @@
+# MoneycorpConfig
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
+| `APIKey` | *string* | :heavy_check_mark: | N/A | XXX |
+| `ClientID` | *string* | :heavy_check_mark: | N/A | XXX |
+| `Endpoint` | *string* | :heavy_check_mark: | N/A | XXX |
+| `Name` | *string* | :heavy_check_mark: | N/A | My Moneycorp Account |
+| `PollingPeriod` | **string* | :heavy_minus_sign: | The frequency at which the connector will try to fetch new BalanceTransaction objects from MoneyCorp API.
| 60s |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/orchestrationconnector.md b/libs/clients/go/docs/models/shared/orchestrationconnector.md
new file mode 100755
index 0000000000..68a7c1e18e
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/orchestrationconnector.md
@@ -0,0 +1,15 @@
+# OrchestrationConnector
+
+
+## Values
+
+| Name | Value |
+| ------------------------------------- | ------------------------------------- |
+| `OrchestrationConnectorStripe` | STRIPE |
+| `OrchestrationConnectorDummyPay` | DUMMY-PAY |
+| `OrchestrationConnectorWise` | WISE |
+| `OrchestrationConnectorModulr` | MODULR |
+| `OrchestrationConnectorCurrencyCloud` | CURRENCY-CLOUD |
+| `OrchestrationConnectorBankingCircle` | BANKING-CIRCLE |
+| `OrchestrationConnectorMangopay` | MANGOPAY |
+| `OrchestrationConnectorMoneycorp` | MONEYCORP |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/orchestrationpayment.md b/libs/clients/go/docs/models/shared/orchestrationpayment.md
new file mode 100755
index 0000000000..fcf892ca74
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/orchestrationpayment.md
@@ -0,0 +1,22 @@
+# OrchestrationPayment
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
+| `Adjustments` | [][PaymentAdjustment](../../models/shared/paymentadjustment.md) | :heavy_check_mark: | N/A | |
+| `Asset` | *string* | :heavy_check_mark: | N/A | USD |
+| `ConnectorID` | *string* | :heavy_check_mark: | N/A | |
+| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A | |
+| `DestinationAccountID` | *string* | :heavy_check_mark: | N/A | |
+| `ID` | *string* | :heavy_check_mark: | N/A | XXX |
+| `InitialAmount` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A | 100 |
+| `Metadata` | [OrchestrationPaymentMetadata](../../models/shared/orchestrationpaymentmetadata.md) | :heavy_check_mark: | N/A | |
+| `Provider` | [*OrchestrationConnector](../../models/shared/orchestrationconnector.md) | :heavy_minus_sign: | N/A | |
+| `Raw` | [OrchestrationPaymentRaw](../../models/shared/orchestrationpaymentraw.md) | :heavy_check_mark: | N/A | |
+| `Reference` | *string* | :heavy_check_mark: | N/A | |
+| `Scheme` | [OrchestrationPaymentScheme](../../models/shared/orchestrationpaymentscheme.md) | :heavy_check_mark: | N/A | |
+| `SourceAccountID` | *string* | :heavy_check_mark: | N/A | |
+| `Status` | [PaymentStatus](../../models/shared/paymentstatus.md) | :heavy_check_mark: | N/A | |
+| `Type` | [OrchestrationPaymentType](../../models/shared/orchestrationpaymenttype.md) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/orchestrationpaymentmetadata.md b/libs/clients/go/docs/models/shared/orchestrationpaymentmetadata.md
new file mode 100755
index 0000000000..807053ebbf
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/orchestrationpaymentmetadata.md
@@ -0,0 +1,8 @@
+# OrchestrationPaymentMetadata
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `Key` | **string* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/orchestrationpaymentraw.md b/libs/clients/go/docs/models/shared/orchestrationpaymentraw.md
new file mode 100755
index 0000000000..fe549dd276
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/orchestrationpaymentraw.md
@@ -0,0 +1,7 @@
+# OrchestrationPaymentRaw
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------- | ----------- | ----------- | ----------- |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/orchestrationpaymentscheme.md b/libs/clients/go/docs/models/shared/orchestrationpaymentscheme.md
new file mode 100755
index 0000000000..0135c2bd34
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/orchestrationpaymentscheme.md
@@ -0,0 +1,25 @@
+# OrchestrationPaymentScheme
+
+
+## Values
+
+| Name | Value |
+| -------------------------------------- | -------------------------------------- |
+| `OrchestrationPaymentSchemeVisa` | visa |
+| `OrchestrationPaymentSchemeMastercard` | mastercard |
+| `OrchestrationPaymentSchemeAmex` | amex |
+| `OrchestrationPaymentSchemeDiners` | diners |
+| `OrchestrationPaymentSchemeDiscover` | discover |
+| `OrchestrationPaymentSchemeJcb` | jcb |
+| `OrchestrationPaymentSchemeUnionpay` | unionpay |
+| `OrchestrationPaymentSchemeSepaDebit` | sepa debit |
+| `OrchestrationPaymentSchemeSepaCredit` | sepa credit |
+| `OrchestrationPaymentSchemeSepa` | sepa |
+| `OrchestrationPaymentSchemeApplePay` | apple pay |
+| `OrchestrationPaymentSchemeGooglePay` | google pay |
+| `OrchestrationPaymentSchemeA2a` | a2a |
+| `OrchestrationPaymentSchemeAchDebit` | ach debit |
+| `OrchestrationPaymentSchemeAch` | ach |
+| `OrchestrationPaymentSchemeRtp` | rtp |
+| `OrchestrationPaymentSchemeUnknown` | unknown |
+| `OrchestrationPaymentSchemeOther` | other |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/orchestrationpaymenttype.md b/libs/clients/go/docs/models/shared/orchestrationpaymenttype.md
new file mode 100755
index 0000000000..747c336aac
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/orchestrationpaymenttype.md
@@ -0,0 +1,11 @@
+# OrchestrationPaymentType
+
+
+## Values
+
+| Name | Value |
+| ---------------------------------- | ---------------------------------- |
+| `OrchestrationPaymentTypePayIn` | PAY-IN |
+| `OrchestrationPaymentTypePayout` | PAYOUT |
+| `OrchestrationPaymentTypeTransfer` | TRANSFER |
+| `OrchestrationPaymentTypeOther` | OTHER |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/payment.md b/libs/clients/go/docs/models/shared/payment.md
new file mode 100755
index 0000000000..cfe2f47244
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/payment.md
@@ -0,0 +1,22 @@
+# Payment
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- |
+| `Adjustments` | [][PaymentAdjustment](../../models/shared/paymentadjustment.md) | :heavy_check_mark: | N/A | |
+| `Asset` | *string* | :heavy_check_mark: | N/A | USD |
+| `ConnectorID` | *string* | :heavy_check_mark: | N/A | |
+| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A | |
+| `DestinationAccountID` | *string* | :heavy_check_mark: | N/A | |
+| `ID` | *string* | :heavy_check_mark: | N/A | XXX |
+| `InitialAmount` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A | 100 |
+| `Metadata` | map[string]*string* | :heavy_check_mark: | N/A | |
+| `Provider` | [*Connector](../../models/shared/connector.md) | :heavy_minus_sign: | N/A | |
+| `Raw` | [PaymentRaw](../../models/shared/paymentraw.md) | :heavy_check_mark: | N/A | |
+| `Reference` | *string* | :heavy_check_mark: | N/A | |
+| `Scheme` | [PaymentScheme](../../models/shared/paymentscheme.md) | :heavy_check_mark: | N/A | |
+| `SourceAccountID` | *string* | :heavy_check_mark: | N/A | |
+| `Status` | [PaymentStatus](../../models/shared/paymentstatus.md) | :heavy_check_mark: | N/A | |
+| `Type` | [PaymentType](../../models/shared/paymenttype.md) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/paymentadjustment.md b/libs/clients/go/docs/models/shared/paymentadjustment.md
new file mode 100755
index 0000000000..16e560fe01
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/paymentadjustment.md
@@ -0,0 +1,12 @@
+# PaymentAdjustment
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
+| `Absolute` | *bool* | :heavy_check_mark: | N/A | |
+| `Amount` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A | 100 |
+| `Date` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A | |
+| `Raw` | [PaymentAdjustmentRaw](../../models/shared/paymentadjustmentraw.md) | :heavy_check_mark: | N/A | |
+| `Status` | [PaymentStatus](../../models/shared/paymentstatus.md) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/paymentadjustmentraw.md b/libs/clients/go/docs/models/shared/paymentadjustmentraw.md
new file mode 100755
index 0000000000..78f88aee5c
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/paymentadjustmentraw.md
@@ -0,0 +1,7 @@
+# PaymentAdjustmentRaw
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------- | ----------- | ----------- | ----------- |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/paymentraw.md b/libs/clients/go/docs/models/shared/paymentraw.md
new file mode 100755
index 0000000000..e884afe329
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/paymentraw.md
@@ -0,0 +1,7 @@
+# PaymentRaw
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------- | ----------- | ----------- | ----------- |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/paymentrequest.md b/libs/clients/go/docs/models/shared/paymentrequest.md
new file mode 100755
index 0000000000..66ab905253
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/paymentrequest.md
@@ -0,0 +1,17 @@
+# PaymentRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
+| `Amount` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A | 100 |
+| `Asset` | *string* | :heavy_check_mark: | N/A | USD |
+| `ConnectorID` | *string* | :heavy_check_mark: | N/A | |
+| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A | |
+| `DestinationAccountID` | **string* | :heavy_minus_sign: | N/A | |
+| `Reference` | *string* | :heavy_check_mark: | N/A | |
+| `Scheme` | [PaymentScheme](../../models/shared/paymentscheme.md) | :heavy_check_mark: | N/A | |
+| `SourceAccountID` | **string* | :heavy_minus_sign: | N/A | |
+| `Status` | [PaymentStatus](../../models/shared/paymentstatus.md) | :heavy_check_mark: | N/A | |
+| `Type` | [PaymentType](../../models/shared/paymenttype.md) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/paymentresponse.md b/libs/clients/go/docs/models/shared/paymentresponse.md
new file mode 100755
index 0000000000..ac9dc71d85
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/paymentresponse.md
@@ -0,0 +1,8 @@
+# PaymentResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
+| `Data` | [Payment](../../models/shared/payment.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/paymentsaccount.md b/libs/clients/go/docs/models/shared/paymentsaccount.md
new file mode 100755
index 0000000000..a80c041d06
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/paymentsaccount.md
@@ -0,0 +1,17 @@
+# PaymentsAccount
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
+| `AccountName` | *string* | :heavy_check_mark: | N/A |
+| `ConnectorID` | *string* | :heavy_check_mark: | N/A |
+| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
+| `DefaultAsset` | *string* | :heavy_check_mark: | N/A |
+| ~~`DefaultCurrency`~~ | *string* | :heavy_check_mark: | : warning: ** DEPRECATED **: This will be removed in a future release, please migrate away from it as soon as possible. |
+| `ID` | *string* | :heavy_check_mark: | N/A |
+| `Metadata` | map[string]*string* | :heavy_check_mark: | N/A |
+| `Raw` | [PaymentsAccountRaw](../../models/shared/paymentsaccountraw.md) | :heavy_check_mark: | N/A |
+| `Reference` | *string* | :heavy_check_mark: | N/A |
+| `Type` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/paymentsaccountraw.md b/libs/clients/go/docs/models/shared/paymentsaccountraw.md
new file mode 100755
index 0000000000..2bde2458bd
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/paymentsaccountraw.md
@@ -0,0 +1,7 @@
+# PaymentsAccountRaw
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------- | ----------- | ----------- | ----------- |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/paymentsaccountresponse.md b/libs/clients/go/docs/models/shared/paymentsaccountresponse.md
new file mode 100755
index 0000000000..fa91e0d7e1
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/paymentsaccountresponse.md
@@ -0,0 +1,8 @@
+# PaymentsAccountResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- |
+| `Data` | [PaymentsAccount](../../models/shared/paymentsaccount.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/paymentscheme.md b/libs/clients/go/docs/models/shared/paymentscheme.md
new file mode 100755
index 0000000000..e88c62fdff
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/paymentscheme.md
@@ -0,0 +1,25 @@
+# PaymentScheme
+
+
+## Values
+
+| Name | Value |
+| ------------------------- | ------------------------- |
+| `PaymentSchemeVisa` | visa |
+| `PaymentSchemeMastercard` | mastercard |
+| `PaymentSchemeAmex` | amex |
+| `PaymentSchemeDiners` | diners |
+| `PaymentSchemeDiscover` | discover |
+| `PaymentSchemeJcb` | jcb |
+| `PaymentSchemeUnionpay` | unionpay |
+| `PaymentSchemeSepaDebit` | sepa debit |
+| `PaymentSchemeSepaCredit` | sepa credit |
+| `PaymentSchemeSepa` | sepa |
+| `PaymentSchemeApplePay` | apple pay |
+| `PaymentSchemeGooglePay` | google pay |
+| `PaymentSchemeA2a` | a2a |
+| `PaymentSchemeAchDebit` | ach debit |
+| `PaymentSchemeAch` | ach |
+| `PaymentSchemeRtp` | rtp |
+| `PaymentSchemeUnknown` | unknown |
+| `PaymentSchemeOther` | other |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/paymentscursor.md b/libs/clients/go/docs/models/shared/paymentscursor.md
new file mode 100755
index 0000000000..0e56d11313
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/paymentscursor.md
@@ -0,0 +1,8 @@
+# PaymentsCursor
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
+| `Cursor` | [PaymentsCursorCursor](../../models/shared/paymentscursorcursor.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/paymentscursorcursor.md b/libs/clients/go/docs/models/shared/paymentscursorcursor.md
new file mode 100755
index 0000000000..9861aa37f1
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/paymentscursorcursor.md
@@ -0,0 +1,12 @@
+# PaymentsCursorCursor
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- |
+| `Data` | [][Payment](../../models/shared/payment.md) | :heavy_check_mark: | N/A | |
+| `HasMore` | *bool* | :heavy_check_mark: | N/A | false |
+| `Next` | **string* | :heavy_minus_sign: | N/A | |
+| `PageSize` | *int64* | :heavy_check_mark: | N/A | 15 |
+| `Previous` | **string* | :heavy_minus_sign: | N/A | YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol= |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/paymentstatus.md b/libs/clients/go/docs/models/shared/paymentstatus.md
new file mode 100755
index 0000000000..2a9309747f
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/paymentstatus.md
@@ -0,0 +1,13 @@
+# PaymentStatus
+
+
+## Values
+
+| Name | Value |
+| ------------------------- | ------------------------- |
+| `PaymentStatusPending` | PENDING |
+| `PaymentStatusActive` | ACTIVE |
+| `PaymentStatusTerminated` | TERMINATED |
+| `PaymentStatusFailed` | FAILED |
+| `PaymentStatusSucceeded` | SUCCEEDED |
+| `PaymentStatusCancelled` | CANCELLED |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/paymenttype.md b/libs/clients/go/docs/models/shared/paymenttype.md
new file mode 100755
index 0000000000..dfc9842b84
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/paymenttype.md
@@ -0,0 +1,11 @@
+# PaymentType
+
+
+## Values
+
+| Name | Value |
+| --------------------- | --------------------- |
+| `PaymentTypePayIn` | PAY-IN |
+| `PaymentTypePayout` | PAYOUT |
+| `PaymentTypeTransfer` | TRANSFER |
+| `PaymentTypeOther` | OTHER |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/policiescursorresponse.md b/libs/clients/go/docs/models/shared/policiescursorresponse.md
new file mode 100755
index 0000000000..20501b4ddd
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/policiescursorresponse.md
@@ -0,0 +1,8 @@
+# PoliciesCursorResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
+| `Cursor` | [PoliciesCursorResponseCursor](../../models/shared/policiescursorresponsecursor.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/policiescursorresponsecursor.md b/libs/clients/go/docs/models/shared/policiescursorresponsecursor.md
new file mode 100755
index 0000000000..c9fb6307ae
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/policiescursorresponsecursor.md
@@ -0,0 +1,12 @@
+# PoliciesCursorResponseCursor
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- |
+| `Data` | [][Policy](../../models/shared/policy.md) | :heavy_check_mark: | N/A | |
+| `HasMore` | *bool* | :heavy_check_mark: | N/A | false |
+| `Next` | **string* | :heavy_minus_sign: | N/A | |
+| `PageSize` | *int64* | :heavy_check_mark: | N/A | 15 |
+| `Previous` | **string* | :heavy_minus_sign: | N/A | YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol= |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/policy.md b/libs/clients/go/docs/models/shared/policy.md
new file mode 100755
index 0000000000..fad571b950
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/policy.md
@@ -0,0 +1,13 @@
+# Policy
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
+| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A | 2021-01-01T00:00:00.000Z |
+| `ID` | *string* | :heavy_check_mark: | N/A | XXX |
+| `LedgerName` | *string* | :heavy_check_mark: | N/A | default |
+| `LedgerQuery` | *string* | :heavy_check_mark: | N/A | {"$match": {"metadata[reconciliation]": "pool:main"}} |
+| `Name` | *string* | :heavy_check_mark: | N/A | XXX |
+| `PaymentsPoolID` | *string* | :heavy_check_mark: | N/A | XXX |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/policyrequest.md b/libs/clients/go/docs/models/shared/policyrequest.md
new file mode 100755
index 0000000000..07f663552a
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/policyrequest.md
@@ -0,0 +1,11 @@
+# PolicyRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
+| `LedgerName` | *string* | :heavy_check_mark: | N/A | default |
+| `LedgerQuery` | *string* | :heavy_check_mark: | N/A | {"$match": {"metadata[reconciliation]": "pool:main"}} |
+| `Name` | *string* | :heavy_check_mark: | N/A | XXX |
+| `PaymentsPoolID` | *string* | :heavy_check_mark: | N/A | XXX |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/policyresponse.md b/libs/clients/go/docs/models/shared/policyresponse.md
new file mode 100755
index 0000000000..6f4d9ab641
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/policyresponse.md
@@ -0,0 +1,8 @@
+# PolicyResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
+| `Policy` | [*Policy](../../models/shared/policy.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/pool.md b/libs/clients/go/docs/models/shared/pool.md
new file mode 100755
index 0000000000..d0c71c3c87
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/pool.md
@@ -0,0 +1,10 @@
+# Pool
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `Accounts` | []*string* | :heavy_check_mark: | N/A |
+| `ID` | *string* | :heavy_check_mark: | N/A |
+| `Name` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/poolbalance.md b/libs/clients/go/docs/models/shared/poolbalance.md
new file mode 100755
index 0000000000..49e88a3f1a
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/poolbalance.md
@@ -0,0 +1,9 @@
+# PoolBalance
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- |
+| `Amount` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A | 100 |
+| `Asset` | *string* | :heavy_check_mark: | N/A | USD |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/poolbalances.md b/libs/clients/go/docs/models/shared/poolbalances.md
new file mode 100755
index 0000000000..2bba158148
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/poolbalances.md
@@ -0,0 +1,8 @@
+# PoolBalances
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- |
+| `Balances` | [][PoolBalance](../../models/shared/poolbalance.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/poolbalancesresponse.md b/libs/clients/go/docs/models/shared/poolbalancesresponse.md
new file mode 100755
index 0000000000..3f9e8f0008
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/poolbalancesresponse.md
@@ -0,0 +1,8 @@
+# PoolBalancesResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- |
+| `Data` | [PoolBalances](../../models/shared/poolbalances.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/poolrequest.md b/libs/clients/go/docs/models/shared/poolrequest.md
new file mode 100755
index 0000000000..fed7aaa370
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/poolrequest.md
@@ -0,0 +1,9 @@
+# PoolRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `AccountIDs` | []*string* | :heavy_check_mark: | N/A |
+| `Name` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/poolresponse.md b/libs/clients/go/docs/models/shared/poolresponse.md
new file mode 100755
index 0000000000..896c6ed630
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/poolresponse.md
@@ -0,0 +1,8 @@
+# PoolResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------- | ----------------------------------- | ----------------------------------- | ----------------------------------- |
+| `Data` | [Pool](../../models/shared/pool.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/poolscursor.md b/libs/clients/go/docs/models/shared/poolscursor.md
new file mode 100755
index 0000000000..44a014aaca
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/poolscursor.md
@@ -0,0 +1,8 @@
+# PoolsCursor
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
+| `Cursor` | [PoolsCursorCursor](../../models/shared/poolscursorcursor.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/poolscursorcursor.md b/libs/clients/go/docs/models/shared/poolscursorcursor.md
new file mode 100755
index 0000000000..83cd631abc
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/poolscursorcursor.md
@@ -0,0 +1,12 @@
+# PoolsCursorCursor
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- |
+| `Data` | [][Pool](../../models/shared/pool.md) | :heavy_check_mark: | N/A | |
+| `HasMore` | *bool* | :heavy_check_mark: | N/A | false |
+| `Next` | **string* | :heavy_minus_sign: | N/A | |
+| `PageSize` | *int64* | :heavy_check_mark: | N/A | 15 |
+| `Previous` | **string* | :heavy_minus_sign: | N/A | YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol= |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/posting.md b/libs/clients/go/docs/models/shared/posting.md
new file mode 100755
index 0000000000..dc8a9ec937
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/posting.md
@@ -0,0 +1,11 @@
+# Posting
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- |
+| `Amount` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A | 100 |
+| `Asset` | *string* | :heavy_check_mark: | N/A | COIN |
+| `Destination` | *string* | :heavy_check_mark: | N/A | users:002 |
+| `Source` | *string* | :heavy_check_mark: | N/A | users:001 |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/posttransaction.md b/libs/clients/go/docs/models/shared/posttransaction.md
new file mode 100755
index 0000000000..b8f852255a
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/posttransaction.md
@@ -0,0 +1,12 @@
+# PostTransaction
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------------------------- |
+| `Metadata` | map[string]*string* | :heavy_check_mark: | N/A | [object Object] |
+| `Postings` | [][Posting](../../models/shared/posting.md) | :heavy_minus_sign: | N/A | |
+| `Reference` | **string* | :heavy_minus_sign: | N/A | ref:001 |
+| `Script` | [*PostTransactionScript](../../models/shared/posttransactionscript.md) | :heavy_minus_sign: | N/A | |
+| `Timestamp` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/posttransactionscript.md b/libs/clients/go/docs/models/shared/posttransactionscript.md
new file mode 100755
index 0000000000..73a35f5ef3
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/posttransactionscript.md
@@ -0,0 +1,9 @@
+# PostTransactionScript
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
+| `Plain` | *string* | :heavy_check_mark: | N/A | vars {
account $user
}
send [COIN 10] (
source = @world
destination = $user
)
|
+| `Vars` | map[string]*interface{}* | :heavy_minus_sign: | N/A | [object Object] |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/query.md b/libs/clients/go/docs/models/shared/query.md
new file mode 100755
index 0000000000..ae1ed43885
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/query.md
@@ -0,0 +1,16 @@
+# Query
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- | -------------------------------------------- |
+| `After` | []*string* | :heavy_minus_sign: | N/A | users:002 |
+| `Cursor` | **string* | :heavy_minus_sign: | N/A | YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol= |
+| `Ledgers` | []*string* | :heavy_minus_sign: | N/A | quickstart |
+| `PageSize` | **int64* | :heavy_minus_sign: | N/A | |
+| `Policy` | **string* | :heavy_minus_sign: | N/A | OR |
+| `Raw` | [*QueryRaw](../../models/shared/queryraw.md) | :heavy_minus_sign: | N/A | |
+| `Sort` | **string* | :heavy_minus_sign: | N/A | id:asc |
+| `Target` | **string* | :heavy_minus_sign: | N/A | |
+| `Terms` | []*string* | :heavy_minus_sign: | N/A | destination=central_bank1 |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/queryraw.md b/libs/clients/go/docs/models/shared/queryraw.md
new file mode 100755
index 0000000000..997785b454
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/queryraw.md
@@ -0,0 +1,7 @@
+# QueryRaw
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------- | ----------- | ----------- | ----------- |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/readclientresponse.md b/libs/clients/go/docs/models/shared/readclientresponse.md
new file mode 100755
index 0000000000..fb6d823f6f
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/readclientresponse.md
@@ -0,0 +1,8 @@
+# ReadClientResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
+| `Data` | [*Client](../../models/shared/client.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/readtriggerresponse.md b/libs/clients/go/docs/models/shared/readtriggerresponse.md
new file mode 100755
index 0000000000..3100662480
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/readtriggerresponse.md
@@ -0,0 +1,8 @@
+# ReadTriggerResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
+| `Data` | [Trigger](../../models/shared/trigger.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/readuserresponse.md b/libs/clients/go/docs/models/shared/readuserresponse.md
new file mode 100755
index 0000000000..2aef17f0e2
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/readuserresponse.md
@@ -0,0 +1,8 @@
+# ReadUserResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
+| `Data` | [*User](../../models/shared/user.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/reconciliation.md b/libs/clients/go/docs/models/shared/reconciliation.md
new file mode 100755
index 0000000000..7e028794ea
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/reconciliation.md
@@ -0,0 +1,15 @@
+# Reconciliation
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ |
+| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A | 2021-01-01T00:00:00.000Z |
+| `Error` | **string* | :heavy_minus_sign: | N/A | |
+| `ID` | *string* | :heavy_check_mark: | N/A | XXX |
+| `LedgerBalances` | map[string][*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A | |
+| `PaymentsBalances` | map[string][*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A | |
+| `PolicyID` | *string* | :heavy_check_mark: | N/A | XXX |
+| `ReconciledAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A | 2021-01-01T00:00:00.000Z |
+| `Status` | *string* | :heavy_check_mark: | N/A | COMPLETED |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/reconciliationerrorresponse.md b/libs/clients/go/docs/models/shared/reconciliationerrorresponse.md
new file mode 100755
index 0000000000..4429593004
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/reconciliationerrorresponse.md
@@ -0,0 +1,10 @@
+# ReconciliationErrorResponse
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
+| `Details` | **string* | :heavy_minus_sign: | N/A | |
+| `ErrorCode` | *string* | :heavy_check_mark: | N/A | VALIDATION |
+| `ErrorMessage` | *string* | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/reconciliationrequest.md b/libs/clients/go/docs/models/shared/reconciliationrequest.md
new file mode 100755
index 0000000000..51f32e3c6f
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/reconciliationrequest.md
@@ -0,0 +1,8 @@
+# ReconciliationRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
+| `At` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A | 2021-01-01T00:00:00.000Z |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/reconciliationresponse.md b/libs/clients/go/docs/models/shared/reconciliationresponse.md
new file mode 100755
index 0000000000..10c2f49f10
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/reconciliationresponse.md
@@ -0,0 +1,8 @@
+# ReconciliationResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
+| `Reconciliation` | [*Reconciliation](../../models/shared/reconciliation.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/reconciliationscursorresponse.md b/libs/clients/go/docs/models/shared/reconciliationscursorresponse.md
new file mode 100755
index 0000000000..8aa50fe19e
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/reconciliationscursorresponse.md
@@ -0,0 +1,8 @@
+# ReconciliationsCursorResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
+| `Cursor` | [ReconciliationsCursorResponseCursor](../../models/shared/reconciliationscursorresponsecursor.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/reconciliationscursorresponsecursor.md b/libs/clients/go/docs/models/shared/reconciliationscursorresponsecursor.md
new file mode 100755
index 0000000000..bf77dd06ed
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/reconciliationscursorresponsecursor.md
@@ -0,0 +1,12 @@
+# ReconciliationsCursorResponseCursor
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- | --------------------------------------------------------- |
+| `Data` | [][Reconciliation](../../models/shared/reconciliation.md) | :heavy_check_mark: | N/A | |
+| `HasMore` | *bool* | :heavy_check_mark: | N/A | false |
+| `Next` | **string* | :heavy_minus_sign: | N/A | |
+| `PageSize` | *int64* | :heavy_check_mark: | N/A | 15 |
+| `Previous` | **string* | :heavy_minus_sign: | N/A | YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol= |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/response.md b/libs/clients/go/docs/models/shared/response.md
new file mode 100755
index 0000000000..5ec3245ab0
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/response.md
@@ -0,0 +1,9 @@
+# Response
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- | -------------------------------------------------------- |
+| `Cursor` | [*ResponseCursor](../../models/shared/responsecursor.md) | :heavy_minus_sign: | N/A |
+| `Data` | map[string]*interface{}* | :heavy_minus_sign: | The payload |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/responsecursor.md b/libs/clients/go/docs/models/shared/responsecursor.md
new file mode 100755
index 0000000000..7654e0b664
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/responsecursor.md
@@ -0,0 +1,13 @@
+# ResponseCursor
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ | ------------------------------------------------------------------ |
+| `Data` | []map[string]*interface{}* | :heavy_minus_sign: | N/A | |
+| `HasMore` | **bool* | :heavy_minus_sign: | N/A | |
+| `Next` | **string* | :heavy_minus_sign: | N/A | YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol= |
+| `PageSize` | **int64* | :heavy_minus_sign: | N/A | |
+| `Previous` | **string* | :heavy_minus_sign: | N/A | YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol= |
+| `Total` | [*ResponseCursorTotal](../../models/shared/responsecursortotal.md) | :heavy_minus_sign: | N/A | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/responsecursortotal.md b/libs/clients/go/docs/models/shared/responsecursortotal.md
new file mode 100755
index 0000000000..dfa57692c4
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/responsecursortotal.md
@@ -0,0 +1,9 @@
+# ResponseCursorTotal
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
+| `Relation` | **string* | :heavy_minus_sign: | N/A | eq |
+| `Value` | **int64* | :heavy_minus_sign: | N/A | 1 |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/reverttransactionresponse.md b/libs/clients/go/docs/models/shared/reverttransactionresponse.md
new file mode 100755
index 0000000000..d312049366
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/reverttransactionresponse.md
@@ -0,0 +1,8 @@
+# RevertTransactionResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- |
+| `Data` | [Transaction](../../models/shared/transaction.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/runworkflowresponse.md b/libs/clients/go/docs/models/shared/runworkflowresponse.md
new file mode 100755
index 0000000000..d53ee216e4
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/runworkflowresponse.md
@@ -0,0 +1,8 @@
+# RunWorkflowResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
+| `Data` | [WorkflowInstance](../../models/shared/workflowinstance.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/secret.md b/libs/clients/go/docs/models/shared/secret.md
new file mode 100755
index 0000000000..851b99213c
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/secret.md
@@ -0,0 +1,12 @@
+# Secret
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------ | ------------------------ | ------------------------ | ------------------------ |
+| `Clear` | *string* | :heavy_check_mark: | N/A |
+| `ID` | *string* | :heavy_check_mark: | N/A |
+| `LastDigits` | *string* | :heavy_check_mark: | N/A |
+| `Metadata` | map[string]*interface{}* | :heavy_minus_sign: | N/A |
+| `Name` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/serverinfo.md b/libs/clients/go/docs/models/shared/serverinfo.md
new file mode 100755
index 0000000000..bf626a0fc8
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/serverinfo.md
@@ -0,0 +1,8 @@
+# ServerInfo
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `Version` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/stage.md b/libs/clients/go/docs/models/shared/stage.md
new file mode 100755
index 0000000000..f4f9c40410
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/stage.md
@@ -0,0 +1,23 @@
+# Stage
+
+
+## Supported Types
+
+### StageSend
+
+```go
+stage := shared.CreateStageStageSend(shared.StageSend{/* values here */})
+```
+
+### StageDelay
+
+```go
+stage := shared.CreateStageStageDelay(shared.StageDelay{/* values here */})
+```
+
+### StageWaitEvent
+
+```go
+stage := shared.CreateStageStageWaitEvent(shared.StageWaitEvent{/* values here */})
+```
+
diff --git a/libs/clients/go/docs/models/shared/stagedelay.md b/libs/clients/go/docs/models/shared/stagedelay.md
new file mode 100755
index 0000000000..3a2744ea45
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/stagedelay.md
@@ -0,0 +1,9 @@
+# StageDelay
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | ------------------------------------------ |
+| `Duration` | **string* | :heavy_minus_sign: | N/A |
+| `Until` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/stagesend.md b/libs/clients/go/docs/models/shared/stagesend.md
new file mode 100755
index 0000000000..925233a9f1
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/stagesend.md
@@ -0,0 +1,10 @@
+# StageSend
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
+| `Amount` | [*Monetary](../../models/shared/monetary.md) | :heavy_minus_sign: | N/A |
+| `Destination` | [*StageSendDestination](../../models/shared/stagesenddestination.md) | :heavy_minus_sign: | N/A |
+| `Source` | [*StageSendSource](../../models/shared/stagesendsource.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/stagesenddestination.md b/libs/clients/go/docs/models/shared/stagesenddestination.md
new file mode 100755
index 0000000000..865a08d45f
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/stagesenddestination.md
@@ -0,0 +1,10 @@
+# StageSendDestination
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
+| `Account` | [*StageSendDestinationAccount](../../models/shared/stagesenddestinationaccount.md) | :heavy_minus_sign: | N/A |
+| `Payment` | [*StageSendDestinationPayment](../../models/shared/stagesenddestinationpayment.md) | :heavy_minus_sign: | N/A |
+| `Wallet` | [*StageSendDestinationWallet](../../models/shared/stagesenddestinationwallet.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/stagesenddestinationaccount.md b/libs/clients/go/docs/models/shared/stagesenddestinationaccount.md
new file mode 100755
index 0000000000..de0e831653
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/stagesenddestinationaccount.md
@@ -0,0 +1,9 @@
+# StageSendDestinationAccount
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `ID` | *string* | :heavy_check_mark: | N/A |
+| `Ledger` | **string* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/stagesenddestinationpayment.md b/libs/clients/go/docs/models/shared/stagesenddestinationpayment.md
new file mode 100755
index 0000000000..44bfc23a0c
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/stagesenddestinationpayment.md
@@ -0,0 +1,8 @@
+# StageSendDestinationPayment
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `Psp` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/stagesenddestinationwallet.md b/libs/clients/go/docs/models/shared/stagesenddestinationwallet.md
new file mode 100755
index 0000000000..a517d624e4
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/stagesenddestinationwallet.md
@@ -0,0 +1,9 @@
+# StageSendDestinationWallet
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `Balance` | **string* | :heavy_minus_sign: | N/A |
+| `ID` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/stagesendsource.md b/libs/clients/go/docs/models/shared/stagesendsource.md
new file mode 100755
index 0000000000..8c6dae3c9b
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/stagesendsource.md
@@ -0,0 +1,10 @@
+# StageSendSource
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
+| `Account` | [*StageSendSourceAccount](../../models/shared/stagesendsourceaccount.md) | :heavy_minus_sign: | N/A |
+| `Payment` | [*StageSendSourcePayment](../../models/shared/stagesendsourcepayment.md) | :heavy_minus_sign: | N/A |
+| `Wallet` | [*StageSendSourceWallet](../../models/shared/stagesendsourcewallet.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/stagesendsourceaccount.md b/libs/clients/go/docs/models/shared/stagesendsourceaccount.md
new file mode 100755
index 0000000000..2330e55a88
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/stagesendsourceaccount.md
@@ -0,0 +1,9 @@
+# StageSendSourceAccount
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `ID` | *string* | :heavy_check_mark: | N/A |
+| `Ledger` | **string* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/stagesendsourcepayment.md b/libs/clients/go/docs/models/shared/stagesendsourcepayment.md
new file mode 100755
index 0000000000..e8849941b1
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/stagesendsourcepayment.md
@@ -0,0 +1,8 @@
+# StageSendSourcePayment
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `ID` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/stagesendsourcewallet.md b/libs/clients/go/docs/models/shared/stagesendsourcewallet.md
new file mode 100755
index 0000000000..df3aed9efa
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/stagesendsourcewallet.md
@@ -0,0 +1,9 @@
+# StageSendSourceWallet
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `Balance` | **string* | :heavy_minus_sign: | N/A |
+| `ID` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/stagestatus.md b/libs/clients/go/docs/models/shared/stagestatus.md
new file mode 100755
index 0000000000..33c9ec0a31
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/stagestatus.md
@@ -0,0 +1,12 @@
+# StageStatus
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | ------------------------------------------ |
+| `Error` | **string* | :heavy_minus_sign: | N/A |
+| `InstanceID` | *string* | :heavy_check_mark: | N/A |
+| `Stage` | *float64* | :heavy_check_mark: | N/A |
+| `StartedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
+| `TerminatedAt` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/stagewaitevent.md b/libs/clients/go/docs/models/shared/stagewaitevent.md
new file mode 100755
index 0000000000..7eaf776a96
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/stagewaitevent.md
@@ -0,0 +1,8 @@
+# StageWaitEvent
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `Event` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/stats.md b/libs/clients/go/docs/models/shared/stats.md
new file mode 100755
index 0000000000..98f4a1a0ee
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/stats.md
@@ -0,0 +1,9 @@
+# Stats
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- |
+| `Accounts` | *int64* | :heavy_check_mark: | N/A |
+| `Transactions` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/statsresponse.md b/libs/clients/go/docs/models/shared/statsresponse.md
new file mode 100755
index 0000000000..fdc3811174
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/statsresponse.md
@@ -0,0 +1,8 @@
+# StatsResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------- | ------------------------------------- | ------------------------------------- | ------------------------------------- |
+| `Data` | [Stats](../../models/shared/stats.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/stripeconfig.md b/libs/clients/go/docs/models/shared/stripeconfig.md
new file mode 100755
index 0000000000..8620cdceca
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/stripeconfig.md
@@ -0,0 +1,11 @@
+# StripeConfig
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
+| `APIKey` | *string* | :heavy_check_mark: | N/A | XXX |
+| `Name` | *string* | :heavy_check_mark: | N/A | My Stripe Account |
+| `PageSize` | **int64* | :heavy_minus_sign: | Number of BalanceTransaction to fetch at each polling interval.
| 50 |
+| `PollingPeriod` | **string* | :heavy_minus_sign: | The frequency at which the connector will try to fetch new BalanceTransaction objects from Stripe API.
| 60s |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/subject.md b/libs/clients/go/docs/models/shared/subject.md
new file mode 100755
index 0000000000..8d398e2475
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/subject.md
@@ -0,0 +1,17 @@
+# Subject
+
+
+## Supported Types
+
+### LedgerAccountSubject
+
+```go
+subject := shared.CreateSubjectAccount(shared.LedgerAccountSubject{/* values here */})
+```
+
+### WalletSubject
+
+```go
+subject := shared.CreateSubjectWallet(shared.WalletSubject{/* values here */})
+```
+
diff --git a/libs/clients/go/docs/models/shared/targetid.md b/libs/clients/go/docs/models/shared/targetid.md
new file mode 100755
index 0000000000..eefe78c3c5
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/targetid.md
@@ -0,0 +1,17 @@
+# TargetID
+
+
+## Supported Types
+
+###
+
+```go
+targetID := shared.CreateTargetIDStr(string{/* values here */})
+```
+
+###
+
+```go
+targetID := shared.CreateTargetIDBigint(*big.Int{/* values here */})
+```
+
diff --git a/libs/clients/go/docs/models/shared/targettype.md b/libs/clients/go/docs/models/shared/targettype.md
new file mode 100755
index 0000000000..53bfee9fab
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/targettype.md
@@ -0,0 +1,9 @@
+# TargetType
+
+
+## Values
+
+| Name | Value |
+| ----------------------- | ----------------------- |
+| `TargetTypeTransaction` | TRANSACTION |
+| `TargetTypeAccount` | ACCOUNT |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskbankingcircle.md b/libs/clients/go/docs/models/shared/taskbankingcircle.md
new file mode 100755
index 0000000000..be73c0bca6
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskbankingcircle.md
@@ -0,0 +1,15 @@
+# TaskBankingCircle
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
+| `ConnectorID` | *string* | :heavy_check_mark: | N/A |
+| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
+| `Descriptor` | [TaskBankingCircleDescriptor](../../models/shared/taskbankingcircledescriptor.md) | :heavy_check_mark: | N/A |
+| `Error` | **string* | :heavy_minus_sign: | N/A |
+| `ID` | *string* | :heavy_check_mark: | N/A |
+| `State` | [TaskBankingCircleState](../../models/shared/taskbankingcirclestate.md) | :heavy_check_mark: | N/A |
+| `Status` | [PaymentStatus](../../models/shared/paymentstatus.md) | :heavy_check_mark: | N/A |
+| `UpdatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskbankingcircledescriptor.md b/libs/clients/go/docs/models/shared/taskbankingcircledescriptor.md
new file mode 100755
index 0000000000..1455551d67
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskbankingcircledescriptor.md
@@ -0,0 +1,9 @@
+# TaskBankingCircleDescriptor
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `Key` | **string* | :heavy_minus_sign: | N/A |
+| `Name` | **string* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskbankingcirclestate.md b/libs/clients/go/docs/models/shared/taskbankingcirclestate.md
new file mode 100755
index 0000000000..ab19f64512
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskbankingcirclestate.md
@@ -0,0 +1,7 @@
+# TaskBankingCircleState
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------- | ----------- | ----------- | ----------- |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskcurrencycloud.md b/libs/clients/go/docs/models/shared/taskcurrencycloud.md
new file mode 100755
index 0000000000..bd9ab580cc
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskcurrencycloud.md
@@ -0,0 +1,15 @@
+# TaskCurrencyCloud
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
+| `ConnectorID` | *string* | :heavy_check_mark: | N/A |
+| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
+| `Descriptor` | [TaskCurrencyCloudDescriptor](../../models/shared/taskcurrencyclouddescriptor.md) | :heavy_check_mark: | N/A |
+| `Error` | **string* | :heavy_minus_sign: | N/A |
+| `ID` | *string* | :heavy_check_mark: | N/A |
+| `State` | [TaskCurrencyCloudState](../../models/shared/taskcurrencycloudstate.md) | :heavy_check_mark: | N/A |
+| `Status` | [PaymentStatus](../../models/shared/paymentstatus.md) | :heavy_check_mark: | N/A |
+| `UpdatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskcurrencyclouddescriptor.md b/libs/clients/go/docs/models/shared/taskcurrencyclouddescriptor.md
new file mode 100755
index 0000000000..82a03ab699
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskcurrencyclouddescriptor.md
@@ -0,0 +1,8 @@
+# TaskCurrencyCloudDescriptor
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `Name` | **string* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskcurrencycloudstate.md b/libs/clients/go/docs/models/shared/taskcurrencycloudstate.md
new file mode 100755
index 0000000000..dee02a3ec2
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskcurrencycloudstate.md
@@ -0,0 +1,7 @@
+# TaskCurrencyCloudState
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------- | ----------- | ----------- | ----------- |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskdummypay.md b/libs/clients/go/docs/models/shared/taskdummypay.md
new file mode 100755
index 0000000000..c0ccfa84da
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskdummypay.md
@@ -0,0 +1,15 @@
+# TaskDummyPay
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
+| `ConnectorID` | *string* | :heavy_check_mark: | N/A |
+| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
+| `Descriptor` | [TaskDummyPayDescriptor](../../models/shared/taskdummypaydescriptor.md) | :heavy_check_mark: | N/A |
+| `Error` | **string* | :heavy_minus_sign: | N/A |
+| `ID` | *string* | :heavy_check_mark: | N/A |
+| `State` | [TaskDummyPayState](../../models/shared/taskdummypaystate.md) | :heavy_check_mark: | N/A |
+| `Status` | [PaymentStatus](../../models/shared/paymentstatus.md) | :heavy_check_mark: | N/A |
+| `UpdatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskdummypaydescriptor.md b/libs/clients/go/docs/models/shared/taskdummypaydescriptor.md
new file mode 100755
index 0000000000..a770929415
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskdummypaydescriptor.md
@@ -0,0 +1,10 @@
+# TaskDummyPayDescriptor
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `FileName` | **string* | :heavy_minus_sign: | N/A |
+| `Key` | **string* | :heavy_minus_sign: | N/A |
+| `Name` | **string* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskdummypaystate.md b/libs/clients/go/docs/models/shared/taskdummypaystate.md
new file mode 100755
index 0000000000..c48e90864d
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskdummypaystate.md
@@ -0,0 +1,7 @@
+# TaskDummyPayState
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------- | ----------- | ----------- | ----------- |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskmangopay.md b/libs/clients/go/docs/models/shared/taskmangopay.md
new file mode 100755
index 0000000000..3833a062ae
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskmangopay.md
@@ -0,0 +1,15 @@
+# TaskMangoPay
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
+| `ConnectorID` | *string* | :heavy_check_mark: | N/A |
+| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
+| `Descriptor` | [TaskMangoPayDescriptor](../../models/shared/taskmangopaydescriptor.md) | :heavy_check_mark: | N/A |
+| `Error` | **string* | :heavy_minus_sign: | N/A |
+| `ID` | *string* | :heavy_check_mark: | N/A |
+| `State` | [TaskMangoPayState](../../models/shared/taskmangopaystate.md) | :heavy_check_mark: | N/A |
+| `Status` | [PaymentStatus](../../models/shared/paymentstatus.md) | :heavy_check_mark: | N/A |
+| `UpdatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskmangopaydescriptor.md b/libs/clients/go/docs/models/shared/taskmangopaydescriptor.md
new file mode 100755
index 0000000000..1ea0a426fa
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskmangopaydescriptor.md
@@ -0,0 +1,10 @@
+# TaskMangoPayDescriptor
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `Key` | **string* | :heavy_minus_sign: | N/A |
+| `Name` | **string* | :heavy_minus_sign: | N/A |
+| `UserID` | **string* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskmangopaystate.md b/libs/clients/go/docs/models/shared/taskmangopaystate.md
new file mode 100755
index 0000000000..19e1c1cc70
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskmangopaystate.md
@@ -0,0 +1,7 @@
+# TaskMangoPayState
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------- | ----------- | ----------- | ----------- |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskmodulr.md b/libs/clients/go/docs/models/shared/taskmodulr.md
new file mode 100755
index 0000000000..2e7e47d8eb
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskmodulr.md
@@ -0,0 +1,15 @@
+# TaskModulr
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
+| `ConnectorID` | *string* | :heavy_check_mark: | N/A |
+| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
+| `Descriptor` | [TaskModulrDescriptor](../../models/shared/taskmodulrdescriptor.md) | :heavy_check_mark: | N/A |
+| `Error` | **string* | :heavy_minus_sign: | N/A |
+| `ID` | *string* | :heavy_check_mark: | N/A |
+| `State` | [TaskModulrState](../../models/shared/taskmodulrstate.md) | :heavy_check_mark: | N/A |
+| `Status` | [PaymentStatus](../../models/shared/paymentstatus.md) | :heavy_check_mark: | N/A |
+| `UpdatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskmodulrdescriptor.md b/libs/clients/go/docs/models/shared/taskmodulrdescriptor.md
new file mode 100755
index 0000000000..0261933915
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskmodulrdescriptor.md
@@ -0,0 +1,10 @@
+# TaskModulrDescriptor
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `AccountID` | **string* | :heavy_minus_sign: | N/A |
+| `Key` | **string* | :heavy_minus_sign: | N/A |
+| `Name` | **string* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskmodulrstate.md b/libs/clients/go/docs/models/shared/taskmodulrstate.md
new file mode 100755
index 0000000000..291d63b54f
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskmodulrstate.md
@@ -0,0 +1,7 @@
+# TaskModulrState
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------- | ----------- | ----------- | ----------- |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskmoneycorp.md b/libs/clients/go/docs/models/shared/taskmoneycorp.md
new file mode 100755
index 0000000000..a4c8bc7187
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskmoneycorp.md
@@ -0,0 +1,15 @@
+# TaskMoneycorp
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
+| `ConnectorID` | *string* | :heavy_check_mark: | N/A |
+| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
+| `Descriptor` | [TaskMoneycorpDescriptor](../../models/shared/taskmoneycorpdescriptor.md) | :heavy_check_mark: | N/A |
+| `Error` | **string* | :heavy_minus_sign: | N/A |
+| `ID` | *string* | :heavy_check_mark: | N/A |
+| `State` | [TaskMoneycorpState](../../models/shared/taskmoneycorpstate.md) | :heavy_check_mark: | N/A |
+| `Status` | [PaymentStatus](../../models/shared/paymentstatus.md) | :heavy_check_mark: | N/A |
+| `UpdatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskmoneycorpdescriptor.md b/libs/clients/go/docs/models/shared/taskmoneycorpdescriptor.md
new file mode 100755
index 0000000000..df17f516cc
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskmoneycorpdescriptor.md
@@ -0,0 +1,10 @@
+# TaskMoneycorpDescriptor
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `AccountID` | **string* | :heavy_minus_sign: | N/A |
+| `Key` | **string* | :heavy_minus_sign: | N/A |
+| `Name` | **string* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskmoneycorpstate.md b/libs/clients/go/docs/models/shared/taskmoneycorpstate.md
new file mode 100755
index 0000000000..f5beca88a3
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskmoneycorpstate.md
@@ -0,0 +1,7 @@
+# TaskMoneycorpState
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------- | ----------- | ----------- | ----------- |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskresponse.md b/libs/clients/go/docs/models/shared/taskresponse.md
new file mode 100755
index 0000000000..4522661ff0
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskresponse.md
@@ -0,0 +1,8 @@
+# TaskResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------------------- |
+| `Data` | [TaskResponseData](../../models/shared/taskresponsedata.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskresponsedata.md b/libs/clients/go/docs/models/shared/taskresponsedata.md
new file mode 100755
index 0000000000..39eea2171d
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskresponsedata.md
@@ -0,0 +1,53 @@
+# TaskResponseData
+
+
+## Supported Types
+
+### TaskStripe
+
+```go
+taskResponseData := shared.CreateTaskResponseDataTaskStripe(shared.TaskStripe{/* values here */})
+```
+
+### TaskWise
+
+```go
+taskResponseData := shared.CreateTaskResponseDataTaskWise(shared.TaskWise{/* values here */})
+```
+
+### TaskCurrencyCloud
+
+```go
+taskResponseData := shared.CreateTaskResponseDataTaskCurrencyCloud(shared.TaskCurrencyCloud{/* values here */})
+```
+
+### TaskDummyPay
+
+```go
+taskResponseData := shared.CreateTaskResponseDataTaskDummyPay(shared.TaskDummyPay{/* values here */})
+```
+
+### TaskModulr
+
+```go
+taskResponseData := shared.CreateTaskResponseDataTaskModulr(shared.TaskModulr{/* values here */})
+```
+
+### TaskBankingCircle
+
+```go
+taskResponseData := shared.CreateTaskResponseDataTaskBankingCircle(shared.TaskBankingCircle{/* values here */})
+```
+
+### TaskMangoPay
+
+```go
+taskResponseData := shared.CreateTaskResponseDataTaskMangoPay(shared.TaskMangoPay{/* values here */})
+```
+
+### TaskMoneycorp
+
+```go
+taskResponseData := shared.CreateTaskResponseDataTaskMoneycorp(shared.TaskMoneycorp{/* values here */})
+```
+
diff --git a/libs/clients/go/docs/models/shared/taskscursor.md b/libs/clients/go/docs/models/shared/taskscursor.md
new file mode 100755
index 0000000000..bcc40f1fec
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskscursor.md
@@ -0,0 +1,8 @@
+# TasksCursor
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- | ------------------------------------------------------------- |
+| `Cursor` | [TasksCursorCursor](../../models/shared/taskscursorcursor.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskscursorcursor.md b/libs/clients/go/docs/models/shared/taskscursorcursor.md
new file mode 100755
index 0000000000..19bd0161c0
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskscursorcursor.md
@@ -0,0 +1,12 @@
+# TasksCursorCursor
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ----------------------------------------------------------------------- |
+| `Data` | [][TasksCursorCursorData](../../models/shared/taskscursorcursordata.md) | :heavy_check_mark: | N/A | |
+| `HasMore` | *bool* | :heavy_check_mark: | N/A | false |
+| `Next` | **string* | :heavy_minus_sign: | N/A | |
+| `PageSize` | *int64* | :heavy_check_mark: | N/A | 15 |
+| `Previous` | **string* | :heavy_minus_sign: | N/A | YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol= |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskscursorcursordata.md b/libs/clients/go/docs/models/shared/taskscursorcursordata.md
new file mode 100755
index 0000000000..46de603f92
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskscursorcursordata.md
@@ -0,0 +1,53 @@
+# TasksCursorCursorData
+
+
+## Supported Types
+
+### TaskStripe
+
+```go
+tasksCursorCursorData := shared.CreateTasksCursorCursorDataTaskStripe(shared.TaskStripe{/* values here */})
+```
+
+### TaskWise
+
+```go
+tasksCursorCursorData := shared.CreateTasksCursorCursorDataTaskWise(shared.TaskWise{/* values here */})
+```
+
+### TaskCurrencyCloud
+
+```go
+tasksCursorCursorData := shared.CreateTasksCursorCursorDataTaskCurrencyCloud(shared.TaskCurrencyCloud{/* values here */})
+```
+
+### TaskDummyPay
+
+```go
+tasksCursorCursorData := shared.CreateTasksCursorCursorDataTaskDummyPay(shared.TaskDummyPay{/* values here */})
+```
+
+### TaskModulr
+
+```go
+tasksCursorCursorData := shared.CreateTasksCursorCursorDataTaskModulr(shared.TaskModulr{/* values here */})
+```
+
+### TaskBankingCircle
+
+```go
+tasksCursorCursorData := shared.CreateTasksCursorCursorDataTaskBankingCircle(shared.TaskBankingCircle{/* values here */})
+```
+
+### TaskMangoPay
+
+```go
+tasksCursorCursorData := shared.CreateTasksCursorCursorDataTaskMangoPay(shared.TaskMangoPay{/* values here */})
+```
+
+### TaskMoneycorp
+
+```go
+tasksCursorCursorData := shared.CreateTasksCursorCursorDataTaskMoneycorp(shared.TaskMoneycorp{/* values here */})
+```
+
diff --git a/libs/clients/go/docs/models/shared/taskstripe.md b/libs/clients/go/docs/models/shared/taskstripe.md
new file mode 100755
index 0000000000..2990b1ec90
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskstripe.md
@@ -0,0 +1,15 @@
+# TaskStripe
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
+| `ConnectorID` | *string* | :heavy_check_mark: | N/A |
+| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
+| `Descriptor` | [TaskStripeDescriptor](../../models/shared/taskstripedescriptor.md) | :heavy_check_mark: | N/A |
+| `Error` | **string* | :heavy_minus_sign: | N/A |
+| `ID` | *string* | :heavy_check_mark: | N/A |
+| `State` | [TaskStripeState](../../models/shared/taskstripestate.md) | :heavy_check_mark: | N/A |
+| `Status` | [PaymentStatus](../../models/shared/paymentstatus.md) | :heavy_check_mark: | N/A |
+| `UpdatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskstripedescriptor.md b/libs/clients/go/docs/models/shared/taskstripedescriptor.md
new file mode 100755
index 0000000000..7b44b60644
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskstripedescriptor.md
@@ -0,0 +1,10 @@
+# TaskStripeDescriptor
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `Account` | *string* | :heavy_check_mark: | N/A |
+| `Main` | **bool* | :heavy_minus_sign: | N/A |
+| `Name` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskstripestate.md b/libs/clients/go/docs/models/shared/taskstripestate.md
new file mode 100755
index 0000000000..9639b5c9cb
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskstripestate.md
@@ -0,0 +1,7 @@
+# TaskStripeState
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------- | ----------- | ----------- | ----------- |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskwise.md b/libs/clients/go/docs/models/shared/taskwise.md
new file mode 100755
index 0000000000..8c2362cbe8
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskwise.md
@@ -0,0 +1,15 @@
+# TaskWise
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- |
+| `ConnectorID` | *string* | :heavy_check_mark: | N/A |
+| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
+| `Descriptor` | [TaskWiseDescriptor](../../models/shared/taskwisedescriptor.md) | :heavy_check_mark: | N/A |
+| `Error` | **string* | :heavy_minus_sign: | N/A |
+| `ID` | *string* | :heavy_check_mark: | N/A |
+| `State` | [TaskWiseState](../../models/shared/taskwisestate.md) | :heavy_check_mark: | N/A |
+| `Status` | [PaymentStatus](../../models/shared/paymentstatus.md) | :heavy_check_mark: | N/A |
+| `UpdatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskwisedescriptor.md b/libs/clients/go/docs/models/shared/taskwisedescriptor.md
new file mode 100755
index 0000000000..d1a0196376
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskwisedescriptor.md
@@ -0,0 +1,10 @@
+# TaskWiseDescriptor
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `Key` | **string* | :heavy_minus_sign: | N/A |
+| `Name` | **string* | :heavy_minus_sign: | N/A |
+| `ProfileID` | **int64* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/taskwisestate.md b/libs/clients/go/docs/models/shared/taskwisestate.md
new file mode 100755
index 0000000000..fc76ce01d5
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/taskwisestate.md
@@ -0,0 +1,7 @@
+# TaskWiseState
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------- | ----------- | ----------- | ----------- |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/transaction.md b/libs/clients/go/docs/models/shared/transaction.md
new file mode 100755
index 0000000000..f0fb7679f3
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/transaction.md
@@ -0,0 +1,13 @@
+# Transaction
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- |
+| `ID` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A | |
+| `Metadata` | map[string]*string* | :heavy_check_mark: | N/A | [object Object] |
+| `Postings` | [][Posting](../../models/shared/posting.md) | :heavy_check_mark: | N/A | |
+| `Reference` | **string* | :heavy_minus_sign: | N/A | ref:001 |
+| `Reverted` | *bool* | :heavy_check_mark: | N/A | |
+| `Timestamp` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/transactionscursorresponse.md b/libs/clients/go/docs/models/shared/transactionscursorresponse.md
new file mode 100755
index 0000000000..1cb12dc2b9
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/transactionscursorresponse.md
@@ -0,0 +1,8 @@
+# TransactionsCursorResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
+| `Cursor` | [TransactionsCursorResponseCursor](../../models/shared/transactionscursorresponsecursor.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/transactionscursorresponsecursor.md b/libs/clients/go/docs/models/shared/transactionscursorresponsecursor.md
new file mode 100755
index 0000000000..58c75e7d67
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/transactionscursorresponsecursor.md
@@ -0,0 +1,12 @@
+# TransactionsCursorResponseCursor
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
+| `Data` | [][ExpandedTransaction](../../models/shared/expandedtransaction.md) | :heavy_check_mark: | N/A | |
+| `HasMore` | *bool* | :heavy_check_mark: | N/A | false |
+| `Next` | **string* | :heavy_minus_sign: | N/A | |
+| `PageSize` | *int64* | :heavy_check_mark: | N/A | 15 |
+| `Previous` | **string* | :heavy_minus_sign: | N/A | YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol= |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/transferinitiation.md b/libs/clients/go/docs/models/shared/transferinitiation.md
new file mode 100755
index 0000000000..30bb929bd9
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/transferinitiation.md
@@ -0,0 +1,21 @@
+# TransferInitiation
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
+| `Amount` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A | |
+| `Asset` | *string* | :heavy_check_mark: | N/A | USD |
+| `ConnectorID` | *string* | :heavy_check_mark: | N/A | |
+| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A | |
+| `Description` | *string* | :heavy_check_mark: | N/A | |
+| `DestinationAccountID` | *string* | :heavy_check_mark: | N/A | |
+| `Error` | *string* | :heavy_check_mark: | N/A | |
+| `ID` | *string* | :heavy_check_mark: | N/A | XXX |
+| `RelatedPayments` | [][TransferInitiationPayments](../../models/shared/transferinitiationpayments.md) | :heavy_minus_sign: | N/A | |
+| `ScheduledAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A | |
+| `SourceAccountID` | *string* | :heavy_check_mark: | N/A | |
+| `Status` | [TransferInitiationStatus](../../models/shared/transferinitiationstatus.md) | :heavy_check_mark: | N/A | |
+| `Type` | [TransferInitiationType](../../models/shared/transferinitiationtype.md) | :heavy_check_mark: | N/A | |
+| `UpdatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/transferinitiationpayments.md b/libs/clients/go/docs/models/shared/transferinitiationpayments.md
new file mode 100755
index 0000000000..6d330acfb6
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/transferinitiationpayments.md
@@ -0,0 +1,11 @@
+# TransferInitiationPayments
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- | ----------------------------------------------------- |
+| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
+| `Error` | *string* | :heavy_check_mark: | N/A |
+| `PaymentID` | *string* | :heavy_check_mark: | N/A |
+| `Status` | [PaymentStatus](../../models/shared/paymentstatus.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/transferinitiationrequest.md b/libs/clients/go/docs/models/shared/transferinitiationrequest.md
new file mode 100755
index 0000000000..874850f319
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/transferinitiationrequest.md
@@ -0,0 +1,18 @@
+# TransferInitiationRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
+| `Amount` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A | |
+| `Asset` | *string* | :heavy_check_mark: | N/A | USD |
+| `ConnectorID` | **string* | :heavy_minus_sign: | N/A | |
+| `Description` | *string* | :heavy_check_mark: | N/A | |
+| `DestinationAccountID` | *string* | :heavy_check_mark: | N/A | |
+| `Provider` | [*Connector](../../models/shared/connector.md) | :heavy_minus_sign: | N/A | |
+| `Reference` | *string* | :heavy_check_mark: | N/A | XXX |
+| `ScheduledAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A | |
+| `SourceAccountID` | *string* | :heavy_check_mark: | N/A | |
+| `Type` | [TransferInitiationRequestType](../../models/shared/transferinitiationrequesttype.md) | :heavy_check_mark: | N/A | |
+| `Validated` | *bool* | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/transferinitiationrequesttype.md b/libs/clients/go/docs/models/shared/transferinitiationrequesttype.md
new file mode 100755
index 0000000000..5845d359a2
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/transferinitiationrequesttype.md
@@ -0,0 +1,9 @@
+# TransferInitiationRequestType
+
+
+## Values
+
+| Name | Value |
+| --------------------------------------- | --------------------------------------- |
+| `TransferInitiationRequestTypeTransfer` | TRANSFER |
+| `TransferInitiationRequestTypePayout` | PAYOUT |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/transferinitiationresponse.md b/libs/clients/go/docs/models/shared/transferinitiationresponse.md
new file mode 100755
index 0000000000..4a9adf635b
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/transferinitiationresponse.md
@@ -0,0 +1,8 @@
+# TransferInitiationResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------------------- |
+| `Data` | [TransferInitiation](../../models/shared/transferinitiation.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/transferinitiationscursor.md b/libs/clients/go/docs/models/shared/transferinitiationscursor.md
new file mode 100755
index 0000000000..298c5e6370
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/transferinitiationscursor.md
@@ -0,0 +1,8 @@
+# TransferInitiationsCursor
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
+| `Cursor` | [TransferInitiationsCursorCursor](../../models/shared/transferinitiationscursorcursor.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/transferinitiationscursorcursor.md b/libs/clients/go/docs/models/shared/transferinitiationscursorcursor.md
new file mode 100755
index 0000000000..fcdb732835
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/transferinitiationscursorcursor.md
@@ -0,0 +1,12 @@
+# TransferInitiationsCursorCursor
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------- |
+| `Data` | [][TransferInitiation](../../models/shared/transferinitiation.md) | :heavy_check_mark: | N/A | |
+| `HasMore` | *bool* | :heavy_check_mark: | N/A | false |
+| `Next` | **string* | :heavy_minus_sign: | N/A | |
+| `PageSize` | *int64* | :heavy_check_mark: | N/A | 15 |
+| `Previous` | **string* | :heavy_minus_sign: | N/A | YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol= |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/transferinitiationstatus.md b/libs/clients/go/docs/models/shared/transferinitiationstatus.md
new file mode 100755
index 0000000000..3d06adac34
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/transferinitiationstatus.md
@@ -0,0 +1,13 @@
+# TransferInitiationStatus
+
+
+## Values
+
+| Name | Value |
+| ---------------------------------------------- | ---------------------------------------------- |
+| `TransferInitiationStatusWaitingForValidation` | WAITING_FOR_VALIDATION |
+| `TransferInitiationStatusProcessing` | PROCESSING |
+| `TransferInitiationStatusProcessed` | PROCESSED |
+| `TransferInitiationStatusFailed` | FAILED |
+| `TransferInitiationStatusRejected` | REJECTED |
+| `TransferInitiationStatusValidated` | VALIDATED |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/transferinitiationtype.md b/libs/clients/go/docs/models/shared/transferinitiationtype.md
new file mode 100755
index 0000000000..bbe0bde552
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/transferinitiationtype.md
@@ -0,0 +1,9 @@
+# TransferInitiationType
+
+
+## Values
+
+| Name | Value |
+| -------------------------------- | -------------------------------- |
+| `TransferInitiationTypeTransfer` | TRANSFER |
+| `TransferInitiationTypePayout` | PAYOUT |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/transferrequest.md b/libs/clients/go/docs/models/shared/transferrequest.md
new file mode 100755
index 0000000000..e1cbaaf271
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/transferrequest.md
@@ -0,0 +1,11 @@
+# TransferRequest
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- |
+| `Amount` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A | 100 |
+| `Asset` | *string* | :heavy_check_mark: | N/A | USD |
+| `Destination` | *string* | :heavy_check_mark: | N/A | acct_1Gqj58KZcSIg2N2q |
+| `Source` | **string* | :heavy_minus_sign: | N/A | acct_1Gqj58KZcSIg2N2q |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/transferresponse.md b/libs/clients/go/docs/models/shared/transferresponse.md
new file mode 100755
index 0000000000..4c5667aafe
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/transferresponse.md
@@ -0,0 +1,8 @@
+# TransferResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `ID` | **string* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/trigger.md b/libs/clients/go/docs/models/shared/trigger.md
new file mode 100755
index 0000000000..a1a69dc785
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/trigger.md
@@ -0,0 +1,13 @@
+# Trigger
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
+| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
+| `Event` | *string* | :heavy_check_mark: | N/A |
+| `Filter` | **string* | :heavy_minus_sign: | N/A |
+| `ID` | *string* | :heavy_check_mark: | N/A |
+| `Vars` | map[string]*interface{}* | :heavy_minus_sign: | N/A |
+| `WorkflowID` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/triggerdata.md b/libs/clients/go/docs/models/shared/triggerdata.md
new file mode 100755
index 0000000000..ed9f722ebb
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/triggerdata.md
@@ -0,0 +1,11 @@
+# TriggerData
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------ | ------------------------ | ------------------------ | ------------------------ |
+| `Event` | *string* | :heavy_check_mark: | N/A |
+| `Filter` | **string* | :heavy_minus_sign: | N/A |
+| `Vars` | map[string]*interface{}* | :heavy_minus_sign: | N/A |
+| `WorkflowID` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/triggeroccurrence.md b/libs/clients/go/docs/models/shared/triggeroccurrence.md
new file mode 100755
index 0000000000..f1f134d1be
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/triggeroccurrence.md
@@ -0,0 +1,10 @@
+# TriggerOccurrence
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
+| `Date` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
+| `TriggerID` | *string* | :heavy_check_mark: | N/A |
+| `WorkflowInstanceID` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/updateclientrequest.md b/libs/clients/go/docs/models/shared/updateclientrequest.md
new file mode 100755
index 0000000000..6b960950d1
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/updateclientrequest.md
@@ -0,0 +1,15 @@
+# UpdateClientRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------ | ------------------------ | ------------------------ | ------------------------ |
+| `Description` | **string* | :heavy_minus_sign: | N/A |
+| `Metadata` | map[string]*interface{}* | :heavy_minus_sign: | N/A |
+| `Name` | *string* | :heavy_check_mark: | N/A |
+| `PostLogoutRedirectUris` | []*string* | :heavy_minus_sign: | N/A |
+| `Public` | **bool* | :heavy_minus_sign: | N/A |
+| `RedirectUris` | []*string* | :heavy_minus_sign: | N/A |
+| `Scopes` | []*string* | :heavy_minus_sign: | N/A |
+| `Trusted` | **bool* | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/updateclientresponse.md b/libs/clients/go/docs/models/shared/updateclientresponse.md
new file mode 100755
index 0000000000..d76a947638
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/updateclientresponse.md
@@ -0,0 +1,8 @@
+# UpdateClientResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ---------------------------------------- | ---------------------------------------- | ---------------------------------------- | ---------------------------------------- |
+| `Data` | [*Client](../../models/shared/client.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/updatetransferinitiationstatusrequest.md b/libs/clients/go/docs/models/shared/updatetransferinitiationstatusrequest.md
new file mode 100755
index 0000000000..4dc75a369c
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/updatetransferinitiationstatusrequest.md
@@ -0,0 +1,8 @@
+# UpdateTransferInitiationStatusRequest
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
+| `Status` | [UpdateTransferInitiationStatusRequestStatus](../../models/shared/updatetransferinitiationstatusrequeststatus.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/updatetransferinitiationstatusrequeststatus.md b/libs/clients/go/docs/models/shared/updatetransferinitiationstatusrequeststatus.md
new file mode 100755
index 0000000000..665bd21431
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/updatetransferinitiationstatusrequeststatus.md
@@ -0,0 +1,13 @@
+# UpdateTransferInitiationStatusRequestStatus
+
+
+## Values
+
+| Name | Value |
+| ----------------------------------------------------------------- | ----------------------------------------------------------------- |
+| `UpdateTransferInitiationStatusRequestStatusWaitingForValidation` | WAITING_FOR_VALIDATION |
+| `UpdateTransferInitiationStatusRequestStatusProcessing` | PROCESSING |
+| `UpdateTransferInitiationStatusRequestStatusProcessed` | PROCESSED |
+| `UpdateTransferInitiationStatusRequestStatusFailed` | FAILED |
+| `UpdateTransferInitiationStatusRequestStatusRejected` | REJECTED |
+| `UpdateTransferInitiationStatusRequestStatusValidated` | VALIDATED |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/user.md b/libs/clients/go/docs/models/shared/user.md
new file mode 100755
index 0000000000..b0353735d2
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/user.md
@@ -0,0 +1,10 @@
+# User
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ | ------------------------------------ |
+| `Email` | **string* | :heavy_minus_sign: | N/A | user1@orga1.com |
+| `ID` | **string* | :heavy_minus_sign: | N/A | 3bb03708-312f-48a0-821a-e765837dc2c4 |
+| `Subject` | **string* | :heavy_minus_sign: | N/A | Jane Doe |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/version.md b/libs/clients/go/docs/models/shared/version.md
new file mode 100755
index 0000000000..5d1245dfa6
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/version.md
@@ -0,0 +1,10 @@
+# Version
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `Health` | *bool* | :heavy_check_mark: | N/A |
+| `Name` | *string* | :heavy_check_mark: | N/A |
+| `Version` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/volume.md b/libs/clients/go/docs/models/shared/volume.md
new file mode 100755
index 0000000000..a7e261311d
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/volume.md
@@ -0,0 +1,10 @@
+# Volume
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- |
+| `Balance` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_minus_sign: | N/A |
+| `Input` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A |
+| `Output` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/wallet.md b/libs/clients/go/docs/models/shared/wallet.md
new file mode 100755
index 0000000000..e3b0018dda
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/wallet.md
@@ -0,0 +1,12 @@
+# Wallet
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
+| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
+| `ID` | *string* | :heavy_check_mark: | The unique ID of the wallet. |
+| `Ledger` | *string* | :heavy_check_mark: | N/A |
+| `Metadata` | map[string]*string* | :heavy_check_mark: | Metadata associated with the wallet. |
+| `Name` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/walletserrorresponse.md b/libs/clients/go/docs/models/shared/walletserrorresponse.md
new file mode 100755
index 0000000000..3e8c815814
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/walletserrorresponse.md
@@ -0,0 +1,9 @@
+# WalletsErrorResponse
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
+| `ErrorCode` | [WalletsErrorResponseErrorCode](../../models/shared/walletserrorresponseerrorcode.md) | :heavy_check_mark: | N/A |
+| `ErrorMessage` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/walletserrorresponseerrorcode.md b/libs/clients/go/docs/models/shared/walletserrorresponseerrorcode.md
new file mode 100755
index 0000000000..aa7118c482
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/walletserrorresponseerrorcode.md
@@ -0,0 +1,11 @@
+# WalletsErrorResponseErrorCode
+
+
+## Values
+
+| Name | Value |
+| ----------------------------------------------- | ----------------------------------------------- |
+| `WalletsErrorResponseErrorCodeValidation` | VALIDATION |
+| `WalletsErrorResponseErrorCodeInternalError` | INTERNAL_ERROR |
+| `WalletsErrorResponseErrorCodeInsufficientFund` | INSUFFICIENT_FUND |
+| `WalletsErrorResponseErrorCodeHoldClosed` | HOLD_CLOSED |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/walletstransaction.md b/libs/clients/go/docs/models/shared/walletstransaction.md
new file mode 100755
index 0000000000..1c54e336d0
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/walletstransaction.md
@@ -0,0 +1,15 @@
+# WalletsTransaction
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
+| `ID` | **int64* | :heavy_minus_sign: | N/A | |
+| `Ledger` | **string* | :heavy_minus_sign: | N/A | |
+| `Metadata` | map[string]*string* | :heavy_check_mark: | Metadata associated with the wallet. | |
+| `PostCommitVolumes` | map[string]map[string][WalletsVolume](../../models/shared/walletsvolume.md) | :heavy_minus_sign: | N/A | |
+| `Postings` | [][Posting](../../models/shared/posting.md) | :heavy_check_mark: | N/A | |
+| `PreCommitVolumes` | map[string]map[string][WalletsVolume](../../models/shared/walletsvolume.md) | :heavy_minus_sign: | N/A | |
+| `Reference` | **string* | :heavy_minus_sign: | N/A | ref:001 |
+| `Timestamp` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/walletsubject.md b/libs/clients/go/docs/models/shared/walletsubject.md
new file mode 100755
index 0000000000..0cb03c8e6a
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/walletsubject.md
@@ -0,0 +1,10 @@
+# WalletSubject
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------ | ------------------ | ------------------ | ------------------ |
+| `Balance` | **string* | :heavy_minus_sign: | N/A |
+| `Identifier` | *string* | :heavy_check_mark: | N/A |
+| `Type` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/walletsvolume.md b/libs/clients/go/docs/models/shared/walletsvolume.md
new file mode 100755
index 0000000000..42a69fb7ea
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/walletsvolume.md
@@ -0,0 +1,10 @@
+# WalletsVolume
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------- | ------------------------------------------- | ------------------------------------------- | ------------------------------------------- |
+| `Balance` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A |
+| `Input` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A |
+| `Output` | [*big.Int](https://pkg.go.dev/math/big#Int) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/walletwithbalances.md b/libs/clients/go/docs/models/shared/walletwithbalances.md
new file mode 100755
index 0000000000..bf7c3b9607
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/walletwithbalances.md
@@ -0,0 +1,13 @@
+# WalletWithBalances
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
+| `Balances` | [WalletWithBalancesBalances](../../models/shared/walletwithbalancesbalances.md) | :heavy_check_mark: | N/A |
+| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
+| `ID` | *string* | :heavy_check_mark: | The unique ID of the wallet. |
+| `Ledger` | *string* | :heavy_check_mark: | N/A |
+| `Metadata` | map[string]*string* | :heavy_check_mark: | Metadata associated with the wallet. |
+| `Name` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/walletwithbalancesbalances.md b/libs/clients/go/docs/models/shared/walletwithbalancesbalances.md
new file mode 100755
index 0000000000..b3ceb392dd
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/walletwithbalancesbalances.md
@@ -0,0 +1,8 @@
+# WalletWithBalancesBalances
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- | ------------------------------------------------- |
+| `Main` | [AssetHolder](../../models/shared/assetholder.md) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/webhooksconfig.md b/libs/clients/go/docs/models/shared/webhooksconfig.md
new file mode 100755
index 0000000000..8358825533
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/webhooksconfig.md
@@ -0,0 +1,14 @@
+# WebhooksConfig
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- | ----------------------------------------- |
+| `Active` | *bool* | :heavy_check_mark: | N/A | true |
+| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A | |
+| `Endpoint` | *string* | :heavy_check_mark: | N/A | https://example.com |
+| `EventTypes` | []*string* | :heavy_check_mark: | N/A | TYPE1,TYPE2 |
+| `ID` | *string* | :heavy_check_mark: | N/A | |
+| `Secret` | *string* | :heavy_check_mark: | N/A | V0bivxRWveaoz08afqjU6Ko/jwO0Cb+3 |
+| `UpdatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A | |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/webhookserrorresponse.md b/libs/clients/go/docs/models/shared/webhookserrorresponse.md
new file mode 100755
index 0000000000..3589c48095
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/webhookserrorresponse.md
@@ -0,0 +1,10 @@
+# WebhooksErrorResponse
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
+| `Details` | **string* | :heavy_minus_sign: | N/A | https://play.numscript.org/?payload=eyJlcnJvciI6ImFjY291bnQgaGFkIGluc3VmZmljaWVudCBmdW5kcyJ9 |
+| `ErrorCode` | [WebhooksErrorsEnum](../../models/shared/webhookserrorsenum.md) | :heavy_check_mark: | N/A | VALIDATION |
+| `ErrorMessage` | *string* | :heavy_check_mark: | N/A | [VALIDATION] invalid 'cursor' query param |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/webhookserrorsenum.md b/libs/clients/go/docs/models/shared/webhookserrorsenum.md
new file mode 100755
index 0000000000..1ea7b27d68
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/webhookserrorsenum.md
@@ -0,0 +1,10 @@
+# WebhooksErrorsEnum
+
+
+## Values
+
+| Name | Value |
+| ------------------------------ | ------------------------------ |
+| `WebhooksErrorsEnumInternal` | INTERNAL |
+| `WebhooksErrorsEnumValidation` | VALIDATION |
+| `WebhooksErrorsEnumNotFound` | NOT_FOUND |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/wiseconfig.md b/libs/clients/go/docs/models/shared/wiseconfig.md
new file mode 100755
index 0000000000..0c75215e85
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/wiseconfig.md
@@ -0,0 +1,10 @@
+# WiseConfig
+
+
+## Fields
+
+| Field | Type | Required | Description | Example |
+| ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
+| `APIKey` | *string* | :heavy_check_mark: | N/A | XXX |
+| `Name` | *string* | :heavy_check_mark: | N/A | My Wise Account |
+| `PollingPeriod` | **string* | :heavy_minus_sign: | The frequency at which the connector will try to fetch new BalanceTransaction objects from Wise API.
| 60s |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/workflow.md b/libs/clients/go/docs/models/shared/workflow.md
new file mode 100755
index 0000000000..f3b25d0586
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/workflow.md
@@ -0,0 +1,11 @@
+# Workflow
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- |
+| `Config` | [WorkflowConfig](../../models/shared/workflowconfig.md) | :heavy_check_mark: | N/A |
+| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
+| `ID` | *string* | :heavy_check_mark: | N/A |
+| `UpdatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/workflowconfig.md b/libs/clients/go/docs/models/shared/workflowconfig.md
new file mode 100755
index 0000000000..3bb5835200
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/workflowconfig.md
@@ -0,0 +1,9 @@
+# WorkflowConfig
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| -------------------------- | -------------------------- | -------------------------- | -------------------------- |
+| `Name` | **string* | :heavy_minus_sign: | N/A |
+| `Stages` | []map[string]*interface{}* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/workflowinstance.md b/libs/clients/go/docs/models/shared/workflowinstance.md
new file mode 100755
index 0000000000..8b47617e43
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/workflowinstance.md
@@ -0,0 +1,15 @@
+# WorkflowInstance
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- |
+| `CreatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
+| `Error` | **string* | :heavy_minus_sign: | N/A |
+| `ID` | *string* | :heavy_check_mark: | N/A |
+| `Status` | [][StageStatus](../../models/shared/stagestatus.md) | :heavy_minus_sign: | N/A |
+| `Terminated` | *bool* | :heavy_check_mark: | N/A |
+| `TerminatedAt` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A |
+| `UpdatedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
+| `WorkflowID` | *string* | :heavy_check_mark: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/workflowinstancehistory.md b/libs/clients/go/docs/models/shared/workflowinstancehistory.md
new file mode 100755
index 0000000000..6b93e8967c
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/workflowinstancehistory.md
@@ -0,0 +1,13 @@
+# WorkflowInstanceHistory
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | ------------------------------------------ |
+| `Error` | **string* | :heavy_minus_sign: | N/A |
+| `Input` | [Stage](../../models/shared/stage.md) | :heavy_check_mark: | N/A |
+| `Name` | *string* | :heavy_check_mark: | N/A |
+| `StartedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
+| `Terminated` | *bool* | :heavy_check_mark: | N/A |
+| `TerminatedAt` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/workflowinstancehistorystage.md b/libs/clients/go/docs/models/shared/workflowinstancehistorystage.md
new file mode 100755
index 0000000000..83f8911c05
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/workflowinstancehistorystage.md
@@ -0,0 +1,17 @@
+# WorkflowInstanceHistoryStage
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ |
+| `Attempt` | *int64* | :heavy_check_mark: | N/A |
+| `Error` | **string* | :heavy_minus_sign: | N/A |
+| `Input` | [WorkflowInstanceHistoryStageInput](../../models/shared/workflowinstancehistorystageinput.md) | :heavy_check_mark: | N/A |
+| `LastFailure` | **string* | :heavy_minus_sign: | N/A |
+| `Name` | *string* | :heavy_check_mark: | N/A |
+| `NextExecution` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A |
+| `Output` | [*WorkflowInstanceHistoryStageOutput](../../models/shared/workflowinstancehistorystageoutput.md) | :heavy_minus_sign: | N/A |
+| `StartedAt` | [time.Time](https://pkg.go.dev/time#Time) | :heavy_check_mark: | N/A |
+| `Terminated` | *bool* | :heavy_check_mark: | N/A |
+| `TerminatedAt` | [*time.Time](https://pkg.go.dev/time#Time) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/workflowinstancehistorystageinput.md b/libs/clients/go/docs/models/shared/workflowinstancehistorystageinput.md
new file mode 100755
index 0000000000..06dbdf8c09
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/workflowinstancehistorystageinput.md
@@ -0,0 +1,17 @@
+# WorkflowInstanceHistoryStageInput
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
+| `ConfirmHold` | [*ActivityConfirmHold](../../models/shared/activityconfirmhold.md) | :heavy_minus_sign: | N/A |
+| `CreateTransaction` | [*ActivityCreateTransaction](../../models/shared/activitycreatetransaction.md) | :heavy_minus_sign: | N/A |
+| `CreditWallet` | [*ActivityCreditWallet](../../models/shared/activitycreditwallet.md) | :heavy_minus_sign: | N/A |
+| `DebitWallet` | [*ActivityDebitWallet](../../models/shared/activitydebitwallet.md) | :heavy_minus_sign: | N/A |
+| `GetAccount` | [*ActivityGetAccount](../../models/shared/activitygetaccount.md) | :heavy_minus_sign: | N/A |
+| `GetPayment` | [*ActivityGetPayment](../../models/shared/activitygetpayment.md) | :heavy_minus_sign: | N/A |
+| `GetWallet` | [*ActivityGetWallet](../../models/shared/activitygetwallet.md) | :heavy_minus_sign: | N/A |
+| `RevertTransaction` | [*ActivityRevertTransaction](../../models/shared/activityreverttransaction.md) | :heavy_minus_sign: | N/A |
+| `StripeTransfer` | [*ActivityStripeTransfer](../../models/shared/activitystripetransfer.md) | :heavy_minus_sign: | N/A |
+| `VoidHold` | [*ActivityVoidHold](../../models/shared/activityvoidhold.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/docs/models/shared/workflowinstancehistorystageoutput.md b/libs/clients/go/docs/models/shared/workflowinstancehistorystageoutput.md
new file mode 100755
index 0000000000..79bc618d64
--- /dev/null
+++ b/libs/clients/go/docs/models/shared/workflowinstancehistorystageoutput.md
@@ -0,0 +1,13 @@
+# WorkflowInstanceHistoryStageOutput
+
+
+## Fields
+
+| Field | Type | Required | Description |
+| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
+| `CreateTransaction` | [*ActivityCreateTransactionOutput](../../models/shared/activitycreatetransactionoutput.md) | :heavy_minus_sign: | N/A |
+| `DebitWallet` | [*ActivityDebitWalletOutput](../../models/shared/activitydebitwalletoutput.md) | :heavy_minus_sign: | N/A |
+| `GetAccount` | [*ActivityGetAccountOutput](../../models/shared/activitygetaccountoutput.md) | :heavy_minus_sign: | N/A |
+| `GetPayment` | [*ActivityGetPaymentOutput](../../models/shared/activitygetpaymentoutput.md) | :heavy_minus_sign: | N/A |
+| `GetWallet` | [*ActivityGetWalletOutput](../../models/shared/activitygetwalletoutput.md) | :heavy_minus_sign: | N/A |
+| `RevertTransaction` | [*ActivityRevertTransactionOutput](../../models/shared/activityreverttransactionoutput.md) | :heavy_minus_sign: | N/A |
\ No newline at end of file
diff --git a/libs/clients/go/files.gen b/libs/clients/go/files.gen
new file mode 100755
index 0000000000..8e57f2cb3a
--- /dev/null
+++ b/libs/clients/go/files.gen
@@ -0,0 +1,879 @@
+auth.go
+ledgerv2.go
+ledger.go
+orchestration.go
+payments.go
+reconciliation.go
+search.go
+wallets.go
+webhooks.go
+formance.go
+go.mod
+go.sum
+pkg/models/sdkerrors/sdkerror.go
+pkg/types/bigint.go
+pkg/types/date.go
+pkg/types/datetime.go
+pkg/types/decimal.go
+pkg/types/pointers.go
+pkg/utils/contenttype.go
+pkg/utils/form.go
+pkg/utils/headers.go
+pkg/utils/json.go
+pkg/utils/pathparams.go
+pkg/utils/queryparams.go
+pkg/utils/requestbody.go
+pkg/utils/retries.go
+pkg/utils/security.go
+pkg/utils/utils.go
+tests/helpers.go
+pkg/models/operations/createclient.go
+pkg/models/operations/createsecret.go
+pkg/models/operations/deleteclient.go
+pkg/models/operations/deletesecret.go
+pkg/models/operations/getserverinfo.go
+pkg/models/operations/listclients.go
+pkg/models/operations/listusers.go
+pkg/models/operations/readclient.go
+pkg/models/operations/readuser.go
+pkg/models/operations/updateclient.go
+pkg/models/operations/addmetadataontransaction.go
+pkg/models/operations/addmetadatatoaccount.go
+pkg/models/operations/countaccounts.go
+pkg/models/operations/counttransactions.go
+pkg/models/operations/createbulk.go
+pkg/models/operations/createtransaction.go
+pkg/models/operations/deleteaccountmetadata.go
+pkg/models/operations/deletetransactionmetadata.go
+pkg/models/operations/getaccount.go
+pkg/models/operations/getbalancesaggregated.go
+pkg/models/operations/getinfo.go
+pkg/models/operations/getledgerinfo.go
+pkg/models/operations/gettransaction.go
+pkg/models/operations/listaccounts.go
+pkg/models/operations/listlogs.go
+pkg/models/operations/listtransactions.go
+pkg/models/operations/readstats.go
+pkg/models/operations/reverttransaction.go
+pkg/models/operations/createledger.go
+pkg/models/operations/getledger.go
+pkg/models/operations/listledgers.go
+pkg/models/operations/cancelevent.go
+pkg/models/operations/createtrigger.go
+pkg/models/operations/createworkflow.go
+pkg/models/operations/deletetrigger.go
+pkg/models/operations/deleteworkflow.go
+pkg/models/operations/getinstance.go
+pkg/models/operations/getinstancehistory.go
+pkg/models/operations/getinstancestagehistory.go
+pkg/models/operations/getworkflow.go
+pkg/models/operations/listinstances.go
+pkg/models/operations/listtriggers.go
+pkg/models/operations/listtriggersoccurrences.go
+pkg/models/operations/listworkflows.go
+pkg/models/operations/orchestrationgetserverinfo.go
+pkg/models/operations/readtrigger.go
+pkg/models/operations/runworkflow.go
+pkg/models/operations/sendevent.go
+pkg/models/operations/addaccounttopool.go
+pkg/models/operations/connectorstransfer.go
+pkg/models/operations/createbankaccount.go
+pkg/models/operations/createpayment.go
+pkg/models/operations/createpool.go
+pkg/models/operations/createtransferinitiation.go
+pkg/models/operations/deletepool.go
+pkg/models/operations/deletetransferinitiation.go
+pkg/models/operations/getaccountbalances.go
+pkg/models/operations/getbankaccount.go
+pkg/models/operations/getconnectortask.go
+pkg/models/operations/getconnectortaskv1.go
+pkg/models/operations/getpayment.go
+pkg/models/operations/getpool.go
+pkg/models/operations/getpoolbalances.go
+pkg/models/operations/gettransferinitiation.go
+pkg/models/operations/installconnector.go
+pkg/models/operations/listallconnectors.go
+pkg/models/operations/listbankaccounts.go
+pkg/models/operations/listconfigsavailableconnectors.go
+pkg/models/operations/listconnectortasks.go
+pkg/models/operations/listconnectortasksv1.go
+pkg/models/operations/listpayments.go
+pkg/models/operations/listpools.go
+pkg/models/operations/listtransferinitiations.go
+pkg/models/operations/paymentsgetaccount.go
+pkg/models/operations/paymentsgetserverinfo.go
+pkg/models/operations/paymentslistaccounts.go
+pkg/models/operations/readconnectorconfig.go
+pkg/models/operations/readconnectorconfigv1.go
+pkg/models/operations/removeaccountfrompool.go
+pkg/models/operations/resetconnector.go
+pkg/models/operations/resetconnectorv1.go
+pkg/models/operations/retrytransferinitiation.go
+pkg/models/operations/udpatetransferinitiationstatus.go
+pkg/models/operations/uninstallconnector.go
+pkg/models/operations/uninstallconnectorv1.go
+pkg/models/operations/updatemetadata.go
+pkg/models/operations/createpolicy.go
+pkg/models/operations/deletepolicy.go
+pkg/models/operations/getpolicy.go
+pkg/models/operations/getreconciliation.go
+pkg/models/operations/listpolicies.go
+pkg/models/operations/listreconciliations.go
+pkg/models/operations/reconcile.go
+pkg/models/operations/reconciliationgetserverinfo.go
+pkg/models/operations/search.go
+pkg/models/operations/searchgetserverinfo.go
+pkg/models/operations/confirmhold.go
+pkg/models/operations/createbalance.go
+pkg/models/operations/createwallet.go
+pkg/models/operations/creditwallet.go
+pkg/models/operations/debitwallet.go
+pkg/models/operations/getbalance.go
+pkg/models/operations/gethold.go
+pkg/models/operations/getholds.go
+pkg/models/operations/gettransactions.go
+pkg/models/operations/getwallet.go
+pkg/models/operations/getwalletsummary.go
+pkg/models/operations/listbalances.go
+pkg/models/operations/listwallets.go
+pkg/models/operations/updatewallet.go
+pkg/models/operations/voidhold.go
+pkg/models/operations/walletsgetserverinfo.go
+pkg/models/operations/activateconfig.go
+pkg/models/operations/changeconfigsecret.go
+pkg/models/operations/deactivateconfig.go
+pkg/models/operations/deleteconfig.go
+pkg/models/operations/getmanyconfigs.go
+pkg/models/operations/insertconfig.go
+pkg/models/operations/testconfig.go
+pkg/models/operations/getversions.go
+pkg/models/operations/getapiauthwellknownopenidconfiguration.go
+pkg/models/shared/createclientresponse.go
+pkg/models/shared/client.go
+pkg/models/shared/clientsecret.go
+pkg/models/shared/createclientrequest.go
+pkg/models/shared/createsecretresponse.go
+pkg/models/shared/secret.go
+pkg/models/shared/createsecretrequest.go
+pkg/models/shared/serverinfo.go
+pkg/models/shared/listclientsresponse.go
+pkg/models/shared/listusersresponse.go
+pkg/models/shared/user.go
+pkg/models/shared/readclientresponse.go
+pkg/models/shared/readuserresponse.go
+pkg/models/shared/updateclientresponse.go
+pkg/models/shared/updateclientrequest.go
+pkg/models/shared/errorresponse.go
+pkg/models/shared/errorsenum.go
+pkg/models/shared/bulkresponse.go
+pkg/models/shared/bulkelementresult.go
+pkg/models/shared/transaction.go
+pkg/models/shared/posting.go
+pkg/models/shared/bulkelement.go
+pkg/models/shared/posttransaction.go
+pkg/models/shared/targettype.go
+pkg/models/shared/targetid.go
+pkg/models/shared/createtransactionresponse.go
+pkg/models/shared/accountresponse.go
+pkg/models/shared/account.go
+pkg/models/shared/volume.go
+pkg/models/shared/aggregatebalancesresponse.go
+pkg/models/shared/configinforesponse.go
+pkg/models/shared/ledgerinforesponse.go
+pkg/models/shared/ledgerinfo.go
+pkg/models/shared/migrationinfo.go
+pkg/models/shared/gettransactionresponse.go
+pkg/models/shared/expandedtransaction.go
+pkg/models/shared/accountscursorresponse.go
+pkg/models/shared/logscursorresponse.go
+pkg/models/shared/log.go
+pkg/models/shared/transactionscursorresponse.go
+pkg/models/shared/statsresponse.go
+pkg/models/shared/stats.go
+pkg/models/shared/reverttransactionresponse.go
+pkg/models/shared/createledgerrequest.go
+pkg/models/shared/ledger.go
+pkg/models/shared/ledgerlistresponse.go
+pkg/models/shared/error.go
+pkg/models/shared/createtriggerresponse.go
+pkg/models/shared/trigger.go
+pkg/models/shared/triggerdata.go
+pkg/models/shared/createworkflowresponse.go
+pkg/models/shared/workflow.go
+pkg/models/shared/workflowconfig.go
+pkg/models/shared/createworkflowrequest.go
+pkg/models/shared/getworkflowinstanceresponse.go
+pkg/models/shared/workflowinstance.go
+pkg/models/shared/stagestatus.go
+pkg/models/shared/getworkflowinstancehistoryresponse.go
+pkg/models/shared/workflowinstancehistory.go
+pkg/models/shared/stage.go
+pkg/models/shared/stagesend.go
+pkg/models/shared/stagesendsource.go
+pkg/models/shared/stagesendsourcewallet.go
+pkg/models/shared/stagesendsourcepayment.go
+pkg/models/shared/stagesendsourceaccount.go
+pkg/models/shared/stagesenddestination.go
+pkg/models/shared/stagesenddestinationwallet.go
+pkg/models/shared/stagesenddestinationpayment.go
+pkg/models/shared/stagesenddestinationaccount.go
+pkg/models/shared/monetary.go
+pkg/models/shared/stagedelay.go
+pkg/models/shared/stagewaitevent.go
+pkg/models/shared/getworkflowinstancehistorystageresponse.go
+pkg/models/shared/workflowinstancehistorystage.go
+pkg/models/shared/workflowinstancehistorystageoutput.go
+pkg/models/shared/activityreverttransactionoutput.go
+pkg/models/shared/activitygetwalletoutput.go
+pkg/models/shared/walletwithbalances.go
+pkg/models/shared/assetholder.go
+pkg/models/shared/activitygetpaymentoutput.go
+pkg/models/shared/orchestrationpayment.go
+pkg/models/shared/paymentstatus.go
+pkg/models/shared/orchestrationconnector.go
+pkg/models/shared/orchestrationpaymentmetadata.go
+pkg/models/shared/paymentadjustment.go
+pkg/models/shared/activitygetaccountoutput.go
+pkg/models/shared/activitydebitwalletoutput.go
+pkg/models/shared/hold.go
+pkg/models/shared/subject.go
+pkg/models/shared/ledgeraccountsubject.go
+pkg/models/shared/walletsubject.go
+pkg/models/shared/activitycreatetransactionoutput.go
+pkg/models/shared/workflowinstancehistorystageinput.go
+pkg/models/shared/activityvoidhold.go
+pkg/models/shared/activitystripetransfer.go
+pkg/models/shared/activityreverttransaction.go
+pkg/models/shared/activitygetwallet.go
+pkg/models/shared/activitygetpayment.go
+pkg/models/shared/activitygetaccount.go
+pkg/models/shared/activitydebitwallet.go
+pkg/models/shared/debitwalletrequest.go
+pkg/models/shared/activitycreditwallet.go
+pkg/models/shared/creditwalletrequest.go
+pkg/models/shared/activitycreatetransaction.go
+pkg/models/shared/activityconfirmhold.go
+pkg/models/shared/getworkflowresponse.go
+pkg/models/shared/listrunsresponse.go
+pkg/models/shared/listtriggersresponse.go
+pkg/models/shared/listtriggersoccurrencesresponse.go
+pkg/models/shared/triggeroccurrence.go
+pkg/models/shared/listworkflowsresponse.go
+pkg/models/shared/readtriggerresponse.go
+pkg/models/shared/runworkflowresponse.go
+pkg/models/shared/addaccounttopoolrequest.go
+pkg/models/shared/transferresponse.go
+pkg/models/shared/connector.go
+pkg/models/shared/transferrequest.go
+pkg/models/shared/bankaccountresponse.go
+pkg/models/shared/bankaccount.go
+pkg/models/shared/bankaccountrequest.go
+pkg/models/shared/paymentresponse.go
+pkg/models/shared/payment.go
+pkg/models/shared/paymenttype.go
+pkg/models/shared/paymentscheme.go
+pkg/models/shared/paymentrequest.go
+pkg/models/shared/poolresponse.go
+pkg/models/shared/pool.go
+pkg/models/shared/poolrequest.go
+pkg/models/shared/transferinitiationresponse.go
+pkg/models/shared/transferinitiation.go
+pkg/models/shared/transferinitiationstatus.go
+pkg/models/shared/transferinitiationpayments.go
+pkg/models/shared/transferinitiationrequest.go
+pkg/models/shared/balancescursor.go
+pkg/models/shared/accountbalance.go
+pkg/models/shared/taskresponse.go
+pkg/models/shared/taskstripe.go
+pkg/models/shared/taskwise.go
+pkg/models/shared/taskcurrencycloud.go
+pkg/models/shared/taskdummypay.go
+pkg/models/shared/taskmodulr.go
+pkg/models/shared/taskbankingcircle.go
+pkg/models/shared/taskmangopay.go
+pkg/models/shared/taskmoneycorp.go
+pkg/models/shared/poolbalancesresponse.go
+pkg/models/shared/poolbalances.go
+pkg/models/shared/poolbalance.go
+pkg/models/shared/connectorresponse.go
+pkg/models/shared/connectorconfig.go
+pkg/models/shared/stripeconfig.go
+pkg/models/shared/dummypayconfig.go
+pkg/models/shared/wiseconfig.go
+pkg/models/shared/modulrconfig.go
+pkg/models/shared/currencycloudconfig.go
+pkg/models/shared/bankingcircleconfig.go
+pkg/models/shared/mangopayconfig.go
+pkg/models/shared/moneycorpconfig.go
+pkg/models/shared/atlarconfig.go
+pkg/models/shared/connectorsresponse.go
+pkg/models/shared/bankaccountscursor.go
+pkg/models/shared/connectorsconfigsresponse.go
+pkg/models/shared/taskscursor.go
+pkg/models/shared/paymentscursor.go
+pkg/models/shared/poolscursor.go
+pkg/models/shared/transferinitiationscursor.go
+pkg/models/shared/paymentsaccountresponse.go
+pkg/models/shared/paymentsaccount.go
+pkg/models/shared/accountscursor.go
+pkg/models/shared/connectorconfigresponse.go
+pkg/models/shared/updatetransferinitiationstatusrequest.go
+pkg/models/shared/reconciliationerrorresponse.go
+pkg/models/shared/policyresponse.go
+pkg/models/shared/policy.go
+pkg/models/shared/policyrequest.go
+pkg/models/shared/reconciliationresponse.go
+pkg/models/shared/reconciliation.go
+pkg/models/shared/policiescursorresponse.go
+pkg/models/shared/reconciliationscursorresponse.go
+pkg/models/shared/reconciliationrequest.go
+pkg/models/shared/response.go
+pkg/models/shared/query.go
+pkg/models/shared/walletserrorresponse.go
+pkg/models/shared/confirmholdrequest.go
+pkg/models/shared/createbalanceresponse.go
+pkg/models/shared/balance.go
+pkg/models/shared/createbalancerequest.go
+pkg/models/shared/createwalletresponse.go
+pkg/models/shared/wallet.go
+pkg/models/shared/createwalletrequest.go
+pkg/models/shared/debitwalletresponse.go
+pkg/models/shared/getbalanceresponse.go
+pkg/models/shared/balancewithassets.go
+pkg/models/shared/getholdresponse.go
+pkg/models/shared/expandeddebithold.go
+pkg/models/shared/getholdsresponse.go
+pkg/models/shared/gettransactionsresponse.go
+pkg/models/shared/walletstransaction.go
+pkg/models/shared/walletsvolume.go
+pkg/models/shared/getwalletresponse.go
+pkg/models/shared/getwalletsummaryresponse.go
+pkg/models/shared/listbalancesresponse.go
+pkg/models/shared/listwalletsresponse.go
+pkg/models/shared/webhookserrorresponse.go
+pkg/models/shared/webhookserrorsenum.go
+pkg/models/shared/configresponse.go
+pkg/models/shared/webhooksconfig.go
+pkg/models/shared/configchangesecret.go
+pkg/models/shared/configsresponse.go
+pkg/models/shared/configuser.go
+pkg/models/shared/attemptresponse.go
+pkg/models/shared/attempt.go
+pkg/models/shared/getversionsresponse.go
+pkg/models/shared/version.go
+USAGE.md
+docs/models/operations/createclientresponse.md
+docs/models/operations/createsecretrequest.md
+docs/models/operations/createsecretresponse.md
+docs/models/operations/deleteclientrequest.md
+docs/models/operations/deleteclientresponse.md
+docs/models/operations/deletesecretrequest.md
+docs/models/operations/deletesecretresponse.md
+docs/models/operations/getserverinforesponse.md
+docs/models/operations/listclientsresponse.md
+docs/models/operations/listusersresponse.md
+docs/models/operations/readclientrequest.md
+docs/models/operations/readclientresponse.md
+docs/models/operations/readuserrequest.md
+docs/models/operations/readuserresponse.md
+docs/models/operations/updateclientrequest.md
+docs/models/operations/updateclientresponse.md
+docs/models/operations/addmetadataontransactionrequest.md
+docs/models/operations/addmetadataontransactionresponse.md
+docs/models/operations/addmetadatatoaccountrequest.md
+docs/models/operations/addmetadatatoaccountresponse.md
+docs/models/operations/countaccountsrequest.md
+docs/models/operations/countaccountsresponse.md
+docs/models/operations/counttransactionsrequest.md
+docs/models/operations/counttransactionsresponse.md
+docs/models/operations/createbulkrequest.md
+docs/models/operations/createbulkresponse.md
+docs/models/operations/createtransactionrequest.md
+docs/models/operations/createtransactionresponse.md
+docs/models/operations/deleteaccountmetadatarequest.md
+docs/models/operations/deleteaccountmetadataresponse.md
+docs/models/operations/deletetransactionmetadatarequest.md
+docs/models/operations/deletetransactionmetadataresponse.md
+docs/models/operations/getaccountrequest.md
+docs/models/operations/getaccountresponse.md
+docs/models/operations/getbalancesaggregatedrequest.md
+docs/models/operations/getbalancesaggregatedresponse.md
+docs/models/operations/getinforesponse.md
+docs/models/operations/getledgerinforequest.md
+docs/models/operations/getledgerinforesponse.md
+docs/models/operations/gettransactionrequest.md
+docs/models/operations/gettransactionresponse.md
+docs/models/operations/listaccountsrequest.md
+docs/models/operations/listaccountsresponse.md
+docs/models/operations/listlogsrequest.md
+docs/models/operations/listlogsresponse.md
+docs/models/operations/listtransactionsrequest.md
+docs/models/operations/listtransactionsresponse.md
+docs/models/operations/readstatsrequest.md
+docs/models/operations/readstatsresponse.md
+docs/models/operations/reverttransactionrequest.md
+docs/models/operations/reverttransactionresponse.md
+docs/models/operations/createledgerrequest.md
+docs/models/operations/createledgerresponse.md
+docs/models/operations/getledgerrequest.md
+docs/models/operations/getledgerresponse.md
+docs/models/operations/listledgersrequest.md
+docs/models/operations/listledgersresponse.md
+docs/models/operations/canceleventrequest.md
+docs/models/operations/canceleventresponse.md
+docs/models/operations/createtriggerresponse.md
+docs/models/operations/createworkflowresponse.md
+docs/models/operations/deletetriggerrequest.md
+docs/models/operations/deletetriggerresponse.md
+docs/models/operations/deleteworkflowrequest.md
+docs/models/operations/deleteworkflowresponse.md
+docs/models/operations/getinstancerequest.md
+docs/models/operations/getinstanceresponse.md
+docs/models/operations/getinstancehistoryrequest.md
+docs/models/operations/getinstancehistoryresponse.md
+docs/models/operations/getinstancestagehistoryrequest.md
+docs/models/operations/getinstancestagehistoryresponse.md
+docs/models/operations/getworkflowrequest.md
+docs/models/operations/getworkflowresponse.md
+docs/models/operations/listinstancesrequest.md
+docs/models/operations/listinstancesresponse.md
+docs/models/operations/listtriggersresponse.md
+docs/models/operations/listtriggersoccurrencesrequest.md
+docs/models/operations/listtriggersoccurrencesresponse.md
+docs/models/operations/listworkflowsresponse.md
+docs/models/operations/orchestrationgetserverinforesponse.md
+docs/models/operations/readtriggerrequest.md
+docs/models/operations/readtriggerresponse.md
+docs/models/operations/runworkflowrequest.md
+docs/models/operations/runworkflowresponse.md
+docs/models/operations/sendeventrequestbody.md
+docs/models/operations/sendeventrequest.md
+docs/models/operations/sendeventresponse.md
+docs/models/operations/addaccounttopoolrequest.md
+docs/models/operations/addaccounttopoolresponse.md
+docs/models/operations/connectorstransferrequest.md
+docs/models/operations/connectorstransferresponse.md
+docs/models/operations/createbankaccountresponse.md
+docs/models/operations/createpaymentresponse.md
+docs/models/operations/createpoolresponse.md
+docs/models/operations/createtransferinitiationresponse.md
+docs/models/operations/deletepoolrequest.md
+docs/models/operations/deletepoolresponse.md
+docs/models/operations/deletetransferinitiationrequest.md
+docs/models/operations/deletetransferinitiationresponse.md
+docs/models/operations/getaccountbalancesrequest.md
+docs/models/operations/getaccountbalancesresponse.md
+docs/models/operations/getbankaccountrequest.md
+docs/models/operations/getbankaccountresponse.md
+docs/models/operations/getconnectortaskrequest.md
+docs/models/operations/getconnectortaskresponse.md
+docs/models/operations/getconnectortaskv1request.md
+docs/models/operations/getconnectortaskv1response.md
+docs/models/operations/getpaymentrequest.md
+docs/models/operations/getpaymentresponse.md
+docs/models/operations/getpoolrequest.md
+docs/models/operations/getpoolresponse.md
+docs/models/operations/getpoolbalancesrequest.md
+docs/models/operations/getpoolbalancesresponse.md
+docs/models/operations/gettransferinitiationrequest.md
+docs/models/operations/gettransferinitiationresponse.md
+docs/models/operations/installconnectorrequest.md
+docs/models/operations/installconnectorresponse.md
+docs/models/operations/listallconnectorsresponse.md
+docs/models/operations/listbankaccountsrequest.md
+docs/models/operations/listbankaccountsresponse.md
+docs/models/operations/listconfigsavailableconnectorsresponse.md
+docs/models/operations/listconnectortasksrequest.md
+docs/models/operations/listconnectortasksresponse.md
+docs/models/operations/listconnectortasksv1request.md
+docs/models/operations/listconnectortasksv1response.md
+docs/models/operations/listpaymentsrequest.md
+docs/models/operations/listpaymentsresponse.md
+docs/models/operations/listpoolsrequest.md
+docs/models/operations/listpoolsresponse.md
+docs/models/operations/listtransferinitiationsrequest.md
+docs/models/operations/listtransferinitiationsresponse.md
+docs/models/operations/paymentsgetaccountrequest.md
+docs/models/operations/paymentsgetaccountresponse.md
+docs/models/operations/paymentsgetserverinforesponse.md
+docs/models/operations/paymentslistaccountsrequest.md
+docs/models/operations/paymentslistaccountsresponse.md
+docs/models/operations/readconnectorconfigrequest.md
+docs/models/operations/readconnectorconfigresponse.md
+docs/models/operations/readconnectorconfigv1request.md
+docs/models/operations/readconnectorconfigv1response.md
+docs/models/operations/removeaccountfrompoolrequest.md
+docs/models/operations/removeaccountfrompoolresponse.md
+docs/models/operations/resetconnectorrequest.md
+docs/models/operations/resetconnectorresponse.md
+docs/models/operations/resetconnectorv1request.md
+docs/models/operations/resetconnectorv1response.md
+docs/models/operations/retrytransferinitiationrequest.md
+docs/models/operations/retrytransferinitiationresponse.md
+docs/models/operations/udpatetransferinitiationstatusrequest.md
+docs/models/operations/udpatetransferinitiationstatusresponse.md
+docs/models/operations/uninstallconnectorrequest.md
+docs/models/operations/uninstallconnectorresponse.md
+docs/models/operations/uninstallconnectorv1request.md
+docs/models/operations/uninstallconnectorv1response.md
+docs/models/operations/updatemetadatarequest.md
+docs/models/operations/updatemetadataresponse.md
+docs/models/operations/createpolicyresponse.md
+docs/models/operations/deletepolicyrequest.md
+docs/models/operations/deletepolicyresponse.md
+docs/models/operations/getpolicyrequest.md
+docs/models/operations/getpolicyresponse.md
+docs/models/operations/getreconciliationrequest.md
+docs/models/operations/getreconciliationresponse.md
+docs/models/operations/listpoliciesrequest.md
+docs/models/operations/listpoliciesresponse.md
+docs/models/operations/listreconciliationsrequest.md
+docs/models/operations/listreconciliationsresponse.md
+docs/models/operations/reconcilerequest.md
+docs/models/operations/reconcileresponse.md
+docs/models/operations/reconciliationgetserverinforesponse.md
+docs/models/operations/searchresponse.md
+docs/models/operations/searchgetserverinforesponse.md
+docs/models/operations/confirmholdrequest.md
+docs/models/operations/confirmholdresponse.md
+docs/models/operations/createbalancerequest.md
+docs/models/operations/createbalanceresponse.md
+docs/models/operations/createwalletresponse.md
+docs/models/operations/creditwalletrequest.md
+docs/models/operations/creditwalletresponse.md
+docs/models/operations/debitwalletrequest.md
+docs/models/operations/debitwalletresponse.md
+docs/models/operations/getbalancerequest.md
+docs/models/operations/getbalanceresponse.md
+docs/models/operations/getholdrequest.md
+docs/models/operations/getholdresponse.md
+docs/models/operations/getholdsrequest.md
+docs/models/operations/getholdsresponse.md
+docs/models/operations/gettransactionsrequest.md
+docs/models/operations/gettransactionsresponse.md
+docs/models/operations/getwalletrequest.md
+docs/models/operations/getwalletresponse.md
+docs/models/operations/getwalletsummaryrequest.md
+docs/models/operations/getwalletsummaryresponse.md
+docs/models/operations/listbalancesrequest.md
+docs/models/operations/listbalancesresponse.md
+docs/models/operations/listwalletsrequest.md
+docs/models/operations/listwalletsresponse.md
+docs/models/operations/updatewalletrequestbody.md
+docs/models/operations/updatewalletrequest.md
+docs/models/operations/updatewalletresponse.md
+docs/models/operations/voidholdrequest.md
+docs/models/operations/voidholdresponse.md
+docs/models/operations/walletsgetserverinforesponse.md
+docs/models/operations/activateconfigrequest.md
+docs/models/operations/activateconfigresponse.md
+docs/models/operations/changeconfigsecretrequest.md
+docs/models/operations/changeconfigsecretresponse.md
+docs/models/operations/deactivateconfigrequest.md
+docs/models/operations/deactivateconfigresponse.md
+docs/models/operations/deleteconfigrequest.md
+docs/models/operations/deleteconfigresponse.md
+docs/models/operations/getmanyconfigsrequest.md
+docs/models/operations/getmanyconfigsresponse.md
+docs/models/operations/insertconfigresponse.md
+docs/models/operations/testconfigrequest.md
+docs/models/operations/testconfigresponse.md
+docs/models/operations/getversionsresponse.md
+docs/models/operations/getapiauthwellknownopenidconfigurationresponse.md
+docs/models/shared/createclientresponse.md
+docs/models/shared/client.md
+docs/models/shared/clientsecret.md
+docs/models/shared/createclientrequest.md
+docs/models/shared/createsecretresponse.md
+docs/models/shared/secret.md
+docs/models/shared/createsecretrequest.md
+docs/models/shared/serverinfo.md
+docs/models/shared/listclientsresponse.md
+docs/models/shared/listusersresponse.md
+docs/models/shared/user.md
+docs/models/shared/readclientresponse.md
+docs/models/shared/readuserresponse.md
+docs/models/shared/updateclientresponse.md
+docs/models/shared/updateclientrequest.md
+docs/models/shared/errorresponse.md
+docs/models/shared/errorsenum.md
+docs/models/shared/bulkresponse.md
+docs/models/shared/bulkelementresultbulkelementresulterror.md
+docs/models/shared/bulkelementresultbulkelementresultdeletemetadata.md
+docs/models/shared/bulkelementresultbulkelementresultreverttransaction.md
+docs/models/shared/bulkelementresultbulkelementresultaddmetadata.md
+docs/models/shared/bulkelementresultbulkelementresultcreatetransaction.md
+docs/models/shared/bulkelementresult.md
+docs/models/shared/transaction.md
+docs/models/shared/posting.md
+docs/models/shared/bulkelementbulkelementdeletemetadatadata.md
+docs/models/shared/bulkelementbulkelementdeletemetadata.md
+docs/models/shared/bulkelementbulkelementreverttransactiondata.md
+docs/models/shared/bulkelementbulkelementreverttransaction.md
+docs/models/shared/bulkelementbulkelementaddmetadatadata.md
+docs/models/shared/bulkelementbulkelementaddmetadata.md
+docs/models/shared/bulkelementbulkelementcreatetransaction.md
+docs/models/shared/bulkelement.md
+docs/models/shared/posttransactionscript.md
+docs/models/shared/posttransaction.md
+docs/models/shared/targettype.md
+docs/models/shared/targetid.md
+docs/models/shared/createtransactionresponse.md
+docs/models/shared/accountresponse.md
+docs/models/shared/account.md
+docs/models/shared/volume.md
+docs/models/shared/aggregatebalancesresponse.md
+docs/models/shared/configinforesponse.md
+docs/models/shared/ledgerinforesponse.md
+docs/models/shared/ledgerinfostorage.md
+docs/models/shared/ledgerinfo.md
+docs/models/shared/migrationinfostate.md
+docs/models/shared/migrationinfo.md
+docs/models/shared/gettransactionresponse.md
+docs/models/shared/expandedtransaction.md
+docs/models/shared/accountscursorresponsecursor.md
+docs/models/shared/accountscursorresponse.md
+docs/models/shared/logscursorresponsecursor.md
+docs/models/shared/logscursorresponse.md
+docs/models/shared/logtype.md
+docs/models/shared/log.md
+docs/models/shared/transactionscursorresponsecursor.md
+docs/models/shared/transactionscursorresponse.md
+docs/models/shared/statsresponse.md
+docs/models/shared/stats.md
+docs/models/shared/reverttransactionresponse.md
+docs/models/shared/createledgerrequest.md
+docs/models/shared/ledger.md
+docs/models/shared/ledgerlistresponsecursor.md
+docs/models/shared/ledgerlistresponse.md
+docs/models/shared/errorerrorcode.md
+docs/models/shared/error.md
+docs/models/shared/createtriggerresponse.md
+docs/models/shared/trigger.md
+docs/models/shared/triggerdata.md
+docs/models/shared/createworkflowresponse.md
+docs/models/shared/workflow.md
+docs/models/shared/workflowconfig.md
+docs/models/shared/createworkflowrequest.md
+docs/models/shared/getworkflowinstanceresponse.md
+docs/models/shared/workflowinstance.md
+docs/models/shared/stagestatus.md
+docs/models/shared/getworkflowinstancehistoryresponse.md
+docs/models/shared/workflowinstancehistory.md
+docs/models/shared/stage.md
+docs/models/shared/stagesend.md
+docs/models/shared/stagesendsource.md
+docs/models/shared/stagesendsourcewallet.md
+docs/models/shared/stagesendsourcepayment.md
+docs/models/shared/stagesendsourceaccount.md
+docs/models/shared/stagesenddestination.md
+docs/models/shared/stagesenddestinationwallet.md
+docs/models/shared/stagesenddestinationpayment.md
+docs/models/shared/stagesenddestinationaccount.md
+docs/models/shared/monetary.md
+docs/models/shared/stagedelay.md
+docs/models/shared/stagewaitevent.md
+docs/models/shared/getworkflowinstancehistorystageresponse.md
+docs/models/shared/workflowinstancehistorystage.md
+docs/models/shared/workflowinstancehistorystageoutput.md
+docs/models/shared/activityreverttransactionoutput.md
+docs/models/shared/activitygetwalletoutput.md
+docs/models/shared/walletwithbalancesbalances.md
+docs/models/shared/walletwithbalances.md
+docs/models/shared/assetholder.md
+docs/models/shared/activitygetpaymentoutput.md
+docs/models/shared/orchestrationpaymentraw.md
+docs/models/shared/orchestrationpaymentscheme.md
+docs/models/shared/orchestrationpaymenttype.md
+docs/models/shared/orchestrationpayment.md
+docs/models/shared/paymentstatus.md
+docs/models/shared/orchestrationconnector.md
+docs/models/shared/orchestrationpaymentmetadata.md
+docs/models/shared/paymentadjustmentraw.md
+docs/models/shared/paymentadjustment.md
+docs/models/shared/activitygetaccountoutput.md
+docs/models/shared/activitydebitwalletoutput.md
+docs/models/shared/hold.md
+docs/models/shared/subject.md
+docs/models/shared/ledgeraccountsubject.md
+docs/models/shared/walletsubject.md
+docs/models/shared/activitycreatetransactionoutput.md
+docs/models/shared/workflowinstancehistorystageinput.md
+docs/models/shared/activityvoidhold.md
+docs/models/shared/activitystripetransfermetadata.md
+docs/models/shared/activitystripetransfer.md
+docs/models/shared/activityreverttransaction.md
+docs/models/shared/activitygetwallet.md
+docs/models/shared/activitygetpayment.md
+docs/models/shared/activitygetaccount.md
+docs/models/shared/activitydebitwallet.md
+docs/models/shared/debitwalletrequest.md
+docs/models/shared/activitycreditwallet.md
+docs/models/shared/creditwalletrequest.md
+docs/models/shared/activitycreatetransaction.md
+docs/models/shared/activityconfirmhold.md
+docs/models/shared/getworkflowresponse.md
+docs/models/shared/listrunsresponse.md
+docs/models/shared/listtriggersresponse.md
+docs/models/shared/listtriggersoccurrencesresponse.md
+docs/models/shared/triggeroccurrence.md
+docs/models/shared/listworkflowsresponse.md
+docs/models/shared/readtriggerresponse.md
+docs/models/shared/runworkflowresponse.md
+docs/models/shared/addaccounttopoolrequest.md
+docs/models/shared/transferresponse.md
+docs/models/shared/connector.md
+docs/models/shared/transferrequest.md
+docs/models/shared/bankaccountresponse.md
+docs/models/shared/bankaccount.md
+docs/models/shared/bankaccountrequest.md
+docs/models/shared/paymentresponse.md
+docs/models/shared/paymentraw.md
+docs/models/shared/payment.md
+docs/models/shared/paymenttype.md
+docs/models/shared/paymentscheme.md
+docs/models/shared/paymentrequest.md
+docs/models/shared/poolresponse.md
+docs/models/shared/pool.md
+docs/models/shared/poolrequest.md
+docs/models/shared/transferinitiationresponse.md
+docs/models/shared/transferinitiationtype.md
+docs/models/shared/transferinitiation.md
+docs/models/shared/transferinitiationstatus.md
+docs/models/shared/transferinitiationpayments.md
+docs/models/shared/transferinitiationrequesttype.md
+docs/models/shared/transferinitiationrequest.md
+docs/models/shared/balancescursorcursor.md
+docs/models/shared/balancescursor.md
+docs/models/shared/accountbalance.md
+docs/models/shared/taskresponsedata.md
+docs/models/shared/taskresponse.md
+docs/models/shared/taskstripedescriptor.md
+docs/models/shared/taskstripestate.md
+docs/models/shared/taskstripe.md
+docs/models/shared/taskwisedescriptor.md
+docs/models/shared/taskwisestate.md
+docs/models/shared/taskwise.md
+docs/models/shared/taskcurrencyclouddescriptor.md
+docs/models/shared/taskcurrencycloudstate.md
+docs/models/shared/taskcurrencycloud.md
+docs/models/shared/taskdummypaydescriptor.md
+docs/models/shared/taskdummypaystate.md
+docs/models/shared/taskdummypay.md
+docs/models/shared/taskmodulrdescriptor.md
+docs/models/shared/taskmodulrstate.md
+docs/models/shared/taskmodulr.md
+docs/models/shared/taskbankingcircledescriptor.md
+docs/models/shared/taskbankingcirclestate.md
+docs/models/shared/taskbankingcircle.md
+docs/models/shared/taskmangopaydescriptor.md
+docs/models/shared/taskmangopaystate.md
+docs/models/shared/taskmangopay.md
+docs/models/shared/taskmoneycorpdescriptor.md
+docs/models/shared/taskmoneycorpstate.md
+docs/models/shared/taskmoneycorp.md
+docs/models/shared/poolbalancesresponse.md
+docs/models/shared/poolbalances.md
+docs/models/shared/poolbalance.md
+docs/models/shared/connectorresponsedata.md
+docs/models/shared/connectorresponse.md
+docs/models/shared/connectorconfig.md
+docs/models/shared/stripeconfig.md
+docs/models/shared/dummypayconfig.md
+docs/models/shared/wiseconfig.md
+docs/models/shared/modulrconfig.md
+docs/models/shared/currencycloudconfig.md
+docs/models/shared/bankingcircleconfig.md
+docs/models/shared/mangopayconfig.md
+docs/models/shared/moneycorpconfig.md
+docs/models/shared/atlarconfig.md
+docs/models/shared/connectorsresponsedata.md
+docs/models/shared/connectorsresponse.md
+docs/models/shared/bankaccountscursorcursor.md
+docs/models/shared/bankaccountscursor.md
+docs/models/shared/connectorsconfigsresponsedataconnectorkey.md
+docs/models/shared/connectorsconfigsresponsedataconnector.md
+docs/models/shared/connectorsconfigsresponsedata.md
+docs/models/shared/connectorsconfigsresponse.md
+docs/models/shared/taskscursorcursordata.md
+docs/models/shared/taskscursorcursor.md
+docs/models/shared/taskscursor.md
+docs/models/shared/paymentscursorcursor.md
+docs/models/shared/paymentscursor.md
+docs/models/shared/poolscursorcursor.md
+docs/models/shared/poolscursor.md
+docs/models/shared/transferinitiationscursorcursor.md
+docs/models/shared/transferinitiationscursor.md
+docs/models/shared/paymentsaccountresponse.md
+docs/models/shared/paymentsaccountraw.md
+docs/models/shared/paymentsaccount.md
+docs/models/shared/accountscursorcursor.md
+docs/models/shared/accountscursor.md
+docs/models/shared/connectorconfigresponse.md
+docs/models/shared/updatetransferinitiationstatusrequeststatus.md
+docs/models/shared/updatetransferinitiationstatusrequest.md
+docs/models/shared/reconciliationerrorresponse.md
+docs/models/shared/policyresponse.md
+docs/models/shared/policy.md
+docs/models/shared/policyrequest.md
+docs/models/shared/reconciliationresponse.md
+docs/models/shared/reconciliation.md
+docs/models/shared/policiescursorresponsecursor.md
+docs/models/shared/policiescursorresponse.md
+docs/models/shared/reconciliationscursorresponsecursor.md
+docs/models/shared/reconciliationscursorresponse.md
+docs/models/shared/reconciliationrequest.md
+docs/models/shared/responsecursortotal.md
+docs/models/shared/responsecursor.md
+docs/models/shared/response.md
+docs/models/shared/queryraw.md
+docs/models/shared/query.md
+docs/models/shared/walletserrorresponseerrorcode.md
+docs/models/shared/walletserrorresponse.md
+docs/models/shared/confirmholdrequest.md
+docs/models/shared/createbalanceresponse.md
+docs/models/shared/balance.md
+docs/models/shared/createbalancerequest.md
+docs/models/shared/createwalletresponse.md
+docs/models/shared/wallet.md
+docs/models/shared/createwalletrequest.md
+docs/models/shared/debitwalletresponse.md
+docs/models/shared/getbalanceresponse.md
+docs/models/shared/balancewithassets.md
+docs/models/shared/getholdresponse.md
+docs/models/shared/expandeddebithold.md
+docs/models/shared/getholdsresponsecursor.md
+docs/models/shared/getholdsresponse.md
+docs/models/shared/gettransactionsresponsecursor.md
+docs/models/shared/gettransactionsresponse.md
+docs/models/shared/walletstransaction.md
+docs/models/shared/walletsvolume.md
+docs/models/shared/getwalletresponse.md
+docs/models/shared/getwalletsummaryresponse.md
+docs/models/shared/listbalancesresponsecursor.md
+docs/models/shared/listbalancesresponse.md
+docs/models/shared/listwalletsresponsecursor.md
+docs/models/shared/listwalletsresponse.md
+docs/models/shared/webhookserrorresponse.md
+docs/models/shared/webhookserrorsenum.md
+docs/models/shared/configresponse.md
+docs/models/shared/webhooksconfig.md
+docs/models/shared/configchangesecret.md
+docs/models/shared/configsresponsecursor.md
+docs/models/shared/configsresponse.md
+docs/models/shared/configuser.md
+docs/models/shared/attemptresponse.md
+docs/models/shared/attempt.md
+docs/models/shared/getversionsresponse.md
+docs/models/shared/version.md
+docs/sdks/formance/README.md
+docs/sdks/auth/README.md
+docs/sdks/ledger/README.md
+docs/sdks/ledgerv2/README.md
+docs/sdks/orchestration/README.md
+docs/sdks/payments/README.md
+docs/sdks/reconciliation/README.md
+docs/sdks/search/README.md
+docs/sdks/wallets/README.md
+docs/sdks/webhooks/README.md
+.gitattributes
\ No newline at end of file
diff --git a/libs/clients/go/formance.go b/libs/clients/go/formance.go
new file mode 100755
index 0000000000..6c40e38a87
--- /dev/null
+++ b/libs/clients/go/formance.go
@@ -0,0 +1,275 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package formancesdkgo
+
+import (
+ "bytes"
+ "context"
+ "fmt"
+ "github.com/formancehq/formance-sdk-go/pkg/models/operations"
+ "github.com/formancehq/formance-sdk-go/pkg/models/sdkerrors"
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "io"
+ "net/http"
+ "strings"
+ "time"
+)
+
+// ServerList contains the list of servers available to the SDK
+var ServerList = []string{
+ // local server
+ "http://localhost",
+}
+
+// HTTPClient provides an interface for suplying the SDK with a custom HTTP client
+type HTTPClient interface {
+ Do(req *http.Request) (*http.Response, error)
+}
+
+// String provides a helper function to return a pointer to a string
+func String(s string) *string { return &s }
+
+// Bool provides a helper function to return a pointer to a bool
+func Bool(b bool) *bool { return &b }
+
+// Int provides a helper function to return a pointer to an int
+func Int(i int) *int { return &i }
+
+// Int64 provides a helper function to return a pointer to an int64
+func Int64(i int64) *int64 { return &i }
+
+// Float32 provides a helper function to return a pointer to a float32
+func Float32(f float32) *float32 { return &f }
+
+// Float64 provides a helper function to return a pointer to a float64
+func Float64(f float64) *float64 { return &f }
+
+type sdkConfiguration struct {
+ DefaultClient HTTPClient
+ SecurityClient HTTPClient
+
+ ServerURL string
+ ServerIndex int
+ Language string
+ OpenAPIDocVersion string
+ SDKVersion string
+ GenVersion string
+ UserAgent string
+ RetryConfig *utils.RetryConfig
+}
+
+func (c *sdkConfiguration) GetServerDetails() (string, map[string]string) {
+ if c.ServerURL != "" {
+ return c.ServerURL, nil
+ }
+
+ return ServerList[c.ServerIndex], nil
+}
+
+// Formance Stack API: Open, modular foundation for unique payments flows
+//
+// # Introduction
+// This API is documented in **OpenAPI format**.
+//
+// # Authentication
+// Formance Stack offers one forms of authentication:
+// - OAuth2
+//
+// OAuth2 - an open protocol to allow secure authorization in a simple
+// and standard method from web, mobile and desktop applications.
+//
+type Formance struct {
+ Auth *auth
+ Ledger *ledger
+ Orchestration *orchestration
+ Payments *payments
+ Reconciliation *reconciliation
+ Search *search
+ Wallets *wallets
+ Webhooks *webhooks
+
+ sdkConfiguration sdkConfiguration
+}
+
+type SDKOption func(*Formance)
+
+// WithServerURL allows the overriding of the default server URL
+func WithServerURL(serverURL string) SDKOption {
+ return func(sdk *Formance) {
+ sdk.sdkConfiguration.ServerURL = serverURL
+ }
+}
+
+// WithTemplatedServerURL allows the overriding of the default server URL with a templated URL populated with the provided parameters
+func WithTemplatedServerURL(serverURL string, params map[string]string) SDKOption {
+ return func(sdk *Formance) {
+ if params != nil {
+ serverURL = utils.ReplaceParameters(serverURL, params)
+ }
+
+ sdk.sdkConfiguration.ServerURL = serverURL
+ }
+}
+
+// WithServerIndex allows the overriding of the default server by index
+func WithServerIndex(serverIndex int) SDKOption {
+ return func(sdk *Formance) {
+ if serverIndex < 0 || serverIndex >= len(ServerList) {
+ panic(fmt.Errorf("server index %d out of range", serverIndex))
+ }
+
+ sdk.sdkConfiguration.ServerIndex = serverIndex
+ }
+}
+
+// WithClient allows the overriding of the default HTTP client used by the SDK
+func WithClient(client HTTPClient) SDKOption {
+ return func(sdk *Formance) {
+ sdk.sdkConfiguration.DefaultClient = client
+ }
+}
+
+func WithRetryConfig(retryConfig utils.RetryConfig) SDKOption {
+ return func(sdk *Formance) {
+ sdk.sdkConfiguration.RetryConfig = &retryConfig
+ }
+}
+
+// New creates a new instance of the SDK with the provided options
+func New(opts ...SDKOption) *Formance {
+ sdk := &Formance{
+ sdkConfiguration: sdkConfiguration{
+ Language: "go",
+ OpenAPIDocVersion: "v1.0.${VERSION}",
+ SDKVersion: "v0.1.0",
+ GenVersion: "2.173.0",
+ UserAgent: "speakeasy-sdk/go v0.1.0 2.173.0 v1.0.${VERSION} github.com/formancehq/formance-sdk-go",
+ },
+ }
+ for _, opt := range opts {
+ opt(sdk)
+ }
+
+ // Use WithClient to override the default client if you would like to customize the timeout
+ if sdk.sdkConfiguration.DefaultClient == nil {
+ sdk.sdkConfiguration.DefaultClient = &http.Client{Timeout: 60 * time.Second}
+ }
+ if sdk.sdkConfiguration.SecurityClient == nil {
+ sdk.sdkConfiguration.SecurityClient = sdk.sdkConfiguration.DefaultClient
+ }
+
+ sdk.Auth = newAuth(sdk.sdkConfiguration)
+
+ sdk.Ledger = newLedger(sdk.sdkConfiguration)
+
+ sdk.Orchestration = newOrchestration(sdk.sdkConfiguration)
+
+ sdk.Payments = newPayments(sdk.sdkConfiguration)
+
+ sdk.Reconciliation = newReconciliation(sdk.sdkConfiguration)
+
+ sdk.Search = newSearch(sdk.sdkConfiguration)
+
+ sdk.Wallets = newWallets(sdk.sdkConfiguration)
+
+ sdk.Webhooks = newWebhooks(sdk.sdkConfiguration)
+
+ return sdk
+}
+
+// GetVersions - Show stack version information
+func (s *Formance) GetVersions(ctx context.Context) (*operations.GetVersionsResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/versions"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetVersionsResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.GetVersionsResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.GetVersionsResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+func (s *Formance) GetAPIAuthWellKnownOpenidConfiguration(ctx context.Context) (*operations.GetAPIAuthWellKnownOpenidConfigurationResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/auth/.well-known/openid-configuration"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "*/*")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetAPIAuthWellKnownOpenidConfigurationResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ }
+
+ return res, nil
+}
diff --git a/openapi/templates/go/gen.yaml b/libs/clients/go/gen.yaml
similarity index 76%
rename from openapi/templates/go/gen.yaml
rename to libs/clients/go/gen.yaml
index 38ab0d3888..69019a0407 100755
--- a/openapi/templates/go/gen.yaml
+++ b/libs/clients/go/gen.yaml
@@ -5,14 +5,15 @@ generation:
telemetryEnabled: false
features:
go:
- core: 2.88.0
+ constsAndDefaults: 0.1.1
+ core: 2.94.0
deprecations: 2.81.1
getRequestBodies: 2.81.1
- globalSecurity: 2.81.1
globalServerURLs: 2.82.0
- unions: 2.82.0
+ unions: 2.84.1
go:
version: v0.1.0
author: Formance
+ flattenGlobalSecurity: false
maxMethodParams: 0
packageName: github.com/formancehq/formance-sdk-go
diff --git a/libs/clients/go/go.mod b/libs/clients/go/go.mod
new file mode 100755
index 0000000000..2d2500566f
--- /dev/null
+++ b/libs/clients/go/go.mod
@@ -0,0 +1,10 @@
+module github.com/formancehq/formance-sdk-go
+
+go 1.14
+
+require (
+ github.com/cenkalti/backoff/v4 v4.2.0
+ github.com/ericlagergren/decimal v0.0.0-20221120152707-495c53812d05
+ github.com/mitchellh/mapstructure v1.5.0
+ github.com/spyzhov/ajson v0.8.0
+)
diff --git a/libs/clients/go/go.sum b/libs/clients/go/go.sum
new file mode 100755
index 0000000000..ae03a472af
--- /dev/null
+++ b/libs/clients/go/go.sum
@@ -0,0 +1,8 @@
+github.com/cenkalti/backoff/v4 v4.2.0 h1:HN5dHm3WBOgndBH6E8V0q2jIYIR3s9yglV8k/+MN3u4=
+github.com/cenkalti/backoff/v4 v4.2.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
+github.com/ericlagergren/decimal v0.0.0-20221120152707-495c53812d05 h1:S92OBrGuLLZsyM5ybUzgc/mPjIYk2AZqufieooe98uw=
+github.com/ericlagergren/decimal v0.0.0-20221120152707-495c53812d05/go.mod h1:M9R1FoZ3y//hwwnJtO51ypFGwm8ZfpxPT/ZLtO1mcgQ=
+github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
+github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
+github.com/spyzhov/ajson v0.8.0 h1:sFXyMbi4Y/BKjrsfkUZHSjA2JM1184enheSjjoT/zCc=
+github.com/spyzhov/ajson v0.8.0/go.mod h1:63V+CGM6f1Bu/p4nLIN8885ojBdt88TbLoSFzyqMuVA=
diff --git a/libs/clients/go/ledger.go b/libs/clients/go/ledger.go
new file mode 100755
index 0000000000..2a0bf43fff
--- /dev/null
+++ b/libs/clients/go/ledger.go
@@ -0,0 +1,233 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package formancesdkgo
+
+import (
+ "bytes"
+ "context"
+ "fmt"
+ "github.com/formancehq/formance-sdk-go/pkg/models/operations"
+ "github.com/formancehq/formance-sdk-go/pkg/models/sdkerrors"
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "io"
+ "net/http"
+ "strings"
+)
+
+type ledger struct {
+ V2 *ledgerV2
+
+ sdkConfiguration sdkConfiguration
+}
+
+func newLedger(sdkConfig sdkConfiguration) *ledger {
+ return &ledger{
+ sdkConfiguration: sdkConfig,
+ V2: newLedgerV2(sdkConfig),
+ }
+}
+
+// CreateLedger - Create a ledger
+func (s *ledger) CreateLedger(ctx context.Context, request operations.CreateLedgerRequest) (*operations.CreateLedgerResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/ledger/v2/{ledger}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "CreateLedgerRequest", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.CreateLedgerResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// GetLedger - Get a ledger
+func (s *ledger) GetLedger(ctx context.Context, request operations.GetLedgerRequest) (*operations.GetLedgerResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/ledger/v2/{ledger}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetLedgerResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.Ledger
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.Ledger = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ListLedgers - List ledgers
+func (s *ledger) ListLedgers(ctx context.Context, request operations.ListLedgersRequest) (*operations.ListLedgersResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/ledger/v2"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ListLedgersResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.LedgerListResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.LedgerListResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
diff --git a/libs/clients/go/ledgerv2.go b/libs/clients/go/ledgerv2.go
new file mode 100755
index 0000000000..8a22df6241
--- /dev/null
+++ b/libs/clients/go/ledgerv2.go
@@ -0,0 +1,1317 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package formancesdkgo
+
+import (
+ "bytes"
+ "context"
+ "fmt"
+ "github.com/formancehq/formance-sdk-go/pkg/models/operations"
+ "github.com/formancehq/formance-sdk-go/pkg/models/sdkerrors"
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "io"
+ "net/http"
+ "strings"
+)
+
+type ledgerV2 struct {
+ sdkConfiguration sdkConfiguration
+}
+
+func newLedgerV2(sdkConfig sdkConfiguration) *ledgerV2 {
+ return &ledgerV2{
+ sdkConfiguration: sdkConfig,
+ }
+}
+
+// AddMetadataOnTransaction - Set the metadata of a transaction by its ID
+func (s *ledgerV2) AddMetadataOnTransaction(ctx context.Context, request operations.AddMetadataOnTransactionRequest) (*operations.AddMetadataOnTransactionResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/ledger/v2/{ledger}/transactions/{id}/metadata", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "RequestBody", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ utils.PopulateHeaders(ctx, req, request)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.AddMetadataOnTransactionResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// AddMetadataToAccount - Add metadata to an account
+func (s *ledgerV2) AddMetadataToAccount(ctx context.Context, request operations.AddMetadataToAccountRequest) (*operations.AddMetadataToAccountResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/ledger/v2/{ledger}/accounts/{address}/metadata", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "RequestBody", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+ if bodyReader == nil {
+ return nil, fmt.Errorf("request body is required")
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ utils.PopulateHeaders(ctx, req, request)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.AddMetadataToAccountResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// CountAccounts - Count the accounts from a ledger
+func (s *ledgerV2) CountAccounts(ctx context.Context, request operations.CountAccountsRequest) (*operations.CountAccountsResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/ledger/v2/{ledger}/accounts", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "RequestBody", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "HEAD", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.CountAccountsResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ res.Headers = httpRes.Header
+
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// CountTransactions - Count the transactions from a ledger
+func (s *ledgerV2) CountTransactions(ctx context.Context, request operations.CountTransactionsRequest) (*operations.CountTransactionsResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/ledger/v2/{ledger}/transactions", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "RequestBody", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "HEAD", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.CountTransactionsResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ res.Headers = httpRes.Header
+
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// CreateBulk - Bulk request
+func (s *ledgerV2) CreateBulk(ctx context.Context, request operations.CreateBulkRequest) (*operations.CreateBulkResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/ledger/v2/{ledger}/_bulk", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "RequestBody", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.CreateBulkResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ fallthrough
+ case httpRes.StatusCode == 400:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.BulkResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.BulkResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// CreateTransaction - Create a new transaction to a ledger
+func (s *ledgerV2) CreateTransaction(ctx context.Context, request operations.CreateTransactionRequest) (*operations.CreateTransactionResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/ledger/v2/{ledger}/transactions", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "PostTransaction", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+ if bodyReader == nil {
+ return nil, fmt.Errorf("request body is required")
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ utils.PopulateHeaders(ctx, req, request)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.CreateTransactionResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.CreateTransactionResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.CreateTransactionResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// DeleteAccountMetadata - Delete metadata by key
+// Delete metadata by key
+func (s *ledgerV2) DeleteAccountMetadata(ctx context.Context, request operations.DeleteAccountMetadataRequest) (*operations.DeleteAccountMetadataResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/ledger/v2/{ledger}/accounts/{address}/metadata/{key}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "*/*")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.DeleteAccountMetadataResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode >= 200 && httpRes.StatusCode < 300:
+ }
+
+ return res, nil
+}
+
+// DeleteTransactionMetadata - Delete metadata by key
+// Delete metadata by key
+func (s *ledgerV2) DeleteTransactionMetadata(ctx context.Context, request operations.DeleteTransactionMetadataRequest) (*operations.DeleteTransactionMetadataResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/ledger/v2/{ledger}/transactions/{id}/metadata/{key}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "*/*")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.DeleteTransactionMetadataResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode >= 200 && httpRes.StatusCode < 300:
+ }
+
+ return res, nil
+}
+
+// GetAccount - Get account by its address
+func (s *ledgerV2) GetAccount(ctx context.Context, request operations.GetAccountRequest) (*operations.GetAccountResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/ledger/v2/{ledger}/accounts/{address}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetAccountResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.AccountResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.AccountResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// GetBalancesAggregated - Get the aggregated balances from selected accounts
+func (s *ledgerV2) GetBalancesAggregated(ctx context.Context, request operations.GetBalancesAggregatedRequest) (*operations.GetBalancesAggregatedResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/ledger/v2/{ledger}/aggregate/balances", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "RequestBody", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetBalancesAggregatedResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.AggregateBalancesResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.AggregateBalancesResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// GetInfo - Show server information
+func (s *ledgerV2) GetInfo(ctx context.Context) (*operations.GetInfoResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/ledger/v2/_info"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetInfoResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ConfigInfoResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ConfigInfoResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// GetLedgerInfo - Get information about a ledger
+func (s *ledgerV2) GetLedgerInfo(ctx context.Context, request operations.GetLedgerInfoRequest) (*operations.GetLedgerInfoResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/ledger/v2/{ledger}/_info", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetLedgerInfoResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.LedgerInfoResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.LedgerInfoResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// GetTransaction - Get transaction from a ledger by its ID
+func (s *ledgerV2) GetTransaction(ctx context.Context, request operations.GetTransactionRequest) (*operations.GetTransactionResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/ledger/v2/{ledger}/transactions/{id}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetTransactionResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.GetTransactionResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.GetTransactionResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ListAccounts - List accounts from a ledger
+// List accounts from a ledger, sorted by address in descending order.
+func (s *ledgerV2) ListAccounts(ctx context.Context, request operations.ListAccountsRequest) (*operations.ListAccountsResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/ledger/v2/{ledger}/accounts", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "RequestBody", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ListAccountsResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.AccountsCursorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.AccountsCursorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ListLogs - List the logs from a ledger
+// List the logs from a ledger, sorted by ID in descending order.
+func (s *ledgerV2) ListLogs(ctx context.Context, request operations.ListLogsRequest) (*operations.ListLogsResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/ledger/v2/{ledger}/logs", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "RequestBody", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ListLogsResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.LogsCursorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.LogsCursorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ListTransactions - List transactions from a ledger
+// List transactions from a ledger, sorted by id in descending order.
+func (s *ledgerV2) ListTransactions(ctx context.Context, request operations.ListTransactionsRequest) (*operations.ListTransactionsResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/ledger/v2/{ledger}/transactions", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "RequestBody", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ListTransactionsResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.TransactionsCursorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.TransactionsCursorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ReadStats - Get statistics from a ledger
+// Get statistics from a ledger. (aggregate metrics on accounts and transactions)
+func (s *ledgerV2) ReadStats(ctx context.Context, request operations.ReadStatsRequest) (*operations.ReadStatsResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/ledger/v2/{ledger}/stats", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ReadStatsResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.StatsResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.StatsResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// RevertTransaction - Revert a ledger transaction by its ID
+func (s *ledgerV2) RevertTransaction(ctx context.Context, request operations.RevertTransactionRequest) (*operations.RevertTransactionResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/ledger/v2/{ledger}/transactions/{id}/revert", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.RevertTransactionResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 201:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.RevertTransactionResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.RevertTransactionResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
diff --git a/libs/clients/go/orchestration.go b/libs/clients/go/orchestration.go
new file mode 100755
index 0000000000..3023f9d4a9
--- /dev/null
+++ b/libs/clients/go/orchestration.go
@@ -0,0 +1,1189 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package formancesdkgo
+
+import (
+ "bytes"
+ "context"
+ "fmt"
+ "github.com/formancehq/formance-sdk-go/pkg/models/operations"
+ "github.com/formancehq/formance-sdk-go/pkg/models/sdkerrors"
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "io"
+ "net/http"
+ "strings"
+)
+
+type orchestration struct {
+ sdkConfiguration sdkConfiguration
+}
+
+func newOrchestration(sdkConfig sdkConfiguration) *orchestration {
+ return &orchestration{
+ sdkConfiguration: sdkConfig,
+ }
+}
+
+// CancelEvent - Cancel a running workflow
+// Cancel a running workflow
+func (s *orchestration) CancelEvent(ctx context.Context, request operations.CancelEventRequest) (*operations.CancelEventResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/orchestration/instances/{instanceID}/abort", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "PUT", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.CancelEventResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.Error
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.Error = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// CreateTrigger - Create trigger
+// Create trigger
+func (s *orchestration) CreateTrigger(ctx context.Context, request *shared.TriggerData) (*operations.CreateTriggerResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/orchestration/triggers"
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "Request", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.CreateTriggerResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 201:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.CreateTriggerResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.CreateTriggerResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.Error
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.Error = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// CreateWorkflow - Create workflow
+// Create a workflow
+func (s *orchestration) CreateWorkflow(ctx context.Context, request *shared.CreateWorkflowRequest) (*operations.CreateWorkflowResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/orchestration/workflows"
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "Request", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.CreateWorkflowResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 201:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.CreateWorkflowResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.CreateWorkflowResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.Error
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.Error = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// DeleteTrigger - Delete trigger
+// Read trigger
+func (s *orchestration) DeleteTrigger(ctx context.Context, request operations.DeleteTriggerRequest) (*operations.DeleteTriggerResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/orchestration/triggers/{triggerID}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.DeleteTriggerResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.Error
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.Error = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// DeleteWorkflow - Delete a flow by id
+// Delete a flow by id
+func (s *orchestration) DeleteWorkflow(ctx context.Context, request operations.DeleteWorkflowRequest) (*operations.DeleteWorkflowResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/orchestration/workflows/{flowId}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.DeleteWorkflowResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.Error
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.Error = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// GetInstance - Get a workflow instance by id
+// Get a workflow instance by id
+func (s *orchestration) GetInstance(ctx context.Context, request operations.GetInstanceRequest) (*operations.GetInstanceResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/orchestration/instances/{instanceID}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetInstanceResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.GetWorkflowInstanceResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.GetWorkflowInstanceResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.Error
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.Error = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// GetInstanceHistory - Get a workflow instance history by id
+// Get a workflow instance history by id
+func (s *orchestration) GetInstanceHistory(ctx context.Context, request operations.GetInstanceHistoryRequest) (*operations.GetInstanceHistoryResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/orchestration/instances/{instanceID}/history", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetInstanceHistoryResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.GetWorkflowInstanceHistoryResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.GetWorkflowInstanceHistoryResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.Error
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.Error = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// GetInstanceStageHistory - Get a workflow instance stage history
+// Get a workflow instance stage history
+func (s *orchestration) GetInstanceStageHistory(ctx context.Context, request operations.GetInstanceStageHistoryRequest) (*operations.GetInstanceStageHistoryResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/orchestration/instances/{instanceID}/stages/{number}/history", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetInstanceStageHistoryResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.GetWorkflowInstanceHistoryStageResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.GetWorkflowInstanceHistoryStageResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.Error
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.Error = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// GetWorkflow - Get a flow by id
+// Get a flow by id
+func (s *orchestration) GetWorkflow(ctx context.Context, request operations.GetWorkflowRequest) (*operations.GetWorkflowResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/orchestration/workflows/{flowId}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetWorkflowResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.GetWorkflowResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.GetWorkflowResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.Error
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.Error = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ListInstances - List instances of a workflow
+// List instances of a workflow
+func (s *orchestration) ListInstances(ctx context.Context, request operations.ListInstancesRequest) (*operations.ListInstancesResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/orchestration/instances"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ListInstancesResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ListRunsResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ListRunsResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.Error
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.Error = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ListTriggers - List triggers
+// List triggers
+func (s *orchestration) ListTriggers(ctx context.Context) (*operations.ListTriggersResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/orchestration/triggers"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ListTriggersResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ListTriggersResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ListTriggersResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.Error
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.Error = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ListTriggersOccurrences - List triggers occurrences
+// List triggers occurrences
+func (s *orchestration) ListTriggersOccurrences(ctx context.Context, request operations.ListTriggersOccurrencesRequest) (*operations.ListTriggersOccurrencesResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/orchestration/triggers/{triggerID}/occurrences", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ListTriggersOccurrencesResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ListTriggersOccurrencesResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ListTriggersOccurrencesResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.Error
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.Error = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ListWorkflows - List registered workflows
+// List registered workflows
+func (s *orchestration) ListWorkflows(ctx context.Context) (*operations.ListWorkflowsResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/orchestration/workflows"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ListWorkflowsResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ListWorkflowsResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ListWorkflowsResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.Error
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.Error = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// OrchestrationgetServerInfo - Get server info
+func (s *orchestration) OrchestrationgetServerInfo(ctx context.Context) (*operations.OrchestrationgetServerInfoResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/orchestration/_info"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.OrchestrationgetServerInfoResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ServerInfo
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ServerInfo = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.Error
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.Error = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ReadTrigger - Read trigger
+// Read trigger
+func (s *orchestration) ReadTrigger(ctx context.Context, request operations.ReadTriggerRequest) (*operations.ReadTriggerResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/orchestration/triggers/{triggerID}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ReadTriggerResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ReadTriggerResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ReadTriggerResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.Error
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.Error = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// RunWorkflow - Run workflow
+// Run workflow
+func (s *orchestration) RunWorkflow(ctx context.Context, request operations.RunWorkflowRequest) (*operations.RunWorkflowResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/orchestration/workflows/{workflowID}/instances", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "RequestBody", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.RunWorkflowResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 201:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.RunWorkflowResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.RunWorkflowResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.Error
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.Error = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// SendEvent - Send an event to a running workflow
+// Send an event to a running workflow
+func (s *orchestration) SendEvent(ctx context.Context, request operations.SendEventRequest) (*operations.SendEventResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/orchestration/instances/{instanceID}/events", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "RequestBody", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.SendEventResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.Error
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.Error = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
diff --git a/libs/clients/go/payments.go b/libs/clients/go/payments.go
new file mode 100755
index 0000000000..5db70acbf7
--- /dev/null
+++ b/libs/clients/go/payments.go
@@ -0,0 +1,2198 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package formancesdkgo
+
+import (
+ "bytes"
+ "context"
+ "fmt"
+ "github.com/formancehq/formance-sdk-go/pkg/models/operations"
+ "github.com/formancehq/formance-sdk-go/pkg/models/sdkerrors"
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "io"
+ "net/http"
+ "strings"
+)
+
+type payments struct {
+ sdkConfiguration sdkConfiguration
+}
+
+func newPayments(sdkConfig sdkConfiguration) *payments {
+ return &payments{
+ sdkConfiguration: sdkConfig,
+ }
+}
+
+// AddAccountToPool - Add an account to a pool
+// Add an account to a pool
+func (s *payments) AddAccountToPool(ctx context.Context, request operations.AddAccountToPoolRequest) (*operations.AddAccountToPoolResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/pools/{poolId}/accounts", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "AddAccountToPoolRequest", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+ if bodyReader == nil {
+ return nil, fmt.Errorf("request body is required")
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "*/*")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.AddAccountToPoolResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ }
+
+ return res, nil
+}
+
+// ConnectorsTransfer - Transfer funds between Connector accounts
+// Execute a transfer between two accounts.
+func (s *payments) ConnectorsTransfer(ctx context.Context, request operations.ConnectorsTransferRequest) (*operations.ConnectorsTransferResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/connectors/{connector}/transfers", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "TransferRequest", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+ if bodyReader == nil {
+ return nil, fmt.Errorf("request body is required")
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ConnectorsTransferResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.TransferResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.TransferResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// CreateBankAccount - Create a BankAccount in Payments and on the PSP
+// Create a bank account in Payments and on the PSP.
+func (s *payments) CreateBankAccount(ctx context.Context, request shared.BankAccountRequest) (*operations.CreateBankAccountResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/payments/bank-accounts"
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+ if bodyReader == nil {
+ return nil, fmt.Errorf("request body is required")
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.CreateBankAccountResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.BankAccountResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.BankAccountResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// CreatePayment - Create a payment
+// Create a payment
+func (s *payments) CreatePayment(ctx context.Context, request shared.PaymentRequest) (*operations.CreatePaymentResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/payments/payments"
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+ if bodyReader == nil {
+ return nil, fmt.Errorf("request body is required")
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.CreatePaymentResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.PaymentResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.PaymentResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// CreatePool - Create a Pool
+// Create a Pool
+func (s *payments) CreatePool(ctx context.Context, request shared.PoolRequest) (*operations.CreatePoolResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/payments/pools"
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+ if bodyReader == nil {
+ return nil, fmt.Errorf("request body is required")
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.CreatePoolResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.PoolResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.PoolResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// CreateTransferInitiation - Create a TransferInitiation
+// Create a transfer initiation
+func (s *payments) CreateTransferInitiation(ctx context.Context, request shared.TransferInitiationRequest) (*operations.CreateTransferInitiationResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/payments/transfer-initiations"
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+ if bodyReader == nil {
+ return nil, fmt.Errorf("request body is required")
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.CreateTransferInitiationResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.TransferInitiationResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.TransferInitiationResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// DeletePool - Delete a Pool
+// Delete a pool by its id.
+func (s *payments) DeletePool(ctx context.Context, request operations.DeletePoolRequest) (*operations.DeletePoolResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/pools/{poolId}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "*/*")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.DeletePoolResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ }
+
+ return res, nil
+}
+
+// DeleteTransferInitiation - Delete a transfer initiation
+// Delete a transfer initiation by its id.
+func (s *payments) DeleteTransferInitiation(ctx context.Context, request operations.DeleteTransferInitiationRequest) (*operations.DeleteTransferInitiationResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/transfer-initiations/{transferId}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "*/*")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.DeleteTransferInitiationResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ }
+
+ return res, nil
+}
+
+// GetAccountBalances - Get account balances
+func (s *payments) GetAccountBalances(ctx context.Context, request operations.GetAccountBalancesRequest) (*operations.GetAccountBalancesResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/accounts/{accountId}/balances", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetAccountBalancesResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.BalancesCursor
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.BalancesCursor = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// GetBankAccount - Get a bank account created by user on Formance
+func (s *payments) GetBankAccount(ctx context.Context, request operations.GetBankAccountRequest) (*operations.GetBankAccountResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/bank-accounts/{bankAccountId}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetBankAccountResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.BankAccountResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.BankAccountResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// GetConnectorTask - Read a specific task of the connector
+// Get a specific task associated to the connector.
+//
+// Deprecated method: This will be removed in a future release, please migrate away from it as soon as possible.
+func (s *payments) GetConnectorTask(ctx context.Context, request operations.GetConnectorTaskRequest) (*operations.GetConnectorTaskResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/connectors/{connector}/tasks/{taskId}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetConnectorTaskResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.TaskResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.TaskResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// GetConnectorTaskV1 - Read a specific task of the connector
+// Get a specific task associated to the connector.
+func (s *payments) GetConnectorTaskV1(ctx context.Context, request operations.GetConnectorTaskV1Request) (*operations.GetConnectorTaskV1Response, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/connectors/{connector}/{connectorId}/tasks/{taskId}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetConnectorTaskV1Response{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.TaskResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.TaskResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// GetPayment - Get a payment
+func (s *payments) GetPayment(ctx context.Context, request operations.GetPaymentRequest) (*operations.GetPaymentResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/payments/{paymentId}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetPaymentResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.PaymentResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.PaymentResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// GetPool - Get a Pool
+func (s *payments) GetPool(ctx context.Context, request operations.GetPoolRequest) (*operations.GetPoolResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/pools/{poolId}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetPoolResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.PoolResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.PoolResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// GetPoolBalances - Get pool balances
+func (s *payments) GetPoolBalances(ctx context.Context, request operations.GetPoolBalancesRequest) (*operations.GetPoolBalancesResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/pools/{poolId}/balances", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetPoolBalancesResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.PoolBalancesResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.PoolBalancesResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// GetTransferInitiation - Get a transfer initiation
+func (s *payments) GetTransferInitiation(ctx context.Context, request operations.GetTransferInitiationRequest) (*operations.GetTransferInitiationResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/transfer-initiations/{transferId}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetTransferInitiationResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.TransferInitiationResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.TransferInitiationResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// InstallConnector - Install a connector
+// Install a connector by its name and config.
+func (s *payments) InstallConnector(ctx context.Context, request operations.InstallConnectorRequest) (*operations.InstallConnectorResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/connectors/{connector}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "ConnectorConfig", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+ if bodyReader == nil {
+ return nil, fmt.Errorf("request body is required")
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.InstallConnectorResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 201:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ConnectorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ConnectorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ListAllConnectors - List all installed connectors
+// List all installed connectors.
+func (s *payments) ListAllConnectors(ctx context.Context) (*operations.ListAllConnectorsResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/payments/connectors"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ListAllConnectorsResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ConnectorsResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ConnectorsResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ListBankAccounts - List bank accounts created by user on Formance
+// List all bank accounts created by user on Formance.
+func (s *payments) ListBankAccounts(ctx context.Context, request operations.ListBankAccountsRequest) (*operations.ListBankAccountsResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/payments/bank-accounts"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ListBankAccountsResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.BankAccountsCursor
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.BankAccountsCursor = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ListConfigsAvailableConnectors - List the configs of each available connector
+// List the configs of each available connector.
+func (s *payments) ListConfigsAvailableConnectors(ctx context.Context) (*operations.ListConfigsAvailableConnectorsResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/payments/connectors/configs"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ListConfigsAvailableConnectorsResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ConnectorsConfigsResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ConnectorsConfigsResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ListConnectorTasks - List tasks from a connector
+// List all tasks associated with this connector.
+//
+// Deprecated method: This will be removed in a future release, please migrate away from it as soon as possible.
+func (s *payments) ListConnectorTasks(ctx context.Context, request operations.ListConnectorTasksRequest) (*operations.ListConnectorTasksResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/connectors/{connector}/tasks", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ListConnectorTasksResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.TasksCursor
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.TasksCursor = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ListConnectorTasksV1 - List tasks from a connector
+// List all tasks associated with this connector.
+func (s *payments) ListConnectorTasksV1(ctx context.Context, request operations.ListConnectorTasksV1Request) (*operations.ListConnectorTasksV1Response, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/connectors/{connector}/{connectorId}/tasks", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ListConnectorTasksV1Response{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.TasksCursor
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.TasksCursor = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ListPayments - List payments
+func (s *payments) ListPayments(ctx context.Context, request operations.ListPaymentsRequest) (*operations.ListPaymentsResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/payments/payments"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ListPaymentsResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.PaymentsCursor
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.PaymentsCursor = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ListPools - List Pools
+func (s *payments) ListPools(ctx context.Context, request operations.ListPoolsRequest) (*operations.ListPoolsResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/payments/pools"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ListPoolsResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.PoolsCursor
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.PoolsCursor = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ListTransferInitiations - List Transfer Initiations
+func (s *payments) ListTransferInitiations(ctx context.Context, request operations.ListTransferInitiationsRequest) (*operations.ListTransferInitiationsResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/payments/transfer-initiations"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ListTransferInitiationsResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.TransferInitiationsCursor
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.TransferInitiationsCursor = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// PaymentsgetAccount - Get an account
+func (s *payments) PaymentsgetAccount(ctx context.Context, request operations.PaymentsgetAccountRequest) (*operations.PaymentsgetAccountResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/accounts/{accountId}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.PaymentsgetAccountResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.PaymentsAccountResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.PaymentsAccountResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// PaymentsgetServerInfo - Get server info
+func (s *payments) PaymentsgetServerInfo(ctx context.Context) (*operations.PaymentsgetServerInfoResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/payments/_info"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.PaymentsgetServerInfoResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ServerInfo
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ServerInfo = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// PaymentslistAccounts - List accounts
+func (s *payments) PaymentslistAccounts(ctx context.Context, request operations.PaymentslistAccountsRequest) (*operations.PaymentslistAccountsResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/payments/accounts"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.PaymentslistAccountsResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.AccountsCursor
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.AccountsCursor = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ReadConnectorConfig - Read the config of a connector
+// Read connector config
+//
+// Deprecated method: This will be removed in a future release, please migrate away from it as soon as possible.
+func (s *payments) ReadConnectorConfig(ctx context.Context, request operations.ReadConnectorConfigRequest) (*operations.ReadConnectorConfigResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/connectors/{connector}/config", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ReadConnectorConfigResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ConnectorConfigResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ConnectorConfigResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ReadConnectorConfigV1 - Read the config of a connector
+// Read connector config
+func (s *payments) ReadConnectorConfigV1(ctx context.Context, request operations.ReadConnectorConfigV1Request) (*operations.ReadConnectorConfigV1Response, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/connectors/{connector}/{connectorId}/config", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ReadConnectorConfigV1Response{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ConnectorConfigResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ConnectorConfigResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// RemoveAccountFromPool - Remove an account from a pool
+// Remove an account from a pool by its id.
+func (s *payments) RemoveAccountFromPool(ctx context.Context, request operations.RemoveAccountFromPoolRequest) (*operations.RemoveAccountFromPoolResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/pools/{poolId}/accounts/{accountId}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "*/*")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.RemoveAccountFromPoolResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ }
+
+ return res, nil
+}
+
+// ResetConnector - Reset a connector
+// Reset a connector by its name.
+// It will remove the connector and ALL PAYMENTS generated with it.
+//
+// Deprecated method: This will be removed in a future release, please migrate away from it as soon as possible.
+func (s *payments) ResetConnector(ctx context.Context, request operations.ResetConnectorRequest) (*operations.ResetConnectorResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/connectors/{connector}/reset", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "*/*")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ResetConnectorResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ }
+
+ return res, nil
+}
+
+// ResetConnectorV1 - Reset a connector
+// Reset a connector by its name.
+// It will remove the connector and ALL PAYMENTS generated with it.
+func (s *payments) ResetConnectorV1(ctx context.Context, request operations.ResetConnectorV1Request) (*operations.ResetConnectorV1Response, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/connectors/{connector}/{connectorId}/reset", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "*/*")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ResetConnectorV1Response{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ }
+
+ return res, nil
+}
+
+// RetryTransferInitiation - Retry a failed transfer initiation
+// Retry a failed transfer initiation
+func (s *payments) RetryTransferInitiation(ctx context.Context, request operations.RetryTransferInitiationRequest) (*operations.RetryTransferInitiationResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/transfer-initiations/{transferId}/retry", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "*/*")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.RetryTransferInitiationResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ }
+
+ return res, nil
+}
+
+// UdpateTransferInitiationStatus - Update the status of a transfer initiation
+// Update a transfer initiation status
+func (s *payments) UdpateTransferInitiationStatus(ctx context.Context, request operations.UdpateTransferInitiationStatusRequest) (*operations.UdpateTransferInitiationStatusResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/transfer-initiations/{transferId}/status", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "UpdateTransferInitiationStatusRequest", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+ if bodyReader == nil {
+ return nil, fmt.Errorf("request body is required")
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "*/*")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.UdpateTransferInitiationStatusResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ }
+
+ return res, nil
+}
+
+// UninstallConnector - Uninstall a connector
+// Uninstall a connector by its name.
+//
+// Deprecated method: This will be removed in a future release, please migrate away from it as soon as possible.
+func (s *payments) UninstallConnector(ctx context.Context, request operations.UninstallConnectorRequest) (*operations.UninstallConnectorResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/connectors/{connector}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "*/*")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.UninstallConnectorResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ }
+
+ return res, nil
+}
+
+// UninstallConnectorV1 - Uninstall a connector
+// Uninstall a connector by its name.
+func (s *payments) UninstallConnectorV1(ctx context.Context, request operations.UninstallConnectorV1Request) (*operations.UninstallConnectorV1Response, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/connectors/{connector}/{connectorId}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "*/*")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.UninstallConnectorV1Response{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ }
+
+ return res, nil
+}
+
+// UpdateMetadata - Update metadata
+func (s *payments) UpdateMetadata(ctx context.Context, request operations.UpdateMetadataRequest) (*operations.UpdateMetadataResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/payments/payments/{paymentId}/metadata", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, true, false, "RequestBody", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+ if bodyReader == nil {
+ return nil, fmt.Errorf("request body is required")
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "PATCH", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "*/*")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.UpdateMetadataResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ }
+
+ return res, nil
+}
diff --git a/libs/clients/go/pkg/models/operations/activateconfig.go b/libs/clients/go/pkg/models/operations/activateconfig.go
new file mode 100755
index 0000000000..c492d0e6f6
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/activateconfig.go
@@ -0,0 +1,68 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ActivateConfigRequest struct {
+ // Config ID
+ ID string `pathParam:"style=simple,explode=false,name=id"`
+}
+
+func (o *ActivateConfigRequest) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+type ActivateConfigResponse struct {
+ // Config successfully activated.
+ ConfigResponse *shared.ConfigResponse
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error
+ WebhooksErrorResponse *shared.WebhooksErrorResponse
+}
+
+func (o *ActivateConfigResponse) GetConfigResponse() *shared.ConfigResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ConfigResponse
+}
+
+func (o *ActivateConfigResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ActivateConfigResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ActivateConfigResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *ActivateConfigResponse) GetWebhooksErrorResponse() *shared.WebhooksErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.WebhooksErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/addaccounttopool.go b/libs/clients/go/pkg/models/operations/addaccounttopool.go
new file mode 100755
index 0000000000..e9487f792b
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/addaccounttopool.go
@@ -0,0 +1,58 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type AddAccountToPoolRequest struct {
+ AddAccountToPoolRequest shared.AddAccountToPoolRequest `request:"mediaType=application/json"`
+ // The pool ID.
+ PoolID string `pathParam:"style=simple,explode=false,name=poolId"`
+}
+
+func (o *AddAccountToPoolRequest) GetAddAccountToPoolRequest() shared.AddAccountToPoolRequest {
+ if o == nil {
+ return shared.AddAccountToPoolRequest{}
+ }
+ return o.AddAccountToPoolRequest
+}
+
+func (o *AddAccountToPoolRequest) GetPoolID() string {
+ if o == nil {
+ return ""
+ }
+ return o.PoolID
+}
+
+type AddAccountToPoolResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *AddAccountToPoolResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *AddAccountToPoolResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *AddAccountToPoolResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/addmetadataontransaction.go b/libs/clients/go/pkg/models/operations/addmetadataontransaction.go
new file mode 100755
index 0000000000..48d1aabca4
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/addmetadataontransaction.go
@@ -0,0 +1,108 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+ "net/http"
+)
+
+type AddMetadataOnTransactionRequest struct {
+ // Use an idempotency key
+ IdempotencyKey *string `header:"style=simple,explode=false,name=Idempotency-Key"`
+ // metadata
+ RequestBody map[string]string `request:"mediaType=application/json"`
+ // Set the dryRun mode. Dry run mode doesn't add the logs to the database or publish a message to the message broker.
+ DryRun *bool `queryParam:"style=form,explode=true,name=dryRun"`
+ // Transaction ID.
+ ID *big.Int `pathParam:"style=simple,explode=false,name=id"`
+ // Name of the ledger.
+ Ledger string `pathParam:"style=simple,explode=false,name=ledger"`
+}
+
+func (a AddMetadataOnTransactionRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(a, "", false)
+}
+
+func (a *AddMetadataOnTransactionRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &a, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *AddMetadataOnTransactionRequest) GetIdempotencyKey() *string {
+ if o == nil {
+ return nil
+ }
+ return o.IdempotencyKey
+}
+
+func (o *AddMetadataOnTransactionRequest) GetRequestBody() map[string]string {
+ if o == nil {
+ return nil
+ }
+ return o.RequestBody
+}
+
+func (o *AddMetadataOnTransactionRequest) GetDryRun() *bool {
+ if o == nil {
+ return nil
+ }
+ return o.DryRun
+}
+
+func (o *AddMetadataOnTransactionRequest) GetID() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.ID
+}
+
+func (o *AddMetadataOnTransactionRequest) GetLedger() string {
+ if o == nil {
+ return ""
+ }
+ return o.Ledger
+}
+
+type AddMetadataOnTransactionResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Error
+ ErrorResponse *shared.ErrorResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *AddMetadataOnTransactionResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *AddMetadataOnTransactionResponse) GetErrorResponse() *shared.ErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ErrorResponse
+}
+
+func (o *AddMetadataOnTransactionResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *AddMetadataOnTransactionResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/addmetadatatoaccount.go b/libs/clients/go/pkg/models/operations/addmetadatatoaccount.go
new file mode 100755
index 0000000000..b210a5af6e
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/addmetadatatoaccount.go
@@ -0,0 +1,99 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type AddMetadataToAccountRequest struct {
+ // Use an idempotency key
+ IdempotencyKey *string `header:"style=simple,explode=false,name=Idempotency-Key"`
+ // metadata
+ RequestBody map[string]string `request:"mediaType=application/json"`
+ // Exact address of the account. It must match the following regular expressions pattern:
+ // ```
+ // ^\w+(:\w+)*$
+ // ```
+ //
+ Address string `pathParam:"style=simple,explode=false,name=address"`
+ // Set the dry run mode. Dry run mode doesn't add the logs to the database or publish a message to the message broker.
+ DryRun *bool `queryParam:"style=form,explode=true,name=dryRun"`
+ // Name of the ledger.
+ Ledger string `pathParam:"style=simple,explode=false,name=ledger"`
+}
+
+func (o *AddMetadataToAccountRequest) GetIdempotencyKey() *string {
+ if o == nil {
+ return nil
+ }
+ return o.IdempotencyKey
+}
+
+func (o *AddMetadataToAccountRequest) GetRequestBody() map[string]string {
+ if o == nil {
+ return map[string]string{}
+ }
+ return o.RequestBody
+}
+
+func (o *AddMetadataToAccountRequest) GetAddress() string {
+ if o == nil {
+ return ""
+ }
+ return o.Address
+}
+
+func (o *AddMetadataToAccountRequest) GetDryRun() *bool {
+ if o == nil {
+ return nil
+ }
+ return o.DryRun
+}
+
+func (o *AddMetadataToAccountRequest) GetLedger() string {
+ if o == nil {
+ return ""
+ }
+ return o.Ledger
+}
+
+type AddMetadataToAccountResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Error
+ ErrorResponse *shared.ErrorResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *AddMetadataToAccountResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *AddMetadataToAccountResponse) GetErrorResponse() *shared.ErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ErrorResponse
+}
+
+func (o *AddMetadataToAccountResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *AddMetadataToAccountResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/cancelevent.go b/libs/clients/go/pkg/models/operations/cancelevent.go
new file mode 100755
index 0000000000..9256eb2fb5
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/cancelevent.go
@@ -0,0 +1,59 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type CancelEventRequest struct {
+ // The instance id
+ InstanceID string `pathParam:"style=simple,explode=false,name=instanceID"`
+}
+
+func (o *CancelEventRequest) GetInstanceID() string {
+ if o == nil {
+ return ""
+ }
+ return o.InstanceID
+}
+
+type CancelEventResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // General error
+ Error *shared.Error
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *CancelEventResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *CancelEventResponse) GetError() *shared.Error {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *CancelEventResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *CancelEventResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/changeconfigsecret.go b/libs/clients/go/pkg/models/operations/changeconfigsecret.go
new file mode 100755
index 0000000000..f158008ba8
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/changeconfigsecret.go
@@ -0,0 +1,76 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ChangeConfigSecretRequest struct {
+ ConfigChangeSecret *shared.ConfigChangeSecret `request:"mediaType=application/json"`
+ // Config ID
+ ID string `pathParam:"style=simple,explode=false,name=id"`
+}
+
+func (o *ChangeConfigSecretRequest) GetConfigChangeSecret() *shared.ConfigChangeSecret {
+ if o == nil {
+ return nil
+ }
+ return o.ConfigChangeSecret
+}
+
+func (o *ChangeConfigSecretRequest) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+type ChangeConfigSecretResponse struct {
+ // Secret successfully changed.
+ ConfigResponse *shared.ConfigResponse
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error
+ WebhooksErrorResponse *shared.WebhooksErrorResponse
+}
+
+func (o *ChangeConfigSecretResponse) GetConfigResponse() *shared.ConfigResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ConfigResponse
+}
+
+func (o *ChangeConfigSecretResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ChangeConfigSecretResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ChangeConfigSecretResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *ChangeConfigSecretResponse) GetWebhooksErrorResponse() *shared.WebhooksErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.WebhooksErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/confirmhold.go b/libs/clients/go/pkg/models/operations/confirmhold.go
new file mode 100755
index 0000000000..f50557a802
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/confirmhold.go
@@ -0,0 +1,66 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ConfirmHoldRequest struct {
+ ConfirmHoldRequest *shared.ConfirmHoldRequest `request:"mediaType=application/json"`
+ HoldID string `pathParam:"style=simple,explode=false,name=hold_id"`
+}
+
+func (o *ConfirmHoldRequest) GetConfirmHoldRequest() *shared.ConfirmHoldRequest {
+ if o == nil {
+ return nil
+ }
+ return o.ConfirmHoldRequest
+}
+
+func (o *ConfirmHoldRequest) GetHoldID() string {
+ if o == nil {
+ return ""
+ }
+ return o.HoldID
+}
+
+type ConfirmHoldResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error
+ WalletsErrorResponse *shared.WalletsErrorResponse
+}
+
+func (o *ConfirmHoldResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ConfirmHoldResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ConfirmHoldResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *ConfirmHoldResponse) GetWalletsErrorResponse() *shared.WalletsErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.WalletsErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/connectorstransfer.go b/libs/clients/go/pkg/models/operations/connectorstransfer.go
new file mode 100755
index 0000000000..72d2cdd6e6
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/connectorstransfer.go
@@ -0,0 +1,67 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ConnectorsTransferRequest struct {
+ TransferRequest shared.TransferRequest `request:"mediaType=application/json"`
+ // The name of the connector.
+ Connector shared.Connector `pathParam:"style=simple,explode=false,name=connector"`
+}
+
+func (o *ConnectorsTransferRequest) GetTransferRequest() shared.TransferRequest {
+ if o == nil {
+ return shared.TransferRequest{}
+ }
+ return o.TransferRequest
+}
+
+func (o *ConnectorsTransferRequest) GetConnector() shared.Connector {
+ if o == nil {
+ return shared.Connector("")
+ }
+ return o.Connector
+}
+
+type ConnectorsTransferResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // OK
+ TransferResponse *shared.TransferResponse
+}
+
+func (o *ConnectorsTransferResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ConnectorsTransferResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ConnectorsTransferResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *ConnectorsTransferResponse) GetTransferResponse() *shared.TransferResponse {
+ if o == nil {
+ return nil
+ }
+ return o.TransferResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/countaccounts.go b/libs/clients/go/pkg/models/operations/countaccounts.go
new file mode 100755
index 0000000000..3db99c7569
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/countaccounts.go
@@ -0,0 +1,96 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "net/http"
+ "time"
+)
+
+type CountAccountsRequest struct {
+ RequestBody map[string]interface{} `request:"mediaType=application/json"`
+ // Name of the ledger.
+ Ledger string `pathParam:"style=simple,explode=false,name=ledger"`
+ Pit *time.Time `queryParam:"style=form,explode=true,name=pit"`
+}
+
+func (c CountAccountsRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(c, "", false)
+}
+
+func (c *CountAccountsRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &c, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *CountAccountsRequest) GetRequestBody() map[string]interface{} {
+ if o == nil {
+ return nil
+ }
+ return o.RequestBody
+}
+
+func (o *CountAccountsRequest) GetLedger() string {
+ if o == nil {
+ return ""
+ }
+ return o.Ledger
+}
+
+func (o *CountAccountsRequest) GetPit() *time.Time {
+ if o == nil {
+ return nil
+ }
+ return o.Pit
+}
+
+type CountAccountsResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Error
+ ErrorResponse *shared.ErrorResponse
+ Headers map[string][]string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *CountAccountsResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *CountAccountsResponse) GetErrorResponse() *shared.ErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ErrorResponse
+}
+
+func (o *CountAccountsResponse) GetHeaders() map[string][]string {
+ if o == nil {
+ return nil
+ }
+ return o.Headers
+}
+
+func (o *CountAccountsResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *CountAccountsResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/counttransactions.go b/libs/clients/go/pkg/models/operations/counttransactions.go
new file mode 100755
index 0000000000..62ad0d42ed
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/counttransactions.go
@@ -0,0 +1,96 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "net/http"
+ "time"
+)
+
+type CountTransactionsRequest struct {
+ RequestBody map[string]interface{} `request:"mediaType=application/json"`
+ // Name of the ledger.
+ Ledger string `pathParam:"style=simple,explode=false,name=ledger"`
+ Pit *time.Time `queryParam:"style=form,explode=true,name=pit"`
+}
+
+func (c CountTransactionsRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(c, "", false)
+}
+
+func (c *CountTransactionsRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &c, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *CountTransactionsRequest) GetRequestBody() map[string]interface{} {
+ if o == nil {
+ return nil
+ }
+ return o.RequestBody
+}
+
+func (o *CountTransactionsRequest) GetLedger() string {
+ if o == nil {
+ return ""
+ }
+ return o.Ledger
+}
+
+func (o *CountTransactionsRequest) GetPit() *time.Time {
+ if o == nil {
+ return nil
+ }
+ return o.Pit
+}
+
+type CountTransactionsResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Error
+ ErrorResponse *shared.ErrorResponse
+ Headers map[string][]string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *CountTransactionsResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *CountTransactionsResponse) GetErrorResponse() *shared.ErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ErrorResponse
+}
+
+func (o *CountTransactionsResponse) GetHeaders() map[string][]string {
+ if o == nil {
+ return nil
+ }
+ return o.Headers
+}
+
+func (o *CountTransactionsResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *CountTransactionsResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/createbalance.go b/libs/clients/go/pkg/models/operations/createbalance.go
new file mode 100755
index 0000000000..3f8e8f35ea
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/createbalance.go
@@ -0,0 +1,75 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type CreateBalanceRequest struct {
+ CreateBalanceRequest *shared.CreateBalanceRequest `request:"mediaType=application/json"`
+ ID string `pathParam:"style=simple,explode=false,name=id"`
+}
+
+func (o *CreateBalanceRequest) GetCreateBalanceRequest() *shared.CreateBalanceRequest {
+ if o == nil {
+ return nil
+ }
+ return o.CreateBalanceRequest
+}
+
+func (o *CreateBalanceRequest) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+type CreateBalanceResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Created balance
+ CreateBalanceResponse *shared.CreateBalanceResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error
+ WalletsErrorResponse *shared.WalletsErrorResponse
+}
+
+func (o *CreateBalanceResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *CreateBalanceResponse) GetCreateBalanceResponse() *shared.CreateBalanceResponse {
+ if o == nil {
+ return nil
+ }
+ return o.CreateBalanceResponse
+}
+
+func (o *CreateBalanceResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *CreateBalanceResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *CreateBalanceResponse) GetWalletsErrorResponse() *shared.WalletsErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.WalletsErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/createbankaccount.go b/libs/clients/go/pkg/models/operations/createbankaccount.go
new file mode 100755
index 0000000000..5e7349aa19
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/createbankaccount.go
@@ -0,0 +1,47 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type CreateBankAccountResponse struct {
+ // OK
+ BankAccountResponse *shared.BankAccountResponse
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *CreateBankAccountResponse) GetBankAccountResponse() *shared.BankAccountResponse {
+ if o == nil {
+ return nil
+ }
+ return o.BankAccountResponse
+}
+
+func (o *CreateBankAccountResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *CreateBankAccountResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *CreateBankAccountResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/createbulk.go b/libs/clients/go/pkg/models/operations/createbulk.go
new file mode 100755
index 0000000000..393bfa745d
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/createbulk.go
@@ -0,0 +1,76 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type CreateBulkRequest struct {
+ RequestBody []shared.BulkElement `request:"mediaType=application/json"`
+ // Name of the ledger.
+ Ledger string `pathParam:"style=simple,explode=false,name=ledger"`
+}
+
+func (o *CreateBulkRequest) GetRequestBody() []shared.BulkElement {
+ if o == nil {
+ return nil
+ }
+ return o.RequestBody
+}
+
+func (o *CreateBulkRequest) GetLedger() string {
+ if o == nil {
+ return ""
+ }
+ return o.Ledger
+}
+
+type CreateBulkResponse struct {
+ // OK
+ BulkResponse *shared.BulkResponse
+ // HTTP response content type for this operation
+ ContentType string
+ // Error
+ ErrorResponse *shared.ErrorResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *CreateBulkResponse) GetBulkResponse() *shared.BulkResponse {
+ if o == nil {
+ return nil
+ }
+ return o.BulkResponse
+}
+
+func (o *CreateBulkResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *CreateBulkResponse) GetErrorResponse() *shared.ErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ErrorResponse
+}
+
+func (o *CreateBulkResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *CreateBulkResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/createclient.go b/libs/clients/go/pkg/models/operations/createclient.go
new file mode 100755
index 0000000000..1726806021
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/createclient.go
@@ -0,0 +1,47 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type CreateClientResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Client created
+ CreateClientResponse *shared.CreateClientResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *CreateClientResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *CreateClientResponse) GetCreateClientResponse() *shared.CreateClientResponse {
+ if o == nil {
+ return nil
+ }
+ return o.CreateClientResponse
+}
+
+func (o *CreateClientResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *CreateClientResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/createledger.go b/libs/clients/go/pkg/models/operations/createledger.go
new file mode 100755
index 0000000000..d6ffbeb6e3
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/createledger.go
@@ -0,0 +1,67 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type CreateLedgerRequest struct {
+ CreateLedgerRequest *shared.CreateLedgerRequest `request:"mediaType=application/json"`
+ // Name of the ledger.
+ Ledger string `pathParam:"style=simple,explode=false,name=ledger"`
+}
+
+func (o *CreateLedgerRequest) GetCreateLedgerRequest() *shared.CreateLedgerRequest {
+ if o == nil {
+ return nil
+ }
+ return o.CreateLedgerRequest
+}
+
+func (o *CreateLedgerRequest) GetLedger() string {
+ if o == nil {
+ return ""
+ }
+ return o.Ledger
+}
+
+type CreateLedgerResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Error
+ ErrorResponse *shared.ErrorResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *CreateLedgerResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *CreateLedgerResponse) GetErrorResponse() *shared.ErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ErrorResponse
+}
+
+func (o *CreateLedgerResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *CreateLedgerResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/createpayment.go b/libs/clients/go/pkg/models/operations/createpayment.go
new file mode 100755
index 0000000000..0134d9ef8b
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/createpayment.go
@@ -0,0 +1,47 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type CreatePaymentResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // OK
+ PaymentResponse *shared.PaymentResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *CreatePaymentResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *CreatePaymentResponse) GetPaymentResponse() *shared.PaymentResponse {
+ if o == nil {
+ return nil
+ }
+ return o.PaymentResponse
+}
+
+func (o *CreatePaymentResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *CreatePaymentResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/createpolicy.go b/libs/clients/go/pkg/models/operations/createpolicy.go
new file mode 100755
index 0000000000..68a836f319
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/createpolicy.go
@@ -0,0 +1,56 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type CreatePolicyResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // OK
+ PolicyResponse *shared.PolicyResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error response
+ ReconciliationErrorResponse *shared.ReconciliationErrorResponse
+}
+
+func (o *CreatePolicyResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *CreatePolicyResponse) GetPolicyResponse() *shared.PolicyResponse {
+ if o == nil {
+ return nil
+ }
+ return o.PolicyResponse
+}
+
+func (o *CreatePolicyResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *CreatePolicyResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *CreatePolicyResponse) GetReconciliationErrorResponse() *shared.ReconciliationErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ReconciliationErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/createpool.go b/libs/clients/go/pkg/models/operations/createpool.go
new file mode 100755
index 0000000000..fe5a6e778a
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/createpool.go
@@ -0,0 +1,47 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type CreatePoolResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // OK
+ PoolResponse *shared.PoolResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *CreatePoolResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *CreatePoolResponse) GetPoolResponse() *shared.PoolResponse {
+ if o == nil {
+ return nil
+ }
+ return o.PoolResponse
+}
+
+func (o *CreatePoolResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *CreatePoolResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/createsecret.go b/libs/clients/go/pkg/models/operations/createsecret.go
new file mode 100755
index 0000000000..b14bd26c86
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/createsecret.go
@@ -0,0 +1,67 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type CreateSecretRequest struct {
+ CreateSecretRequest *shared.CreateSecretRequest `request:"mediaType=application/json"`
+ // Client ID
+ ClientID string `pathParam:"style=simple,explode=false,name=clientId"`
+}
+
+func (o *CreateSecretRequest) GetCreateSecretRequest() *shared.CreateSecretRequest {
+ if o == nil {
+ return nil
+ }
+ return o.CreateSecretRequest
+}
+
+func (o *CreateSecretRequest) GetClientID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ClientID
+}
+
+type CreateSecretResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Created secret
+ CreateSecretResponse *shared.CreateSecretResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *CreateSecretResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *CreateSecretResponse) GetCreateSecretResponse() *shared.CreateSecretResponse {
+ if o == nil {
+ return nil
+ }
+ return o.CreateSecretResponse
+}
+
+func (o *CreateSecretResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *CreateSecretResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/createtransaction.go b/libs/clients/go/pkg/models/operations/createtransaction.go
new file mode 100755
index 0000000000..3882b8ee1e
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/createtransaction.go
@@ -0,0 +1,98 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type CreateTransactionRequest struct {
+ // Use an idempotency key
+ IdempotencyKey *string `header:"style=simple,explode=false,name=Idempotency-Key"`
+ // The request body must contain at least one of the following objects:
+ // - `postings`: suitable for simple transactions
+ // - `script`: enabling more complex transactions with Numscript
+ //
+ PostTransaction shared.PostTransaction `request:"mediaType=application/json"`
+ // Set the dryRun mode. dry run mode doesn't add the logs to the database or publish a message to the message broker.
+ DryRun *bool `queryParam:"style=form,explode=true,name=dryRun"`
+ // Name of the ledger.
+ Ledger string `pathParam:"style=simple,explode=false,name=ledger"`
+}
+
+func (o *CreateTransactionRequest) GetIdempotencyKey() *string {
+ if o == nil {
+ return nil
+ }
+ return o.IdempotencyKey
+}
+
+func (o *CreateTransactionRequest) GetPostTransaction() shared.PostTransaction {
+ if o == nil {
+ return shared.PostTransaction{}
+ }
+ return o.PostTransaction
+}
+
+func (o *CreateTransactionRequest) GetDryRun() *bool {
+ if o == nil {
+ return nil
+ }
+ return o.DryRun
+}
+
+func (o *CreateTransactionRequest) GetLedger() string {
+ if o == nil {
+ return ""
+ }
+ return o.Ledger
+}
+
+type CreateTransactionResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // OK
+ CreateTransactionResponse *shared.CreateTransactionResponse
+ // Error
+ ErrorResponse *shared.ErrorResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *CreateTransactionResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *CreateTransactionResponse) GetCreateTransactionResponse() *shared.CreateTransactionResponse {
+ if o == nil {
+ return nil
+ }
+ return o.CreateTransactionResponse
+}
+
+func (o *CreateTransactionResponse) GetErrorResponse() *shared.ErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ErrorResponse
+}
+
+func (o *CreateTransactionResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *CreateTransactionResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/createtransferinitiation.go b/libs/clients/go/pkg/models/operations/createtransferinitiation.go
new file mode 100755
index 0000000000..2bbb830599
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/createtransferinitiation.go
@@ -0,0 +1,47 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type CreateTransferInitiationResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // OK
+ TransferInitiationResponse *shared.TransferInitiationResponse
+}
+
+func (o *CreateTransferInitiationResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *CreateTransferInitiationResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *CreateTransferInitiationResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *CreateTransferInitiationResponse) GetTransferInitiationResponse() *shared.TransferInitiationResponse {
+ if o == nil {
+ return nil
+ }
+ return o.TransferInitiationResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/createtrigger.go b/libs/clients/go/pkg/models/operations/createtrigger.go
new file mode 100755
index 0000000000..a10f0e4b65
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/createtrigger.go
@@ -0,0 +1,56 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type CreateTriggerResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Created trigger
+ CreateTriggerResponse *shared.CreateTriggerResponse
+ // General error
+ Error *shared.Error
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *CreateTriggerResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *CreateTriggerResponse) GetCreateTriggerResponse() *shared.CreateTriggerResponse {
+ if o == nil {
+ return nil
+ }
+ return o.CreateTriggerResponse
+}
+
+func (o *CreateTriggerResponse) GetError() *shared.Error {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *CreateTriggerResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *CreateTriggerResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/createwallet.go b/libs/clients/go/pkg/models/operations/createwallet.go
new file mode 100755
index 0000000000..9a06297616
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/createwallet.go
@@ -0,0 +1,56 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type CreateWalletResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Wallet created
+ CreateWalletResponse *shared.CreateWalletResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error
+ WalletsErrorResponse *shared.WalletsErrorResponse
+}
+
+func (o *CreateWalletResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *CreateWalletResponse) GetCreateWalletResponse() *shared.CreateWalletResponse {
+ if o == nil {
+ return nil
+ }
+ return o.CreateWalletResponse
+}
+
+func (o *CreateWalletResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *CreateWalletResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *CreateWalletResponse) GetWalletsErrorResponse() *shared.WalletsErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.WalletsErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/createworkflow.go b/libs/clients/go/pkg/models/operations/createworkflow.go
new file mode 100755
index 0000000000..52bf1763aa
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/createworkflow.go
@@ -0,0 +1,56 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type CreateWorkflowResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Created workflow
+ CreateWorkflowResponse *shared.CreateWorkflowResponse
+ // General error
+ Error *shared.Error
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *CreateWorkflowResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *CreateWorkflowResponse) GetCreateWorkflowResponse() *shared.CreateWorkflowResponse {
+ if o == nil {
+ return nil
+ }
+ return o.CreateWorkflowResponse
+}
+
+func (o *CreateWorkflowResponse) GetError() *shared.Error {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *CreateWorkflowResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *CreateWorkflowResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/creditwallet.go b/libs/clients/go/pkg/models/operations/creditwallet.go
new file mode 100755
index 0000000000..b84fc328ac
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/creditwallet.go
@@ -0,0 +1,66 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type CreditWalletRequest struct {
+ CreditWalletRequest *shared.CreditWalletRequest `request:"mediaType=application/json"`
+ ID string `pathParam:"style=simple,explode=false,name=id"`
+}
+
+func (o *CreditWalletRequest) GetCreditWalletRequest() *shared.CreditWalletRequest {
+ if o == nil {
+ return nil
+ }
+ return o.CreditWalletRequest
+}
+
+func (o *CreditWalletRequest) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+type CreditWalletResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error
+ WalletsErrorResponse *shared.WalletsErrorResponse
+}
+
+func (o *CreditWalletResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *CreditWalletResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *CreditWalletResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *CreditWalletResponse) GetWalletsErrorResponse() *shared.WalletsErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.WalletsErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/deactivateconfig.go b/libs/clients/go/pkg/models/operations/deactivateconfig.go
new file mode 100755
index 0000000000..4050cf4930
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/deactivateconfig.go
@@ -0,0 +1,68 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type DeactivateConfigRequest struct {
+ // Config ID
+ ID string `pathParam:"style=simple,explode=false,name=id"`
+}
+
+func (o *DeactivateConfigRequest) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+type DeactivateConfigResponse struct {
+ // Config successfully deactivated.
+ ConfigResponse *shared.ConfigResponse
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error
+ WebhooksErrorResponse *shared.WebhooksErrorResponse
+}
+
+func (o *DeactivateConfigResponse) GetConfigResponse() *shared.ConfigResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ConfigResponse
+}
+
+func (o *DeactivateConfigResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *DeactivateConfigResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *DeactivateConfigResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *DeactivateConfigResponse) GetWebhooksErrorResponse() *shared.WebhooksErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.WebhooksErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/debitwallet.go b/libs/clients/go/pkg/models/operations/debitwallet.go
new file mode 100755
index 0000000000..0fd02192ab
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/debitwallet.go
@@ -0,0 +1,75 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type DebitWalletRequest struct {
+ DebitWalletRequest *shared.DebitWalletRequest `request:"mediaType=application/json"`
+ ID string `pathParam:"style=simple,explode=false,name=id"`
+}
+
+func (o *DebitWalletRequest) GetDebitWalletRequest() *shared.DebitWalletRequest {
+ if o == nil {
+ return nil
+ }
+ return o.DebitWalletRequest
+}
+
+func (o *DebitWalletRequest) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+type DebitWalletResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Wallet successfully debited as a pending hold
+ DebitWalletResponse *shared.DebitWalletResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error
+ WalletsErrorResponse *shared.WalletsErrorResponse
+}
+
+func (o *DebitWalletResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *DebitWalletResponse) GetDebitWalletResponse() *shared.DebitWalletResponse {
+ if o == nil {
+ return nil
+ }
+ return o.DebitWalletResponse
+}
+
+func (o *DebitWalletResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *DebitWalletResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *DebitWalletResponse) GetWalletsErrorResponse() *shared.WalletsErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.WalletsErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/deleteaccountmetadata.go b/libs/clients/go/pkg/models/operations/deleteaccountmetadata.go
new file mode 100755
index 0000000000..c64314ffac
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/deleteaccountmetadata.go
@@ -0,0 +1,67 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "net/http"
+)
+
+type DeleteAccountMetadataRequest struct {
+ // Account address
+ Address string `pathParam:"style=simple,explode=false,name=address"`
+ // The key to remove.
+ Key string `pathParam:"style=simple,explode=false,name=key"`
+ // Name of the ledger.
+ Ledger string `pathParam:"style=simple,explode=false,name=ledger"`
+}
+
+func (o *DeleteAccountMetadataRequest) GetAddress() string {
+ if o == nil {
+ return ""
+ }
+ return o.Address
+}
+
+func (o *DeleteAccountMetadataRequest) GetKey() string {
+ if o == nil {
+ return ""
+ }
+ return o.Key
+}
+
+func (o *DeleteAccountMetadataRequest) GetLedger() string {
+ if o == nil {
+ return ""
+ }
+ return o.Ledger
+}
+
+type DeleteAccountMetadataResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *DeleteAccountMetadataResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *DeleteAccountMetadataResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *DeleteAccountMetadataResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/deleteclient.go b/libs/clients/go/pkg/models/operations/deleteclient.go
new file mode 100755
index 0000000000..116c64569c
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/deleteclient.go
@@ -0,0 +1,49 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "net/http"
+)
+
+type DeleteClientRequest struct {
+ // Client ID
+ ClientID string `pathParam:"style=simple,explode=false,name=clientId"`
+}
+
+func (o *DeleteClientRequest) GetClientID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ClientID
+}
+
+type DeleteClientResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *DeleteClientResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *DeleteClientResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *DeleteClientResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/deleteconfig.go b/libs/clients/go/pkg/models/operations/deleteconfig.go
new file mode 100755
index 0000000000..6914acd859
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/deleteconfig.go
@@ -0,0 +1,59 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type DeleteConfigRequest struct {
+ // Config ID
+ ID string `pathParam:"style=simple,explode=false,name=id"`
+}
+
+func (o *DeleteConfigRequest) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+type DeleteConfigResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error
+ WebhooksErrorResponse *shared.WebhooksErrorResponse
+}
+
+func (o *DeleteConfigResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *DeleteConfigResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *DeleteConfigResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *DeleteConfigResponse) GetWebhooksErrorResponse() *shared.WebhooksErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.WebhooksErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/deletepolicy.go b/libs/clients/go/pkg/models/operations/deletepolicy.go
new file mode 100755
index 0000000000..2d72ee8ce2
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/deletepolicy.go
@@ -0,0 +1,59 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type DeletePolicyRequest struct {
+ // The policy ID.
+ PolicyID string `pathParam:"style=simple,explode=false,name=policyID"`
+}
+
+func (o *DeletePolicyRequest) GetPolicyID() string {
+ if o == nil {
+ return ""
+ }
+ return o.PolicyID
+}
+
+type DeletePolicyResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error response
+ ReconciliationErrorResponse *shared.ReconciliationErrorResponse
+}
+
+func (o *DeletePolicyResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *DeletePolicyResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *DeletePolicyResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *DeletePolicyResponse) GetReconciliationErrorResponse() *shared.ReconciliationErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ReconciliationErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/deletepool.go b/libs/clients/go/pkg/models/operations/deletepool.go
new file mode 100755
index 0000000000..e7d326843b
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/deletepool.go
@@ -0,0 +1,49 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "net/http"
+)
+
+type DeletePoolRequest struct {
+ // The pool ID.
+ PoolID string `pathParam:"style=simple,explode=false,name=poolId"`
+}
+
+func (o *DeletePoolRequest) GetPoolID() string {
+ if o == nil {
+ return ""
+ }
+ return o.PoolID
+}
+
+type DeletePoolResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *DeletePoolResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *DeletePoolResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *DeletePoolResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/deletesecret.go b/libs/clients/go/pkg/models/operations/deletesecret.go
new file mode 100755
index 0000000000..1e0e1e4559
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/deletesecret.go
@@ -0,0 +1,58 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "net/http"
+)
+
+type DeleteSecretRequest struct {
+ // Client ID
+ ClientID string `pathParam:"style=simple,explode=false,name=clientId"`
+ // Secret ID
+ SecretID string `pathParam:"style=simple,explode=false,name=secretId"`
+}
+
+func (o *DeleteSecretRequest) GetClientID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ClientID
+}
+
+func (o *DeleteSecretRequest) GetSecretID() string {
+ if o == nil {
+ return ""
+ }
+ return o.SecretID
+}
+
+type DeleteSecretResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *DeleteSecretResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *DeleteSecretResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *DeleteSecretResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/deletetransactionmetadata.go b/libs/clients/go/pkg/models/operations/deletetransactionmetadata.go
new file mode 100755
index 0000000000..a3cc6ec1b9
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/deletetransactionmetadata.go
@@ -0,0 +1,80 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+ "net/http"
+)
+
+type DeleteTransactionMetadataRequest struct {
+ // Transaction ID.
+ ID *big.Int `pathParam:"style=simple,explode=false,name=id"`
+ // The key to remove.
+ Key string `pathParam:"style=simple,explode=false,name=key"`
+ // Name of the ledger.
+ Ledger string `pathParam:"style=simple,explode=false,name=ledger"`
+}
+
+func (d DeleteTransactionMetadataRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(d, "", false)
+}
+
+func (d *DeleteTransactionMetadataRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &d, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *DeleteTransactionMetadataRequest) GetID() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.ID
+}
+
+func (o *DeleteTransactionMetadataRequest) GetKey() string {
+ if o == nil {
+ return ""
+ }
+ return o.Key
+}
+
+func (o *DeleteTransactionMetadataRequest) GetLedger() string {
+ if o == nil {
+ return ""
+ }
+ return o.Ledger
+}
+
+type DeleteTransactionMetadataResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *DeleteTransactionMetadataResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *DeleteTransactionMetadataResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *DeleteTransactionMetadataResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/deletetransferinitiation.go b/libs/clients/go/pkg/models/operations/deletetransferinitiation.go
new file mode 100755
index 0000000000..ce2d0ac1cd
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/deletetransferinitiation.go
@@ -0,0 +1,49 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "net/http"
+)
+
+type DeleteTransferInitiationRequest struct {
+ // The transfer ID.
+ TransferID string `pathParam:"style=simple,explode=false,name=transferId"`
+}
+
+func (o *DeleteTransferInitiationRequest) GetTransferID() string {
+ if o == nil {
+ return ""
+ }
+ return o.TransferID
+}
+
+type DeleteTransferInitiationResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *DeleteTransferInitiationResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *DeleteTransferInitiationResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *DeleteTransferInitiationResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/deletetrigger.go b/libs/clients/go/pkg/models/operations/deletetrigger.go
new file mode 100755
index 0000000000..a82e1a87e7
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/deletetrigger.go
@@ -0,0 +1,59 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type DeleteTriggerRequest struct {
+ // The trigger id
+ TriggerID string `pathParam:"style=simple,explode=false,name=triggerID"`
+}
+
+func (o *DeleteTriggerRequest) GetTriggerID() string {
+ if o == nil {
+ return ""
+ }
+ return o.TriggerID
+}
+
+type DeleteTriggerResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // General error
+ Error *shared.Error
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *DeleteTriggerResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *DeleteTriggerResponse) GetError() *shared.Error {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *DeleteTriggerResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *DeleteTriggerResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/deleteworkflow.go b/libs/clients/go/pkg/models/operations/deleteworkflow.go
new file mode 100755
index 0000000000..bef8053bdc
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/deleteworkflow.go
@@ -0,0 +1,59 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type DeleteWorkflowRequest struct {
+ // The flow id
+ FlowID string `pathParam:"style=simple,explode=false,name=flowId"`
+}
+
+func (o *DeleteWorkflowRequest) GetFlowID() string {
+ if o == nil {
+ return ""
+ }
+ return o.FlowID
+}
+
+type DeleteWorkflowResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // General error
+ Error *shared.Error
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *DeleteWorkflowResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *DeleteWorkflowResponse) GetError() *shared.Error {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *DeleteWorkflowResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *DeleteWorkflowResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getaccount.go b/libs/clients/go/pkg/models/operations/getaccount.go
new file mode 100755
index 0000000000..ad6871304b
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getaccount.go
@@ -0,0 +1,110 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "net/http"
+ "time"
+)
+
+type GetAccountRequest struct {
+ // Exact address of the account. It must match the following regular expressions pattern:
+ // ```
+ // ^\w+(:\w+)*$
+ // ```
+ //
+ Address string `pathParam:"style=simple,explode=false,name=address"`
+ Expand *string `queryParam:"style=form,explode=true,name=expand"`
+ // Name of the ledger.
+ Ledger string `pathParam:"style=simple,explode=false,name=ledger"`
+ Pit *time.Time `queryParam:"style=form,explode=true,name=pit"`
+}
+
+func (g GetAccountRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(g, "", false)
+}
+
+func (g *GetAccountRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *GetAccountRequest) GetAddress() string {
+ if o == nil {
+ return ""
+ }
+ return o.Address
+}
+
+func (o *GetAccountRequest) GetExpand() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Expand
+}
+
+func (o *GetAccountRequest) GetLedger() string {
+ if o == nil {
+ return ""
+ }
+ return o.Ledger
+}
+
+func (o *GetAccountRequest) GetPit() *time.Time {
+ if o == nil {
+ return nil
+ }
+ return o.Pit
+}
+
+type GetAccountResponse struct {
+ // OK
+ AccountResponse *shared.AccountResponse
+ // HTTP response content type for this operation
+ ContentType string
+ // Error
+ ErrorResponse *shared.ErrorResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *GetAccountResponse) GetAccountResponse() *shared.AccountResponse {
+ if o == nil {
+ return nil
+ }
+ return o.AccountResponse
+}
+
+func (o *GetAccountResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetAccountResponse) GetErrorResponse() *shared.ErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ErrorResponse
+}
+
+func (o *GetAccountResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetAccountResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getaccountbalances.go b/libs/clients/go/pkg/models/operations/getaccountbalances.go
new file mode 100755
index 0000000000..f756abd560
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getaccountbalances.go
@@ -0,0 +1,146 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "net/http"
+ "time"
+)
+
+type GetAccountBalancesRequest struct {
+ // The account ID.
+ AccountID string `pathParam:"style=simple,explode=false,name=accountId"`
+ // Filter balances by currency.
+ // If not specified, all account's balances will be returned.
+ //
+ Asset *string `queryParam:"style=form,explode=true,name=asset"`
+ // Parameter used in pagination requests. Maximum page size is set to 15.
+ // Set to the value of next for the next page of results.
+ // Set to the value of previous for the previous page of results.
+ // No other parameters can be set when this parameter is set.
+ //
+ Cursor *string `queryParam:"style=form,explode=true,name=cursor"`
+ // Filter balances by date.
+ // If not specified, all account's balances will be returned.
+ //
+ From *time.Time `queryParam:"style=form,explode=true,name=from"`
+ // The maximum number of results to return per page.
+ Limit *int64 `queryParam:"style=form,explode=true,name=limit"`
+ // The maximum number of results to return per page.
+ //
+ PageSize *int64 `default:"15" queryParam:"style=form,explode=true,name=pageSize"`
+ // Fields used to sort payments (default is date:desc).
+ Sort []string `queryParam:"style=form,explode=true,name=sort"`
+ // Filter balances by date.
+ // If not specified, default will be set to now.
+ //
+ To *time.Time `queryParam:"style=form,explode=true,name=to"`
+}
+
+func (g GetAccountBalancesRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(g, "", false)
+}
+
+func (g *GetAccountBalancesRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *GetAccountBalancesRequest) GetAccountID() string {
+ if o == nil {
+ return ""
+ }
+ return o.AccountID
+}
+
+func (o *GetAccountBalancesRequest) GetAsset() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Asset
+}
+
+func (o *GetAccountBalancesRequest) GetCursor() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Cursor
+}
+
+func (o *GetAccountBalancesRequest) GetFrom() *time.Time {
+ if o == nil {
+ return nil
+ }
+ return o.From
+}
+
+func (o *GetAccountBalancesRequest) GetLimit() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.Limit
+}
+
+func (o *GetAccountBalancesRequest) GetPageSize() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.PageSize
+}
+
+func (o *GetAccountBalancesRequest) GetSort() []string {
+ if o == nil {
+ return nil
+ }
+ return o.Sort
+}
+
+func (o *GetAccountBalancesRequest) GetTo() *time.Time {
+ if o == nil {
+ return nil
+ }
+ return o.To
+}
+
+type GetAccountBalancesResponse struct {
+ // OK
+ BalancesCursor *shared.BalancesCursor
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *GetAccountBalancesResponse) GetBalancesCursor() *shared.BalancesCursor {
+ if o == nil {
+ return nil
+ }
+ return o.BalancesCursor
+}
+
+func (o *GetAccountBalancesResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetAccountBalancesResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetAccountBalancesResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getapiauthwellknownopenidconfiguration.go b/libs/clients/go/pkg/models/operations/getapiauthwellknownopenidconfiguration.go
new file mode 100755
index 0000000000..44e756a468
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getapiauthwellknownopenidconfiguration.go
@@ -0,0 +1,37 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "net/http"
+)
+
+type GetAPIAuthWellKnownOpenidConfigurationResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *GetAPIAuthWellKnownOpenidConfigurationResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetAPIAuthWellKnownOpenidConfigurationResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetAPIAuthWellKnownOpenidConfigurationResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getbalance.go b/libs/clients/go/pkg/models/operations/getbalance.go
new file mode 100755
index 0000000000..0b17288a8d
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getbalance.go
@@ -0,0 +1,75 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type GetBalanceRequest struct {
+ BalanceName string `pathParam:"style=simple,explode=false,name=balanceName"`
+ ID string `pathParam:"style=simple,explode=false,name=id"`
+}
+
+func (o *GetBalanceRequest) GetBalanceName() string {
+ if o == nil {
+ return ""
+ }
+ return o.BalanceName
+}
+
+func (o *GetBalanceRequest) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+type GetBalanceResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Balance summary
+ GetBalanceResponse *shared.GetBalanceResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error
+ WalletsErrorResponse *shared.WalletsErrorResponse
+}
+
+func (o *GetBalanceResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetBalanceResponse) GetGetBalanceResponse() *shared.GetBalanceResponse {
+ if o == nil {
+ return nil
+ }
+ return o.GetBalanceResponse
+}
+
+func (o *GetBalanceResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetBalanceResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *GetBalanceResponse) GetWalletsErrorResponse() *shared.WalletsErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.WalletsErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getbalancesaggregated.go b/libs/clients/go/pkg/models/operations/getbalancesaggregated.go
new file mode 100755
index 0000000000..c28a65716f
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getbalancesaggregated.go
@@ -0,0 +1,97 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "net/http"
+ "time"
+)
+
+type GetBalancesAggregatedRequest struct {
+ RequestBody map[string]interface{} `request:"mediaType=application/json"`
+ // Name of the ledger.
+ Ledger string `pathParam:"style=simple,explode=false,name=ledger"`
+ Pit *time.Time `queryParam:"style=form,explode=true,name=pit"`
+}
+
+func (g GetBalancesAggregatedRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(g, "", false)
+}
+
+func (g *GetBalancesAggregatedRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *GetBalancesAggregatedRequest) GetRequestBody() map[string]interface{} {
+ if o == nil {
+ return nil
+ }
+ return o.RequestBody
+}
+
+func (o *GetBalancesAggregatedRequest) GetLedger() string {
+ if o == nil {
+ return ""
+ }
+ return o.Ledger
+}
+
+func (o *GetBalancesAggregatedRequest) GetPit() *time.Time {
+ if o == nil {
+ return nil
+ }
+ return o.Pit
+}
+
+type GetBalancesAggregatedResponse struct {
+ // OK
+ AggregateBalancesResponse *shared.AggregateBalancesResponse
+ // HTTP response content type for this operation
+ ContentType string
+ // Error
+ ErrorResponse *shared.ErrorResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *GetBalancesAggregatedResponse) GetAggregateBalancesResponse() *shared.AggregateBalancesResponse {
+ if o == nil {
+ return nil
+ }
+ return o.AggregateBalancesResponse
+}
+
+func (o *GetBalancesAggregatedResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetBalancesAggregatedResponse) GetErrorResponse() *shared.ErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ErrorResponse
+}
+
+func (o *GetBalancesAggregatedResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetBalancesAggregatedResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getbankaccount.go b/libs/clients/go/pkg/models/operations/getbankaccount.go
new file mode 100755
index 0000000000..d40cfc4844
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getbankaccount.go
@@ -0,0 +1,59 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type GetBankAccountRequest struct {
+ // The bank account ID.
+ BankAccountID string `pathParam:"style=simple,explode=false,name=bankAccountId"`
+}
+
+func (o *GetBankAccountRequest) GetBankAccountID() string {
+ if o == nil {
+ return ""
+ }
+ return o.BankAccountID
+}
+
+type GetBankAccountResponse struct {
+ // OK
+ BankAccountResponse *shared.BankAccountResponse
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *GetBankAccountResponse) GetBankAccountResponse() *shared.BankAccountResponse {
+ if o == nil {
+ return nil
+ }
+ return o.BankAccountResponse
+}
+
+func (o *GetBankAccountResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetBankAccountResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetBankAccountResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getconnectortask.go b/libs/clients/go/pkg/models/operations/getconnectortask.go
new file mode 100755
index 0000000000..6827c83448
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getconnectortask.go
@@ -0,0 +1,68 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type GetConnectorTaskRequest struct {
+ // The name of the connector.
+ Connector shared.Connector `pathParam:"style=simple,explode=false,name=connector"`
+ // The task ID.
+ TaskID string `pathParam:"style=simple,explode=false,name=taskId"`
+}
+
+func (o *GetConnectorTaskRequest) GetConnector() shared.Connector {
+ if o == nil {
+ return shared.Connector("")
+ }
+ return o.Connector
+}
+
+func (o *GetConnectorTaskRequest) GetTaskID() string {
+ if o == nil {
+ return ""
+ }
+ return o.TaskID
+}
+
+type GetConnectorTaskResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // OK
+ TaskResponse *shared.TaskResponse
+}
+
+func (o *GetConnectorTaskResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetConnectorTaskResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetConnectorTaskResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *GetConnectorTaskResponse) GetTaskResponse() *shared.TaskResponse {
+ if o == nil {
+ return nil
+ }
+ return o.TaskResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getconnectortaskv1.go b/libs/clients/go/pkg/models/operations/getconnectortaskv1.go
new file mode 100755
index 0000000000..9acc747f73
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getconnectortaskv1.go
@@ -0,0 +1,77 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type GetConnectorTaskV1Request struct {
+ // The name of the connector.
+ Connector shared.Connector `pathParam:"style=simple,explode=false,name=connector"`
+ // The connector ID.
+ ConnectorID string `pathParam:"style=simple,explode=false,name=connectorId"`
+ // The task ID.
+ TaskID string `pathParam:"style=simple,explode=false,name=taskId"`
+}
+
+func (o *GetConnectorTaskV1Request) GetConnector() shared.Connector {
+ if o == nil {
+ return shared.Connector("")
+ }
+ return o.Connector
+}
+
+func (o *GetConnectorTaskV1Request) GetConnectorID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ConnectorID
+}
+
+func (o *GetConnectorTaskV1Request) GetTaskID() string {
+ if o == nil {
+ return ""
+ }
+ return o.TaskID
+}
+
+type GetConnectorTaskV1Response struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // OK
+ TaskResponse *shared.TaskResponse
+}
+
+func (o *GetConnectorTaskV1Response) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetConnectorTaskV1Response) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetConnectorTaskV1Response) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *GetConnectorTaskV1Response) GetTaskResponse() *shared.TaskResponse {
+ if o == nil {
+ return nil
+ }
+ return o.TaskResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/gethold.go b/libs/clients/go/pkg/models/operations/gethold.go
new file mode 100755
index 0000000000..ab7345368b
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/gethold.go
@@ -0,0 +1,68 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type GetHoldRequest struct {
+ // The hold ID
+ HoldID string `pathParam:"style=simple,explode=false,name=holdID"`
+}
+
+func (o *GetHoldRequest) GetHoldID() string {
+ if o == nil {
+ return ""
+ }
+ return o.HoldID
+}
+
+type GetHoldResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Holds
+ GetHoldResponse *shared.GetHoldResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error
+ WalletsErrorResponse *shared.WalletsErrorResponse
+}
+
+func (o *GetHoldResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetHoldResponse) GetGetHoldResponse() *shared.GetHoldResponse {
+ if o == nil {
+ return nil
+ }
+ return o.GetHoldResponse
+}
+
+func (o *GetHoldResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetHoldResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *GetHoldResponse) GetWalletsErrorResponse() *shared.WalletsErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.WalletsErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getholds.go b/libs/clients/go/pkg/models/operations/getholds.go
new file mode 100755
index 0000000000..d8506c1512
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getholds.go
@@ -0,0 +1,111 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "net/http"
+)
+
+type GetHoldsRequest struct {
+ // Parameter used in pagination requests.
+ // Set to the value of next for the next page of results.
+ // Set to the value of previous for the previous page of results.
+ // No other parameters can be set when the pagination token is set.
+ //
+ Cursor *string `queryParam:"style=form,explode=true,name=cursor"`
+ // Filter holds by metadata key value pairs. Nested objects can be used as seen in the example below.
+ Metadata map[string]string `queryParam:"style=deepObject,explode=true,name=metadata"`
+ // The maximum number of results to return per page
+ PageSize *int64 `default:"15" queryParam:"style=form,explode=true,name=pageSize"`
+ // The wallet to filter on
+ WalletID *string `queryParam:"style=form,explode=true,name=walletID"`
+}
+
+func (g GetHoldsRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(g, "", false)
+}
+
+func (g *GetHoldsRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *GetHoldsRequest) GetCursor() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Cursor
+}
+
+func (o *GetHoldsRequest) GetMetadata() map[string]string {
+ if o == nil {
+ return nil
+ }
+ return o.Metadata
+}
+
+func (o *GetHoldsRequest) GetPageSize() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.PageSize
+}
+
+func (o *GetHoldsRequest) GetWalletID() *string {
+ if o == nil {
+ return nil
+ }
+ return o.WalletID
+}
+
+type GetHoldsResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Holds
+ GetHoldsResponse *shared.GetHoldsResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error
+ WalletsErrorResponse *shared.WalletsErrorResponse
+}
+
+func (o *GetHoldsResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetHoldsResponse) GetGetHoldsResponse() *shared.GetHoldsResponse {
+ if o == nil {
+ return nil
+ }
+ return o.GetHoldsResponse
+}
+
+func (o *GetHoldsResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetHoldsResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *GetHoldsResponse) GetWalletsErrorResponse() *shared.WalletsErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.WalletsErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getinfo.go b/libs/clients/go/pkg/models/operations/getinfo.go
new file mode 100755
index 0000000000..7bde8e930c
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getinfo.go
@@ -0,0 +1,56 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type GetInfoResponse struct {
+ // OK
+ ConfigInfoResponse *shared.ConfigInfoResponse
+ // HTTP response content type for this operation
+ ContentType string
+ // Error
+ ErrorResponse *shared.ErrorResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *GetInfoResponse) GetConfigInfoResponse() *shared.ConfigInfoResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ConfigInfoResponse
+}
+
+func (o *GetInfoResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetInfoResponse) GetErrorResponse() *shared.ErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ErrorResponse
+}
+
+func (o *GetInfoResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetInfoResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getinstance.go b/libs/clients/go/pkg/models/operations/getinstance.go
new file mode 100755
index 0000000000..5f9a57b585
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getinstance.go
@@ -0,0 +1,68 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type GetInstanceRequest struct {
+ // The instance id
+ InstanceID string `pathParam:"style=simple,explode=false,name=instanceID"`
+}
+
+func (o *GetInstanceRequest) GetInstanceID() string {
+ if o == nil {
+ return ""
+ }
+ return o.InstanceID
+}
+
+type GetInstanceResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // General error
+ Error *shared.Error
+ // The workflow instance
+ GetWorkflowInstanceResponse *shared.GetWorkflowInstanceResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *GetInstanceResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetInstanceResponse) GetError() *shared.Error {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *GetInstanceResponse) GetGetWorkflowInstanceResponse() *shared.GetWorkflowInstanceResponse {
+ if o == nil {
+ return nil
+ }
+ return o.GetWorkflowInstanceResponse
+}
+
+func (o *GetInstanceResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetInstanceResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getinstancehistory.go b/libs/clients/go/pkg/models/operations/getinstancehistory.go
new file mode 100755
index 0000000000..183a4125cc
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getinstancehistory.go
@@ -0,0 +1,68 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type GetInstanceHistoryRequest struct {
+ // The instance id
+ InstanceID string `pathParam:"style=simple,explode=false,name=instanceID"`
+}
+
+func (o *GetInstanceHistoryRequest) GetInstanceID() string {
+ if o == nil {
+ return ""
+ }
+ return o.InstanceID
+}
+
+type GetInstanceHistoryResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // General error
+ Error *shared.Error
+ // The workflow instance history
+ GetWorkflowInstanceHistoryResponse *shared.GetWorkflowInstanceHistoryResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *GetInstanceHistoryResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetInstanceHistoryResponse) GetError() *shared.Error {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *GetInstanceHistoryResponse) GetGetWorkflowInstanceHistoryResponse() *shared.GetWorkflowInstanceHistoryResponse {
+ if o == nil {
+ return nil
+ }
+ return o.GetWorkflowInstanceHistoryResponse
+}
+
+func (o *GetInstanceHistoryResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetInstanceHistoryResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getinstancestagehistory.go b/libs/clients/go/pkg/models/operations/getinstancestagehistory.go
new file mode 100755
index 0000000000..9344ecae82
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getinstancestagehistory.go
@@ -0,0 +1,77 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type GetInstanceStageHistoryRequest struct {
+ // The instance id
+ InstanceID string `pathParam:"style=simple,explode=false,name=instanceID"`
+ // The stage number
+ Number int64 `pathParam:"style=simple,explode=false,name=number"`
+}
+
+func (o *GetInstanceStageHistoryRequest) GetInstanceID() string {
+ if o == nil {
+ return ""
+ }
+ return o.InstanceID
+}
+
+func (o *GetInstanceStageHistoryRequest) GetNumber() int64 {
+ if o == nil {
+ return 0
+ }
+ return o.Number
+}
+
+type GetInstanceStageHistoryResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // General error
+ Error *shared.Error
+ // The workflow instance stage history
+ GetWorkflowInstanceHistoryStageResponse *shared.GetWorkflowInstanceHistoryStageResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *GetInstanceStageHistoryResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetInstanceStageHistoryResponse) GetError() *shared.Error {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *GetInstanceStageHistoryResponse) GetGetWorkflowInstanceHistoryStageResponse() *shared.GetWorkflowInstanceHistoryStageResponse {
+ if o == nil {
+ return nil
+ }
+ return o.GetWorkflowInstanceHistoryStageResponse
+}
+
+func (o *GetInstanceStageHistoryResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetInstanceStageHistoryResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getledger.go b/libs/clients/go/pkg/models/operations/getledger.go
new file mode 100755
index 0000000000..701dc4d48a
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getledger.go
@@ -0,0 +1,68 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type GetLedgerRequest struct {
+ // Name of the ledger.
+ Ledger string `pathParam:"style=simple,explode=false,name=ledger"`
+}
+
+func (o *GetLedgerRequest) GetLedger() string {
+ if o == nil {
+ return ""
+ }
+ return o.Ledger
+}
+
+type GetLedgerResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Error
+ ErrorResponse *shared.ErrorResponse
+ // OK
+ Ledger *shared.Ledger
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *GetLedgerResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetLedgerResponse) GetErrorResponse() *shared.ErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ErrorResponse
+}
+
+func (o *GetLedgerResponse) GetLedger() *shared.Ledger {
+ if o == nil {
+ return nil
+ }
+ return o.Ledger
+}
+
+func (o *GetLedgerResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetLedgerResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getledgerinfo.go b/libs/clients/go/pkg/models/operations/getledgerinfo.go
new file mode 100755
index 0000000000..bdbf95fe6c
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getledgerinfo.go
@@ -0,0 +1,68 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type GetLedgerInfoRequest struct {
+ // Name of the ledger.
+ Ledger string `pathParam:"style=simple,explode=false,name=ledger"`
+}
+
+func (o *GetLedgerInfoRequest) GetLedger() string {
+ if o == nil {
+ return ""
+ }
+ return o.Ledger
+}
+
+type GetLedgerInfoResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Error
+ ErrorResponse *shared.ErrorResponse
+ // OK
+ LedgerInfoResponse *shared.LedgerInfoResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *GetLedgerInfoResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetLedgerInfoResponse) GetErrorResponse() *shared.ErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ErrorResponse
+}
+
+func (o *GetLedgerInfoResponse) GetLedgerInfoResponse() *shared.LedgerInfoResponse {
+ if o == nil {
+ return nil
+ }
+ return o.LedgerInfoResponse
+}
+
+func (o *GetLedgerInfoResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetLedgerInfoResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getmanyconfigs.go b/libs/clients/go/pkg/models/operations/getmanyconfigs.go
new file mode 100755
index 0000000000..456165e691
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getmanyconfigs.go
@@ -0,0 +1,77 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type GetManyConfigsRequest struct {
+ // Optional filter by endpoint URL
+ Endpoint *string `queryParam:"style=form,explode=true,name=endpoint"`
+ // Optional filter by Config ID
+ ID *string `queryParam:"style=form,explode=true,name=id"`
+}
+
+func (o *GetManyConfigsRequest) GetEndpoint() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Endpoint
+}
+
+func (o *GetManyConfigsRequest) GetID() *string {
+ if o == nil {
+ return nil
+ }
+ return o.ID
+}
+
+type GetManyConfigsResponse struct {
+ // OK
+ ConfigsResponse *shared.ConfigsResponse
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error
+ WebhooksErrorResponse *shared.WebhooksErrorResponse
+}
+
+func (o *GetManyConfigsResponse) GetConfigsResponse() *shared.ConfigsResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ConfigsResponse
+}
+
+func (o *GetManyConfigsResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetManyConfigsResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetManyConfigsResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *GetManyConfigsResponse) GetWebhooksErrorResponse() *shared.WebhooksErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.WebhooksErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getpayment.go b/libs/clients/go/pkg/models/operations/getpayment.go
new file mode 100755
index 0000000000..ad424d6778
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getpayment.go
@@ -0,0 +1,59 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type GetPaymentRequest struct {
+ // The payment ID.
+ PaymentID string `pathParam:"style=simple,explode=false,name=paymentId"`
+}
+
+func (o *GetPaymentRequest) GetPaymentID() string {
+ if o == nil {
+ return ""
+ }
+ return o.PaymentID
+}
+
+type GetPaymentResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // OK
+ PaymentResponse *shared.PaymentResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *GetPaymentResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetPaymentResponse) GetPaymentResponse() *shared.PaymentResponse {
+ if o == nil {
+ return nil
+ }
+ return o.PaymentResponse
+}
+
+func (o *GetPaymentResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetPaymentResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getpolicy.go b/libs/clients/go/pkg/models/operations/getpolicy.go
new file mode 100755
index 0000000000..37c5338024
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getpolicy.go
@@ -0,0 +1,68 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type GetPolicyRequest struct {
+ // The policy ID.
+ PolicyID string `pathParam:"style=simple,explode=false,name=policyID"`
+}
+
+func (o *GetPolicyRequest) GetPolicyID() string {
+ if o == nil {
+ return ""
+ }
+ return o.PolicyID
+}
+
+type GetPolicyResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // OK
+ PolicyResponse *shared.PolicyResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error response
+ ReconciliationErrorResponse *shared.ReconciliationErrorResponse
+}
+
+func (o *GetPolicyResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetPolicyResponse) GetPolicyResponse() *shared.PolicyResponse {
+ if o == nil {
+ return nil
+ }
+ return o.PolicyResponse
+}
+
+func (o *GetPolicyResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetPolicyResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *GetPolicyResponse) GetReconciliationErrorResponse() *shared.ReconciliationErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ReconciliationErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getpool.go b/libs/clients/go/pkg/models/operations/getpool.go
new file mode 100755
index 0000000000..8220d35735
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getpool.go
@@ -0,0 +1,59 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type GetPoolRequest struct {
+ // The pool ID.
+ PoolID string `pathParam:"style=simple,explode=false,name=poolId"`
+}
+
+func (o *GetPoolRequest) GetPoolID() string {
+ if o == nil {
+ return ""
+ }
+ return o.PoolID
+}
+
+type GetPoolResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // OK
+ PoolResponse *shared.PoolResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *GetPoolResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetPoolResponse) GetPoolResponse() *shared.PoolResponse {
+ if o == nil {
+ return nil
+ }
+ return o.PoolResponse
+}
+
+func (o *GetPoolResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetPoolResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getpoolbalances.go b/libs/clients/go/pkg/models/operations/getpoolbalances.go
new file mode 100755
index 0000000000..d789d700e4
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getpoolbalances.go
@@ -0,0 +1,82 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "net/http"
+ "time"
+)
+
+type GetPoolBalancesRequest struct {
+ // Filter balances by date.
+ //
+ At time.Time `queryParam:"style=form,explode=true,name=at"`
+ // The pool ID.
+ PoolID string `pathParam:"style=simple,explode=false,name=poolId"`
+}
+
+func (g GetPoolBalancesRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(g, "", false)
+}
+
+func (g *GetPoolBalancesRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *GetPoolBalancesRequest) GetAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.At
+}
+
+func (o *GetPoolBalancesRequest) GetPoolID() string {
+ if o == nil {
+ return ""
+ }
+ return o.PoolID
+}
+
+type GetPoolBalancesResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // OK
+ PoolBalancesResponse *shared.PoolBalancesResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *GetPoolBalancesResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetPoolBalancesResponse) GetPoolBalancesResponse() *shared.PoolBalancesResponse {
+ if o == nil {
+ return nil
+ }
+ return o.PoolBalancesResponse
+}
+
+func (o *GetPoolBalancesResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetPoolBalancesResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getreconciliation.go b/libs/clients/go/pkg/models/operations/getreconciliation.go
new file mode 100755
index 0000000000..7e037742a5
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getreconciliation.go
@@ -0,0 +1,68 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type GetReconciliationRequest struct {
+ // The reconciliation ID.
+ ReconciliationID string `pathParam:"style=simple,explode=false,name=reconciliationID"`
+}
+
+func (o *GetReconciliationRequest) GetReconciliationID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ReconciliationID
+}
+
+type GetReconciliationResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // OK
+ ReconciliationResponse *shared.ReconciliationResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error response
+ ReconciliationErrorResponse *shared.ReconciliationErrorResponse
+}
+
+func (o *GetReconciliationResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetReconciliationResponse) GetReconciliationResponse() *shared.ReconciliationResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ReconciliationResponse
+}
+
+func (o *GetReconciliationResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetReconciliationResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *GetReconciliationResponse) GetReconciliationErrorResponse() *shared.ReconciliationErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ReconciliationErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getserverinfo.go b/libs/clients/go/pkg/models/operations/getserverinfo.go
new file mode 100755
index 0000000000..31c471d131
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getserverinfo.go
@@ -0,0 +1,47 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type GetServerInfoResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Server information
+ ServerInfo *shared.ServerInfo
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *GetServerInfoResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetServerInfoResponse) GetServerInfo() *shared.ServerInfo {
+ if o == nil {
+ return nil
+ }
+ return o.ServerInfo
+}
+
+func (o *GetServerInfoResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetServerInfoResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/gettransaction.go b/libs/clients/go/pkg/models/operations/gettransaction.go
new file mode 100755
index 0000000000..565868b993
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/gettransaction.go
@@ -0,0 +1,107 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+ "net/http"
+ "time"
+)
+
+type GetTransactionRequest struct {
+ Expand *string `queryParam:"style=form,explode=true,name=expand"`
+ // Transaction ID.
+ ID *big.Int `pathParam:"style=simple,explode=false,name=id"`
+ // Name of the ledger.
+ Ledger string `pathParam:"style=simple,explode=false,name=ledger"`
+ Pit *time.Time `queryParam:"style=form,explode=true,name=pit"`
+}
+
+func (g GetTransactionRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(g, "", false)
+}
+
+func (g *GetTransactionRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *GetTransactionRequest) GetExpand() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Expand
+}
+
+func (o *GetTransactionRequest) GetID() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.ID
+}
+
+func (o *GetTransactionRequest) GetLedger() string {
+ if o == nil {
+ return ""
+ }
+ return o.Ledger
+}
+
+func (o *GetTransactionRequest) GetPit() *time.Time {
+ if o == nil {
+ return nil
+ }
+ return o.Pit
+}
+
+type GetTransactionResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Error
+ ErrorResponse *shared.ErrorResponse
+ // OK
+ GetTransactionResponse *shared.GetTransactionResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *GetTransactionResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetTransactionResponse) GetErrorResponse() *shared.ErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ErrorResponse
+}
+
+func (o *GetTransactionResponse) GetGetTransactionResponse() *shared.GetTransactionResponse {
+ if o == nil {
+ return nil
+ }
+ return o.GetTransactionResponse
+}
+
+func (o *GetTransactionResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetTransactionResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/gettransactions.go b/libs/clients/go/pkg/models/operations/gettransactions.go
new file mode 100755
index 0000000000..23ba9379aa
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/gettransactions.go
@@ -0,0 +1,102 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "net/http"
+)
+
+type GetTransactionsRequest struct {
+ // Parameter used in pagination requests.
+ // Set to the value of next for the next page of results.
+ // Set to the value of previous for the previous page of results.
+ // No other parameters can be set when the cursor is set.
+ //
+ Cursor *string `queryParam:"style=form,explode=true,name=cursor"`
+ // The maximum number of results to return per page
+ PageSize *int64 `default:"15" queryParam:"style=form,explode=true,name=pageSize"`
+ // A wallet ID to filter on
+ WalletID *string `queryParam:"style=form,explode=true,name=walletID"`
+}
+
+func (g GetTransactionsRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(g, "", false)
+}
+
+func (g *GetTransactionsRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *GetTransactionsRequest) GetCursor() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Cursor
+}
+
+func (o *GetTransactionsRequest) GetPageSize() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.PageSize
+}
+
+func (o *GetTransactionsRequest) GetWalletID() *string {
+ if o == nil {
+ return nil
+ }
+ return o.WalletID
+}
+
+type GetTransactionsResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // OK
+ GetTransactionsResponse *shared.GetTransactionsResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error
+ WalletsErrorResponse *shared.WalletsErrorResponse
+}
+
+func (o *GetTransactionsResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetTransactionsResponse) GetGetTransactionsResponse() *shared.GetTransactionsResponse {
+ if o == nil {
+ return nil
+ }
+ return o.GetTransactionsResponse
+}
+
+func (o *GetTransactionsResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetTransactionsResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *GetTransactionsResponse) GetWalletsErrorResponse() *shared.WalletsErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.WalletsErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/gettransferinitiation.go b/libs/clients/go/pkg/models/operations/gettransferinitiation.go
new file mode 100755
index 0000000000..8af4cc60b9
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/gettransferinitiation.go
@@ -0,0 +1,59 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type GetTransferInitiationRequest struct {
+ // The transfer ID.
+ TransferID string `pathParam:"style=simple,explode=false,name=transferId"`
+}
+
+func (o *GetTransferInitiationRequest) GetTransferID() string {
+ if o == nil {
+ return ""
+ }
+ return o.TransferID
+}
+
+type GetTransferInitiationResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // OK
+ TransferInitiationResponse *shared.TransferInitiationResponse
+}
+
+func (o *GetTransferInitiationResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetTransferInitiationResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetTransferInitiationResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *GetTransferInitiationResponse) GetTransferInitiationResponse() *shared.TransferInitiationResponse {
+ if o == nil {
+ return nil
+ }
+ return o.TransferInitiationResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getversions.go b/libs/clients/go/pkg/models/operations/getversions.go
new file mode 100755
index 0000000000..9b34be8493
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getversions.go
@@ -0,0 +1,47 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type GetVersionsResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // OK
+ GetVersionsResponse *shared.GetVersionsResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *GetVersionsResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetVersionsResponse) GetGetVersionsResponse() *shared.GetVersionsResponse {
+ if o == nil {
+ return nil
+ }
+ return o.GetVersionsResponse
+}
+
+func (o *GetVersionsResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetVersionsResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getwallet.go b/libs/clients/go/pkg/models/operations/getwallet.go
new file mode 100755
index 0000000000..9ee15fc5e9
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getwallet.go
@@ -0,0 +1,67 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type GetWalletRequest struct {
+ ID string `pathParam:"style=simple,explode=false,name=id"`
+}
+
+func (o *GetWalletRequest) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+type GetWalletResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Wallet
+ GetWalletResponse *shared.GetWalletResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error
+ WalletsErrorResponse *shared.WalletsErrorResponse
+}
+
+func (o *GetWalletResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetWalletResponse) GetGetWalletResponse() *shared.GetWalletResponse {
+ if o == nil {
+ return nil
+ }
+ return o.GetWalletResponse
+}
+
+func (o *GetWalletResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetWalletResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *GetWalletResponse) GetWalletsErrorResponse() *shared.WalletsErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.WalletsErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getwalletsummary.go b/libs/clients/go/pkg/models/operations/getwalletsummary.go
new file mode 100755
index 0000000000..965b9f5a9d
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getwalletsummary.go
@@ -0,0 +1,67 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type GetWalletSummaryRequest struct {
+ ID string `pathParam:"style=simple,explode=false,name=id"`
+}
+
+func (o *GetWalletSummaryRequest) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+type GetWalletSummaryResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Wallet summary
+ GetWalletSummaryResponse *shared.GetWalletSummaryResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error
+ WalletsErrorResponse *shared.WalletsErrorResponse
+}
+
+func (o *GetWalletSummaryResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetWalletSummaryResponse) GetGetWalletSummaryResponse() *shared.GetWalletSummaryResponse {
+ if o == nil {
+ return nil
+ }
+ return o.GetWalletSummaryResponse
+}
+
+func (o *GetWalletSummaryResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetWalletSummaryResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *GetWalletSummaryResponse) GetWalletsErrorResponse() *shared.WalletsErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.WalletsErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/getworkflow.go b/libs/clients/go/pkg/models/operations/getworkflow.go
new file mode 100755
index 0000000000..463ddbd6f6
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/getworkflow.go
@@ -0,0 +1,68 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type GetWorkflowRequest struct {
+ // The flow id
+ FlowID string `pathParam:"style=simple,explode=false,name=flowId"`
+}
+
+func (o *GetWorkflowRequest) GetFlowID() string {
+ if o == nil {
+ return ""
+ }
+ return o.FlowID
+}
+
+type GetWorkflowResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // General error
+ Error *shared.Error
+ // The workflow
+ GetWorkflowResponse *shared.GetWorkflowResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *GetWorkflowResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *GetWorkflowResponse) GetError() *shared.Error {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *GetWorkflowResponse) GetGetWorkflowResponse() *shared.GetWorkflowResponse {
+ if o == nil {
+ return nil
+ }
+ return o.GetWorkflowResponse
+}
+
+func (o *GetWorkflowResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *GetWorkflowResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/insertconfig.go b/libs/clients/go/pkg/models/operations/insertconfig.go
new file mode 100755
index 0000000000..18ceda874d
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/insertconfig.go
@@ -0,0 +1,56 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type InsertConfigResponse struct {
+ // Config created successfully.
+ ConfigResponse *shared.ConfigResponse
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error
+ WebhooksErrorResponse *shared.WebhooksErrorResponse
+}
+
+func (o *InsertConfigResponse) GetConfigResponse() *shared.ConfigResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ConfigResponse
+}
+
+func (o *InsertConfigResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *InsertConfigResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *InsertConfigResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *InsertConfigResponse) GetWebhooksErrorResponse() *shared.WebhooksErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.WebhooksErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/installconnector.go b/libs/clients/go/pkg/models/operations/installconnector.go
new file mode 100755
index 0000000000..410649b124
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/installconnector.go
@@ -0,0 +1,67 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type InstallConnectorRequest struct {
+ ConnectorConfig shared.ConnectorConfig `request:"mediaType=application/json"`
+ // The name of the connector.
+ Connector shared.Connector `pathParam:"style=simple,explode=false,name=connector"`
+}
+
+func (o *InstallConnectorRequest) GetConnectorConfig() shared.ConnectorConfig {
+ if o == nil {
+ return shared.ConnectorConfig{}
+ }
+ return o.ConnectorConfig
+}
+
+func (o *InstallConnectorRequest) GetConnector() shared.Connector {
+ if o == nil {
+ return shared.Connector("")
+ }
+ return o.Connector
+}
+
+type InstallConnectorResponse struct {
+ // OK
+ ConnectorResponse *shared.ConnectorResponse
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *InstallConnectorResponse) GetConnectorResponse() *shared.ConnectorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ConnectorResponse
+}
+
+func (o *InstallConnectorResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *InstallConnectorResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *InstallConnectorResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/listaccounts.go b/libs/clients/go/pkg/models/operations/listaccounts.go
new file mode 100755
index 0000000000..210dc13d2d
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/listaccounts.go
@@ -0,0 +1,128 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "net/http"
+ "time"
+)
+
+type ListAccountsRequest struct {
+ RequestBody map[string]interface{} `request:"mediaType=application/json"`
+ // Parameter used in pagination requests. Maximum page size is set to 15.
+ // Set to the value of next for the next page of results.
+ // Set to the value of previous for the previous page of results.
+ // No other parameters can be set when this parameter is set.
+ //
+ Cursor *string `queryParam:"style=form,explode=true,name=cursor"`
+ Expand *string `queryParam:"style=form,explode=true,name=expand"`
+ // Name of the ledger.
+ Ledger string `pathParam:"style=simple,explode=false,name=ledger"`
+ // The maximum number of results to return per page.
+ //
+ PageSize *int64 `queryParam:"style=form,explode=true,name=pageSize"`
+ Pit *time.Time `queryParam:"style=form,explode=true,name=pit"`
+}
+
+func (l ListAccountsRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(l, "", false)
+}
+
+func (l *ListAccountsRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &l, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *ListAccountsRequest) GetRequestBody() map[string]interface{} {
+ if o == nil {
+ return nil
+ }
+ return o.RequestBody
+}
+
+func (o *ListAccountsRequest) GetCursor() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Cursor
+}
+
+func (o *ListAccountsRequest) GetExpand() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Expand
+}
+
+func (o *ListAccountsRequest) GetLedger() string {
+ if o == nil {
+ return ""
+ }
+ return o.Ledger
+}
+
+func (o *ListAccountsRequest) GetPageSize() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.PageSize
+}
+
+func (o *ListAccountsRequest) GetPit() *time.Time {
+ if o == nil {
+ return nil
+ }
+ return o.Pit
+}
+
+type ListAccountsResponse struct {
+ // OK
+ AccountsCursorResponse *shared.AccountsCursorResponse
+ // HTTP response content type for this operation
+ ContentType string
+ // Error
+ ErrorResponse *shared.ErrorResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *ListAccountsResponse) GetAccountsCursorResponse() *shared.AccountsCursorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.AccountsCursorResponse
+}
+
+func (o *ListAccountsResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ListAccountsResponse) GetErrorResponse() *shared.ErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ErrorResponse
+}
+
+func (o *ListAccountsResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ListAccountsResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/listallconnectors.go b/libs/clients/go/pkg/models/operations/listallconnectors.go
new file mode 100755
index 0000000000..d8ac7c35e9
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/listallconnectors.go
@@ -0,0 +1,47 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ListAllConnectorsResponse struct {
+ // OK
+ ConnectorsResponse *shared.ConnectorsResponse
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *ListAllConnectorsResponse) GetConnectorsResponse() *shared.ConnectorsResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ConnectorsResponse
+}
+
+func (o *ListAllConnectorsResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ListAllConnectorsResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ListAllConnectorsResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/listbalances.go b/libs/clients/go/pkg/models/operations/listbalances.go
new file mode 100755
index 0000000000..635742fed8
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/listbalances.go
@@ -0,0 +1,58 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ListBalancesRequest struct {
+ ID string `pathParam:"style=simple,explode=false,name=id"`
+}
+
+func (o *ListBalancesRequest) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+type ListBalancesResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Balances list
+ ListBalancesResponse *shared.ListBalancesResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *ListBalancesResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ListBalancesResponse) GetListBalancesResponse() *shared.ListBalancesResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ListBalancesResponse
+}
+
+func (o *ListBalancesResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ListBalancesResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/listbankaccounts.go b/libs/clients/go/pkg/models/operations/listbankaccounts.go
new file mode 100755
index 0000000000..d30389e5ef
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/listbankaccounts.go
@@ -0,0 +1,94 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "net/http"
+)
+
+type ListBankAccountsRequest struct {
+ // Parameter used in pagination requests. Maximum page size is set to 15.
+ // Set to the value of next for the next page of results.
+ // Set to the value of previous for the previous page of results.
+ // No other parameters can be set when this parameter is set.
+ //
+ Cursor *string `queryParam:"style=form,explode=true,name=cursor"`
+ // The maximum number of results to return per page.
+ //
+ PageSize *int64 `default:"15" queryParam:"style=form,explode=true,name=pageSize"`
+ // Fields used to sort payments (default is date:desc).
+ Sort []string `queryParam:"style=form,explode=true,name=sort"`
+}
+
+func (l ListBankAccountsRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(l, "", false)
+}
+
+func (l *ListBankAccountsRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &l, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *ListBankAccountsRequest) GetCursor() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Cursor
+}
+
+func (o *ListBankAccountsRequest) GetPageSize() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.PageSize
+}
+
+func (o *ListBankAccountsRequest) GetSort() []string {
+ if o == nil {
+ return nil
+ }
+ return o.Sort
+}
+
+type ListBankAccountsResponse struct {
+ // OK
+ BankAccountsCursor *shared.BankAccountsCursor
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *ListBankAccountsResponse) GetBankAccountsCursor() *shared.BankAccountsCursor {
+ if o == nil {
+ return nil
+ }
+ return o.BankAccountsCursor
+}
+
+func (o *ListBankAccountsResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ListBankAccountsResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ListBankAccountsResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/listclients.go b/libs/clients/go/pkg/models/operations/listclients.go
new file mode 100755
index 0000000000..e4050bff18
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/listclients.go
@@ -0,0 +1,47 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ListClientsResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // List of clients
+ ListClientsResponse *shared.ListClientsResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *ListClientsResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ListClientsResponse) GetListClientsResponse() *shared.ListClientsResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ListClientsResponse
+}
+
+func (o *ListClientsResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ListClientsResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/listconfigsavailableconnectors.go b/libs/clients/go/pkg/models/operations/listconfigsavailableconnectors.go
new file mode 100755
index 0000000000..f33720eda9
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/listconfigsavailableconnectors.go
@@ -0,0 +1,47 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ListConfigsAvailableConnectorsResponse struct {
+ // OK
+ ConnectorsConfigsResponse *shared.ConnectorsConfigsResponse
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *ListConfigsAvailableConnectorsResponse) GetConnectorsConfigsResponse() *shared.ConnectorsConfigsResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ConnectorsConfigsResponse
+}
+
+func (o *ListConfigsAvailableConnectorsResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ListConfigsAvailableConnectorsResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ListConfigsAvailableConnectorsResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/listconnectortasks.go b/libs/clients/go/pkg/models/operations/listconnectortasks.go
new file mode 100755
index 0000000000..1dcc32cbec
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/listconnectortasks.go
@@ -0,0 +1,94 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "net/http"
+)
+
+type ListConnectorTasksRequest struct {
+ // The name of the connector.
+ Connector shared.Connector `pathParam:"style=simple,explode=false,name=connector"`
+ // Parameter used in pagination requests. Maximum page size is set to 15.
+ // Set to the value of next for the next page of results.
+ // Set to the value of previous for the previous page of results.
+ // No other parameters can be set when this parameter is set.
+ //
+ Cursor *string `queryParam:"style=form,explode=true,name=cursor"`
+ // The maximum number of results to return per page.
+ //
+ PageSize *int64 `default:"15" queryParam:"style=form,explode=true,name=pageSize"`
+}
+
+func (l ListConnectorTasksRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(l, "", false)
+}
+
+func (l *ListConnectorTasksRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &l, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *ListConnectorTasksRequest) GetConnector() shared.Connector {
+ if o == nil {
+ return shared.Connector("")
+ }
+ return o.Connector
+}
+
+func (o *ListConnectorTasksRequest) GetCursor() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Cursor
+}
+
+func (o *ListConnectorTasksRequest) GetPageSize() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.PageSize
+}
+
+type ListConnectorTasksResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // OK
+ TasksCursor *shared.TasksCursor
+}
+
+func (o *ListConnectorTasksResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ListConnectorTasksResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ListConnectorTasksResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *ListConnectorTasksResponse) GetTasksCursor() *shared.TasksCursor {
+ if o == nil {
+ return nil
+ }
+ return o.TasksCursor
+}
diff --git a/libs/clients/go/pkg/models/operations/listconnectortasksv1.go b/libs/clients/go/pkg/models/operations/listconnectortasksv1.go
new file mode 100755
index 0000000000..15d5a78c1c
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/listconnectortasksv1.go
@@ -0,0 +1,103 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "net/http"
+)
+
+type ListConnectorTasksV1Request struct {
+ // The name of the connector.
+ Connector shared.Connector `pathParam:"style=simple,explode=false,name=connector"`
+ // The connector ID.
+ ConnectorID string `pathParam:"style=simple,explode=false,name=connectorId"`
+ // Parameter used in pagination requests. Maximum page size is set to 15.
+ // Set to the value of next for the next page of results.
+ // Set to the value of previous for the previous page of results.
+ // No other parameters can be set when this parameter is set.
+ //
+ Cursor *string `queryParam:"style=form,explode=true,name=cursor"`
+ // The maximum number of results to return per page.
+ //
+ PageSize *int64 `default:"15" queryParam:"style=form,explode=true,name=pageSize"`
+}
+
+func (l ListConnectorTasksV1Request) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(l, "", false)
+}
+
+func (l *ListConnectorTasksV1Request) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &l, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *ListConnectorTasksV1Request) GetConnector() shared.Connector {
+ if o == nil {
+ return shared.Connector("")
+ }
+ return o.Connector
+}
+
+func (o *ListConnectorTasksV1Request) GetConnectorID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ConnectorID
+}
+
+func (o *ListConnectorTasksV1Request) GetCursor() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Cursor
+}
+
+func (o *ListConnectorTasksV1Request) GetPageSize() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.PageSize
+}
+
+type ListConnectorTasksV1Response struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // OK
+ TasksCursor *shared.TasksCursor
+}
+
+func (o *ListConnectorTasksV1Response) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ListConnectorTasksV1Response) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ListConnectorTasksV1Response) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *ListConnectorTasksV1Response) GetTasksCursor() *shared.TasksCursor {
+ if o == nil {
+ return nil
+ }
+ return o.TasksCursor
+}
diff --git a/libs/clients/go/pkg/models/operations/listinstances.go b/libs/clients/go/pkg/models/operations/listinstances.go
new file mode 100755
index 0000000000..2aae885bb0
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/listinstances.go
@@ -0,0 +1,77 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ListInstancesRequest struct {
+ // Filter running instances
+ Running *bool `queryParam:"style=form,explode=true,name=running"`
+ // A workflow id
+ WorkflowID *string `queryParam:"style=form,explode=true,name=workflowID"`
+}
+
+func (o *ListInstancesRequest) GetRunning() *bool {
+ if o == nil {
+ return nil
+ }
+ return o.Running
+}
+
+func (o *ListInstancesRequest) GetWorkflowID() *string {
+ if o == nil {
+ return nil
+ }
+ return o.WorkflowID
+}
+
+type ListInstancesResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // General error
+ Error *shared.Error
+ // List of workflow instances
+ ListRunsResponse *shared.ListRunsResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *ListInstancesResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ListInstancesResponse) GetError() *shared.Error {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *ListInstancesResponse) GetListRunsResponse() *shared.ListRunsResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ListRunsResponse
+}
+
+func (o *ListInstancesResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ListInstancesResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/listledgers.go b/libs/clients/go/pkg/models/operations/listledgers.go
new file mode 100755
index 0000000000..6a736f312f
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/listledgers.go
@@ -0,0 +1,82 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ListLedgersRequest struct {
+ // Parameter used in pagination requests. Maximum page size is set to 15.
+ // Set to the value of next for the next page of results.
+ // Set to the value of previous for the previous page of results.
+ // No other parameters can be set when this parameter is set.
+ //
+ Cursor *string `queryParam:"style=form,explode=true,name=cursor"`
+ // The maximum number of results to return per page.
+ //
+ PageSize *int64 `queryParam:"style=form,explode=true,name=pageSize"`
+}
+
+func (o *ListLedgersRequest) GetCursor() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Cursor
+}
+
+func (o *ListLedgersRequest) GetPageSize() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.PageSize
+}
+
+type ListLedgersResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Error
+ ErrorResponse *shared.ErrorResponse
+ // OK
+ LedgerListResponse *shared.LedgerListResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *ListLedgersResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ListLedgersResponse) GetErrorResponse() *shared.ErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ErrorResponse
+}
+
+func (o *ListLedgersResponse) GetLedgerListResponse() *shared.LedgerListResponse {
+ if o == nil {
+ return nil
+ }
+ return o.LedgerListResponse
+}
+
+func (o *ListLedgersResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ListLedgersResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/listlogs.go b/libs/clients/go/pkg/models/operations/listlogs.go
new file mode 100755
index 0000000000..acc06be285
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/listlogs.go
@@ -0,0 +1,120 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "net/http"
+ "time"
+)
+
+type ListLogsRequest struct {
+ RequestBody map[string]interface{} `request:"mediaType=application/json"`
+ // Parameter used in pagination requests. Maximum page size is set to 15.
+ // Set to the value of next for the next page of results.
+ // Set to the value of previous for the previous page of results.
+ // No other parameters can be set when this parameter is set.
+ //
+ Cursor *string `queryParam:"style=form,explode=true,name=cursor"`
+ // Name of the ledger.
+ Ledger string `pathParam:"style=simple,explode=false,name=ledger"`
+ // The maximum number of results to return per page.
+ //
+ PageSize *int64 `queryParam:"style=form,explode=true,name=pageSize"`
+ Pit *time.Time `queryParam:"style=form,explode=true,name=pit"`
+}
+
+func (l ListLogsRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(l, "", false)
+}
+
+func (l *ListLogsRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &l, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *ListLogsRequest) GetRequestBody() map[string]interface{} {
+ if o == nil {
+ return nil
+ }
+ return o.RequestBody
+}
+
+func (o *ListLogsRequest) GetCursor() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Cursor
+}
+
+func (o *ListLogsRequest) GetLedger() string {
+ if o == nil {
+ return ""
+ }
+ return o.Ledger
+}
+
+func (o *ListLogsRequest) GetPageSize() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.PageSize
+}
+
+func (o *ListLogsRequest) GetPit() *time.Time {
+ if o == nil {
+ return nil
+ }
+ return o.Pit
+}
+
+type ListLogsResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Error
+ ErrorResponse *shared.ErrorResponse
+ // OK
+ LogsCursorResponse *shared.LogsCursorResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *ListLogsResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ListLogsResponse) GetErrorResponse() *shared.ErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ErrorResponse
+}
+
+func (o *ListLogsResponse) GetLogsCursorResponse() *shared.LogsCursorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.LogsCursorResponse
+}
+
+func (o *ListLogsResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ListLogsResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/listpayments.go b/libs/clients/go/pkg/models/operations/listpayments.go
new file mode 100755
index 0000000000..a1f458b32b
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/listpayments.go
@@ -0,0 +1,94 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "net/http"
+)
+
+type ListPaymentsRequest struct {
+ // Parameter used in pagination requests. Maximum page size is set to 15.
+ // Set to the value of next for the next page of results.
+ // Set to the value of previous for the previous page of results.
+ // No other parameters can be set when this parameter is set.
+ //
+ Cursor *string `queryParam:"style=form,explode=true,name=cursor"`
+ // The maximum number of results to return per page.
+ //
+ PageSize *int64 `default:"15" queryParam:"style=form,explode=true,name=pageSize"`
+ // Fields used to sort payments (default is date:desc).
+ Sort []string `queryParam:"style=form,explode=true,name=sort"`
+}
+
+func (l ListPaymentsRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(l, "", false)
+}
+
+func (l *ListPaymentsRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &l, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *ListPaymentsRequest) GetCursor() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Cursor
+}
+
+func (o *ListPaymentsRequest) GetPageSize() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.PageSize
+}
+
+func (o *ListPaymentsRequest) GetSort() []string {
+ if o == nil {
+ return nil
+ }
+ return o.Sort
+}
+
+type ListPaymentsResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // OK
+ PaymentsCursor *shared.PaymentsCursor
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *ListPaymentsResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ListPaymentsResponse) GetPaymentsCursor() *shared.PaymentsCursor {
+ if o == nil {
+ return nil
+ }
+ return o.PaymentsCursor
+}
+
+func (o *ListPaymentsResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ListPaymentsResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/listpolicies.go b/libs/clients/go/pkg/models/operations/listpolicies.go
new file mode 100755
index 0000000000..a3d97a7c35
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/listpolicies.go
@@ -0,0 +1,82 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ListPoliciesRequest struct {
+ // Parameter used in pagination requests. Maximum page size is set to 15.
+ // Set to the value of next for the next page of results.
+ // Set to the value of previous for the previous page of results.
+ // No other parameters can be set when this parameter is set.
+ //
+ Cursor *string `queryParam:"style=form,explode=true,name=cursor"`
+ // The maximum number of results to return per page.
+ //
+ PageSize *int64 `queryParam:"style=form,explode=true,name=pageSize"`
+}
+
+func (o *ListPoliciesRequest) GetCursor() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Cursor
+}
+
+func (o *ListPoliciesRequest) GetPageSize() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.PageSize
+}
+
+type ListPoliciesResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // OK
+ PoliciesCursorResponse *shared.PoliciesCursorResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error response
+ ReconciliationErrorResponse *shared.ReconciliationErrorResponse
+}
+
+func (o *ListPoliciesResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ListPoliciesResponse) GetPoliciesCursorResponse() *shared.PoliciesCursorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.PoliciesCursorResponse
+}
+
+func (o *ListPoliciesResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ListPoliciesResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *ListPoliciesResponse) GetReconciliationErrorResponse() *shared.ReconciliationErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ReconciliationErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/listpools.go b/libs/clients/go/pkg/models/operations/listpools.go
new file mode 100755
index 0000000000..0494c838a2
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/listpools.go
@@ -0,0 +1,104 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "net/http"
+)
+
+type ListPoolsRequest struct {
+ // Parameter used in pagination requests. Maximum page size is set to 15.
+ // Set to the value of next for the next page of results.
+ // Set to the value of previous for the previous page of results.
+ // No other parameters can be set when this parameter is set.
+ //
+ Cursor *string `queryParam:"style=form,explode=true,name=cursor"`
+ // The maximum number of results to return per page.
+ //
+ PageSize *int64 `default:"15" queryParam:"style=form,explode=true,name=pageSize"`
+ // Filters used to filter resources.
+ //
+ Query *string `queryParam:"style=form,explode=true,name=query"`
+ // Fields used to sort payments (default is date:desc).
+ Sort []string `queryParam:"style=form,explode=true,name=sort"`
+}
+
+func (l ListPoolsRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(l, "", false)
+}
+
+func (l *ListPoolsRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &l, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *ListPoolsRequest) GetCursor() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Cursor
+}
+
+func (o *ListPoolsRequest) GetPageSize() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.PageSize
+}
+
+func (o *ListPoolsRequest) GetQuery() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Query
+}
+
+func (o *ListPoolsRequest) GetSort() []string {
+ if o == nil {
+ return nil
+ }
+ return o.Sort
+}
+
+type ListPoolsResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // OK
+ PoolsCursor *shared.PoolsCursor
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *ListPoolsResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ListPoolsResponse) GetPoolsCursor() *shared.PoolsCursor {
+ if o == nil {
+ return nil
+ }
+ return o.PoolsCursor
+}
+
+func (o *ListPoolsResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ListPoolsResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/listreconciliations.go b/libs/clients/go/pkg/models/operations/listreconciliations.go
new file mode 100755
index 0000000000..4a63180113
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/listreconciliations.go
@@ -0,0 +1,82 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ListReconciliationsRequest struct {
+ // Parameter used in pagination requests. Maximum page size is set to 15.
+ // Set to the value of next for the next page of results.
+ // Set to the value of previous for the previous page of results.
+ // No other parameters can be set when this parameter is set.
+ //
+ Cursor *string `queryParam:"style=form,explode=true,name=cursor"`
+ // The maximum number of results to return per page.
+ //
+ PageSize *int64 `queryParam:"style=form,explode=true,name=pageSize"`
+}
+
+func (o *ListReconciliationsRequest) GetCursor() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Cursor
+}
+
+func (o *ListReconciliationsRequest) GetPageSize() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.PageSize
+}
+
+type ListReconciliationsResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // OK
+ ReconciliationsCursorResponse *shared.ReconciliationsCursorResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error response
+ ReconciliationErrorResponse *shared.ReconciliationErrorResponse
+}
+
+func (o *ListReconciliationsResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ListReconciliationsResponse) GetReconciliationsCursorResponse() *shared.ReconciliationsCursorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ReconciliationsCursorResponse
+}
+
+func (o *ListReconciliationsResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ListReconciliationsResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *ListReconciliationsResponse) GetReconciliationErrorResponse() *shared.ReconciliationErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ReconciliationErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/listtransactions.go b/libs/clients/go/pkg/models/operations/listtransactions.go
new file mode 100755
index 0000000000..9620262396
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/listtransactions.go
@@ -0,0 +1,128 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "net/http"
+ "time"
+)
+
+type ListTransactionsRequest struct {
+ RequestBody map[string]interface{} `request:"mediaType=application/json"`
+ // Parameter used in pagination requests. Maximum page size is set to 15.
+ // Set to the value of next for the next page of results.
+ // Set to the value of previous for the previous page of results.
+ // No other parameters can be set when this parameter is set.
+ //
+ Cursor *string `queryParam:"style=form,explode=true,name=cursor"`
+ Expand *string `queryParam:"style=form,explode=true,name=expand"`
+ // Name of the ledger.
+ Ledger string `pathParam:"style=simple,explode=false,name=ledger"`
+ // The maximum number of results to return per page.
+ //
+ PageSize *int64 `queryParam:"style=form,explode=true,name=pageSize"`
+ Pit *time.Time `queryParam:"style=form,explode=true,name=pit"`
+}
+
+func (l ListTransactionsRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(l, "", false)
+}
+
+func (l *ListTransactionsRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &l, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *ListTransactionsRequest) GetRequestBody() map[string]interface{} {
+ if o == nil {
+ return nil
+ }
+ return o.RequestBody
+}
+
+func (o *ListTransactionsRequest) GetCursor() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Cursor
+}
+
+func (o *ListTransactionsRequest) GetExpand() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Expand
+}
+
+func (o *ListTransactionsRequest) GetLedger() string {
+ if o == nil {
+ return ""
+ }
+ return o.Ledger
+}
+
+func (o *ListTransactionsRequest) GetPageSize() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.PageSize
+}
+
+func (o *ListTransactionsRequest) GetPit() *time.Time {
+ if o == nil {
+ return nil
+ }
+ return o.Pit
+}
+
+type ListTransactionsResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Error
+ ErrorResponse *shared.ErrorResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // OK
+ TransactionsCursorResponse *shared.TransactionsCursorResponse
+}
+
+func (o *ListTransactionsResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ListTransactionsResponse) GetErrorResponse() *shared.ErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ErrorResponse
+}
+
+func (o *ListTransactionsResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ListTransactionsResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *ListTransactionsResponse) GetTransactionsCursorResponse() *shared.TransactionsCursorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.TransactionsCursorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/listtransferinitiations.go b/libs/clients/go/pkg/models/operations/listtransferinitiations.go
new file mode 100755
index 0000000000..228d1dc3f2
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/listtransferinitiations.go
@@ -0,0 +1,104 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "net/http"
+)
+
+type ListTransferInitiationsRequest struct {
+ // Parameter used in pagination requests. Maximum page size is set to 15.
+ // Set to the value of next for the next page of results.
+ // Set to the value of previous for the previous page of results.
+ // No other parameters can be set when this parameter is set.
+ //
+ Cursor *string `queryParam:"style=form,explode=true,name=cursor"`
+ // The maximum number of results to return per page.
+ //
+ PageSize *int64 `default:"15" queryParam:"style=form,explode=true,name=pageSize"`
+ // Filters used to filter resources.
+ //
+ Query *string `queryParam:"style=form,explode=true,name=query"`
+ // Fields used to sort payments (default is date:desc).
+ Sort []string `queryParam:"style=form,explode=true,name=sort"`
+}
+
+func (l ListTransferInitiationsRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(l, "", false)
+}
+
+func (l *ListTransferInitiationsRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &l, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *ListTransferInitiationsRequest) GetCursor() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Cursor
+}
+
+func (o *ListTransferInitiationsRequest) GetPageSize() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.PageSize
+}
+
+func (o *ListTransferInitiationsRequest) GetQuery() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Query
+}
+
+func (o *ListTransferInitiationsRequest) GetSort() []string {
+ if o == nil {
+ return nil
+ }
+ return o.Sort
+}
+
+type ListTransferInitiationsResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // OK
+ TransferInitiationsCursor *shared.TransferInitiationsCursor
+}
+
+func (o *ListTransferInitiationsResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ListTransferInitiationsResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ListTransferInitiationsResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *ListTransferInitiationsResponse) GetTransferInitiationsCursor() *shared.TransferInitiationsCursor {
+ if o == nil {
+ return nil
+ }
+ return o.TransferInitiationsCursor
+}
diff --git a/libs/clients/go/pkg/models/operations/listtriggers.go b/libs/clients/go/pkg/models/operations/listtriggers.go
new file mode 100755
index 0000000000..75dacd8145
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/listtriggers.go
@@ -0,0 +1,56 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ListTriggersResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // General error
+ Error *shared.Error
+ // List of triggers
+ ListTriggersResponse *shared.ListTriggersResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *ListTriggersResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ListTriggersResponse) GetError() *shared.Error {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *ListTriggersResponse) GetListTriggersResponse() *shared.ListTriggersResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ListTriggersResponse
+}
+
+func (o *ListTriggersResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ListTriggersResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/listtriggersoccurrences.go b/libs/clients/go/pkg/models/operations/listtriggersoccurrences.go
new file mode 100755
index 0000000000..5f59d89402
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/listtriggersoccurrences.go
@@ -0,0 +1,68 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ListTriggersOccurrencesRequest struct {
+ // The trigger id
+ TriggerID string `pathParam:"style=simple,explode=false,name=triggerID"`
+}
+
+func (o *ListTriggersOccurrencesRequest) GetTriggerID() string {
+ if o == nil {
+ return ""
+ }
+ return o.TriggerID
+}
+
+type ListTriggersOccurrencesResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // General error
+ Error *shared.Error
+ // List of triggers occurrences
+ ListTriggersOccurrencesResponse *shared.ListTriggersOccurrencesResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *ListTriggersOccurrencesResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ListTriggersOccurrencesResponse) GetError() *shared.Error {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *ListTriggersOccurrencesResponse) GetListTriggersOccurrencesResponse() *shared.ListTriggersOccurrencesResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ListTriggersOccurrencesResponse
+}
+
+func (o *ListTriggersOccurrencesResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ListTriggersOccurrencesResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/listusers.go b/libs/clients/go/pkg/models/operations/listusers.go
new file mode 100755
index 0000000000..156953919e
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/listusers.go
@@ -0,0 +1,47 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ListUsersResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // List of users
+ ListUsersResponse *shared.ListUsersResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *ListUsersResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ListUsersResponse) GetListUsersResponse() *shared.ListUsersResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ListUsersResponse
+}
+
+func (o *ListUsersResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ListUsersResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/listwallets.go b/libs/clients/go/pkg/models/operations/listwallets.go
new file mode 100755
index 0000000000..0722c20770
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/listwallets.go
@@ -0,0 +1,102 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "net/http"
+)
+
+type ListWalletsRequest struct {
+ // Parameter used in pagination requests.
+ // Set to the value of next for the next page of results.
+ // Set to the value of previous for the previous page of results.
+ // No other parameters can be set when the pagination token is set.
+ //
+ Cursor *string `queryParam:"style=form,explode=true,name=cursor"`
+ // Filter wallets by metadata key value pairs. Nested objects can be used as seen in the example below.
+ Metadata map[string]string `queryParam:"style=deepObject,explode=true,name=metadata"`
+ // Filter on wallet name
+ Name *string `queryParam:"style=form,explode=true,name=name"`
+ // The maximum number of results to return per page
+ PageSize *int64 `default:"15" queryParam:"style=form,explode=true,name=pageSize"`
+}
+
+func (l ListWalletsRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(l, "", false)
+}
+
+func (l *ListWalletsRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &l, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *ListWalletsRequest) GetCursor() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Cursor
+}
+
+func (o *ListWalletsRequest) GetMetadata() map[string]string {
+ if o == nil {
+ return nil
+ }
+ return o.Metadata
+}
+
+func (o *ListWalletsRequest) GetName() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Name
+}
+
+func (o *ListWalletsRequest) GetPageSize() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.PageSize
+}
+
+type ListWalletsResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // OK
+ ListWalletsResponse *shared.ListWalletsResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *ListWalletsResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ListWalletsResponse) GetListWalletsResponse() *shared.ListWalletsResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ListWalletsResponse
+}
+
+func (o *ListWalletsResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ListWalletsResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/listworkflows.go b/libs/clients/go/pkg/models/operations/listworkflows.go
new file mode 100755
index 0000000000..72926309bd
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/listworkflows.go
@@ -0,0 +1,56 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ListWorkflowsResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // General error
+ Error *shared.Error
+ // List of workflows
+ ListWorkflowsResponse *shared.ListWorkflowsResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *ListWorkflowsResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ListWorkflowsResponse) GetError() *shared.Error {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *ListWorkflowsResponse) GetListWorkflowsResponse() *shared.ListWorkflowsResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ListWorkflowsResponse
+}
+
+func (o *ListWorkflowsResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ListWorkflowsResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/orchestrationgetserverinfo.go b/libs/clients/go/pkg/models/operations/orchestrationgetserverinfo.go
new file mode 100755
index 0000000000..d0f026310b
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/orchestrationgetserverinfo.go
@@ -0,0 +1,56 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type OrchestrationgetServerInfoResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // General error
+ Error *shared.Error
+ // Server information
+ ServerInfo *shared.ServerInfo
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *OrchestrationgetServerInfoResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *OrchestrationgetServerInfoResponse) GetError() *shared.Error {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *OrchestrationgetServerInfoResponse) GetServerInfo() *shared.ServerInfo {
+ if o == nil {
+ return nil
+ }
+ return o.ServerInfo
+}
+
+func (o *OrchestrationgetServerInfoResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *OrchestrationgetServerInfoResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/paymentsgetaccount.go b/libs/clients/go/pkg/models/operations/paymentsgetaccount.go
new file mode 100755
index 0000000000..0e6cf73b8f
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/paymentsgetaccount.go
@@ -0,0 +1,59 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type PaymentsgetAccountRequest struct {
+ // The account ID.
+ AccountID string `pathParam:"style=simple,explode=false,name=accountId"`
+}
+
+func (o *PaymentsgetAccountRequest) GetAccountID() string {
+ if o == nil {
+ return ""
+ }
+ return o.AccountID
+}
+
+type PaymentsgetAccountResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // OK
+ PaymentsAccountResponse *shared.PaymentsAccountResponse
+}
+
+func (o *PaymentsgetAccountResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *PaymentsgetAccountResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *PaymentsgetAccountResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *PaymentsgetAccountResponse) GetPaymentsAccountResponse() *shared.PaymentsAccountResponse {
+ if o == nil {
+ return nil
+ }
+ return o.PaymentsAccountResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/paymentsgetserverinfo.go b/libs/clients/go/pkg/models/operations/paymentsgetserverinfo.go
new file mode 100755
index 0000000000..e4a51c5e21
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/paymentsgetserverinfo.go
@@ -0,0 +1,47 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type PaymentsgetServerInfoResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Server information
+ ServerInfo *shared.ServerInfo
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *PaymentsgetServerInfoResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *PaymentsgetServerInfoResponse) GetServerInfo() *shared.ServerInfo {
+ if o == nil {
+ return nil
+ }
+ return o.ServerInfo
+}
+
+func (o *PaymentsgetServerInfoResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *PaymentsgetServerInfoResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/paymentslistaccounts.go b/libs/clients/go/pkg/models/operations/paymentslistaccounts.go
new file mode 100755
index 0000000000..0d74d63191
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/paymentslistaccounts.go
@@ -0,0 +1,94 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "net/http"
+)
+
+type PaymentslistAccountsRequest struct {
+ // Parameter used in pagination requests. Maximum page size is set to 15.
+ // Set to the value of next for the next page of results.
+ // Set to the value of previous for the previous page of results.
+ // No other parameters can be set when this parameter is set.
+ //
+ Cursor *string `queryParam:"style=form,explode=true,name=cursor"`
+ // The maximum number of results to return per page.
+ //
+ PageSize *int64 `default:"15" queryParam:"style=form,explode=true,name=pageSize"`
+ // Fields used to sort payments (default is date:desc).
+ Sort []string `queryParam:"style=form,explode=true,name=sort"`
+}
+
+func (p PaymentslistAccountsRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(p, "", false)
+}
+
+func (p *PaymentslistAccountsRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &p, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *PaymentslistAccountsRequest) GetCursor() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Cursor
+}
+
+func (o *PaymentslistAccountsRequest) GetPageSize() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.PageSize
+}
+
+func (o *PaymentslistAccountsRequest) GetSort() []string {
+ if o == nil {
+ return nil
+ }
+ return o.Sort
+}
+
+type PaymentslistAccountsResponse struct {
+ // OK
+ AccountsCursor *shared.AccountsCursor
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *PaymentslistAccountsResponse) GetAccountsCursor() *shared.AccountsCursor {
+ if o == nil {
+ return nil
+ }
+ return o.AccountsCursor
+}
+
+func (o *PaymentslistAccountsResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *PaymentslistAccountsResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *PaymentslistAccountsResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/readclient.go b/libs/clients/go/pkg/models/operations/readclient.go
new file mode 100755
index 0000000000..a94bfb898e
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/readclient.go
@@ -0,0 +1,59 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ReadClientRequest struct {
+ // Client ID
+ ClientID string `pathParam:"style=simple,explode=false,name=clientId"`
+}
+
+func (o *ReadClientRequest) GetClientID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ClientID
+}
+
+type ReadClientResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Retrieved client
+ ReadClientResponse *shared.ReadClientResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *ReadClientResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ReadClientResponse) GetReadClientResponse() *shared.ReadClientResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ReadClientResponse
+}
+
+func (o *ReadClientResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ReadClientResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/readconnectorconfig.go b/libs/clients/go/pkg/models/operations/readconnectorconfig.go
new file mode 100755
index 0000000000..c65b533ad7
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/readconnectorconfig.go
@@ -0,0 +1,59 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ReadConnectorConfigRequest struct {
+ // The name of the connector.
+ Connector shared.Connector `pathParam:"style=simple,explode=false,name=connector"`
+}
+
+func (o *ReadConnectorConfigRequest) GetConnector() shared.Connector {
+ if o == nil {
+ return shared.Connector("")
+ }
+ return o.Connector
+}
+
+type ReadConnectorConfigResponse struct {
+ // OK
+ ConnectorConfigResponse *shared.ConnectorConfigResponse
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *ReadConnectorConfigResponse) GetConnectorConfigResponse() *shared.ConnectorConfigResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ConnectorConfigResponse
+}
+
+func (o *ReadConnectorConfigResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ReadConnectorConfigResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ReadConnectorConfigResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/readconnectorconfigv1.go b/libs/clients/go/pkg/models/operations/readconnectorconfigv1.go
new file mode 100755
index 0000000000..a3882ef36a
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/readconnectorconfigv1.go
@@ -0,0 +1,68 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ReadConnectorConfigV1Request struct {
+ // The name of the connector.
+ Connector shared.Connector `pathParam:"style=simple,explode=false,name=connector"`
+ // The connector ID.
+ ConnectorID string `pathParam:"style=simple,explode=false,name=connectorId"`
+}
+
+func (o *ReadConnectorConfigV1Request) GetConnector() shared.Connector {
+ if o == nil {
+ return shared.Connector("")
+ }
+ return o.Connector
+}
+
+func (o *ReadConnectorConfigV1Request) GetConnectorID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ConnectorID
+}
+
+type ReadConnectorConfigV1Response struct {
+ // OK
+ ConnectorConfigResponse *shared.ConnectorConfigResponse
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *ReadConnectorConfigV1Response) GetConnectorConfigResponse() *shared.ConnectorConfigResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ConnectorConfigResponse
+}
+
+func (o *ReadConnectorConfigV1Response) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ReadConnectorConfigV1Response) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ReadConnectorConfigV1Response) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/readstats.go b/libs/clients/go/pkg/models/operations/readstats.go
new file mode 100755
index 0000000000..28c1b19df6
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/readstats.go
@@ -0,0 +1,68 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ReadStatsRequest struct {
+ // name of the ledger
+ Ledger string `pathParam:"style=simple,explode=false,name=ledger"`
+}
+
+func (o *ReadStatsRequest) GetLedger() string {
+ if o == nil {
+ return ""
+ }
+ return o.Ledger
+}
+
+type ReadStatsResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Error
+ ErrorResponse *shared.ErrorResponse
+ // OK
+ StatsResponse *shared.StatsResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *ReadStatsResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ReadStatsResponse) GetErrorResponse() *shared.ErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ErrorResponse
+}
+
+func (o *ReadStatsResponse) GetStatsResponse() *shared.StatsResponse {
+ if o == nil {
+ return nil
+ }
+ return o.StatsResponse
+}
+
+func (o *ReadStatsResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ReadStatsResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/readtrigger.go b/libs/clients/go/pkg/models/operations/readtrigger.go
new file mode 100755
index 0000000000..48221b3092
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/readtrigger.go
@@ -0,0 +1,68 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ReadTriggerRequest struct {
+ // The trigger id
+ TriggerID string `pathParam:"style=simple,explode=false,name=triggerID"`
+}
+
+func (o *ReadTriggerRequest) GetTriggerID() string {
+ if o == nil {
+ return ""
+ }
+ return o.TriggerID
+}
+
+type ReadTriggerResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // General error
+ Error *shared.Error
+ // A specific trigger
+ ReadTriggerResponse *shared.ReadTriggerResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *ReadTriggerResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ReadTriggerResponse) GetError() *shared.Error {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *ReadTriggerResponse) GetReadTriggerResponse() *shared.ReadTriggerResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ReadTriggerResponse
+}
+
+func (o *ReadTriggerResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ReadTriggerResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/readuser.go b/libs/clients/go/pkg/models/operations/readuser.go
new file mode 100755
index 0000000000..dd1cd682c9
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/readuser.go
@@ -0,0 +1,59 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ReadUserRequest struct {
+ // User ID
+ UserID string `pathParam:"style=simple,explode=false,name=userId"`
+}
+
+func (o *ReadUserRequest) GetUserID() string {
+ if o == nil {
+ return ""
+ }
+ return o.UserID
+}
+
+type ReadUserResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Retrieved user
+ ReadUserResponse *shared.ReadUserResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *ReadUserResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ReadUserResponse) GetReadUserResponse() *shared.ReadUserResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ReadUserResponse
+}
+
+func (o *ReadUserResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ReadUserResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/reconcile.go b/libs/clients/go/pkg/models/operations/reconcile.go
new file mode 100755
index 0000000000..4f519cb85f
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/reconcile.go
@@ -0,0 +1,76 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ReconcileRequest struct {
+ ReconciliationRequest shared.ReconciliationRequest `request:"mediaType=application/json"`
+ // The policy ID.
+ PolicyID string `pathParam:"style=simple,explode=false,name=policyID"`
+}
+
+func (o *ReconcileRequest) GetReconciliationRequest() shared.ReconciliationRequest {
+ if o == nil {
+ return shared.ReconciliationRequest{}
+ }
+ return o.ReconciliationRequest
+}
+
+func (o *ReconcileRequest) GetPolicyID() string {
+ if o == nil {
+ return ""
+ }
+ return o.PolicyID
+}
+
+type ReconcileResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // OK
+ ReconciliationResponse *shared.ReconciliationResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error response
+ ReconciliationErrorResponse *shared.ReconciliationErrorResponse
+}
+
+func (o *ReconcileResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ReconcileResponse) GetReconciliationResponse() *shared.ReconciliationResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ReconciliationResponse
+}
+
+func (o *ReconcileResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ReconcileResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *ReconcileResponse) GetReconciliationErrorResponse() *shared.ReconciliationErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ReconciliationErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/reconciliationgetserverinfo.go b/libs/clients/go/pkg/models/operations/reconciliationgetserverinfo.go
new file mode 100755
index 0000000000..8225dd6009
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/reconciliationgetserverinfo.go
@@ -0,0 +1,56 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ReconciliationgetServerInfoResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Server information
+ ServerInfo *shared.ServerInfo
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error response
+ ReconciliationErrorResponse *shared.ReconciliationErrorResponse
+}
+
+func (o *ReconciliationgetServerInfoResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ReconciliationgetServerInfoResponse) GetServerInfo() *shared.ServerInfo {
+ if o == nil {
+ return nil
+ }
+ return o.ServerInfo
+}
+
+func (o *ReconciliationgetServerInfoResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ReconciliationgetServerInfoResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *ReconciliationgetServerInfoResponse) GetReconciliationErrorResponse() *shared.ReconciliationErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ReconciliationErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/removeaccountfrompool.go b/libs/clients/go/pkg/models/operations/removeaccountfrompool.go
new file mode 100755
index 0000000000..f982064a1d
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/removeaccountfrompool.go
@@ -0,0 +1,58 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "net/http"
+)
+
+type RemoveAccountFromPoolRequest struct {
+ // The account ID.
+ AccountID string `pathParam:"style=simple,explode=false,name=accountId"`
+ // The pool ID.
+ PoolID string `pathParam:"style=simple,explode=false,name=poolId"`
+}
+
+func (o *RemoveAccountFromPoolRequest) GetAccountID() string {
+ if o == nil {
+ return ""
+ }
+ return o.AccountID
+}
+
+func (o *RemoveAccountFromPoolRequest) GetPoolID() string {
+ if o == nil {
+ return ""
+ }
+ return o.PoolID
+}
+
+type RemoveAccountFromPoolResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *RemoveAccountFromPoolResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *RemoveAccountFromPoolResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *RemoveAccountFromPoolResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/resetconnector.go b/libs/clients/go/pkg/models/operations/resetconnector.go
new file mode 100755
index 0000000000..8b6cc92e6c
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/resetconnector.go
@@ -0,0 +1,50 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ResetConnectorRequest struct {
+ // The name of the connector.
+ Connector shared.Connector `pathParam:"style=simple,explode=false,name=connector"`
+}
+
+func (o *ResetConnectorRequest) GetConnector() shared.Connector {
+ if o == nil {
+ return shared.Connector("")
+ }
+ return o.Connector
+}
+
+type ResetConnectorResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *ResetConnectorResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ResetConnectorResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ResetConnectorResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/resetconnectorv1.go b/libs/clients/go/pkg/models/operations/resetconnectorv1.go
new file mode 100755
index 0000000000..3fc62dd761
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/resetconnectorv1.go
@@ -0,0 +1,59 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type ResetConnectorV1Request struct {
+ // The name of the connector.
+ Connector shared.Connector `pathParam:"style=simple,explode=false,name=connector"`
+ // The connector ID.
+ ConnectorID string `pathParam:"style=simple,explode=false,name=connectorId"`
+}
+
+func (o *ResetConnectorV1Request) GetConnector() shared.Connector {
+ if o == nil {
+ return shared.Connector("")
+ }
+ return o.Connector
+}
+
+func (o *ResetConnectorV1Request) GetConnectorID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ConnectorID
+}
+
+type ResetConnectorV1Response struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *ResetConnectorV1Response) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *ResetConnectorV1Response) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *ResetConnectorV1Response) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/retrytransferinitiation.go b/libs/clients/go/pkg/models/operations/retrytransferinitiation.go
new file mode 100755
index 0000000000..e5b92ca92b
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/retrytransferinitiation.go
@@ -0,0 +1,49 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "net/http"
+)
+
+type RetryTransferInitiationRequest struct {
+ // The transfer ID.
+ TransferID string `pathParam:"style=simple,explode=false,name=transferId"`
+}
+
+func (o *RetryTransferInitiationRequest) GetTransferID() string {
+ if o == nil {
+ return ""
+ }
+ return o.TransferID
+}
+
+type RetryTransferInitiationResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *RetryTransferInitiationResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *RetryTransferInitiationResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *RetryTransferInitiationResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/reverttransaction.go b/libs/clients/go/pkg/models/operations/reverttransaction.go
new file mode 100755
index 0000000000..df5903b6a9
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/reverttransaction.go
@@ -0,0 +1,99 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+ "net/http"
+)
+
+type RevertTransactionRequest struct {
+ // Force revert
+ Force *bool `queryParam:"style=form,explode=true,name=force"`
+ // Transaction ID.
+ ID *big.Int `pathParam:"style=simple,explode=false,name=id"`
+ // Name of the ledger.
+ Ledger string `pathParam:"style=simple,explode=false,name=ledger"`
+}
+
+func (r RevertTransactionRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(r, "", false)
+}
+
+func (r *RevertTransactionRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &r, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *RevertTransactionRequest) GetForce() *bool {
+ if o == nil {
+ return nil
+ }
+ return o.Force
+}
+
+func (o *RevertTransactionRequest) GetID() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.ID
+}
+
+func (o *RevertTransactionRequest) GetLedger() string {
+ if o == nil {
+ return ""
+ }
+ return o.Ledger
+}
+
+type RevertTransactionResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Error
+ ErrorResponse *shared.ErrorResponse
+ // OK
+ RevertTransactionResponse *shared.RevertTransactionResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *RevertTransactionResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *RevertTransactionResponse) GetErrorResponse() *shared.ErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.ErrorResponse
+}
+
+func (o *RevertTransactionResponse) GetRevertTransactionResponse() *shared.RevertTransactionResponse {
+ if o == nil {
+ return nil
+ }
+ return o.RevertTransactionResponse
+}
+
+func (o *RevertTransactionResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *RevertTransactionResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/runworkflow.go b/libs/clients/go/pkg/models/operations/runworkflow.go
new file mode 100755
index 0000000000..36f4c4c887
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/runworkflow.go
@@ -0,0 +1,85 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type RunWorkflowRequest struct {
+ RequestBody map[string]string `request:"mediaType=application/json"`
+ // Wait end of the workflow before return
+ Wait *bool `queryParam:"style=form,explode=true,name=wait"`
+ // The flow id
+ WorkflowID string `pathParam:"style=simple,explode=false,name=workflowID"`
+}
+
+func (o *RunWorkflowRequest) GetRequestBody() map[string]string {
+ if o == nil {
+ return nil
+ }
+ return o.RequestBody
+}
+
+func (o *RunWorkflowRequest) GetWait() *bool {
+ if o == nil {
+ return nil
+ }
+ return o.Wait
+}
+
+func (o *RunWorkflowRequest) GetWorkflowID() string {
+ if o == nil {
+ return ""
+ }
+ return o.WorkflowID
+}
+
+type RunWorkflowResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // General error
+ Error *shared.Error
+ // The workflow instance
+ RunWorkflowResponse *shared.RunWorkflowResponse
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *RunWorkflowResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *RunWorkflowResponse) GetError() *shared.Error {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *RunWorkflowResponse) GetRunWorkflowResponse() *shared.RunWorkflowResponse {
+ if o == nil {
+ return nil
+ }
+ return o.RunWorkflowResponse
+}
+
+func (o *RunWorkflowResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *RunWorkflowResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/search.go b/libs/clients/go/pkg/models/operations/search.go
new file mode 100755
index 0000000000..e36038fcec
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/search.go
@@ -0,0 +1,47 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type SearchResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Success
+ Response *shared.Response
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *SearchResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *SearchResponse) GetResponse() *shared.Response {
+ if o == nil {
+ return nil
+ }
+ return o.Response
+}
+
+func (o *SearchResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *SearchResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/searchgetserverinfo.go b/libs/clients/go/pkg/models/operations/searchgetserverinfo.go
new file mode 100755
index 0000000000..e53033f9cb
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/searchgetserverinfo.go
@@ -0,0 +1,47 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type SearchgetServerInfoResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Server information
+ ServerInfo *shared.ServerInfo
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *SearchgetServerInfoResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *SearchgetServerInfoResponse) GetServerInfo() *shared.ServerInfo {
+ if o == nil {
+ return nil
+ }
+ return o.ServerInfo
+}
+
+func (o *SearchgetServerInfoResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *SearchgetServerInfoResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/sendevent.go b/libs/clients/go/pkg/models/operations/sendevent.go
new file mode 100755
index 0000000000..b0f4b57397
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/sendevent.go
@@ -0,0 +1,78 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type SendEventRequestBody struct {
+ Name string `json:"name"`
+}
+
+func (o *SendEventRequestBody) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
+
+type SendEventRequest struct {
+ RequestBody *SendEventRequestBody `request:"mediaType=application/json"`
+ // The instance id
+ InstanceID string `pathParam:"style=simple,explode=false,name=instanceID"`
+}
+
+func (o *SendEventRequest) GetRequestBody() *SendEventRequestBody {
+ if o == nil {
+ return nil
+ }
+ return o.RequestBody
+}
+
+func (o *SendEventRequest) GetInstanceID() string {
+ if o == nil {
+ return ""
+ }
+ return o.InstanceID
+}
+
+type SendEventResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // General error
+ Error *shared.Error
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *SendEventResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *SendEventResponse) GetError() *shared.Error {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *SendEventResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *SendEventResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/testconfig.go b/libs/clients/go/pkg/models/operations/testconfig.go
new file mode 100755
index 0000000000..979f8e24eb
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/testconfig.go
@@ -0,0 +1,68 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type TestConfigRequest struct {
+ // Config ID
+ ID string `pathParam:"style=simple,explode=false,name=id"`
+}
+
+func (o *TestConfigRequest) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+type TestConfigResponse struct {
+ // OK
+ AttemptResponse *shared.AttemptResponse
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error
+ WebhooksErrorResponse *shared.WebhooksErrorResponse
+}
+
+func (o *TestConfigResponse) GetAttemptResponse() *shared.AttemptResponse {
+ if o == nil {
+ return nil
+ }
+ return o.AttemptResponse
+}
+
+func (o *TestConfigResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *TestConfigResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *TestConfigResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *TestConfigResponse) GetWebhooksErrorResponse() *shared.WebhooksErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.WebhooksErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/udpatetransferinitiationstatus.go b/libs/clients/go/pkg/models/operations/udpatetransferinitiationstatus.go
new file mode 100755
index 0000000000..e03f22f635
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/udpatetransferinitiationstatus.go
@@ -0,0 +1,58 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type UdpateTransferInitiationStatusRequest struct {
+ UpdateTransferInitiationStatusRequest shared.UpdateTransferInitiationStatusRequest `request:"mediaType=application/json"`
+ // The transfer ID.
+ TransferID string `pathParam:"style=simple,explode=false,name=transferId"`
+}
+
+func (o *UdpateTransferInitiationStatusRequest) GetUpdateTransferInitiationStatusRequest() shared.UpdateTransferInitiationStatusRequest {
+ if o == nil {
+ return shared.UpdateTransferInitiationStatusRequest{}
+ }
+ return o.UpdateTransferInitiationStatusRequest
+}
+
+func (o *UdpateTransferInitiationStatusRequest) GetTransferID() string {
+ if o == nil {
+ return ""
+ }
+ return o.TransferID
+}
+
+type UdpateTransferInitiationStatusResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *UdpateTransferInitiationStatusResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *UdpateTransferInitiationStatusResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *UdpateTransferInitiationStatusResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/uninstallconnector.go b/libs/clients/go/pkg/models/operations/uninstallconnector.go
new file mode 100755
index 0000000000..bb619b99fc
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/uninstallconnector.go
@@ -0,0 +1,50 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type UninstallConnectorRequest struct {
+ // The name of the connector.
+ Connector shared.Connector `pathParam:"style=simple,explode=false,name=connector"`
+}
+
+func (o *UninstallConnectorRequest) GetConnector() shared.Connector {
+ if o == nil {
+ return shared.Connector("")
+ }
+ return o.Connector
+}
+
+type UninstallConnectorResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *UninstallConnectorResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *UninstallConnectorResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *UninstallConnectorResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/uninstallconnectorv1.go b/libs/clients/go/pkg/models/operations/uninstallconnectorv1.go
new file mode 100755
index 0000000000..210ddf50b0
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/uninstallconnectorv1.go
@@ -0,0 +1,59 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type UninstallConnectorV1Request struct {
+ // The name of the connector.
+ Connector shared.Connector `pathParam:"style=simple,explode=false,name=connector"`
+ // The connector ID.
+ ConnectorID string `pathParam:"style=simple,explode=false,name=connectorId"`
+}
+
+func (o *UninstallConnectorV1Request) GetConnector() shared.Connector {
+ if o == nil {
+ return shared.Connector("")
+ }
+ return o.Connector
+}
+
+func (o *UninstallConnectorV1Request) GetConnectorID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ConnectorID
+}
+
+type UninstallConnectorV1Response struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *UninstallConnectorV1Response) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *UninstallConnectorV1Response) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *UninstallConnectorV1Response) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/updateclient.go b/libs/clients/go/pkg/models/operations/updateclient.go
new file mode 100755
index 0000000000..117a72b72b
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/updateclient.go
@@ -0,0 +1,67 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type UpdateClientRequest struct {
+ UpdateClientRequest *shared.UpdateClientRequest `request:"mediaType=application/json"`
+ // Client ID
+ ClientID string `pathParam:"style=simple,explode=false,name=clientId"`
+}
+
+func (o *UpdateClientRequest) GetUpdateClientRequest() *shared.UpdateClientRequest {
+ if o == nil {
+ return nil
+ }
+ return o.UpdateClientRequest
+}
+
+func (o *UpdateClientRequest) GetClientID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ClientID
+}
+
+type UpdateClientResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Updated client
+ UpdateClientResponse *shared.UpdateClientResponse
+}
+
+func (o *UpdateClientResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *UpdateClientResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *UpdateClientResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *UpdateClientResponse) GetUpdateClientResponse() *shared.UpdateClientResponse {
+ if o == nil {
+ return nil
+ }
+ return o.UpdateClientResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/updatemetadata.go b/libs/clients/go/pkg/models/operations/updatemetadata.go
new file mode 100755
index 0000000000..d23454c96e
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/updatemetadata.go
@@ -0,0 +1,57 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "net/http"
+)
+
+type UpdateMetadataRequest struct {
+ RequestBody map[string]string `request:"mediaType=application/json"`
+ // The payment ID.
+ PaymentID string `pathParam:"style=simple,explode=false,name=paymentId"`
+}
+
+func (o *UpdateMetadataRequest) GetRequestBody() map[string]string {
+ if o == nil {
+ return nil
+ }
+ return o.RequestBody
+}
+
+func (o *UpdateMetadataRequest) GetPaymentID() string {
+ if o == nil {
+ return ""
+ }
+ return o.PaymentID
+}
+
+type UpdateMetadataResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+}
+
+func (o *UpdateMetadataResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *UpdateMetadataResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *UpdateMetadataResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/updatewallet.go b/libs/clients/go/pkg/models/operations/updatewallet.go
new file mode 100755
index 0000000000..db941558a1
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/updatewallet.go
@@ -0,0 +1,78 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type UpdateWalletRequestBody struct {
+ // Custom metadata to attach to this wallet.
+ Metadata map[string]string `json:"metadata"`
+}
+
+func (o *UpdateWalletRequestBody) GetMetadata() map[string]string {
+ if o == nil {
+ return map[string]string{}
+ }
+ return o.Metadata
+}
+
+type UpdateWalletRequest struct {
+ RequestBody *UpdateWalletRequestBody `request:"mediaType=application/json"`
+ ID string `pathParam:"style=simple,explode=false,name=id"`
+}
+
+func (o *UpdateWalletRequest) GetRequestBody() *UpdateWalletRequestBody {
+ if o == nil {
+ return nil
+ }
+ return o.RequestBody
+}
+
+func (o *UpdateWalletRequest) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+type UpdateWalletResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error
+ WalletsErrorResponse *shared.WalletsErrorResponse
+}
+
+func (o *UpdateWalletResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *UpdateWalletResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *UpdateWalletResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *UpdateWalletResponse) GetWalletsErrorResponse() *shared.WalletsErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.WalletsErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/voidhold.go b/libs/clients/go/pkg/models/operations/voidhold.go
new file mode 100755
index 0000000000..550ccaf6b5
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/voidhold.go
@@ -0,0 +1,58 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type VoidHoldRequest struct {
+ HoldID string `pathParam:"style=simple,explode=false,name=hold_id"`
+}
+
+func (o *VoidHoldRequest) GetHoldID() string {
+ if o == nil {
+ return ""
+ }
+ return o.HoldID
+}
+
+type VoidHoldResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error
+ WalletsErrorResponse *shared.WalletsErrorResponse
+}
+
+func (o *VoidHoldResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *VoidHoldResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *VoidHoldResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *VoidHoldResponse) GetWalletsErrorResponse() *shared.WalletsErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.WalletsErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/operations/walletsgetserverinfo.go b/libs/clients/go/pkg/models/operations/walletsgetserverinfo.go
new file mode 100755
index 0000000000..b8e5d9b286
--- /dev/null
+++ b/libs/clients/go/pkg/models/operations/walletsgetserverinfo.go
@@ -0,0 +1,56 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package operations
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "net/http"
+)
+
+type WalletsgetServerInfoResponse struct {
+ // HTTP response content type for this operation
+ ContentType string
+ // Server information
+ ServerInfo *shared.ServerInfo
+ // HTTP response status code for this operation
+ StatusCode int
+ // Raw HTTP response; suitable for custom response parsing
+ RawResponse *http.Response
+ // Error
+ WalletsErrorResponse *shared.WalletsErrorResponse
+}
+
+func (o *WalletsgetServerInfoResponse) GetContentType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ContentType
+}
+
+func (o *WalletsgetServerInfoResponse) GetServerInfo() *shared.ServerInfo {
+ if o == nil {
+ return nil
+ }
+ return o.ServerInfo
+}
+
+func (o *WalletsgetServerInfoResponse) GetStatusCode() int {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *WalletsgetServerInfoResponse) GetRawResponse() *http.Response {
+ if o == nil {
+ return nil
+ }
+ return o.RawResponse
+}
+
+func (o *WalletsgetServerInfoResponse) GetWalletsErrorResponse() *shared.WalletsErrorResponse {
+ if o == nil {
+ return nil
+ }
+ return o.WalletsErrorResponse
+}
diff --git a/libs/clients/go/pkg/models/sdkerrors/sdkerror.go b/libs/clients/go/pkg/models/sdkerrors/sdkerror.go
new file mode 100755
index 0000000000..5c1affd312
--- /dev/null
+++ b/libs/clients/go/pkg/models/sdkerrors/sdkerror.go
@@ -0,0 +1,35 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package sdkerrors
+
+import (
+ "fmt"
+ "net/http"
+)
+
+type SDKError struct {
+ Message string
+ StatusCode int
+ Body string
+ RawResponse *http.Response
+}
+
+var _ error = &SDKError{}
+
+func NewSDKError(message string, statusCode int, body string, httpRes *http.Response) *SDKError {
+ return &SDKError{
+ Message: message,
+ StatusCode: statusCode,
+ Body: body,
+ RawResponse: httpRes,
+ }
+}
+
+func (e *SDKError) Error() string {
+ body := ""
+ if len(e.Body) > 0 {
+ body = fmt.Sprintf("\n%s", e.Body)
+ }
+
+ return fmt.Sprintf("%s: Status %d%s", e.Message, e.StatusCode, body)
+}
diff --git a/libs/clients/go/pkg/models/shared/account.go b/libs/clients/go/pkg/models/shared/account.go
new file mode 100755
index 0000000000..bb3c18cb08
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/account.go
@@ -0,0 +1,38 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type Account struct {
+ Address string `json:"address"`
+ EffectiveVolumes map[string]Volume `json:"effectiveVolumes,omitempty"`
+ Metadata map[string]string `json:"metadata"`
+ Volumes map[string]Volume `json:"volumes,omitempty"`
+}
+
+func (o *Account) GetAddress() string {
+ if o == nil {
+ return ""
+ }
+ return o.Address
+}
+
+func (o *Account) GetEffectiveVolumes() map[string]Volume {
+ if o == nil {
+ return nil
+ }
+ return o.EffectiveVolumes
+}
+
+func (o *Account) GetMetadata() map[string]string {
+ if o == nil {
+ return map[string]string{}
+ }
+ return o.Metadata
+}
+
+func (o *Account) GetVolumes() map[string]Volume {
+ if o == nil {
+ return nil
+ }
+ return o.Volumes
+}
diff --git a/libs/clients/go/pkg/models/shared/accountbalance.go b/libs/clients/go/pkg/models/shared/accountbalance.go
new file mode 100755
index 0000000000..1bd0fb9697
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/accountbalance.go
@@ -0,0 +1,72 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+ "time"
+)
+
+type AccountBalance struct {
+ AccountID string `json:"accountId"`
+ Asset string `json:"asset"`
+ Balance *big.Int `json:"balance"`
+ CreatedAt time.Time `json:"createdAt"`
+ // Deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
+ Currency string `json:"currency"`
+ LastUpdatedAt time.Time `json:"lastUpdatedAt"`
+}
+
+func (a AccountBalance) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(a, "", false)
+}
+
+func (a *AccountBalance) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &a, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *AccountBalance) GetAccountID() string {
+ if o == nil {
+ return ""
+ }
+ return o.AccountID
+}
+
+func (o *AccountBalance) GetAsset() string {
+ if o == nil {
+ return ""
+ }
+ return o.Asset
+}
+
+func (o *AccountBalance) GetBalance() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.Balance
+}
+
+func (o *AccountBalance) GetCreatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.CreatedAt
+}
+
+func (o *AccountBalance) GetCurrency() string {
+ if o == nil {
+ return ""
+ }
+ return o.Currency
+}
+
+func (o *AccountBalance) GetLastUpdatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.LastUpdatedAt
+}
diff --git a/libs/clients/go/pkg/models/shared/accountresponse.go b/libs/clients/go/pkg/models/shared/accountresponse.go
new file mode 100755
index 0000000000..c808e9f1fe
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/accountresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type AccountResponse struct {
+ Data Account `json:"data"`
+}
+
+func (o *AccountResponse) GetData() Account {
+ if o == nil {
+ return Account{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/accountscursor.go b/libs/clients/go/pkg/models/shared/accountscursor.go
new file mode 100755
index 0000000000..3a585a42f0
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/accountscursor.go
@@ -0,0 +1,57 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type AccountsCursorCursor struct {
+ Data []PaymentsAccount `json:"data"`
+ HasMore bool `json:"hasMore"`
+ Next *string `json:"next,omitempty"`
+ PageSize int64 `json:"pageSize"`
+ Previous *string `json:"previous,omitempty"`
+}
+
+func (o *AccountsCursorCursor) GetData() []PaymentsAccount {
+ if o == nil {
+ return []PaymentsAccount{}
+ }
+ return o.Data
+}
+
+func (o *AccountsCursorCursor) GetHasMore() bool {
+ if o == nil {
+ return false
+ }
+ return o.HasMore
+}
+
+func (o *AccountsCursorCursor) GetNext() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Next
+}
+
+func (o *AccountsCursorCursor) GetPageSize() int64 {
+ if o == nil {
+ return 0
+ }
+ return o.PageSize
+}
+
+func (o *AccountsCursorCursor) GetPrevious() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Previous
+}
+
+type AccountsCursor struct {
+ Cursor AccountsCursorCursor `json:"cursor"`
+}
+
+func (o *AccountsCursor) GetCursor() AccountsCursorCursor {
+ if o == nil {
+ return AccountsCursorCursor{}
+ }
+ return o.Cursor
+}
diff --git a/libs/clients/go/pkg/models/shared/accountscursorresponse.go b/libs/clients/go/pkg/models/shared/accountscursorresponse.go
new file mode 100755
index 0000000000..4e748b9c87
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/accountscursorresponse.go
@@ -0,0 +1,57 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type AccountsCursorResponseCursor struct {
+ Data []Account `json:"data"`
+ HasMore bool `json:"hasMore"`
+ Next *string `json:"next,omitempty"`
+ PageSize int64 `json:"pageSize"`
+ Previous *string `json:"previous,omitempty"`
+}
+
+func (o *AccountsCursorResponseCursor) GetData() []Account {
+ if o == nil {
+ return []Account{}
+ }
+ return o.Data
+}
+
+func (o *AccountsCursorResponseCursor) GetHasMore() bool {
+ if o == nil {
+ return false
+ }
+ return o.HasMore
+}
+
+func (o *AccountsCursorResponseCursor) GetNext() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Next
+}
+
+func (o *AccountsCursorResponseCursor) GetPageSize() int64 {
+ if o == nil {
+ return 0
+ }
+ return o.PageSize
+}
+
+func (o *AccountsCursorResponseCursor) GetPrevious() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Previous
+}
+
+type AccountsCursorResponse struct {
+ Cursor AccountsCursorResponseCursor `json:"cursor"`
+}
+
+func (o *AccountsCursorResponse) GetCursor() AccountsCursorResponseCursor {
+ if o == nil {
+ return AccountsCursorResponseCursor{}
+ }
+ return o.Cursor
+}
diff --git a/libs/clients/go/pkg/models/shared/activityconfirmhold.go b/libs/clients/go/pkg/models/shared/activityconfirmhold.go
new file mode 100755
index 0000000000..50bd6b7935
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/activityconfirmhold.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ActivityConfirmHold struct {
+ ID string `json:"id"`
+}
+
+func (o *ActivityConfirmHold) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
diff --git a/libs/clients/go/pkg/models/shared/activitycreatetransaction.go b/libs/clients/go/pkg/models/shared/activitycreatetransaction.go
new file mode 100755
index 0000000000..89924adaf0
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/activitycreatetransaction.go
@@ -0,0 +1,22 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ActivityCreateTransaction struct {
+ Data *PostTransaction `json:"data,omitempty"`
+ Ledger *string `json:"ledger,omitempty"`
+}
+
+func (o *ActivityCreateTransaction) GetData() *PostTransaction {
+ if o == nil {
+ return nil
+ }
+ return o.Data
+}
+
+func (o *ActivityCreateTransaction) GetLedger() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Ledger
+}
diff --git a/libs/clients/go/pkg/models/shared/activitycreatetransactionoutput.go b/libs/clients/go/pkg/models/shared/activitycreatetransactionoutput.go
new file mode 100755
index 0000000000..5a8b0835dd
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/activitycreatetransactionoutput.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ActivityCreateTransactionOutput struct {
+ Data Transaction `json:"data"`
+}
+
+func (o *ActivityCreateTransactionOutput) GetData() Transaction {
+ if o == nil {
+ return Transaction{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/activitycreditwallet.go b/libs/clients/go/pkg/models/shared/activitycreditwallet.go
new file mode 100755
index 0000000000..6194baefd0
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/activitycreditwallet.go
@@ -0,0 +1,22 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ActivityCreditWallet struct {
+ Data *CreditWalletRequest `json:"data,omitempty"`
+ ID *string `json:"id,omitempty"`
+}
+
+func (o *ActivityCreditWallet) GetData() *CreditWalletRequest {
+ if o == nil {
+ return nil
+ }
+ return o.Data
+}
+
+func (o *ActivityCreditWallet) GetID() *string {
+ if o == nil {
+ return nil
+ }
+ return o.ID
+}
diff --git a/libs/clients/go/pkg/models/shared/activitydebitwallet.go b/libs/clients/go/pkg/models/shared/activitydebitwallet.go
new file mode 100755
index 0000000000..ccb782d3f3
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/activitydebitwallet.go
@@ -0,0 +1,22 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ActivityDebitWallet struct {
+ Data *DebitWalletRequest `json:"data,omitempty"`
+ ID *string `json:"id,omitempty"`
+}
+
+func (o *ActivityDebitWallet) GetData() *DebitWalletRequest {
+ if o == nil {
+ return nil
+ }
+ return o.Data
+}
+
+func (o *ActivityDebitWallet) GetID() *string {
+ if o == nil {
+ return nil
+ }
+ return o.ID
+}
diff --git a/libs/clients/go/pkg/models/shared/activitydebitwalletoutput.go b/libs/clients/go/pkg/models/shared/activitydebitwalletoutput.go
new file mode 100755
index 0000000000..47c75ecebc
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/activitydebitwalletoutput.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ActivityDebitWalletOutput struct {
+ Data Hold `json:"data"`
+}
+
+func (o *ActivityDebitWalletOutput) GetData() Hold {
+ if o == nil {
+ return Hold{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/activitygetaccount.go b/libs/clients/go/pkg/models/shared/activitygetaccount.go
new file mode 100755
index 0000000000..9907127024
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/activitygetaccount.go
@@ -0,0 +1,22 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ActivityGetAccount struct {
+ ID string `json:"id"`
+ Ledger string `json:"ledger"`
+}
+
+func (o *ActivityGetAccount) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *ActivityGetAccount) GetLedger() string {
+ if o == nil {
+ return ""
+ }
+ return o.Ledger
+}
diff --git a/libs/clients/go/pkg/models/shared/activitygetaccountoutput.go b/libs/clients/go/pkg/models/shared/activitygetaccountoutput.go
new file mode 100755
index 0000000000..ede0a941d2
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/activitygetaccountoutput.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ActivityGetAccountOutput struct {
+ Data Account `json:"data"`
+}
+
+func (o *ActivityGetAccountOutput) GetData() Account {
+ if o == nil {
+ return Account{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/activitygetpayment.go b/libs/clients/go/pkg/models/shared/activitygetpayment.go
new file mode 100755
index 0000000000..26e41bb8f3
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/activitygetpayment.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ActivityGetPayment struct {
+ ID string `json:"id"`
+}
+
+func (o *ActivityGetPayment) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
diff --git a/libs/clients/go/pkg/models/shared/activitygetpaymentoutput.go b/libs/clients/go/pkg/models/shared/activitygetpaymentoutput.go
new file mode 100755
index 0000000000..43239a78fa
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/activitygetpaymentoutput.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ActivityGetPaymentOutput struct {
+ Data OrchestrationPayment `json:"data"`
+}
+
+func (o *ActivityGetPaymentOutput) GetData() OrchestrationPayment {
+ if o == nil {
+ return OrchestrationPayment{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/activitygetwallet.go b/libs/clients/go/pkg/models/shared/activitygetwallet.go
new file mode 100755
index 0000000000..9fb5757a0c
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/activitygetwallet.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ActivityGetWallet struct {
+ ID string `json:"id"`
+}
+
+func (o *ActivityGetWallet) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
diff --git a/libs/clients/go/pkg/models/shared/activitygetwalletoutput.go b/libs/clients/go/pkg/models/shared/activitygetwalletoutput.go
new file mode 100755
index 0000000000..5aa1b98099
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/activitygetwalletoutput.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ActivityGetWalletOutput struct {
+ Data WalletWithBalances `json:"data"`
+}
+
+func (o *ActivityGetWalletOutput) GetData() WalletWithBalances {
+ if o == nil {
+ return WalletWithBalances{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/activityreverttransaction.go b/libs/clients/go/pkg/models/shared/activityreverttransaction.go
new file mode 100755
index 0000000000..7946349b5a
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/activityreverttransaction.go
@@ -0,0 +1,22 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ActivityRevertTransaction struct {
+ ID string `json:"id"`
+ Ledger string `json:"ledger"`
+}
+
+func (o *ActivityRevertTransaction) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *ActivityRevertTransaction) GetLedger() string {
+ if o == nil {
+ return ""
+ }
+ return o.Ledger
+}
diff --git a/libs/clients/go/pkg/models/shared/activityreverttransactionoutput.go b/libs/clients/go/pkg/models/shared/activityreverttransactionoutput.go
new file mode 100755
index 0000000000..c7fba12806
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/activityreverttransactionoutput.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ActivityRevertTransactionOutput struct {
+ Data Transaction `json:"data"`
+}
+
+func (o *ActivityRevertTransactionOutput) GetData() Transaction {
+ if o == nil {
+ return Transaction{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/activitystripetransfer.go b/libs/clients/go/pkg/models/shared/activitystripetransfer.go
new file mode 100755
index 0000000000..8e622234f9
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/activitystripetransfer.go
@@ -0,0 +1,78 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+)
+
+// ActivityStripeTransferMetadata - A set of key/value pairs that you can attach to a transfer object.
+// It can be useful for storing additional information about the transfer in a structured format.
+type ActivityStripeTransferMetadata struct {
+}
+
+type ActivityStripeTransfer struct {
+ Amount *big.Int `json:"amount,omitempty"`
+ Asset *string `json:"asset,omitempty"`
+ ConnectorID *string `json:"connectorID,omitempty"`
+ Destination *string `json:"destination,omitempty"`
+ // A set of key/value pairs that you can attach to a transfer object.
+ // It can be useful for storing additional information about the transfer in a structured format.
+ //
+ Metadata *ActivityStripeTransferMetadata `json:"metadata,omitempty"`
+ WaitingValidation *bool `default:"false" json:"waitingValidation"`
+}
+
+func (a ActivityStripeTransfer) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(a, "", false)
+}
+
+func (a *ActivityStripeTransfer) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &a, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *ActivityStripeTransfer) GetAmount() *big.Int {
+ if o == nil {
+ return nil
+ }
+ return o.Amount
+}
+
+func (o *ActivityStripeTransfer) GetAsset() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Asset
+}
+
+func (o *ActivityStripeTransfer) GetConnectorID() *string {
+ if o == nil {
+ return nil
+ }
+ return o.ConnectorID
+}
+
+func (o *ActivityStripeTransfer) GetDestination() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Destination
+}
+
+func (o *ActivityStripeTransfer) GetMetadata() *ActivityStripeTransferMetadata {
+ if o == nil {
+ return nil
+ }
+ return o.Metadata
+}
+
+func (o *ActivityStripeTransfer) GetWaitingValidation() *bool {
+ if o == nil {
+ return nil
+ }
+ return o.WaitingValidation
+}
diff --git a/libs/clients/go/pkg/models/shared/activityvoidhold.go b/libs/clients/go/pkg/models/shared/activityvoidhold.go
new file mode 100755
index 0000000000..b020aa4f0e
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/activityvoidhold.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ActivityVoidHold struct {
+ ID string `json:"id"`
+}
+
+func (o *ActivityVoidHold) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
diff --git a/libs/clients/go/pkg/models/shared/addaccounttopoolrequest.go b/libs/clients/go/pkg/models/shared/addaccounttopoolrequest.go
new file mode 100755
index 0000000000..90a8bad720
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/addaccounttopoolrequest.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type AddAccountToPoolRequest struct {
+ AccountID string `json:"accountID"`
+}
+
+func (o *AddAccountToPoolRequest) GetAccountID() string {
+ if o == nil {
+ return ""
+ }
+ return o.AccountID
+}
diff --git a/libs/clients/go/pkg/models/shared/aggregatebalancesresponse.go b/libs/clients/go/pkg/models/shared/aggregatebalancesresponse.go
new file mode 100755
index 0000000000..768f5f7a12
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/aggregatebalancesresponse.go
@@ -0,0 +1,30 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+)
+
+type AggregateBalancesResponse struct {
+ Data map[string]*big.Int `json:"data"`
+}
+
+func (a AggregateBalancesResponse) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(a, "", false)
+}
+
+func (a *AggregateBalancesResponse) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &a, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *AggregateBalancesResponse) GetData() map[string]*big.Int {
+ if o == nil {
+ return map[string]*big.Int{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/assetholder.go b/libs/clients/go/pkg/models/shared/assetholder.go
new file mode 100755
index 0000000000..a8107ee896
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/assetholder.go
@@ -0,0 +1,30 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+)
+
+type AssetHolder struct {
+ Assets map[string]*big.Int `json:"assets"`
+}
+
+func (a AssetHolder) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(a, "", false)
+}
+
+func (a *AssetHolder) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &a, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *AssetHolder) GetAssets() map[string]*big.Int {
+ if o == nil {
+ return map[string]*big.Int{}
+ }
+ return o.Assets
+}
diff --git a/libs/clients/go/pkg/models/shared/atlarconfig.go b/libs/clients/go/pkg/models/shared/atlarconfig.go
new file mode 100755
index 0000000000..e351f51648
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/atlarconfig.go
@@ -0,0 +1,81 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+)
+
+type AtlarConfig struct {
+ // The access key used by the connector for authorizing requests to the Atlar API.
+ // You can obtain it along with the associated secret from the Atlar dashboard.
+ //
+ AccessKey string `json:"accessKey"`
+ // The base URL the client uses for making requests towards the Atlar API.
+ //
+ BaseURL *string `default:"https://api.atlar.com" json:"baseUrl"`
+ Name string `json:"name"`
+ // Number of items to fetch when querying paginated APIs.
+ //
+ PageSize *int64 `default:"25" json:"pageSize"`
+ // The frequency at which the connector tries to fetch new Transaction objects from the Atlar API.
+ //
+ PollingPeriod *string `default:"120s" json:"pollingPeriod"`
+ // The secret used by the connector for authorizing requests to the Atlar API.
+ // You can obtain it along with the associated access key from the Atlar dashboard.
+ //
+ Secret string `json:"secret"`
+}
+
+func (a AtlarConfig) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(a, "", false)
+}
+
+func (a *AtlarConfig) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &a, "", false, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *AtlarConfig) GetAccessKey() string {
+ if o == nil {
+ return ""
+ }
+ return o.AccessKey
+}
+
+func (o *AtlarConfig) GetBaseURL() *string {
+ if o == nil {
+ return nil
+ }
+ return o.BaseURL
+}
+
+func (o *AtlarConfig) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
+
+func (o *AtlarConfig) GetPageSize() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.PageSize
+}
+
+func (o *AtlarConfig) GetPollingPeriod() *string {
+ if o == nil {
+ return nil
+ }
+ return o.PollingPeriod
+}
+
+func (o *AtlarConfig) GetSecret() string {
+ if o == nil {
+ return ""
+ }
+ return o.Secret
+}
diff --git a/libs/clients/go/pkg/models/shared/attempt.go b/libs/clients/go/pkg/models/shared/attempt.go
new file mode 100755
index 0000000000..2e9edc9012
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/attempt.go
@@ -0,0 +1,102 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type Attempt struct {
+ Config WebhooksConfig `json:"config"`
+ CreatedAt time.Time `json:"createdAt"`
+ ID string `json:"id"`
+ NextRetryAfter *time.Time `json:"nextRetryAfter,omitempty"`
+ Payload string `json:"payload"`
+ RetryAttempt int64 `json:"retryAttempt"`
+ Status string `json:"status"`
+ StatusCode int64 `json:"statusCode"`
+ UpdatedAt time.Time `json:"updatedAt"`
+ WebhookID string `json:"webhookID"`
+}
+
+func (a Attempt) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(a, "", false)
+}
+
+func (a *Attempt) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &a, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *Attempt) GetConfig() WebhooksConfig {
+ if o == nil {
+ return WebhooksConfig{}
+ }
+ return o.Config
+}
+
+func (o *Attempt) GetCreatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.CreatedAt
+}
+
+func (o *Attempt) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *Attempt) GetNextRetryAfter() *time.Time {
+ if o == nil {
+ return nil
+ }
+ return o.NextRetryAfter
+}
+
+func (o *Attempt) GetPayload() string {
+ if o == nil {
+ return ""
+ }
+ return o.Payload
+}
+
+func (o *Attempt) GetRetryAttempt() int64 {
+ if o == nil {
+ return 0
+ }
+ return o.RetryAttempt
+}
+
+func (o *Attempt) GetStatus() string {
+ if o == nil {
+ return ""
+ }
+ return o.Status
+}
+
+func (o *Attempt) GetStatusCode() int64 {
+ if o == nil {
+ return 0
+ }
+ return o.StatusCode
+}
+
+func (o *Attempt) GetUpdatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.UpdatedAt
+}
+
+func (o *Attempt) GetWebhookID() string {
+ if o == nil {
+ return ""
+ }
+ return o.WebhookID
+}
diff --git a/libs/clients/go/pkg/models/shared/attemptresponse.go b/libs/clients/go/pkg/models/shared/attemptresponse.go
new file mode 100755
index 0000000000..3d1c8ee1ad
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/attemptresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type AttemptResponse struct {
+ Data Attempt `json:"data"`
+}
+
+func (o *AttemptResponse) GetData() Attempt {
+ if o == nil {
+ return Attempt{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/balance.go b/libs/clients/go/pkg/models/shared/balance.go
new file mode 100755
index 0000000000..94c5e79bcc
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/balance.go
@@ -0,0 +1,47 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+ "time"
+)
+
+type Balance struct {
+ ExpiresAt *time.Time `json:"expiresAt,omitempty"`
+ Name string `json:"name"`
+ Priority *big.Int `json:"priority,omitempty"`
+}
+
+func (b Balance) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(b, "", false)
+}
+
+func (b *Balance) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &b, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *Balance) GetExpiresAt() *time.Time {
+ if o == nil {
+ return nil
+ }
+ return o.ExpiresAt
+}
+
+func (o *Balance) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
+
+func (o *Balance) GetPriority() *big.Int {
+ if o == nil {
+ return nil
+ }
+ return o.Priority
+}
diff --git a/libs/clients/go/pkg/models/shared/balancescursor.go b/libs/clients/go/pkg/models/shared/balancescursor.go
new file mode 100755
index 0000000000..6a8b07b9b1
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/balancescursor.go
@@ -0,0 +1,57 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type BalancesCursorCursor struct {
+ Data []AccountBalance `json:"data"`
+ HasMore bool `json:"hasMore"`
+ Next *string `json:"next,omitempty"`
+ PageSize int64 `json:"pageSize"`
+ Previous *string `json:"previous,omitempty"`
+}
+
+func (o *BalancesCursorCursor) GetData() []AccountBalance {
+ if o == nil {
+ return []AccountBalance{}
+ }
+ return o.Data
+}
+
+func (o *BalancesCursorCursor) GetHasMore() bool {
+ if o == nil {
+ return false
+ }
+ return o.HasMore
+}
+
+func (o *BalancesCursorCursor) GetNext() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Next
+}
+
+func (o *BalancesCursorCursor) GetPageSize() int64 {
+ if o == nil {
+ return 0
+ }
+ return o.PageSize
+}
+
+func (o *BalancesCursorCursor) GetPrevious() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Previous
+}
+
+type BalancesCursor struct {
+ Cursor BalancesCursorCursor `json:"cursor"`
+}
+
+func (o *BalancesCursor) GetCursor() BalancesCursorCursor {
+ if o == nil {
+ return BalancesCursorCursor{}
+ }
+ return o.Cursor
+}
diff --git a/libs/clients/go/pkg/models/shared/balancewithassets.go b/libs/clients/go/pkg/models/shared/balancewithassets.go
new file mode 100755
index 0000000000..155dc93475
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/balancewithassets.go
@@ -0,0 +1,55 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+ "time"
+)
+
+type BalanceWithAssets struct {
+ Assets map[string]*big.Int `json:"assets"`
+ ExpiresAt *time.Time `json:"expiresAt,omitempty"`
+ Name string `json:"name"`
+ Priority *big.Int `json:"priority,omitempty"`
+}
+
+func (b BalanceWithAssets) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(b, "", false)
+}
+
+func (b *BalanceWithAssets) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &b, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *BalanceWithAssets) GetAssets() map[string]*big.Int {
+ if o == nil {
+ return map[string]*big.Int{}
+ }
+ return o.Assets
+}
+
+func (o *BalanceWithAssets) GetExpiresAt() *time.Time {
+ if o == nil {
+ return nil
+ }
+ return o.ExpiresAt
+}
+
+func (o *BalanceWithAssets) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
+
+func (o *BalanceWithAssets) GetPriority() *big.Int {
+ if o == nil {
+ return nil
+ }
+ return o.Priority
+}
diff --git a/libs/clients/go/pkg/models/shared/bankaccount.go b/libs/clients/go/pkg/models/shared/bankaccount.go
new file mode 100755
index 0000000000..6a33ac4b30
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/bankaccount.go
@@ -0,0 +1,86 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type BankAccount struct {
+ AccountNumber *string `json:"accountNumber,omitempty"`
+ ConnectorID string `json:"connectorID"`
+ Country string `json:"country"`
+ CreatedAt time.Time `json:"createdAt"`
+ Iban *string `json:"iban,omitempty"`
+ ID string `json:"id"`
+ Provider *string `json:"provider,omitempty"`
+ SwiftBicCode *string `json:"swiftBicCode,omitempty"`
+}
+
+func (b BankAccount) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(b, "", false)
+}
+
+func (b *BankAccount) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &b, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *BankAccount) GetAccountNumber() *string {
+ if o == nil {
+ return nil
+ }
+ return o.AccountNumber
+}
+
+func (o *BankAccount) GetConnectorID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ConnectorID
+}
+
+func (o *BankAccount) GetCountry() string {
+ if o == nil {
+ return ""
+ }
+ return o.Country
+}
+
+func (o *BankAccount) GetCreatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.CreatedAt
+}
+
+func (o *BankAccount) GetIban() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Iban
+}
+
+func (o *BankAccount) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *BankAccount) GetProvider() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Provider
+}
+
+func (o *BankAccount) GetSwiftBicCode() *string {
+ if o == nil {
+ return nil
+ }
+ return o.SwiftBicCode
+}
diff --git a/libs/clients/go/pkg/models/shared/bankaccountrequest.go b/libs/clients/go/pkg/models/shared/bankaccountrequest.go
new file mode 100755
index 0000000000..bcc2657472
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/bankaccountrequest.go
@@ -0,0 +1,54 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type BankAccountRequest struct {
+ AccountNumber *string `json:"accountNumber,omitempty"`
+ ConnectorID string `json:"connectorID"`
+ Country string `json:"country"`
+ Iban *string `json:"iban,omitempty"`
+ Name string `json:"name"`
+ SwiftBicCode *string `json:"swiftBicCode,omitempty"`
+}
+
+func (o *BankAccountRequest) GetAccountNumber() *string {
+ if o == nil {
+ return nil
+ }
+ return o.AccountNumber
+}
+
+func (o *BankAccountRequest) GetConnectorID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ConnectorID
+}
+
+func (o *BankAccountRequest) GetCountry() string {
+ if o == nil {
+ return ""
+ }
+ return o.Country
+}
+
+func (o *BankAccountRequest) GetIban() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Iban
+}
+
+func (o *BankAccountRequest) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
+
+func (o *BankAccountRequest) GetSwiftBicCode() *string {
+ if o == nil {
+ return nil
+ }
+ return o.SwiftBicCode
+}
diff --git a/libs/clients/go/pkg/models/shared/bankaccountresponse.go b/libs/clients/go/pkg/models/shared/bankaccountresponse.go
new file mode 100755
index 0000000000..8cee05eab2
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/bankaccountresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type BankAccountResponse struct {
+ Data BankAccount `json:"data"`
+}
+
+func (o *BankAccountResponse) GetData() BankAccount {
+ if o == nil {
+ return BankAccount{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/bankaccountscursor.go b/libs/clients/go/pkg/models/shared/bankaccountscursor.go
new file mode 100755
index 0000000000..70b814ea20
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/bankaccountscursor.go
@@ -0,0 +1,57 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type BankAccountsCursorCursor struct {
+ Data []BankAccount `json:"data"`
+ HasMore bool `json:"hasMore"`
+ Next *string `json:"next,omitempty"`
+ PageSize int64 `json:"pageSize"`
+ Previous *string `json:"previous,omitempty"`
+}
+
+func (o *BankAccountsCursorCursor) GetData() []BankAccount {
+ if o == nil {
+ return []BankAccount{}
+ }
+ return o.Data
+}
+
+func (o *BankAccountsCursorCursor) GetHasMore() bool {
+ if o == nil {
+ return false
+ }
+ return o.HasMore
+}
+
+func (o *BankAccountsCursorCursor) GetNext() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Next
+}
+
+func (o *BankAccountsCursorCursor) GetPageSize() int64 {
+ if o == nil {
+ return 0
+ }
+ return o.PageSize
+}
+
+func (o *BankAccountsCursorCursor) GetPrevious() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Previous
+}
+
+type BankAccountsCursor struct {
+ Cursor BankAccountsCursorCursor `json:"cursor"`
+}
+
+func (o *BankAccountsCursor) GetCursor() BankAccountsCursorCursor {
+ if o == nil {
+ return BankAccountsCursorCursor{}
+ }
+ return o.Cursor
+}
diff --git a/libs/clients/go/pkg/models/shared/bankingcircleconfig.go b/libs/clients/go/pkg/models/shared/bankingcircleconfig.go
new file mode 100755
index 0000000000..07ba94c089
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/bankingcircleconfig.go
@@ -0,0 +1,87 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+)
+
+type BankingCircleConfig struct {
+ AuthorizationEndpoint string `json:"authorizationEndpoint"`
+ Endpoint string `json:"endpoint"`
+ Name string `json:"name"`
+ Password string `json:"password"`
+ // The frequency at which the connector will try to fetch new BalanceTransaction objects from Banking Circle API.
+ //
+ PollingPeriod *string `default:"120s" json:"pollingPeriod"`
+ UserCertificate string `json:"userCertificate"`
+ UserCertificateKey string `json:"userCertificateKey"`
+ Username string `json:"username"`
+}
+
+func (b BankingCircleConfig) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(b, "", false)
+}
+
+func (b *BankingCircleConfig) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &b, "", false, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *BankingCircleConfig) GetAuthorizationEndpoint() string {
+ if o == nil {
+ return ""
+ }
+ return o.AuthorizationEndpoint
+}
+
+func (o *BankingCircleConfig) GetEndpoint() string {
+ if o == nil {
+ return ""
+ }
+ return o.Endpoint
+}
+
+func (o *BankingCircleConfig) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
+
+func (o *BankingCircleConfig) GetPassword() string {
+ if o == nil {
+ return ""
+ }
+ return o.Password
+}
+
+func (o *BankingCircleConfig) GetPollingPeriod() *string {
+ if o == nil {
+ return nil
+ }
+ return o.PollingPeriod
+}
+
+func (o *BankingCircleConfig) GetUserCertificate() string {
+ if o == nil {
+ return ""
+ }
+ return o.UserCertificate
+}
+
+func (o *BankingCircleConfig) GetUserCertificateKey() string {
+ if o == nil {
+ return ""
+ }
+ return o.UserCertificateKey
+}
+
+func (o *BankingCircleConfig) GetUsername() string {
+ if o == nil {
+ return ""
+ }
+ return o.Username
+}
diff --git a/libs/clients/go/pkg/models/shared/bulkelement.go b/libs/clients/go/pkg/models/shared/bulkelement.go
new file mode 100755
index 0000000000..3fdd3a04ed
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/bulkelement.go
@@ -0,0 +1,338 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "encoding/json"
+ "errors"
+ "fmt"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+)
+
+type BulkElementBulkElementDeleteMetadataData struct {
+ Key string `json:"key"`
+ TargetID TargetID `json:"targetId"`
+ TargetType TargetType `json:"targetType"`
+}
+
+func (o *BulkElementBulkElementDeleteMetadataData) GetKey() string {
+ if o == nil {
+ return ""
+ }
+ return o.Key
+}
+
+func (o *BulkElementBulkElementDeleteMetadataData) GetTargetID() TargetID {
+ if o == nil {
+ return TargetID{}
+ }
+ return o.TargetID
+}
+
+func (o *BulkElementBulkElementDeleteMetadataData) GetTargetType() TargetType {
+ if o == nil {
+ return TargetType("")
+ }
+ return o.TargetType
+}
+
+type BulkElementBulkElementDeleteMetadata struct {
+ Action string `json:"action"`
+ Data *BulkElementBulkElementDeleteMetadataData `json:"data,omitempty"`
+ Ik *string `json:"ik,omitempty"`
+}
+
+func (o *BulkElementBulkElementDeleteMetadata) GetAction() string {
+ if o == nil {
+ return ""
+ }
+ return o.Action
+}
+
+func (o *BulkElementBulkElementDeleteMetadata) GetData() *BulkElementBulkElementDeleteMetadataData {
+ if o == nil {
+ return nil
+ }
+ return o.Data
+}
+
+func (o *BulkElementBulkElementDeleteMetadata) GetIk() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Ik
+}
+
+type BulkElementBulkElementRevertTransactionData struct {
+ Force *bool `json:"force,omitempty"`
+ ID *big.Int `json:"id"`
+}
+
+func (b BulkElementBulkElementRevertTransactionData) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(b, "", false)
+}
+
+func (b *BulkElementBulkElementRevertTransactionData) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &b, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *BulkElementBulkElementRevertTransactionData) GetForce() *bool {
+ if o == nil {
+ return nil
+ }
+ return o.Force
+}
+
+func (o *BulkElementBulkElementRevertTransactionData) GetID() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.ID
+}
+
+type BulkElementBulkElementRevertTransaction struct {
+ Action string `json:"action"`
+ Data *BulkElementBulkElementRevertTransactionData `json:"data,omitempty"`
+ Ik *string `json:"ik,omitempty"`
+}
+
+func (o *BulkElementBulkElementRevertTransaction) GetAction() string {
+ if o == nil {
+ return ""
+ }
+ return o.Action
+}
+
+func (o *BulkElementBulkElementRevertTransaction) GetData() *BulkElementBulkElementRevertTransactionData {
+ if o == nil {
+ return nil
+ }
+ return o.Data
+}
+
+func (o *BulkElementBulkElementRevertTransaction) GetIk() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Ik
+}
+
+type BulkElementBulkElementAddMetadataData struct {
+ Metadata map[string]string `json:"metadata"`
+ TargetID TargetID `json:"targetId"`
+ TargetType TargetType `json:"targetType"`
+}
+
+func (o *BulkElementBulkElementAddMetadataData) GetMetadata() map[string]string {
+ if o == nil {
+ return map[string]string{}
+ }
+ return o.Metadata
+}
+
+func (o *BulkElementBulkElementAddMetadataData) GetTargetID() TargetID {
+ if o == nil {
+ return TargetID{}
+ }
+ return o.TargetID
+}
+
+func (o *BulkElementBulkElementAddMetadataData) GetTargetType() TargetType {
+ if o == nil {
+ return TargetType("")
+ }
+ return o.TargetType
+}
+
+type BulkElementBulkElementAddMetadata struct {
+ Action string `json:"action"`
+ Data *BulkElementBulkElementAddMetadataData `json:"data,omitempty"`
+ Ik *string `json:"ik,omitempty"`
+}
+
+func (o *BulkElementBulkElementAddMetadata) GetAction() string {
+ if o == nil {
+ return ""
+ }
+ return o.Action
+}
+
+func (o *BulkElementBulkElementAddMetadata) GetData() *BulkElementBulkElementAddMetadataData {
+ if o == nil {
+ return nil
+ }
+ return o.Data
+}
+
+func (o *BulkElementBulkElementAddMetadata) GetIk() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Ik
+}
+
+type BulkElementBulkElementCreateTransaction struct {
+ Action string `json:"action"`
+ Data *PostTransaction `json:"data,omitempty"`
+ Ik *string `json:"ik,omitempty"`
+}
+
+func (o *BulkElementBulkElementCreateTransaction) GetAction() string {
+ if o == nil {
+ return ""
+ }
+ return o.Action
+}
+
+func (o *BulkElementBulkElementCreateTransaction) GetData() *PostTransaction {
+ if o == nil {
+ return nil
+ }
+ return o.Data
+}
+
+func (o *BulkElementBulkElementCreateTransaction) GetIk() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Ik
+}
+
+type BulkElementType string
+
+const (
+ BulkElementTypeAddMetadata BulkElementType = "ADD_METADATA"
+ BulkElementTypeCreateTransaction BulkElementType = "CREATE_TRANSACTION"
+ BulkElementTypeDeleteMetadata BulkElementType = "DELETE_METADATA"
+ BulkElementTypeRevertTransaction BulkElementType = "REVERT_TRANSACTION"
+)
+
+type BulkElement struct {
+ BulkElementBulkElementCreateTransaction *BulkElementBulkElementCreateTransaction
+ BulkElementBulkElementAddMetadata *BulkElementBulkElementAddMetadata
+ BulkElementBulkElementRevertTransaction *BulkElementBulkElementRevertTransaction
+ BulkElementBulkElementDeleteMetadata *BulkElementBulkElementDeleteMetadata
+
+ Type BulkElementType
+}
+
+func CreateBulkElementAddMetadata(addMetadata BulkElementBulkElementAddMetadata) BulkElement {
+ typ := BulkElementTypeAddMetadata
+ typStr := string(typ)
+ addMetadata.Action = typStr
+
+ return BulkElement{
+ BulkElementBulkElementAddMetadata: &addMetadata,
+ Type: typ,
+ }
+}
+
+func CreateBulkElementCreateTransaction(createTransaction BulkElementBulkElementCreateTransaction) BulkElement {
+ typ := BulkElementTypeCreateTransaction
+ typStr := string(typ)
+ createTransaction.Action = typStr
+
+ return BulkElement{
+ BulkElementBulkElementCreateTransaction: &createTransaction,
+ Type: typ,
+ }
+}
+
+func CreateBulkElementDeleteMetadata(deleteMetadata BulkElementBulkElementDeleteMetadata) BulkElement {
+ typ := BulkElementTypeDeleteMetadata
+ typStr := string(typ)
+ deleteMetadata.Action = typStr
+
+ return BulkElement{
+ BulkElementBulkElementDeleteMetadata: &deleteMetadata,
+ Type: typ,
+ }
+}
+
+func CreateBulkElementRevertTransaction(revertTransaction BulkElementBulkElementRevertTransaction) BulkElement {
+ typ := BulkElementTypeRevertTransaction
+ typStr := string(typ)
+ revertTransaction.Action = typStr
+
+ return BulkElement{
+ BulkElementBulkElementRevertTransaction: &revertTransaction,
+ Type: typ,
+ }
+}
+
+func (u *BulkElement) UnmarshalJSON(data []byte) error {
+
+ type discriminator struct {
+ Action string
+ }
+
+ dis := new(discriminator)
+ if err := json.Unmarshal(data, &dis); err != nil {
+ return fmt.Errorf("could not unmarshal discriminator: %w", err)
+ }
+
+ switch dis.Action {
+ case "ADD_METADATA":
+ bulkElementBulkElementAddMetadata := new(BulkElementBulkElementAddMetadata)
+ if err := utils.UnmarshalJSON(data, &bulkElementBulkElementAddMetadata, "", true, true); err != nil {
+ return fmt.Errorf("could not unmarshal expected type: %w", err)
+ }
+
+ u.BulkElementBulkElementAddMetadata = bulkElementBulkElementAddMetadata
+ u.Type = BulkElementTypeAddMetadata
+ return nil
+ case "CREATE_TRANSACTION":
+ bulkElementBulkElementCreateTransaction := new(BulkElementBulkElementCreateTransaction)
+ if err := utils.UnmarshalJSON(data, &bulkElementBulkElementCreateTransaction, "", true, true); err != nil {
+ return fmt.Errorf("could not unmarshal expected type: %w", err)
+ }
+
+ u.BulkElementBulkElementCreateTransaction = bulkElementBulkElementCreateTransaction
+ u.Type = BulkElementTypeCreateTransaction
+ return nil
+ case "DELETE_METADATA":
+ bulkElementBulkElementDeleteMetadata := new(BulkElementBulkElementDeleteMetadata)
+ if err := utils.UnmarshalJSON(data, &bulkElementBulkElementDeleteMetadata, "", true, true); err != nil {
+ return fmt.Errorf("could not unmarshal expected type: %w", err)
+ }
+
+ u.BulkElementBulkElementDeleteMetadata = bulkElementBulkElementDeleteMetadata
+ u.Type = BulkElementTypeDeleteMetadata
+ return nil
+ case "REVERT_TRANSACTION":
+ bulkElementBulkElementRevertTransaction := new(BulkElementBulkElementRevertTransaction)
+ if err := utils.UnmarshalJSON(data, &bulkElementBulkElementRevertTransaction, "", true, true); err != nil {
+ return fmt.Errorf("could not unmarshal expected type: %w", err)
+ }
+
+ u.BulkElementBulkElementRevertTransaction = bulkElementBulkElementRevertTransaction
+ u.Type = BulkElementTypeRevertTransaction
+ return nil
+ }
+
+ return errors.New("could not unmarshal into supported union types")
+}
+
+func (u BulkElement) MarshalJSON() ([]byte, error) {
+ if u.BulkElementBulkElementCreateTransaction != nil {
+ return utils.MarshalJSON(u.BulkElementBulkElementCreateTransaction, "", true)
+ }
+
+ if u.BulkElementBulkElementAddMetadata != nil {
+ return utils.MarshalJSON(u.BulkElementBulkElementAddMetadata, "", true)
+ }
+
+ if u.BulkElementBulkElementRevertTransaction != nil {
+ return utils.MarshalJSON(u.BulkElementBulkElementRevertTransaction, "", true)
+ }
+
+ if u.BulkElementBulkElementDeleteMetadata != nil {
+ return utils.MarshalJSON(u.BulkElementBulkElementDeleteMetadata, "", true)
+ }
+
+ return nil, errors.New("could not marshal union type: all fields are null")
+}
diff --git a/libs/clients/go/pkg/models/shared/bulkelementresult.go b/libs/clients/go/pkg/models/shared/bulkelementresult.go
new file mode 100755
index 0000000000..5652c475b1
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/bulkelementresult.go
@@ -0,0 +1,266 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "encoding/json"
+ "errors"
+ "fmt"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+)
+
+type BulkElementResultBulkElementResultError struct {
+ ErrorCode string `json:"errorCode"`
+ ErrorDescription string `json:"errorDescription"`
+ ErrorDetails *string `json:"errorDetails,omitempty"`
+ ResponseType string `json:"responseType"`
+}
+
+func (o *BulkElementResultBulkElementResultError) GetErrorCode() string {
+ if o == nil {
+ return ""
+ }
+ return o.ErrorCode
+}
+
+func (o *BulkElementResultBulkElementResultError) GetErrorDescription() string {
+ if o == nil {
+ return ""
+ }
+ return o.ErrorDescription
+}
+
+func (o *BulkElementResultBulkElementResultError) GetErrorDetails() *string {
+ if o == nil {
+ return nil
+ }
+ return o.ErrorDetails
+}
+
+func (o *BulkElementResultBulkElementResultError) GetResponseType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ResponseType
+}
+
+type BulkElementResultBulkElementResultDeleteMetadata struct {
+ ResponseType string `json:"responseType"`
+}
+
+func (o *BulkElementResultBulkElementResultDeleteMetadata) GetResponseType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ResponseType
+}
+
+type BulkElementResultBulkElementResultRevertTransaction struct {
+ Data Transaction `json:"data"`
+ ResponseType string `json:"responseType"`
+}
+
+func (o *BulkElementResultBulkElementResultRevertTransaction) GetData() Transaction {
+ if o == nil {
+ return Transaction{}
+ }
+ return o.Data
+}
+
+func (o *BulkElementResultBulkElementResultRevertTransaction) GetResponseType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ResponseType
+}
+
+type BulkElementResultBulkElementResultAddMetadata struct {
+ ResponseType string `json:"responseType"`
+}
+
+func (o *BulkElementResultBulkElementResultAddMetadata) GetResponseType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ResponseType
+}
+
+type BulkElementResultBulkElementResultCreateTransaction struct {
+ Data Transaction `json:"data"`
+ ResponseType string `json:"responseType"`
+}
+
+func (o *BulkElementResultBulkElementResultCreateTransaction) GetData() Transaction {
+ if o == nil {
+ return Transaction{}
+ }
+ return o.Data
+}
+
+func (o *BulkElementResultBulkElementResultCreateTransaction) GetResponseType() string {
+ if o == nil {
+ return ""
+ }
+ return o.ResponseType
+}
+
+type BulkElementResultType string
+
+const (
+ BulkElementResultTypeAddMetadata BulkElementResultType = "ADD_METADATA"
+ BulkElementResultTypeCreateTransaction BulkElementResultType = "CREATE_TRANSACTION"
+ BulkElementResultTypeDeleteMetadata BulkElementResultType = "DELETE_METADATA"
+ BulkElementResultTypeError BulkElementResultType = "ERROR"
+ BulkElementResultTypeRevertTransaction BulkElementResultType = "REVERT_TRANSACTION"
+)
+
+type BulkElementResult struct {
+ BulkElementResultBulkElementResultCreateTransaction *BulkElementResultBulkElementResultCreateTransaction
+ BulkElementResultBulkElementResultAddMetadata *BulkElementResultBulkElementResultAddMetadata
+ BulkElementResultBulkElementResultRevertTransaction *BulkElementResultBulkElementResultRevertTransaction
+ BulkElementResultBulkElementResultDeleteMetadata *BulkElementResultBulkElementResultDeleteMetadata
+ BulkElementResultBulkElementResultError *BulkElementResultBulkElementResultError
+
+ Type BulkElementResultType
+}
+
+func CreateBulkElementResultAddMetadata(addMetadata BulkElementResultBulkElementResultAddMetadata) BulkElementResult {
+ typ := BulkElementResultTypeAddMetadata
+ typStr := string(typ)
+ addMetadata.ResponseType = typStr
+
+ return BulkElementResult{
+ BulkElementResultBulkElementResultAddMetadata: &addMetadata,
+ Type: typ,
+ }
+}
+
+func CreateBulkElementResultCreateTransaction(createTransaction BulkElementResultBulkElementResultCreateTransaction) BulkElementResult {
+ typ := BulkElementResultTypeCreateTransaction
+ typStr := string(typ)
+ createTransaction.ResponseType = typStr
+
+ return BulkElementResult{
+ BulkElementResultBulkElementResultCreateTransaction: &createTransaction,
+ Type: typ,
+ }
+}
+
+func CreateBulkElementResultDeleteMetadata(deleteMetadata BulkElementResultBulkElementResultDeleteMetadata) BulkElementResult {
+ typ := BulkElementResultTypeDeleteMetadata
+ typStr := string(typ)
+ deleteMetadata.ResponseType = typStr
+
+ return BulkElementResult{
+ BulkElementResultBulkElementResultDeleteMetadata: &deleteMetadata,
+ Type: typ,
+ }
+}
+
+func CreateBulkElementResultError(error BulkElementResultBulkElementResultError) BulkElementResult {
+ typ := BulkElementResultTypeError
+ typStr := string(typ)
+ error.ResponseType = typStr
+
+ return BulkElementResult{
+ BulkElementResultBulkElementResultError: &error,
+ Type: typ,
+ }
+}
+
+func CreateBulkElementResultRevertTransaction(revertTransaction BulkElementResultBulkElementResultRevertTransaction) BulkElementResult {
+ typ := BulkElementResultTypeRevertTransaction
+ typStr := string(typ)
+ revertTransaction.ResponseType = typStr
+
+ return BulkElementResult{
+ BulkElementResultBulkElementResultRevertTransaction: &revertTransaction,
+ Type: typ,
+ }
+}
+
+func (u *BulkElementResult) UnmarshalJSON(data []byte) error {
+
+ type discriminator struct {
+ ResponseType string
+ }
+
+ dis := new(discriminator)
+ if err := json.Unmarshal(data, &dis); err != nil {
+ return fmt.Errorf("could not unmarshal discriminator: %w", err)
+ }
+
+ switch dis.ResponseType {
+ case "ADD_METADATA":
+ bulkElementResultBulkElementResultAddMetadata := new(BulkElementResultBulkElementResultAddMetadata)
+ if err := utils.UnmarshalJSON(data, &bulkElementResultBulkElementResultAddMetadata, "", true, true); err != nil {
+ return fmt.Errorf("could not unmarshal expected type: %w", err)
+ }
+
+ u.BulkElementResultBulkElementResultAddMetadata = bulkElementResultBulkElementResultAddMetadata
+ u.Type = BulkElementResultTypeAddMetadata
+ return nil
+ case "CREATE_TRANSACTION":
+ bulkElementResultBulkElementResultCreateTransaction := new(BulkElementResultBulkElementResultCreateTransaction)
+ if err := utils.UnmarshalJSON(data, &bulkElementResultBulkElementResultCreateTransaction, "", true, true); err != nil {
+ return fmt.Errorf("could not unmarshal expected type: %w", err)
+ }
+
+ u.BulkElementResultBulkElementResultCreateTransaction = bulkElementResultBulkElementResultCreateTransaction
+ u.Type = BulkElementResultTypeCreateTransaction
+ return nil
+ case "DELETE_METADATA":
+ bulkElementResultBulkElementResultDeleteMetadata := new(BulkElementResultBulkElementResultDeleteMetadata)
+ if err := utils.UnmarshalJSON(data, &bulkElementResultBulkElementResultDeleteMetadata, "", true, true); err != nil {
+ return fmt.Errorf("could not unmarshal expected type: %w", err)
+ }
+
+ u.BulkElementResultBulkElementResultDeleteMetadata = bulkElementResultBulkElementResultDeleteMetadata
+ u.Type = BulkElementResultTypeDeleteMetadata
+ return nil
+ case "ERROR":
+ bulkElementResultBulkElementResultError := new(BulkElementResultBulkElementResultError)
+ if err := utils.UnmarshalJSON(data, &bulkElementResultBulkElementResultError, "", true, true); err != nil {
+ return fmt.Errorf("could not unmarshal expected type: %w", err)
+ }
+
+ u.BulkElementResultBulkElementResultError = bulkElementResultBulkElementResultError
+ u.Type = BulkElementResultTypeError
+ return nil
+ case "REVERT_TRANSACTION":
+ bulkElementResultBulkElementResultRevertTransaction := new(BulkElementResultBulkElementResultRevertTransaction)
+ if err := utils.UnmarshalJSON(data, &bulkElementResultBulkElementResultRevertTransaction, "", true, true); err != nil {
+ return fmt.Errorf("could not unmarshal expected type: %w", err)
+ }
+
+ u.BulkElementResultBulkElementResultRevertTransaction = bulkElementResultBulkElementResultRevertTransaction
+ u.Type = BulkElementResultTypeRevertTransaction
+ return nil
+ }
+
+ return errors.New("could not unmarshal into supported union types")
+}
+
+func (u BulkElementResult) MarshalJSON() ([]byte, error) {
+ if u.BulkElementResultBulkElementResultCreateTransaction != nil {
+ return utils.MarshalJSON(u.BulkElementResultBulkElementResultCreateTransaction, "", true)
+ }
+
+ if u.BulkElementResultBulkElementResultAddMetadata != nil {
+ return utils.MarshalJSON(u.BulkElementResultBulkElementResultAddMetadata, "", true)
+ }
+
+ if u.BulkElementResultBulkElementResultRevertTransaction != nil {
+ return utils.MarshalJSON(u.BulkElementResultBulkElementResultRevertTransaction, "", true)
+ }
+
+ if u.BulkElementResultBulkElementResultDeleteMetadata != nil {
+ return utils.MarshalJSON(u.BulkElementResultBulkElementResultDeleteMetadata, "", true)
+ }
+
+ if u.BulkElementResultBulkElementResultError != nil {
+ return utils.MarshalJSON(u.BulkElementResultBulkElementResultError, "", true)
+ }
+
+ return nil, errors.New("could not marshal union type: all fields are null")
+}
diff --git a/libs/clients/go/pkg/models/shared/bulkresponse.go b/libs/clients/go/pkg/models/shared/bulkresponse.go
new file mode 100755
index 0000000000..3a2a79739b
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/bulkresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type BulkResponse struct {
+ Data []BulkElementResult `json:"data"`
+}
+
+func (o *BulkResponse) GetData() []BulkElementResult {
+ if o == nil {
+ return []BulkElementResult{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/client.go b/libs/clients/go/pkg/models/shared/client.go
new file mode 100755
index 0000000000..54ddd37221
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/client.go
@@ -0,0 +1,86 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type Client struct {
+ Description *string `json:"description,omitempty"`
+ ID string `json:"id"`
+ Metadata map[string]interface{} `json:"metadata,omitempty"`
+ Name string `json:"name"`
+ PostLogoutRedirectUris []string `json:"postLogoutRedirectUris,omitempty"`
+ Public *bool `json:"public,omitempty"`
+ RedirectUris []string `json:"redirectUris,omitempty"`
+ Scopes []string `json:"scopes,omitempty"`
+ Secrets []ClientSecret `json:"secrets,omitempty"`
+ Trusted *bool `json:"trusted,omitempty"`
+}
+
+func (o *Client) GetDescription() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Description
+}
+
+func (o *Client) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *Client) GetMetadata() map[string]interface{} {
+ if o == nil {
+ return nil
+ }
+ return o.Metadata
+}
+
+func (o *Client) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
+
+func (o *Client) GetPostLogoutRedirectUris() []string {
+ if o == nil {
+ return nil
+ }
+ return o.PostLogoutRedirectUris
+}
+
+func (o *Client) GetPublic() *bool {
+ if o == nil {
+ return nil
+ }
+ return o.Public
+}
+
+func (o *Client) GetRedirectUris() []string {
+ if o == nil {
+ return nil
+ }
+ return o.RedirectUris
+}
+
+func (o *Client) GetScopes() []string {
+ if o == nil {
+ return nil
+ }
+ return o.Scopes
+}
+
+func (o *Client) GetSecrets() []ClientSecret {
+ if o == nil {
+ return nil
+ }
+ return o.Secrets
+}
+
+func (o *Client) GetTrusted() *bool {
+ if o == nil {
+ return nil
+ }
+ return o.Trusted
+}
diff --git a/libs/clients/go/pkg/models/shared/clientsecret.go b/libs/clients/go/pkg/models/shared/clientsecret.go
new file mode 100755
index 0000000000..1d602c20e4
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/clientsecret.go
@@ -0,0 +1,38 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ClientSecret struct {
+ ID string `json:"id"`
+ LastDigits string `json:"lastDigits"`
+ Metadata map[string]interface{} `json:"metadata,omitempty"`
+ Name string `json:"name"`
+}
+
+func (o *ClientSecret) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *ClientSecret) GetLastDigits() string {
+ if o == nil {
+ return ""
+ }
+ return o.LastDigits
+}
+
+func (o *ClientSecret) GetMetadata() map[string]interface{} {
+ if o == nil {
+ return nil
+ }
+ return o.Metadata
+}
+
+func (o *ClientSecret) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
diff --git a/libs/clients/go/pkg/models/shared/configchangesecret.go b/libs/clients/go/pkg/models/shared/configchangesecret.go
new file mode 100755
index 0000000000..c845a7ecdb
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/configchangesecret.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ConfigChangeSecret struct {
+ Secret string `json:"secret"`
+}
+
+func (o *ConfigChangeSecret) GetSecret() string {
+ if o == nil {
+ return ""
+ }
+ return o.Secret
+}
diff --git a/libs/clients/go/pkg/models/shared/configinforesponse.go b/libs/clients/go/pkg/models/shared/configinforesponse.go
new file mode 100755
index 0000000000..2eabbd6f37
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/configinforesponse.go
@@ -0,0 +1,22 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ConfigInfoResponse struct {
+ Server string `json:"server"`
+ Version string `json:"version"`
+}
+
+func (o *ConfigInfoResponse) GetServer() string {
+ if o == nil {
+ return ""
+ }
+ return o.Server
+}
+
+func (o *ConfigInfoResponse) GetVersion() string {
+ if o == nil {
+ return ""
+ }
+ return o.Version
+}
diff --git a/libs/clients/go/pkg/models/shared/configresponse.go b/libs/clients/go/pkg/models/shared/configresponse.go
new file mode 100755
index 0000000000..3be0a42a5b
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/configresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ConfigResponse struct {
+ Data WebhooksConfig `json:"data"`
+}
+
+func (o *ConfigResponse) GetData() WebhooksConfig {
+ if o == nil {
+ return WebhooksConfig{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/configsresponse.go b/libs/clients/go/pkg/models/shared/configsresponse.go
new file mode 100755
index 0000000000..f56a90e41a
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/configsresponse.go
@@ -0,0 +1,33 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ConfigsResponseCursor struct {
+ Data []WebhooksConfig `json:"data"`
+ HasMore bool `json:"hasMore"`
+}
+
+func (o *ConfigsResponseCursor) GetData() []WebhooksConfig {
+ if o == nil {
+ return []WebhooksConfig{}
+ }
+ return o.Data
+}
+
+func (o *ConfigsResponseCursor) GetHasMore() bool {
+ if o == nil {
+ return false
+ }
+ return o.HasMore
+}
+
+type ConfigsResponse struct {
+ Cursor ConfigsResponseCursor `json:"cursor"`
+}
+
+func (o *ConfigsResponse) GetCursor() ConfigsResponseCursor {
+ if o == nil {
+ return ConfigsResponseCursor{}
+ }
+ return o.Cursor
+}
diff --git a/libs/clients/go/pkg/models/shared/configuser.go b/libs/clients/go/pkg/models/shared/configuser.go
new file mode 100755
index 0000000000..8f37fd37b8
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/configuser.go
@@ -0,0 +1,30 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ConfigUser struct {
+ Endpoint string `json:"endpoint"`
+ EventTypes []string `json:"eventTypes"`
+ Secret *string `json:"secret,omitempty"`
+}
+
+func (o *ConfigUser) GetEndpoint() string {
+ if o == nil {
+ return ""
+ }
+ return o.Endpoint
+}
+
+func (o *ConfigUser) GetEventTypes() []string {
+ if o == nil {
+ return []string{}
+ }
+ return o.EventTypes
+}
+
+func (o *ConfigUser) GetSecret() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Secret
+}
diff --git a/libs/clients/go/pkg/models/shared/confirmholdrequest.go b/libs/clients/go/pkg/models/shared/confirmholdrequest.go
new file mode 100755
index 0000000000..46e891e15c
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/confirmholdrequest.go
@@ -0,0 +1,40 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+)
+
+type ConfirmHoldRequest struct {
+ // Define the amount to transfer.
+ Amount *big.Int `json:"amount,omitempty"`
+ // Define a final confirmation. Remaining funds will be returned to the wallet.
+ Final *bool `json:"final,omitempty"`
+}
+
+func (c ConfirmHoldRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(c, "", false)
+}
+
+func (c *ConfirmHoldRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &c, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *ConfirmHoldRequest) GetAmount() *big.Int {
+ if o == nil {
+ return nil
+ }
+ return o.Amount
+}
+
+func (o *ConfirmHoldRequest) GetFinal() *bool {
+ if o == nil {
+ return nil
+ }
+ return o.Final
+}
diff --git a/libs/clients/go/pkg/models/shared/connector.go b/libs/clients/go/pkg/models/shared/connector.go
new file mode 100755
index 0000000000..7661926b8d
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/connector.go
@@ -0,0 +1,56 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "encoding/json"
+ "fmt"
+)
+
+type Connector string
+
+const (
+ ConnectorStripe Connector = "STRIPE"
+ ConnectorDummyPay Connector = "DUMMY-PAY"
+ ConnectorWise Connector = "WISE"
+ ConnectorModulr Connector = "MODULR"
+ ConnectorCurrencyCloud Connector = "CURRENCY-CLOUD"
+ ConnectorBankingCircle Connector = "BANKING-CIRCLE"
+ ConnectorMangopay Connector = "MANGOPAY"
+ ConnectorMoneycorp Connector = "MONEYCORP"
+ ConnectorAtlar Connector = "ATLAR"
+)
+
+func (e Connector) ToPointer() *Connector {
+ return &e
+}
+
+func (e *Connector) UnmarshalJSON(data []byte) error {
+ var v string
+ if err := json.Unmarshal(data, &v); err != nil {
+ return err
+ }
+ switch v {
+ case "STRIPE":
+ fallthrough
+ case "DUMMY-PAY":
+ fallthrough
+ case "WISE":
+ fallthrough
+ case "MODULR":
+ fallthrough
+ case "CURRENCY-CLOUD":
+ fallthrough
+ case "BANKING-CIRCLE":
+ fallthrough
+ case "MANGOPAY":
+ fallthrough
+ case "MONEYCORP":
+ fallthrough
+ case "ATLAR":
+ *e = Connector(v)
+ return nil
+ default:
+ return fmt.Errorf("invalid value for Connector: %v", v)
+ }
+}
diff --git a/libs/clients/go/pkg/models/shared/connectorconfig.go b/libs/clients/go/pkg/models/shared/connectorconfig.go
new file mode 100755
index 0000000000..1ce4e07d94
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/connectorconfig.go
@@ -0,0 +1,225 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "errors"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+)
+
+type ConnectorConfigType string
+
+const (
+ ConnectorConfigTypeStripeConfig ConnectorConfigType = "StripeConfig"
+ ConnectorConfigTypeDummyPayConfig ConnectorConfigType = "DummyPayConfig"
+ ConnectorConfigTypeWiseConfig ConnectorConfigType = "WiseConfig"
+ ConnectorConfigTypeModulrConfig ConnectorConfigType = "ModulrConfig"
+ ConnectorConfigTypeCurrencyCloudConfig ConnectorConfigType = "CurrencyCloudConfig"
+ ConnectorConfigTypeBankingCircleConfig ConnectorConfigType = "BankingCircleConfig"
+ ConnectorConfigTypeMangoPayConfig ConnectorConfigType = "MangoPayConfig"
+ ConnectorConfigTypeMoneycorpConfig ConnectorConfigType = "MoneycorpConfig"
+ ConnectorConfigTypeAtlarConfig ConnectorConfigType = "AtlarConfig"
+)
+
+type ConnectorConfig struct {
+ StripeConfig *StripeConfig
+ DummyPayConfig *DummyPayConfig
+ WiseConfig *WiseConfig
+ ModulrConfig *ModulrConfig
+ CurrencyCloudConfig *CurrencyCloudConfig
+ BankingCircleConfig *BankingCircleConfig
+ MangoPayConfig *MangoPayConfig
+ MoneycorpConfig *MoneycorpConfig
+ AtlarConfig *AtlarConfig
+
+ Type ConnectorConfigType
+}
+
+func CreateConnectorConfigStripeConfig(stripeConfig StripeConfig) ConnectorConfig {
+ typ := ConnectorConfigTypeStripeConfig
+
+ return ConnectorConfig{
+ StripeConfig: &stripeConfig,
+ Type: typ,
+ }
+}
+
+func CreateConnectorConfigDummyPayConfig(dummyPayConfig DummyPayConfig) ConnectorConfig {
+ typ := ConnectorConfigTypeDummyPayConfig
+
+ return ConnectorConfig{
+ DummyPayConfig: &dummyPayConfig,
+ Type: typ,
+ }
+}
+
+func CreateConnectorConfigWiseConfig(wiseConfig WiseConfig) ConnectorConfig {
+ typ := ConnectorConfigTypeWiseConfig
+
+ return ConnectorConfig{
+ WiseConfig: &wiseConfig,
+ Type: typ,
+ }
+}
+
+func CreateConnectorConfigModulrConfig(modulrConfig ModulrConfig) ConnectorConfig {
+ typ := ConnectorConfigTypeModulrConfig
+
+ return ConnectorConfig{
+ ModulrConfig: &modulrConfig,
+ Type: typ,
+ }
+}
+
+func CreateConnectorConfigCurrencyCloudConfig(currencyCloudConfig CurrencyCloudConfig) ConnectorConfig {
+ typ := ConnectorConfigTypeCurrencyCloudConfig
+
+ return ConnectorConfig{
+ CurrencyCloudConfig: ¤cyCloudConfig,
+ Type: typ,
+ }
+}
+
+func CreateConnectorConfigBankingCircleConfig(bankingCircleConfig BankingCircleConfig) ConnectorConfig {
+ typ := ConnectorConfigTypeBankingCircleConfig
+
+ return ConnectorConfig{
+ BankingCircleConfig: &bankingCircleConfig,
+ Type: typ,
+ }
+}
+
+func CreateConnectorConfigMangoPayConfig(mangoPayConfig MangoPayConfig) ConnectorConfig {
+ typ := ConnectorConfigTypeMangoPayConfig
+
+ return ConnectorConfig{
+ MangoPayConfig: &mangoPayConfig,
+ Type: typ,
+ }
+}
+
+func CreateConnectorConfigMoneycorpConfig(moneycorpConfig MoneycorpConfig) ConnectorConfig {
+ typ := ConnectorConfigTypeMoneycorpConfig
+
+ return ConnectorConfig{
+ MoneycorpConfig: &moneycorpConfig,
+ Type: typ,
+ }
+}
+
+func CreateConnectorConfigAtlarConfig(atlarConfig AtlarConfig) ConnectorConfig {
+ typ := ConnectorConfigTypeAtlarConfig
+
+ return ConnectorConfig{
+ AtlarConfig: &atlarConfig,
+ Type: typ,
+ }
+}
+
+func (u *ConnectorConfig) UnmarshalJSON(data []byte) error {
+
+ wiseConfig := WiseConfig{}
+ if err := utils.UnmarshalJSON(data, &wiseConfig, "", true, true); err == nil {
+ u.WiseConfig = &wiseConfig
+ u.Type = ConnectorConfigTypeWiseConfig
+ return nil
+ }
+
+ stripeConfig := StripeConfig{}
+ if err := utils.UnmarshalJSON(data, &stripeConfig, "", true, true); err == nil {
+ u.StripeConfig = &stripeConfig
+ u.Type = ConnectorConfigTypeStripeConfig
+ return nil
+ }
+
+ dummyPayConfig := DummyPayConfig{}
+ if err := utils.UnmarshalJSON(data, &dummyPayConfig, "", true, true); err == nil {
+ u.DummyPayConfig = &dummyPayConfig
+ u.Type = ConnectorConfigTypeDummyPayConfig
+ return nil
+ }
+
+ modulrConfig := ModulrConfig{}
+ if err := utils.UnmarshalJSON(data, &modulrConfig, "", true, true); err == nil {
+ u.ModulrConfig = &modulrConfig
+ u.Type = ConnectorConfigTypeModulrConfig
+ return nil
+ }
+
+ currencyCloudConfig := CurrencyCloudConfig{}
+ if err := utils.UnmarshalJSON(data, ¤cyCloudConfig, "", true, true); err == nil {
+ u.CurrencyCloudConfig = ¤cyCloudConfig
+ u.Type = ConnectorConfigTypeCurrencyCloudConfig
+ return nil
+ }
+
+ mangoPayConfig := MangoPayConfig{}
+ if err := utils.UnmarshalJSON(data, &mangoPayConfig, "", true, true); err == nil {
+ u.MangoPayConfig = &mangoPayConfig
+ u.Type = ConnectorConfigTypeMangoPayConfig
+ return nil
+ }
+
+ moneycorpConfig := MoneycorpConfig{}
+ if err := utils.UnmarshalJSON(data, &moneycorpConfig, "", true, true); err == nil {
+ u.MoneycorpConfig = &moneycorpConfig
+ u.Type = ConnectorConfigTypeMoneycorpConfig
+ return nil
+ }
+
+ atlarConfig := AtlarConfig{}
+ if err := utils.UnmarshalJSON(data, &atlarConfig, "", true, true); err == nil {
+ u.AtlarConfig = &atlarConfig
+ u.Type = ConnectorConfigTypeAtlarConfig
+ return nil
+ }
+
+ bankingCircleConfig := BankingCircleConfig{}
+ if err := utils.UnmarshalJSON(data, &bankingCircleConfig, "", true, true); err == nil {
+ u.BankingCircleConfig = &bankingCircleConfig
+ u.Type = ConnectorConfigTypeBankingCircleConfig
+ return nil
+ }
+
+ return errors.New("could not unmarshal into supported union types")
+}
+
+func (u ConnectorConfig) MarshalJSON() ([]byte, error) {
+ if u.StripeConfig != nil {
+ return utils.MarshalJSON(u.StripeConfig, "", true)
+ }
+
+ if u.DummyPayConfig != nil {
+ return utils.MarshalJSON(u.DummyPayConfig, "", true)
+ }
+
+ if u.WiseConfig != nil {
+ return utils.MarshalJSON(u.WiseConfig, "", true)
+ }
+
+ if u.ModulrConfig != nil {
+ return utils.MarshalJSON(u.ModulrConfig, "", true)
+ }
+
+ if u.CurrencyCloudConfig != nil {
+ return utils.MarshalJSON(u.CurrencyCloudConfig, "", true)
+ }
+
+ if u.BankingCircleConfig != nil {
+ return utils.MarshalJSON(u.BankingCircleConfig, "", true)
+ }
+
+ if u.MangoPayConfig != nil {
+ return utils.MarshalJSON(u.MangoPayConfig, "", true)
+ }
+
+ if u.MoneycorpConfig != nil {
+ return utils.MarshalJSON(u.MoneycorpConfig, "", true)
+ }
+
+ if u.AtlarConfig != nil {
+ return utils.MarshalJSON(u.AtlarConfig, "", true)
+ }
+
+ return nil, errors.New("could not marshal union type: all fields are null")
+}
diff --git a/libs/clients/go/pkg/models/shared/connectorconfigresponse.go b/libs/clients/go/pkg/models/shared/connectorconfigresponse.go
new file mode 100755
index 0000000000..be78fc0805
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/connectorconfigresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ConnectorConfigResponse struct {
+ Data ConnectorConfig `json:"data"`
+}
+
+func (o *ConnectorConfigResponse) GetData() ConnectorConfig {
+ if o == nil {
+ return ConnectorConfig{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/connectorresponse.go b/libs/clients/go/pkg/models/shared/connectorresponse.go
new file mode 100755
index 0000000000..989882efe0
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/connectorresponse.go
@@ -0,0 +1,25 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ConnectorResponseData struct {
+ ConnectorID string `json:"connectorID"`
+}
+
+func (o *ConnectorResponseData) GetConnectorID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ConnectorID
+}
+
+type ConnectorResponse struct {
+ Data ConnectorResponseData `json:"data"`
+}
+
+func (o *ConnectorResponse) GetData() ConnectorResponseData {
+ if o == nil {
+ return ConnectorResponseData{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/connectorsconfigsresponse.go b/libs/clients/go/pkg/models/shared/connectorsconfigsresponse.go
new file mode 100755
index 0000000000..e62e8680ae
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/connectorsconfigsresponse.go
@@ -0,0 +1,55 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ConnectorsConfigsResponseDataConnectorKey struct {
+ DataType string `json:"dataType"`
+ Required bool `json:"required"`
+}
+
+func (o *ConnectorsConfigsResponseDataConnectorKey) GetDataType() string {
+ if o == nil {
+ return ""
+ }
+ return o.DataType
+}
+
+func (o *ConnectorsConfigsResponseDataConnectorKey) GetRequired() bool {
+ if o == nil {
+ return false
+ }
+ return o.Required
+}
+
+type ConnectorsConfigsResponseDataConnector struct {
+ Key ConnectorsConfigsResponseDataConnectorKey `json:"key"`
+}
+
+func (o *ConnectorsConfigsResponseDataConnector) GetKey() ConnectorsConfigsResponseDataConnectorKey {
+ if o == nil {
+ return ConnectorsConfigsResponseDataConnectorKey{}
+ }
+ return o.Key
+}
+
+type ConnectorsConfigsResponseData struct {
+ Connector ConnectorsConfigsResponseDataConnector `json:"connector"`
+}
+
+func (o *ConnectorsConfigsResponseData) GetConnector() ConnectorsConfigsResponseDataConnector {
+ if o == nil {
+ return ConnectorsConfigsResponseDataConnector{}
+ }
+ return o.Connector
+}
+
+type ConnectorsConfigsResponse struct {
+ Data ConnectorsConfigsResponseData `json:"data"`
+}
+
+func (o *ConnectorsConfigsResponse) GetData() ConnectorsConfigsResponseData {
+ if o == nil {
+ return ConnectorsConfigsResponseData{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/connectorsresponse.go b/libs/clients/go/pkg/models/shared/connectorsresponse.go
new file mode 100755
index 0000000000..a13282f72f
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/connectorsresponse.go
@@ -0,0 +1,49 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ConnectorsResponseData struct {
+ ConnectorID string `json:"connectorID"`
+ Enabled *bool `json:"enabled,omitempty"`
+ Name string `json:"name"`
+ Provider Connector `json:"provider"`
+}
+
+func (o *ConnectorsResponseData) GetConnectorID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ConnectorID
+}
+
+func (o *ConnectorsResponseData) GetEnabled() *bool {
+ if o == nil {
+ return nil
+ }
+ return o.Enabled
+}
+
+func (o *ConnectorsResponseData) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
+
+func (o *ConnectorsResponseData) GetProvider() Connector {
+ if o == nil {
+ return Connector("")
+ }
+ return o.Provider
+}
+
+type ConnectorsResponse struct {
+ Data []ConnectorsResponseData `json:"data"`
+}
+
+func (o *ConnectorsResponse) GetData() []ConnectorsResponseData {
+ if o == nil {
+ return []ConnectorsResponseData{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/createbalancerequest.go b/libs/clients/go/pkg/models/shared/createbalancerequest.go
new file mode 100755
index 0000000000..463f40aca1
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/createbalancerequest.go
@@ -0,0 +1,47 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+ "time"
+)
+
+type CreateBalanceRequest struct {
+ ExpiresAt *time.Time `json:"expiresAt,omitempty"`
+ Name string `json:"name"`
+ Priority *big.Int `json:"priority,omitempty"`
+}
+
+func (c CreateBalanceRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(c, "", false)
+}
+
+func (c *CreateBalanceRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &c, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *CreateBalanceRequest) GetExpiresAt() *time.Time {
+ if o == nil {
+ return nil
+ }
+ return o.ExpiresAt
+}
+
+func (o *CreateBalanceRequest) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
+
+func (o *CreateBalanceRequest) GetPriority() *big.Int {
+ if o == nil {
+ return nil
+ }
+ return o.Priority
+}
diff --git a/libs/clients/go/pkg/models/shared/createbalanceresponse.go b/libs/clients/go/pkg/models/shared/createbalanceresponse.go
new file mode 100755
index 0000000000..197672b8ea
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/createbalanceresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type CreateBalanceResponse struct {
+ Data Balance `json:"data"`
+}
+
+func (o *CreateBalanceResponse) GetData() Balance {
+ if o == nil {
+ return Balance{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/createclientrequest.go b/libs/clients/go/pkg/models/shared/createclientrequest.go
new file mode 100755
index 0000000000..19d3d1cedc
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/createclientrequest.go
@@ -0,0 +1,70 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type CreateClientRequest struct {
+ Description *string `json:"description,omitempty"`
+ Metadata map[string]interface{} `json:"metadata,omitempty"`
+ Name string `json:"name"`
+ PostLogoutRedirectUris []string `json:"postLogoutRedirectUris,omitempty"`
+ Public *bool `json:"public,omitempty"`
+ RedirectUris []string `json:"redirectUris,omitempty"`
+ Scopes []string `json:"scopes,omitempty"`
+ Trusted *bool `json:"trusted,omitempty"`
+}
+
+func (o *CreateClientRequest) GetDescription() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Description
+}
+
+func (o *CreateClientRequest) GetMetadata() map[string]interface{} {
+ if o == nil {
+ return nil
+ }
+ return o.Metadata
+}
+
+func (o *CreateClientRequest) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
+
+func (o *CreateClientRequest) GetPostLogoutRedirectUris() []string {
+ if o == nil {
+ return nil
+ }
+ return o.PostLogoutRedirectUris
+}
+
+func (o *CreateClientRequest) GetPublic() *bool {
+ if o == nil {
+ return nil
+ }
+ return o.Public
+}
+
+func (o *CreateClientRequest) GetRedirectUris() []string {
+ if o == nil {
+ return nil
+ }
+ return o.RedirectUris
+}
+
+func (o *CreateClientRequest) GetScopes() []string {
+ if o == nil {
+ return nil
+ }
+ return o.Scopes
+}
+
+func (o *CreateClientRequest) GetTrusted() *bool {
+ if o == nil {
+ return nil
+ }
+ return o.Trusted
+}
diff --git a/libs/clients/go/pkg/models/shared/createclientresponse.go b/libs/clients/go/pkg/models/shared/createclientresponse.go
new file mode 100755
index 0000000000..9b2ead4a21
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/createclientresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type CreateClientResponse struct {
+ Data *Client `json:"data,omitempty"`
+}
+
+func (o *CreateClientResponse) GetData() *Client {
+ if o == nil {
+ return nil
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/createledgerrequest.go b/libs/clients/go/pkg/models/shared/createledgerrequest.go
new file mode 100755
index 0000000000..7b1bbd21e9
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/createledgerrequest.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type CreateLedgerRequest struct {
+ Bucket *string `json:"bucket,omitempty"`
+}
+
+func (o *CreateLedgerRequest) GetBucket() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Bucket
+}
diff --git a/libs/clients/go/pkg/models/shared/createsecretrequest.go b/libs/clients/go/pkg/models/shared/createsecretrequest.go
new file mode 100755
index 0000000000..bb92766f40
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/createsecretrequest.go
@@ -0,0 +1,22 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type CreateSecretRequest struct {
+ Metadata map[string]interface{} `json:"metadata,omitempty"`
+ Name string `json:"name"`
+}
+
+func (o *CreateSecretRequest) GetMetadata() map[string]interface{} {
+ if o == nil {
+ return nil
+ }
+ return o.Metadata
+}
+
+func (o *CreateSecretRequest) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
diff --git a/libs/clients/go/pkg/models/shared/createsecretresponse.go b/libs/clients/go/pkg/models/shared/createsecretresponse.go
new file mode 100755
index 0000000000..b663b5a3aa
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/createsecretresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type CreateSecretResponse struct {
+ Data *Secret `json:"data,omitempty"`
+}
+
+func (o *CreateSecretResponse) GetData() *Secret {
+ if o == nil {
+ return nil
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/createtransactionresponse.go b/libs/clients/go/pkg/models/shared/createtransactionresponse.go
new file mode 100755
index 0000000000..08efc4cba4
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/createtransactionresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type CreateTransactionResponse struct {
+ Data Transaction `json:"data"`
+}
+
+func (o *CreateTransactionResponse) GetData() Transaction {
+ if o == nil {
+ return Transaction{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/createtriggerresponse.go b/libs/clients/go/pkg/models/shared/createtriggerresponse.go
new file mode 100755
index 0000000000..634e89e943
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/createtriggerresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type CreateTriggerResponse struct {
+ Data Trigger `json:"data"`
+}
+
+func (o *CreateTriggerResponse) GetData() Trigger {
+ if o == nil {
+ return Trigger{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/createwalletrequest.go b/libs/clients/go/pkg/models/shared/createwalletrequest.go
new file mode 100755
index 0000000000..6e3568ea6e
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/createwalletrequest.go
@@ -0,0 +1,23 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type CreateWalletRequest struct {
+ // Custom metadata to attach to this wallet.
+ Metadata map[string]string `json:"metadata"`
+ Name string `json:"name"`
+}
+
+func (o *CreateWalletRequest) GetMetadata() map[string]string {
+ if o == nil {
+ return map[string]string{}
+ }
+ return o.Metadata
+}
+
+func (o *CreateWalletRequest) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
diff --git a/libs/clients/go/pkg/models/shared/createwalletresponse.go b/libs/clients/go/pkg/models/shared/createwalletresponse.go
new file mode 100755
index 0000000000..e7ac9d5dfe
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/createwalletresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type CreateWalletResponse struct {
+ Data Wallet `json:"data"`
+}
+
+func (o *CreateWalletResponse) GetData() Wallet {
+ if o == nil {
+ return Wallet{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/createworkflowrequest.go b/libs/clients/go/pkg/models/shared/createworkflowrequest.go
new file mode 100755
index 0000000000..534e25c2b5
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/createworkflowrequest.go
@@ -0,0 +1,22 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type CreateWorkflowRequest struct {
+ Name *string `json:"name,omitempty"`
+ Stages []map[string]interface{} `json:"stages"`
+}
+
+func (o *CreateWorkflowRequest) GetName() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Name
+}
+
+func (o *CreateWorkflowRequest) GetStages() []map[string]interface{} {
+ if o == nil {
+ return []map[string]interface{}{}
+ }
+ return o.Stages
+}
diff --git a/libs/clients/go/pkg/models/shared/createworkflowresponse.go b/libs/clients/go/pkg/models/shared/createworkflowresponse.go
new file mode 100755
index 0000000000..6a075a6d4a
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/createworkflowresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type CreateWorkflowResponse struct {
+ Data Workflow `json:"data"`
+}
+
+func (o *CreateWorkflowResponse) GetData() Workflow {
+ if o == nil {
+ return Workflow{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/creditwalletrequest.go b/libs/clients/go/pkg/models/shared/creditwalletrequest.go
new file mode 100755
index 0000000000..24411bbe03
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/creditwalletrequest.go
@@ -0,0 +1,48 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type CreditWalletRequest struct {
+ Amount Monetary `json:"amount"`
+ // The balance to credit
+ Balance *string `json:"balance,omitempty"`
+ // Metadata associated with the wallet.
+ Metadata map[string]string `json:"metadata"`
+ Reference *string `json:"reference,omitempty"`
+ Sources []Subject `json:"sources"`
+}
+
+func (o *CreditWalletRequest) GetAmount() Monetary {
+ if o == nil {
+ return Monetary{}
+ }
+ return o.Amount
+}
+
+func (o *CreditWalletRequest) GetBalance() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Balance
+}
+
+func (o *CreditWalletRequest) GetMetadata() map[string]string {
+ if o == nil {
+ return map[string]string{}
+ }
+ return o.Metadata
+}
+
+func (o *CreditWalletRequest) GetReference() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Reference
+}
+
+func (o *CreditWalletRequest) GetSources() []Subject {
+ if o == nil {
+ return []Subject{}
+ }
+ return o.Sources
+}
diff --git a/libs/clients/go/pkg/models/shared/currencycloudconfig.go b/libs/clients/go/pkg/models/shared/currencycloudconfig.go
new file mode 100755
index 0000000000..3bae9cb3ab
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/currencycloudconfig.go
@@ -0,0 +1,64 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+)
+
+type CurrencyCloudConfig struct {
+ APIKey string `json:"apiKey"`
+ // The endpoint to use for the API. Defaults to https://devapi.currencycloud.com
+ Endpoint *string `json:"endpoint,omitempty"`
+ // Username of the API Key holder
+ LoginID string `json:"loginID"`
+ Name string `json:"name"`
+ // The frequency at which the connector will fetch transactions
+ PollingPeriod *string `default:"120s" json:"pollingPeriod"`
+}
+
+func (c CurrencyCloudConfig) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(c, "", false)
+}
+
+func (c *CurrencyCloudConfig) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &c, "", false, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *CurrencyCloudConfig) GetAPIKey() string {
+ if o == nil {
+ return ""
+ }
+ return o.APIKey
+}
+
+func (o *CurrencyCloudConfig) GetEndpoint() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Endpoint
+}
+
+func (o *CurrencyCloudConfig) GetLoginID() string {
+ if o == nil {
+ return ""
+ }
+ return o.LoginID
+}
+
+func (o *CurrencyCloudConfig) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
+
+func (o *CurrencyCloudConfig) GetPollingPeriod() *string {
+ if o == nil {
+ return nil
+ }
+ return o.PollingPeriod
+}
diff --git a/libs/clients/go/pkg/models/shared/debitwalletrequest.go b/libs/clients/go/pkg/models/shared/debitwalletrequest.go
new file mode 100755
index 0000000000..418ae2576b
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/debitwalletrequest.go
@@ -0,0 +1,70 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type DebitWalletRequest struct {
+ Amount Monetary `json:"amount"`
+ Balances []string `json:"balances,omitempty"`
+ Description *string `json:"description,omitempty"`
+ Destination *Subject `json:"destination,omitempty"`
+ // Metadata associated with the wallet.
+ Metadata map[string]string `json:"metadata"`
+ // Set to true to create a pending hold. If false, the wallet will be debited immediately.
+ Pending *bool `json:"pending,omitempty"`
+}
+
+func (o *DebitWalletRequest) GetAmount() Monetary {
+ if o == nil {
+ return Monetary{}
+ }
+ return o.Amount
+}
+
+func (o *DebitWalletRequest) GetBalances() []string {
+ if o == nil {
+ return nil
+ }
+ return o.Balances
+}
+
+func (o *DebitWalletRequest) GetDescription() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Description
+}
+
+func (o *DebitWalletRequest) GetDestination() *Subject {
+ if o == nil {
+ return nil
+ }
+ return o.Destination
+}
+
+func (o *DebitWalletRequest) GetDestinationAccount() *LedgerAccountSubject {
+ if v := o.GetDestination(); v != nil {
+ return v.LedgerAccountSubject
+ }
+ return nil
+}
+
+func (o *DebitWalletRequest) GetDestinationWallet() *WalletSubject {
+ if v := o.GetDestination(); v != nil {
+ return v.WalletSubject
+ }
+ return nil
+}
+
+func (o *DebitWalletRequest) GetMetadata() map[string]string {
+ if o == nil {
+ return map[string]string{}
+ }
+ return o.Metadata
+}
+
+func (o *DebitWalletRequest) GetPending() *bool {
+ if o == nil {
+ return nil
+ }
+ return o.Pending
+}
diff --git a/libs/clients/go/pkg/models/shared/debitwalletresponse.go b/libs/clients/go/pkg/models/shared/debitwalletresponse.go
new file mode 100755
index 0000000000..1b9a8a5aaa
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/debitwalletresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type DebitWalletResponse struct {
+ Data Hold `json:"data"`
+}
+
+func (o *DebitWalletResponse) GetData() Hold {
+ if o == nil {
+ return Hold{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/dummypayconfig.go b/libs/clients/go/pkg/models/shared/dummypayconfig.go
new file mode 100755
index 0000000000..dacd7e1f13
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/dummypayconfig.go
@@ -0,0 +1,55 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+)
+
+type DummyPayConfig struct {
+ Directory string `json:"directory"`
+ // The frequency at which the connector will create new payment objects in the directory
+ FileGenerationPeriod *string `default:"10s" json:"fileGenerationPeriod"`
+ // The frequency at which the connector will try to fetch new payment objects from the directory
+ FilePollingPeriod *string `default:"10s" json:"filePollingPeriod"`
+ Name string `json:"name"`
+}
+
+func (d DummyPayConfig) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(d, "", false)
+}
+
+func (d *DummyPayConfig) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &d, "", false, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *DummyPayConfig) GetDirectory() string {
+ if o == nil {
+ return ""
+ }
+ return o.Directory
+}
+
+func (o *DummyPayConfig) GetFileGenerationPeriod() *string {
+ if o == nil {
+ return nil
+ }
+ return o.FileGenerationPeriod
+}
+
+func (o *DummyPayConfig) GetFilePollingPeriod() *string {
+ if o == nil {
+ return nil
+ }
+ return o.FilePollingPeriod
+}
+
+func (o *DummyPayConfig) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
diff --git a/libs/clients/go/pkg/models/shared/error.go b/libs/clients/go/pkg/models/shared/error.go
new file mode 100755
index 0000000000..b756539677
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/error.go
@@ -0,0 +1,54 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "encoding/json"
+ "fmt"
+)
+
+type ErrorErrorCode string
+
+const (
+ ErrorErrorCodeValidation ErrorErrorCode = "VALIDATION"
+ ErrorErrorCodeNotFound ErrorErrorCode = "NOT_FOUND"
+)
+
+func (e ErrorErrorCode) ToPointer() *ErrorErrorCode {
+ return &e
+}
+
+func (e *ErrorErrorCode) UnmarshalJSON(data []byte) error {
+ var v string
+ if err := json.Unmarshal(data, &v); err != nil {
+ return err
+ }
+ switch v {
+ case "VALIDATION":
+ fallthrough
+ case "NOT_FOUND":
+ *e = ErrorErrorCode(v)
+ return nil
+ default:
+ return fmt.Errorf("invalid value for ErrorErrorCode: %v", v)
+ }
+}
+
+type Error struct {
+ ErrorCode ErrorErrorCode `json:"errorCode"`
+ ErrorMessage string `json:"errorMessage"`
+}
+
+func (o *Error) GetErrorCode() ErrorErrorCode {
+ if o == nil {
+ return ErrorErrorCode("")
+ }
+ return o.ErrorCode
+}
+
+func (o *Error) GetErrorMessage() string {
+ if o == nil {
+ return ""
+ }
+ return o.ErrorMessage
+}
diff --git a/libs/clients/go/pkg/models/shared/errorresponse.go b/libs/clients/go/pkg/models/shared/errorresponse.go
new file mode 100755
index 0000000000..9757598f64
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/errorresponse.go
@@ -0,0 +1,30 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ErrorResponse struct {
+ Details *string `json:"details,omitempty"`
+ ErrorCode ErrorsEnum `json:"errorCode"`
+ ErrorMessage string `json:"errorMessage"`
+}
+
+func (o *ErrorResponse) GetDetails() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Details
+}
+
+func (o *ErrorResponse) GetErrorCode() ErrorsEnum {
+ if o == nil {
+ return ErrorsEnum("")
+ }
+ return o.ErrorCode
+}
+
+func (o *ErrorResponse) GetErrorMessage() string {
+ if o == nil {
+ return ""
+ }
+ return o.ErrorMessage
+}
diff --git a/libs/clients/go/pkg/models/shared/errorsenum.go b/libs/clients/go/pkg/models/shared/errorsenum.go
new file mode 100755
index 0000000000..68ce22a022
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/errorsenum.go
@@ -0,0 +1,59 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "encoding/json"
+ "fmt"
+)
+
+type ErrorsEnum string
+
+const (
+ ErrorsEnumInternal ErrorsEnum = "INTERNAL"
+ ErrorsEnumInsufficientFund ErrorsEnum = "INSUFFICIENT_FUND"
+ ErrorsEnumValidation ErrorsEnum = "VALIDATION"
+ ErrorsEnumConflict ErrorsEnum = "CONFLICT"
+ ErrorsEnumCompilationFailed ErrorsEnum = "COMPILATION_FAILED"
+ ErrorsEnumMetadataOverride ErrorsEnum = "METADATA_OVERRIDE"
+ ErrorsEnumNotFound ErrorsEnum = "NOT_FOUND"
+ ErrorsEnumRevertOccurring ErrorsEnum = "REVERT_OCCURRING"
+ ErrorsEnumAlreadyRevert ErrorsEnum = "ALREADY_REVERT"
+ ErrorsEnumNoPostings ErrorsEnum = "NO_POSTINGS"
+)
+
+func (e ErrorsEnum) ToPointer() *ErrorsEnum {
+ return &e
+}
+
+func (e *ErrorsEnum) UnmarshalJSON(data []byte) error {
+ var v string
+ if err := json.Unmarshal(data, &v); err != nil {
+ return err
+ }
+ switch v {
+ case "INTERNAL":
+ fallthrough
+ case "INSUFFICIENT_FUND":
+ fallthrough
+ case "VALIDATION":
+ fallthrough
+ case "CONFLICT":
+ fallthrough
+ case "COMPILATION_FAILED":
+ fallthrough
+ case "METADATA_OVERRIDE":
+ fallthrough
+ case "NOT_FOUND":
+ fallthrough
+ case "REVERT_OCCURRING":
+ fallthrough
+ case "ALREADY_REVERT":
+ fallthrough
+ case "NO_POSTINGS":
+ *e = ErrorsEnum(v)
+ return nil
+ default:
+ return fmt.Errorf("invalid value for ErrorsEnum: %v", v)
+ }
+}
diff --git a/libs/clients/go/pkg/models/shared/expandeddebithold.go b/libs/clients/go/pkg/models/shared/expandeddebithold.go
new file mode 100755
index 0000000000..65623a6351
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/expandeddebithold.go
@@ -0,0 +1,97 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+)
+
+type ExpandedDebitHold struct {
+ Description string `json:"description"`
+ Destination *Subject `json:"destination,omitempty"`
+ // The unique ID of the hold.
+ ID string `json:"id"`
+ // Metadata associated with the hold.
+ Metadata map[string]string `json:"metadata"`
+ // Original amount on hold
+ OriginalAmount *big.Int `json:"originalAmount"`
+ // Remaining amount on hold
+ Remaining *big.Int `json:"remaining"`
+ // The ID of the wallet the hold is associated with.
+ WalletID string `json:"walletID"`
+}
+
+func (e ExpandedDebitHold) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(e, "", false)
+}
+
+func (e *ExpandedDebitHold) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &e, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *ExpandedDebitHold) GetDescription() string {
+ if o == nil {
+ return ""
+ }
+ return o.Description
+}
+
+func (o *ExpandedDebitHold) GetDestination() *Subject {
+ if o == nil {
+ return nil
+ }
+ return o.Destination
+}
+
+func (o *ExpandedDebitHold) GetDestinationAccount() *LedgerAccountSubject {
+ if v := o.GetDestination(); v != nil {
+ return v.LedgerAccountSubject
+ }
+ return nil
+}
+
+func (o *ExpandedDebitHold) GetDestinationWallet() *WalletSubject {
+ if v := o.GetDestination(); v != nil {
+ return v.WalletSubject
+ }
+ return nil
+}
+
+func (o *ExpandedDebitHold) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *ExpandedDebitHold) GetMetadata() map[string]string {
+ if o == nil {
+ return map[string]string{}
+ }
+ return o.Metadata
+}
+
+func (o *ExpandedDebitHold) GetOriginalAmount() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.OriginalAmount
+}
+
+func (o *ExpandedDebitHold) GetRemaining() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.Remaining
+}
+
+func (o *ExpandedDebitHold) GetWalletID() string {
+ if o == nil {
+ return ""
+ }
+ return o.WalletID
+}
diff --git a/libs/clients/go/pkg/models/shared/expandedtransaction.go b/libs/clients/go/pkg/models/shared/expandedtransaction.go
new file mode 100755
index 0000000000..e90572e613
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/expandedtransaction.go
@@ -0,0 +1,87 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+ "time"
+)
+
+type ExpandedTransaction struct {
+ ID *big.Int `json:"id"`
+ Metadata map[string]string `json:"metadata"`
+ PostCommitVolumes map[string]map[string]Volume `json:"postCommitVolumes,omitempty"`
+ Postings []Posting `json:"postings"`
+ PreCommitVolumes map[string]map[string]Volume `json:"preCommitVolumes,omitempty"`
+ Reference *string `json:"reference,omitempty"`
+ Reverted bool `json:"reverted"`
+ Timestamp time.Time `json:"timestamp"`
+}
+
+func (e ExpandedTransaction) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(e, "", false)
+}
+
+func (e *ExpandedTransaction) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &e, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *ExpandedTransaction) GetID() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.ID
+}
+
+func (o *ExpandedTransaction) GetMetadata() map[string]string {
+ if o == nil {
+ return map[string]string{}
+ }
+ return o.Metadata
+}
+
+func (o *ExpandedTransaction) GetPostCommitVolumes() map[string]map[string]Volume {
+ if o == nil {
+ return nil
+ }
+ return o.PostCommitVolumes
+}
+
+func (o *ExpandedTransaction) GetPostings() []Posting {
+ if o == nil {
+ return []Posting{}
+ }
+ return o.Postings
+}
+
+func (o *ExpandedTransaction) GetPreCommitVolumes() map[string]map[string]Volume {
+ if o == nil {
+ return nil
+ }
+ return o.PreCommitVolumes
+}
+
+func (o *ExpandedTransaction) GetReference() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Reference
+}
+
+func (o *ExpandedTransaction) GetReverted() bool {
+ if o == nil {
+ return false
+ }
+ return o.Reverted
+}
+
+func (o *ExpandedTransaction) GetTimestamp() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.Timestamp
+}
diff --git a/libs/clients/go/pkg/models/shared/getbalanceresponse.go b/libs/clients/go/pkg/models/shared/getbalanceresponse.go
new file mode 100755
index 0000000000..18ed0b0647
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/getbalanceresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type GetBalanceResponse struct {
+ Data BalanceWithAssets `json:"data"`
+}
+
+func (o *GetBalanceResponse) GetData() BalanceWithAssets {
+ if o == nil {
+ return BalanceWithAssets{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/getholdresponse.go b/libs/clients/go/pkg/models/shared/getholdresponse.go
new file mode 100755
index 0000000000..1d486ebbdc
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/getholdresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type GetHoldResponse struct {
+ Data ExpandedDebitHold `json:"data"`
+}
+
+func (o *GetHoldResponse) GetData() ExpandedDebitHold {
+ if o == nil {
+ return ExpandedDebitHold{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/getholdsresponse.go b/libs/clients/go/pkg/models/shared/getholdsresponse.go
new file mode 100755
index 0000000000..ba112917be
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/getholdsresponse.go
@@ -0,0 +1,57 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type GetHoldsResponseCursor struct {
+ Data []Hold `json:"data"`
+ HasMore *bool `json:"hasMore,omitempty"`
+ Next *string `json:"next,omitempty"`
+ PageSize int64 `json:"pageSize"`
+ Previous *string `json:"previous,omitempty"`
+}
+
+func (o *GetHoldsResponseCursor) GetData() []Hold {
+ if o == nil {
+ return []Hold{}
+ }
+ return o.Data
+}
+
+func (o *GetHoldsResponseCursor) GetHasMore() *bool {
+ if o == nil {
+ return nil
+ }
+ return o.HasMore
+}
+
+func (o *GetHoldsResponseCursor) GetNext() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Next
+}
+
+func (o *GetHoldsResponseCursor) GetPageSize() int64 {
+ if o == nil {
+ return 0
+ }
+ return o.PageSize
+}
+
+func (o *GetHoldsResponseCursor) GetPrevious() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Previous
+}
+
+type GetHoldsResponse struct {
+ Cursor GetHoldsResponseCursor `json:"cursor"`
+}
+
+func (o *GetHoldsResponse) GetCursor() GetHoldsResponseCursor {
+ if o == nil {
+ return GetHoldsResponseCursor{}
+ }
+ return o.Cursor
+}
diff --git a/libs/clients/go/pkg/models/shared/gettransactionresponse.go b/libs/clients/go/pkg/models/shared/gettransactionresponse.go
new file mode 100755
index 0000000000..02049e296b
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/gettransactionresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type GetTransactionResponse struct {
+ Data ExpandedTransaction `json:"data"`
+}
+
+func (o *GetTransactionResponse) GetData() ExpandedTransaction {
+ if o == nil {
+ return ExpandedTransaction{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/gettransactionsresponse.go b/libs/clients/go/pkg/models/shared/gettransactionsresponse.go
new file mode 100755
index 0000000000..68a06ed25f
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/gettransactionsresponse.go
@@ -0,0 +1,57 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type GetTransactionsResponseCursor struct {
+ Data []WalletsTransaction `json:"data"`
+ HasMore *bool `json:"hasMore,omitempty"`
+ Next *string `json:"next,omitempty"`
+ PageSize int64 `json:"pageSize"`
+ Previous *string `json:"previous,omitempty"`
+}
+
+func (o *GetTransactionsResponseCursor) GetData() []WalletsTransaction {
+ if o == nil {
+ return []WalletsTransaction{}
+ }
+ return o.Data
+}
+
+func (o *GetTransactionsResponseCursor) GetHasMore() *bool {
+ if o == nil {
+ return nil
+ }
+ return o.HasMore
+}
+
+func (o *GetTransactionsResponseCursor) GetNext() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Next
+}
+
+func (o *GetTransactionsResponseCursor) GetPageSize() int64 {
+ if o == nil {
+ return 0
+ }
+ return o.PageSize
+}
+
+func (o *GetTransactionsResponseCursor) GetPrevious() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Previous
+}
+
+type GetTransactionsResponse struct {
+ Cursor GetTransactionsResponseCursor `json:"cursor"`
+}
+
+func (o *GetTransactionsResponse) GetCursor() GetTransactionsResponseCursor {
+ if o == nil {
+ return GetTransactionsResponseCursor{}
+ }
+ return o.Cursor
+}
diff --git a/libs/clients/go/pkg/models/shared/getversionsresponse.go b/libs/clients/go/pkg/models/shared/getversionsresponse.go
new file mode 100755
index 0000000000..092e9bbed3
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/getversionsresponse.go
@@ -0,0 +1,30 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type GetVersionsResponse struct {
+ Env string `json:"env"`
+ Region string `json:"region"`
+ Versions []Version `json:"versions"`
+}
+
+func (o *GetVersionsResponse) GetEnv() string {
+ if o == nil {
+ return ""
+ }
+ return o.Env
+}
+
+func (o *GetVersionsResponse) GetRegion() string {
+ if o == nil {
+ return ""
+ }
+ return o.Region
+}
+
+func (o *GetVersionsResponse) GetVersions() []Version {
+ if o == nil {
+ return []Version{}
+ }
+ return o.Versions
+}
diff --git a/libs/clients/go/pkg/models/shared/getwalletresponse.go b/libs/clients/go/pkg/models/shared/getwalletresponse.go
new file mode 100755
index 0000000000..9af9f2549f
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/getwalletresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type GetWalletResponse struct {
+ Data WalletWithBalances `json:"data"`
+}
+
+func (o *GetWalletResponse) GetData() WalletWithBalances {
+ if o == nil {
+ return WalletWithBalances{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/getwalletsummaryresponse.go b/libs/clients/go/pkg/models/shared/getwalletsummaryresponse.go
new file mode 100755
index 0000000000..95ee15da72
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/getwalletsummaryresponse.go
@@ -0,0 +1,62 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+)
+
+type GetWalletSummaryResponse struct {
+ AvailableFunds map[string]*big.Int `json:"availableFunds"`
+ Balances []BalanceWithAssets `json:"balances"`
+ ExpirableFunds map[string]*big.Int `json:"expirableFunds"`
+ ExpiredFunds map[string]*big.Int `json:"expiredFunds"`
+ HoldFunds map[string]*big.Int `json:"holdFunds"`
+}
+
+func (g GetWalletSummaryResponse) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(g, "", false)
+}
+
+func (g *GetWalletSummaryResponse) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &g, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *GetWalletSummaryResponse) GetAvailableFunds() map[string]*big.Int {
+ if o == nil {
+ return map[string]*big.Int{}
+ }
+ return o.AvailableFunds
+}
+
+func (o *GetWalletSummaryResponse) GetBalances() []BalanceWithAssets {
+ if o == nil {
+ return []BalanceWithAssets{}
+ }
+ return o.Balances
+}
+
+func (o *GetWalletSummaryResponse) GetExpirableFunds() map[string]*big.Int {
+ if o == nil {
+ return map[string]*big.Int{}
+ }
+ return o.ExpirableFunds
+}
+
+func (o *GetWalletSummaryResponse) GetExpiredFunds() map[string]*big.Int {
+ if o == nil {
+ return map[string]*big.Int{}
+ }
+ return o.ExpiredFunds
+}
+
+func (o *GetWalletSummaryResponse) GetHoldFunds() map[string]*big.Int {
+ if o == nil {
+ return map[string]*big.Int{}
+ }
+ return o.HoldFunds
+}
diff --git a/libs/clients/go/pkg/models/shared/getworkflowinstancehistoryresponse.go b/libs/clients/go/pkg/models/shared/getworkflowinstancehistoryresponse.go
new file mode 100755
index 0000000000..2bb86ed5bf
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/getworkflowinstancehistoryresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type GetWorkflowInstanceHistoryResponse struct {
+ Data []WorkflowInstanceHistory `json:"data"`
+}
+
+func (o *GetWorkflowInstanceHistoryResponse) GetData() []WorkflowInstanceHistory {
+ if o == nil {
+ return []WorkflowInstanceHistory{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/getworkflowinstancehistorystageresponse.go b/libs/clients/go/pkg/models/shared/getworkflowinstancehistorystageresponse.go
new file mode 100755
index 0000000000..a19733cbec
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/getworkflowinstancehistorystageresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type GetWorkflowInstanceHistoryStageResponse struct {
+ Data []WorkflowInstanceHistoryStage `json:"data"`
+}
+
+func (o *GetWorkflowInstanceHistoryStageResponse) GetData() []WorkflowInstanceHistoryStage {
+ if o == nil {
+ return []WorkflowInstanceHistoryStage{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/getworkflowinstanceresponse.go b/libs/clients/go/pkg/models/shared/getworkflowinstanceresponse.go
new file mode 100755
index 0000000000..17458f52a7
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/getworkflowinstanceresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type GetWorkflowInstanceResponse struct {
+ Data WorkflowInstance `json:"data"`
+}
+
+func (o *GetWorkflowInstanceResponse) GetData() WorkflowInstance {
+ if o == nil {
+ return WorkflowInstance{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/getworkflowresponse.go b/libs/clients/go/pkg/models/shared/getworkflowresponse.go
new file mode 100755
index 0000000000..8ac80bdc80
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/getworkflowresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type GetWorkflowResponse struct {
+ Data Workflow `json:"data"`
+}
+
+func (o *GetWorkflowResponse) GetData() Workflow {
+ if o == nil {
+ return Workflow{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/hold.go b/libs/clients/go/pkg/models/shared/hold.go
new file mode 100755
index 0000000000..c25a609d74
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/hold.go
@@ -0,0 +1,63 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type Hold struct {
+ Description string `json:"description"`
+ Destination *Subject `json:"destination,omitempty"`
+ // The unique ID of the hold.
+ ID string `json:"id"`
+ // Metadata associated with the hold.
+ Metadata map[string]string `json:"metadata"`
+ // The ID of the wallet the hold is associated with.
+ WalletID string `json:"walletID"`
+}
+
+func (o *Hold) GetDescription() string {
+ if o == nil {
+ return ""
+ }
+ return o.Description
+}
+
+func (o *Hold) GetDestination() *Subject {
+ if o == nil {
+ return nil
+ }
+ return o.Destination
+}
+
+func (o *Hold) GetDestinationAccount() *LedgerAccountSubject {
+ if v := o.GetDestination(); v != nil {
+ return v.LedgerAccountSubject
+ }
+ return nil
+}
+
+func (o *Hold) GetDestinationWallet() *WalletSubject {
+ if v := o.GetDestination(); v != nil {
+ return v.WalletSubject
+ }
+ return nil
+}
+
+func (o *Hold) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *Hold) GetMetadata() map[string]string {
+ if o == nil {
+ return map[string]string{}
+ }
+ return o.Metadata
+}
+
+func (o *Hold) GetWalletID() string {
+ if o == nil {
+ return ""
+ }
+ return o.WalletID
+}
diff --git a/libs/clients/go/pkg/models/shared/ledger.go b/libs/clients/go/pkg/models/shared/ledger.go
new file mode 100755
index 0000000000..bf732b4c2e
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/ledger.go
@@ -0,0 +1,46 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type Ledger struct {
+ AddedAt time.Time `json:"addedAt"`
+ Bucket string `json:"bucket"`
+ Name string `json:"name"`
+}
+
+func (l Ledger) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(l, "", false)
+}
+
+func (l *Ledger) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &l, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *Ledger) GetAddedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.AddedAt
+}
+
+func (o *Ledger) GetBucket() string {
+ if o == nil {
+ return ""
+ }
+ return o.Bucket
+}
+
+func (o *Ledger) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
diff --git a/libs/clients/go/pkg/models/shared/ledgeraccountsubject.go b/libs/clients/go/pkg/models/shared/ledgeraccountsubject.go
new file mode 100755
index 0000000000..cb2b6b1e5b
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/ledgeraccountsubject.go
@@ -0,0 +1,22 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type LedgerAccountSubject struct {
+ Identifier string `json:"identifier"`
+ Type string `json:"type"`
+}
+
+func (o *LedgerAccountSubject) GetIdentifier() string {
+ if o == nil {
+ return ""
+ }
+ return o.Identifier
+}
+
+func (o *LedgerAccountSubject) GetType() string {
+ if o == nil {
+ return ""
+ }
+ return o.Type
+}
diff --git a/libs/clients/go/pkg/models/shared/ledgerinfo.go b/libs/clients/go/pkg/models/shared/ledgerinfo.go
new file mode 100755
index 0000000000..8b4958dfab
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/ledgerinfo.go
@@ -0,0 +1,33 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type LedgerInfoStorage struct {
+ Migrations []MigrationInfo `json:"migrations,omitempty"`
+}
+
+func (o *LedgerInfoStorage) GetMigrations() []MigrationInfo {
+ if o == nil {
+ return nil
+ }
+ return o.Migrations
+}
+
+type LedgerInfo struct {
+ Name *string `json:"name,omitempty"`
+ Storage *LedgerInfoStorage `json:"storage,omitempty"`
+}
+
+func (o *LedgerInfo) GetName() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Name
+}
+
+func (o *LedgerInfo) GetStorage() *LedgerInfoStorage {
+ if o == nil {
+ return nil
+ }
+ return o.Storage
+}
diff --git a/libs/clients/go/pkg/models/shared/ledgerinforesponse.go b/libs/clients/go/pkg/models/shared/ledgerinforesponse.go
new file mode 100755
index 0000000000..d78039bdb2
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/ledgerinforesponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type LedgerInfoResponse struct {
+ Data *LedgerInfo `json:"data,omitempty"`
+}
+
+func (o *LedgerInfoResponse) GetData() *LedgerInfo {
+ if o == nil {
+ return nil
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/ledgerlistresponse.go b/libs/clients/go/pkg/models/shared/ledgerlistresponse.go
new file mode 100755
index 0000000000..dceddf8a6a
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/ledgerlistresponse.go
@@ -0,0 +1,57 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type LedgerListResponseCursor struct {
+ Data []Ledger `json:"data"`
+ HasMore bool `json:"hasMore"`
+ Next *string `json:"next,omitempty"`
+ PageSize int64 `json:"pageSize"`
+ Previous *string `json:"previous,omitempty"`
+}
+
+func (o *LedgerListResponseCursor) GetData() []Ledger {
+ if o == nil {
+ return []Ledger{}
+ }
+ return o.Data
+}
+
+func (o *LedgerListResponseCursor) GetHasMore() bool {
+ if o == nil {
+ return false
+ }
+ return o.HasMore
+}
+
+func (o *LedgerListResponseCursor) GetNext() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Next
+}
+
+func (o *LedgerListResponseCursor) GetPageSize() int64 {
+ if o == nil {
+ return 0
+ }
+ return o.PageSize
+}
+
+func (o *LedgerListResponseCursor) GetPrevious() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Previous
+}
+
+type LedgerListResponse struct {
+ Cursor LedgerListResponseCursor `json:"cursor"`
+}
+
+func (o *LedgerListResponse) GetCursor() LedgerListResponseCursor {
+ if o == nil {
+ return LedgerListResponseCursor{}
+ }
+ return o.Cursor
+}
diff --git a/libs/clients/go/pkg/models/shared/listbalancesresponse.go b/libs/clients/go/pkg/models/shared/listbalancesresponse.go
new file mode 100755
index 0000000000..000e50642a
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/listbalancesresponse.go
@@ -0,0 +1,57 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ListBalancesResponseCursor struct {
+ Data []Balance `json:"data"`
+ HasMore *bool `json:"hasMore,omitempty"`
+ Next *string `json:"next,omitempty"`
+ PageSize int64 `json:"pageSize"`
+ Previous *string `json:"previous,omitempty"`
+}
+
+func (o *ListBalancesResponseCursor) GetData() []Balance {
+ if o == nil {
+ return []Balance{}
+ }
+ return o.Data
+}
+
+func (o *ListBalancesResponseCursor) GetHasMore() *bool {
+ if o == nil {
+ return nil
+ }
+ return o.HasMore
+}
+
+func (o *ListBalancesResponseCursor) GetNext() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Next
+}
+
+func (o *ListBalancesResponseCursor) GetPageSize() int64 {
+ if o == nil {
+ return 0
+ }
+ return o.PageSize
+}
+
+func (o *ListBalancesResponseCursor) GetPrevious() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Previous
+}
+
+type ListBalancesResponse struct {
+ Cursor ListBalancesResponseCursor `json:"cursor"`
+}
+
+func (o *ListBalancesResponse) GetCursor() ListBalancesResponseCursor {
+ if o == nil {
+ return ListBalancesResponseCursor{}
+ }
+ return o.Cursor
+}
diff --git a/libs/clients/go/pkg/models/shared/listclientsresponse.go b/libs/clients/go/pkg/models/shared/listclientsresponse.go
new file mode 100755
index 0000000000..fb770bda20
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/listclientsresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ListClientsResponse struct {
+ Data []Client `json:"data,omitempty"`
+}
+
+func (o *ListClientsResponse) GetData() []Client {
+ if o == nil {
+ return nil
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/listrunsresponse.go b/libs/clients/go/pkg/models/shared/listrunsresponse.go
new file mode 100755
index 0000000000..1fb9c89399
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/listrunsresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ListRunsResponse struct {
+ Data []WorkflowInstance `json:"data"`
+}
+
+func (o *ListRunsResponse) GetData() []WorkflowInstance {
+ if o == nil {
+ return []WorkflowInstance{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/listtriggersoccurrencesresponse.go b/libs/clients/go/pkg/models/shared/listtriggersoccurrencesresponse.go
new file mode 100755
index 0000000000..6216a4ce78
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/listtriggersoccurrencesresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ListTriggersOccurrencesResponse struct {
+ Data []TriggerOccurrence `json:"data"`
+}
+
+func (o *ListTriggersOccurrencesResponse) GetData() []TriggerOccurrence {
+ if o == nil {
+ return []TriggerOccurrence{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/listtriggersresponse.go b/libs/clients/go/pkg/models/shared/listtriggersresponse.go
new file mode 100755
index 0000000000..f2e5bd8841
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/listtriggersresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ListTriggersResponse struct {
+ Data []Trigger `json:"data"`
+}
+
+func (o *ListTriggersResponse) GetData() []Trigger {
+ if o == nil {
+ return []Trigger{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/listusersresponse.go b/libs/clients/go/pkg/models/shared/listusersresponse.go
new file mode 100755
index 0000000000..39f5dfa0ce
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/listusersresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ListUsersResponse struct {
+ Data []User `json:"data,omitempty"`
+}
+
+func (o *ListUsersResponse) GetData() []User {
+ if o == nil {
+ return nil
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/listwalletsresponse.go b/libs/clients/go/pkg/models/shared/listwalletsresponse.go
new file mode 100755
index 0000000000..e2dfb3d37c
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/listwalletsresponse.go
@@ -0,0 +1,57 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ListWalletsResponseCursor struct {
+ Data []Wallet `json:"data"`
+ HasMore *bool `json:"hasMore,omitempty"`
+ Next *string `json:"next,omitempty"`
+ PageSize int64 `json:"pageSize"`
+ Previous *string `json:"previous,omitempty"`
+}
+
+func (o *ListWalletsResponseCursor) GetData() []Wallet {
+ if o == nil {
+ return []Wallet{}
+ }
+ return o.Data
+}
+
+func (o *ListWalletsResponseCursor) GetHasMore() *bool {
+ if o == nil {
+ return nil
+ }
+ return o.HasMore
+}
+
+func (o *ListWalletsResponseCursor) GetNext() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Next
+}
+
+func (o *ListWalletsResponseCursor) GetPageSize() int64 {
+ if o == nil {
+ return 0
+ }
+ return o.PageSize
+}
+
+func (o *ListWalletsResponseCursor) GetPrevious() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Previous
+}
+
+type ListWalletsResponse struct {
+ Cursor ListWalletsResponseCursor `json:"cursor"`
+}
+
+func (o *ListWalletsResponse) GetCursor() ListWalletsResponseCursor {
+ if o == nil {
+ return ListWalletsResponseCursor{}
+ }
+ return o.Cursor
+}
diff --git a/libs/clients/go/pkg/models/shared/listworkflowsresponse.go b/libs/clients/go/pkg/models/shared/listworkflowsresponse.go
new file mode 100755
index 0000000000..fb3642df4c
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/listworkflowsresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ListWorkflowsResponse struct {
+ Data []Workflow `json:"data"`
+}
+
+func (o *ListWorkflowsResponse) GetData() []Workflow {
+ if o == nil {
+ return []Workflow{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/log.go b/libs/clients/go/pkg/models/shared/log.go
new file mode 100755
index 0000000000..32bc9b3c53
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/log.go
@@ -0,0 +1,95 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "encoding/json"
+ "fmt"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+ "time"
+)
+
+type LogType string
+
+const (
+ LogTypeNewTransaction LogType = "NEW_TRANSACTION"
+ LogTypeSetMetadata LogType = "SET_METADATA"
+ LogTypeRevertedTransaction LogType = "REVERTED_TRANSACTION"
+)
+
+func (e LogType) ToPointer() *LogType {
+ return &e
+}
+
+func (e *LogType) UnmarshalJSON(data []byte) error {
+ var v string
+ if err := json.Unmarshal(data, &v); err != nil {
+ return err
+ }
+ switch v {
+ case "NEW_TRANSACTION":
+ fallthrough
+ case "SET_METADATA":
+ fallthrough
+ case "REVERTED_TRANSACTION":
+ *e = LogType(v)
+ return nil
+ default:
+ return fmt.Errorf("invalid value for LogType: %v", v)
+ }
+}
+
+type Log struct {
+ Data map[string]interface{} `json:"data"`
+ Date time.Time `json:"date"`
+ Hash string `json:"hash"`
+ ID *big.Int `json:"id"`
+ Type LogType `json:"type"`
+}
+
+func (l Log) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(l, "", false)
+}
+
+func (l *Log) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &l, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *Log) GetData() map[string]interface{} {
+ if o == nil {
+ return map[string]interface{}{}
+ }
+ return o.Data
+}
+
+func (o *Log) GetDate() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.Date
+}
+
+func (o *Log) GetHash() string {
+ if o == nil {
+ return ""
+ }
+ return o.Hash
+}
+
+func (o *Log) GetID() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.ID
+}
+
+func (o *Log) GetType() LogType {
+ if o == nil {
+ return LogType("")
+ }
+ return o.Type
+}
diff --git a/libs/clients/go/pkg/models/shared/logscursorresponse.go b/libs/clients/go/pkg/models/shared/logscursorresponse.go
new file mode 100755
index 0000000000..af9a122107
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/logscursorresponse.go
@@ -0,0 +1,57 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type LogsCursorResponseCursor struct {
+ Data []Log `json:"data"`
+ HasMore bool `json:"hasMore"`
+ Next *string `json:"next,omitempty"`
+ PageSize int64 `json:"pageSize"`
+ Previous *string `json:"previous,omitempty"`
+}
+
+func (o *LogsCursorResponseCursor) GetData() []Log {
+ if o == nil {
+ return []Log{}
+ }
+ return o.Data
+}
+
+func (o *LogsCursorResponseCursor) GetHasMore() bool {
+ if o == nil {
+ return false
+ }
+ return o.HasMore
+}
+
+func (o *LogsCursorResponseCursor) GetNext() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Next
+}
+
+func (o *LogsCursorResponseCursor) GetPageSize() int64 {
+ if o == nil {
+ return 0
+ }
+ return o.PageSize
+}
+
+func (o *LogsCursorResponseCursor) GetPrevious() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Previous
+}
+
+type LogsCursorResponse struct {
+ Cursor LogsCursorResponseCursor `json:"cursor"`
+}
+
+func (o *LogsCursorResponse) GetCursor() LogsCursorResponseCursor {
+ if o == nil {
+ return LogsCursorResponseCursor{}
+ }
+ return o.Cursor
+}
diff --git a/libs/clients/go/pkg/models/shared/mangopayconfig.go b/libs/clients/go/pkg/models/shared/mangopayconfig.go
new file mode 100755
index 0000000000..2b084720ed
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/mangopayconfig.go
@@ -0,0 +1,63 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+)
+
+type MangoPayConfig struct {
+ APIKey string `json:"apiKey"`
+ ClientID string `json:"clientID"`
+ Endpoint string `json:"endpoint"`
+ Name string `json:"name"`
+ // The frequency at which the connector will try to fetch new BalanceTransaction objects from MangoPay API.
+ //
+ PollingPeriod *string `default:"120s" json:"pollingPeriod"`
+}
+
+func (m MangoPayConfig) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(m, "", false)
+}
+
+func (m *MangoPayConfig) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &m, "", false, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *MangoPayConfig) GetAPIKey() string {
+ if o == nil {
+ return ""
+ }
+ return o.APIKey
+}
+
+func (o *MangoPayConfig) GetClientID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ClientID
+}
+
+func (o *MangoPayConfig) GetEndpoint() string {
+ if o == nil {
+ return ""
+ }
+ return o.Endpoint
+}
+
+func (o *MangoPayConfig) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
+
+func (o *MangoPayConfig) GetPollingPeriod() *string {
+ if o == nil {
+ return nil
+ }
+ return o.PollingPeriod
+}
diff --git a/libs/clients/go/pkg/models/shared/migrationinfo.go b/libs/clients/go/pkg/models/shared/migrationinfo.go
new file mode 100755
index 0000000000..23d52c7c1e
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/migrationinfo.go
@@ -0,0 +1,83 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "encoding/json"
+ "fmt"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type MigrationInfoState string
+
+const (
+ MigrationInfoStateToDo MigrationInfoState = "to do"
+ MigrationInfoStateDone MigrationInfoState = "done"
+)
+
+func (e MigrationInfoState) ToPointer() *MigrationInfoState {
+ return &e
+}
+
+func (e *MigrationInfoState) UnmarshalJSON(data []byte) error {
+ var v string
+ if err := json.Unmarshal(data, &v); err != nil {
+ return err
+ }
+ switch v {
+ case "to do":
+ fallthrough
+ case "done":
+ *e = MigrationInfoState(v)
+ return nil
+ default:
+ return fmt.Errorf("invalid value for MigrationInfoState: %v", v)
+ }
+}
+
+type MigrationInfo struct {
+ Date *time.Time `json:"date,omitempty"`
+ Name *string `json:"name,omitempty"`
+ State *MigrationInfoState `json:"state,omitempty"`
+ Version *int64 `json:"version,omitempty"`
+}
+
+func (m MigrationInfo) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(m, "", false)
+}
+
+func (m *MigrationInfo) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &m, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *MigrationInfo) GetDate() *time.Time {
+ if o == nil {
+ return nil
+ }
+ return o.Date
+}
+
+func (o *MigrationInfo) GetName() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Name
+}
+
+func (o *MigrationInfo) GetState() *MigrationInfoState {
+ if o == nil {
+ return nil
+ }
+ return o.State
+}
+
+func (o *MigrationInfo) GetVersion() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.Version
+}
diff --git a/libs/clients/go/pkg/models/shared/modulrconfig.go b/libs/clients/go/pkg/models/shared/modulrconfig.go
new file mode 100755
index 0000000000..82abcae0ae
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/modulrconfig.go
@@ -0,0 +1,63 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+)
+
+type ModulrConfig struct {
+ APIKey string `json:"apiKey"`
+ APISecret string `json:"apiSecret"`
+ Endpoint *string `json:"endpoint,omitempty"`
+ Name string `json:"name"`
+ // The frequency at which the connector will try to fetch new BalanceTransaction objects from Modulr API.
+ //
+ PollingPeriod *string `default:"120s" json:"pollingPeriod"`
+}
+
+func (m ModulrConfig) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(m, "", false)
+}
+
+func (m *ModulrConfig) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &m, "", false, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *ModulrConfig) GetAPIKey() string {
+ if o == nil {
+ return ""
+ }
+ return o.APIKey
+}
+
+func (o *ModulrConfig) GetAPISecret() string {
+ if o == nil {
+ return ""
+ }
+ return o.APISecret
+}
+
+func (o *ModulrConfig) GetEndpoint() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Endpoint
+}
+
+func (o *ModulrConfig) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
+
+func (o *ModulrConfig) GetPollingPeriod() *string {
+ if o == nil {
+ return nil
+ }
+ return o.PollingPeriod
+}
diff --git a/libs/clients/go/pkg/models/shared/monetary.go b/libs/clients/go/pkg/models/shared/monetary.go
new file mode 100755
index 0000000000..243d27b06a
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/monetary.go
@@ -0,0 +1,40 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+)
+
+type Monetary struct {
+ // The amount of the monetary value.
+ Amount *big.Int `json:"amount"`
+ // The asset of the monetary value.
+ Asset string `json:"asset"`
+}
+
+func (m Monetary) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(m, "", false)
+}
+
+func (m *Monetary) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &m, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *Monetary) GetAmount() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.Amount
+}
+
+func (o *Monetary) GetAsset() string {
+ if o == nil {
+ return ""
+ }
+ return o.Asset
+}
diff --git a/libs/clients/go/pkg/models/shared/moneycorpconfig.go b/libs/clients/go/pkg/models/shared/moneycorpconfig.go
new file mode 100755
index 0000000000..b4d0827dc1
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/moneycorpconfig.go
@@ -0,0 +1,63 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+)
+
+type MoneycorpConfig struct {
+ APIKey string `json:"apiKey"`
+ ClientID string `json:"clientID"`
+ Endpoint string `json:"endpoint"`
+ Name string `json:"name"`
+ // The frequency at which the connector will try to fetch new BalanceTransaction objects from MoneyCorp API.
+ //
+ PollingPeriod *string `default:"120s" json:"pollingPeriod"`
+}
+
+func (m MoneycorpConfig) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(m, "", false)
+}
+
+func (m *MoneycorpConfig) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &m, "", false, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *MoneycorpConfig) GetAPIKey() string {
+ if o == nil {
+ return ""
+ }
+ return o.APIKey
+}
+
+func (o *MoneycorpConfig) GetClientID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ClientID
+}
+
+func (o *MoneycorpConfig) GetEndpoint() string {
+ if o == nil {
+ return ""
+ }
+ return o.Endpoint
+}
+
+func (o *MoneycorpConfig) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
+
+func (o *MoneycorpConfig) GetPollingPeriod() *string {
+ if o == nil {
+ return nil
+ }
+ return o.PollingPeriod
+}
diff --git a/libs/clients/go/pkg/models/shared/orchestrationconnector.go b/libs/clients/go/pkg/models/shared/orchestrationconnector.go
new file mode 100755
index 0000000000..f1cb99d988
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/orchestrationconnector.go
@@ -0,0 +1,53 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "encoding/json"
+ "fmt"
+)
+
+type OrchestrationConnector string
+
+const (
+ OrchestrationConnectorStripe OrchestrationConnector = "STRIPE"
+ OrchestrationConnectorDummyPay OrchestrationConnector = "DUMMY-PAY"
+ OrchestrationConnectorWise OrchestrationConnector = "WISE"
+ OrchestrationConnectorModulr OrchestrationConnector = "MODULR"
+ OrchestrationConnectorCurrencyCloud OrchestrationConnector = "CURRENCY-CLOUD"
+ OrchestrationConnectorBankingCircle OrchestrationConnector = "BANKING-CIRCLE"
+ OrchestrationConnectorMangopay OrchestrationConnector = "MANGOPAY"
+ OrchestrationConnectorMoneycorp OrchestrationConnector = "MONEYCORP"
+)
+
+func (e OrchestrationConnector) ToPointer() *OrchestrationConnector {
+ return &e
+}
+
+func (e *OrchestrationConnector) UnmarshalJSON(data []byte) error {
+ var v string
+ if err := json.Unmarshal(data, &v); err != nil {
+ return err
+ }
+ switch v {
+ case "STRIPE":
+ fallthrough
+ case "DUMMY-PAY":
+ fallthrough
+ case "WISE":
+ fallthrough
+ case "MODULR":
+ fallthrough
+ case "CURRENCY-CLOUD":
+ fallthrough
+ case "BANKING-CIRCLE":
+ fallthrough
+ case "MANGOPAY":
+ fallthrough
+ case "MONEYCORP":
+ *e = OrchestrationConnector(v)
+ return nil
+ default:
+ return fmt.Errorf("invalid value for OrchestrationConnector: %v", v)
+ }
+}
diff --git a/libs/clients/go/pkg/models/shared/orchestrationpayment.go b/libs/clients/go/pkg/models/shared/orchestrationpayment.go
new file mode 100755
index 0000000000..68fb7b16f3
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/orchestrationpayment.go
@@ -0,0 +1,256 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "encoding/json"
+ "fmt"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+ "time"
+)
+
+type OrchestrationPaymentRaw struct {
+}
+
+type OrchestrationPaymentScheme string
+
+const (
+ OrchestrationPaymentSchemeVisa OrchestrationPaymentScheme = "visa"
+ OrchestrationPaymentSchemeMastercard OrchestrationPaymentScheme = "mastercard"
+ OrchestrationPaymentSchemeAmex OrchestrationPaymentScheme = "amex"
+ OrchestrationPaymentSchemeDiners OrchestrationPaymentScheme = "diners"
+ OrchestrationPaymentSchemeDiscover OrchestrationPaymentScheme = "discover"
+ OrchestrationPaymentSchemeJcb OrchestrationPaymentScheme = "jcb"
+ OrchestrationPaymentSchemeUnionpay OrchestrationPaymentScheme = "unionpay"
+ OrchestrationPaymentSchemeSepaDebit OrchestrationPaymentScheme = "sepa debit"
+ OrchestrationPaymentSchemeSepaCredit OrchestrationPaymentScheme = "sepa credit"
+ OrchestrationPaymentSchemeSepa OrchestrationPaymentScheme = "sepa"
+ OrchestrationPaymentSchemeApplePay OrchestrationPaymentScheme = "apple pay"
+ OrchestrationPaymentSchemeGooglePay OrchestrationPaymentScheme = "google pay"
+ OrchestrationPaymentSchemeA2a OrchestrationPaymentScheme = "a2a"
+ OrchestrationPaymentSchemeAchDebit OrchestrationPaymentScheme = "ach debit"
+ OrchestrationPaymentSchemeAch OrchestrationPaymentScheme = "ach"
+ OrchestrationPaymentSchemeRtp OrchestrationPaymentScheme = "rtp"
+ OrchestrationPaymentSchemeUnknown OrchestrationPaymentScheme = "unknown"
+ OrchestrationPaymentSchemeOther OrchestrationPaymentScheme = "other"
+)
+
+func (e OrchestrationPaymentScheme) ToPointer() *OrchestrationPaymentScheme {
+ return &e
+}
+
+func (e *OrchestrationPaymentScheme) UnmarshalJSON(data []byte) error {
+ var v string
+ if err := json.Unmarshal(data, &v); err != nil {
+ return err
+ }
+ switch v {
+ case "visa":
+ fallthrough
+ case "mastercard":
+ fallthrough
+ case "amex":
+ fallthrough
+ case "diners":
+ fallthrough
+ case "discover":
+ fallthrough
+ case "jcb":
+ fallthrough
+ case "unionpay":
+ fallthrough
+ case "sepa debit":
+ fallthrough
+ case "sepa credit":
+ fallthrough
+ case "sepa":
+ fallthrough
+ case "apple pay":
+ fallthrough
+ case "google pay":
+ fallthrough
+ case "a2a":
+ fallthrough
+ case "ach debit":
+ fallthrough
+ case "ach":
+ fallthrough
+ case "rtp":
+ fallthrough
+ case "unknown":
+ fallthrough
+ case "other":
+ *e = OrchestrationPaymentScheme(v)
+ return nil
+ default:
+ return fmt.Errorf("invalid value for OrchestrationPaymentScheme: %v", v)
+ }
+}
+
+type OrchestrationPaymentType string
+
+const (
+ OrchestrationPaymentTypePayIn OrchestrationPaymentType = "PAY-IN"
+ OrchestrationPaymentTypePayout OrchestrationPaymentType = "PAYOUT"
+ OrchestrationPaymentTypeTransfer OrchestrationPaymentType = "TRANSFER"
+ OrchestrationPaymentTypeOther OrchestrationPaymentType = "OTHER"
+)
+
+func (e OrchestrationPaymentType) ToPointer() *OrchestrationPaymentType {
+ return &e
+}
+
+func (e *OrchestrationPaymentType) UnmarshalJSON(data []byte) error {
+ var v string
+ if err := json.Unmarshal(data, &v); err != nil {
+ return err
+ }
+ switch v {
+ case "PAY-IN":
+ fallthrough
+ case "PAYOUT":
+ fallthrough
+ case "TRANSFER":
+ fallthrough
+ case "OTHER":
+ *e = OrchestrationPaymentType(v)
+ return nil
+ default:
+ return fmt.Errorf("invalid value for OrchestrationPaymentType: %v", v)
+ }
+}
+
+type OrchestrationPayment struct {
+ Adjustments []PaymentAdjustment `json:"adjustments"`
+ Asset string `json:"asset"`
+ ConnectorID string `json:"connectorID"`
+ CreatedAt time.Time `json:"createdAt"`
+ DestinationAccountID string `json:"destinationAccountID"`
+ ID string `json:"id"`
+ InitialAmount *big.Int `json:"initialAmount"`
+ Metadata *OrchestrationPaymentMetadata `json:"metadata"`
+ Provider *OrchestrationConnector `json:"provider,omitempty"`
+ Raw *OrchestrationPaymentRaw `json:"raw"`
+ Reference string `json:"reference"`
+ Scheme OrchestrationPaymentScheme `json:"scheme"`
+ SourceAccountID string `json:"sourceAccountID"`
+ Status PaymentStatus `json:"status"`
+ Type OrchestrationPaymentType `json:"type"`
+}
+
+func (o OrchestrationPayment) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(o, "", false)
+}
+
+func (o *OrchestrationPayment) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &o, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *OrchestrationPayment) GetAdjustments() []PaymentAdjustment {
+ if o == nil {
+ return []PaymentAdjustment{}
+ }
+ return o.Adjustments
+}
+
+func (o *OrchestrationPayment) GetAsset() string {
+ if o == nil {
+ return ""
+ }
+ return o.Asset
+}
+
+func (o *OrchestrationPayment) GetConnectorID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ConnectorID
+}
+
+func (o *OrchestrationPayment) GetCreatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.CreatedAt
+}
+
+func (o *OrchestrationPayment) GetDestinationAccountID() string {
+ if o == nil {
+ return ""
+ }
+ return o.DestinationAccountID
+}
+
+func (o *OrchestrationPayment) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *OrchestrationPayment) GetInitialAmount() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.InitialAmount
+}
+
+func (o *OrchestrationPayment) GetMetadata() *OrchestrationPaymentMetadata {
+ if o == nil {
+ return nil
+ }
+ return o.Metadata
+}
+
+func (o *OrchestrationPayment) GetProvider() *OrchestrationConnector {
+ if o == nil {
+ return nil
+ }
+ return o.Provider
+}
+
+func (o *OrchestrationPayment) GetRaw() *OrchestrationPaymentRaw {
+ if o == nil {
+ return nil
+ }
+ return o.Raw
+}
+
+func (o *OrchestrationPayment) GetReference() string {
+ if o == nil {
+ return ""
+ }
+ return o.Reference
+}
+
+func (o *OrchestrationPayment) GetScheme() OrchestrationPaymentScheme {
+ if o == nil {
+ return OrchestrationPaymentScheme("")
+ }
+ return o.Scheme
+}
+
+func (o *OrchestrationPayment) GetSourceAccountID() string {
+ if o == nil {
+ return ""
+ }
+ return o.SourceAccountID
+}
+
+func (o *OrchestrationPayment) GetStatus() PaymentStatus {
+ if o == nil {
+ return PaymentStatus("")
+ }
+ return o.Status
+}
+
+func (o *OrchestrationPayment) GetType() OrchestrationPaymentType {
+ if o == nil {
+ return OrchestrationPaymentType("")
+ }
+ return o.Type
+}
diff --git a/libs/clients/go/pkg/models/shared/orchestrationpaymentmetadata.go b/libs/clients/go/pkg/models/shared/orchestrationpaymentmetadata.go
new file mode 100755
index 0000000000..ddf337f740
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/orchestrationpaymentmetadata.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type OrchestrationPaymentMetadata struct {
+ Key *string `json:"key,omitempty"`
+}
+
+func (o *OrchestrationPaymentMetadata) GetKey() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Key
+}
diff --git a/libs/clients/go/pkg/models/shared/payment.go b/libs/clients/go/pkg/models/shared/payment.go
new file mode 100755
index 0000000000..1436b4e121
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/payment.go
@@ -0,0 +1,146 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+ "time"
+)
+
+type PaymentRaw struct {
+}
+
+type Payment struct {
+ Adjustments []PaymentAdjustment `json:"adjustments"`
+ Asset string `json:"asset"`
+ ConnectorID string `json:"connectorID"`
+ CreatedAt time.Time `json:"createdAt"`
+ DestinationAccountID string `json:"destinationAccountID"`
+ ID string `json:"id"`
+ InitialAmount *big.Int `json:"initialAmount"`
+ Metadata map[string]string `json:"metadata"`
+ Provider *Connector `json:"provider,omitempty"`
+ Raw *PaymentRaw `json:"raw"`
+ Reference string `json:"reference"`
+ Scheme PaymentScheme `json:"scheme"`
+ SourceAccountID string `json:"sourceAccountID"`
+ Status PaymentStatus `json:"status"`
+ Type PaymentType `json:"type"`
+}
+
+func (p Payment) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(p, "", false)
+}
+
+func (p *Payment) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &p, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *Payment) GetAdjustments() []PaymentAdjustment {
+ if o == nil {
+ return []PaymentAdjustment{}
+ }
+ return o.Adjustments
+}
+
+func (o *Payment) GetAsset() string {
+ if o == nil {
+ return ""
+ }
+ return o.Asset
+}
+
+func (o *Payment) GetConnectorID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ConnectorID
+}
+
+func (o *Payment) GetCreatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.CreatedAt
+}
+
+func (o *Payment) GetDestinationAccountID() string {
+ if o == nil {
+ return ""
+ }
+ return o.DestinationAccountID
+}
+
+func (o *Payment) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *Payment) GetInitialAmount() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.InitialAmount
+}
+
+func (o *Payment) GetMetadata() map[string]string {
+ if o == nil {
+ return nil
+ }
+ return o.Metadata
+}
+
+func (o *Payment) GetProvider() *Connector {
+ if o == nil {
+ return nil
+ }
+ return o.Provider
+}
+
+func (o *Payment) GetRaw() *PaymentRaw {
+ if o == nil {
+ return nil
+ }
+ return o.Raw
+}
+
+func (o *Payment) GetReference() string {
+ if o == nil {
+ return ""
+ }
+ return o.Reference
+}
+
+func (o *Payment) GetScheme() PaymentScheme {
+ if o == nil {
+ return PaymentScheme("")
+ }
+ return o.Scheme
+}
+
+func (o *Payment) GetSourceAccountID() string {
+ if o == nil {
+ return ""
+ }
+ return o.SourceAccountID
+}
+
+func (o *Payment) GetStatus() PaymentStatus {
+ if o == nil {
+ return PaymentStatus("")
+ }
+ return o.Status
+}
+
+func (o *Payment) GetType() PaymentType {
+ if o == nil {
+ return PaymentType("")
+ }
+ return o.Type
+}
diff --git a/libs/clients/go/pkg/models/shared/paymentadjustment.go b/libs/clients/go/pkg/models/shared/paymentadjustment.go
new file mode 100755
index 0000000000..23b231efd1
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/paymentadjustment.go
@@ -0,0 +1,66 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+ "time"
+)
+
+type PaymentAdjustmentRaw struct {
+}
+
+type PaymentAdjustment struct {
+ Absolute bool `json:"absolute"`
+ Amount *big.Int `json:"amount"`
+ Date time.Time `json:"date"`
+ Raw PaymentAdjustmentRaw `json:"raw"`
+ Status PaymentStatus `json:"status"`
+}
+
+func (p PaymentAdjustment) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(p, "", false)
+}
+
+func (p *PaymentAdjustment) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &p, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *PaymentAdjustment) GetAbsolute() bool {
+ if o == nil {
+ return false
+ }
+ return o.Absolute
+}
+
+func (o *PaymentAdjustment) GetAmount() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.Amount
+}
+
+func (o *PaymentAdjustment) GetDate() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.Date
+}
+
+func (o *PaymentAdjustment) GetRaw() PaymentAdjustmentRaw {
+ if o == nil {
+ return PaymentAdjustmentRaw{}
+ }
+ return o.Raw
+}
+
+func (o *PaymentAdjustment) GetStatus() PaymentStatus {
+ if o == nil {
+ return PaymentStatus("")
+ }
+ return o.Status
+}
diff --git a/libs/clients/go/pkg/models/shared/paymentrequest.go b/libs/clients/go/pkg/models/shared/paymentrequest.go
new file mode 100755
index 0000000000..dac1fb5bd1
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/paymentrequest.go
@@ -0,0 +1,103 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+ "time"
+)
+
+type PaymentRequest struct {
+ Amount *big.Int `json:"amount"`
+ Asset string `json:"asset"`
+ ConnectorID string `json:"connectorID"`
+ CreatedAt time.Time `json:"createdAt"`
+ DestinationAccountID *string `json:"destinationAccountID,omitempty"`
+ Reference string `json:"reference"`
+ Scheme PaymentScheme `json:"scheme"`
+ SourceAccountID *string `json:"sourceAccountID,omitempty"`
+ Status PaymentStatus `json:"status"`
+ Type PaymentType `json:"type"`
+}
+
+func (p PaymentRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(p, "", false)
+}
+
+func (p *PaymentRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &p, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *PaymentRequest) GetAmount() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.Amount
+}
+
+func (o *PaymentRequest) GetAsset() string {
+ if o == nil {
+ return ""
+ }
+ return o.Asset
+}
+
+func (o *PaymentRequest) GetConnectorID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ConnectorID
+}
+
+func (o *PaymentRequest) GetCreatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.CreatedAt
+}
+
+func (o *PaymentRequest) GetDestinationAccountID() *string {
+ if o == nil {
+ return nil
+ }
+ return o.DestinationAccountID
+}
+
+func (o *PaymentRequest) GetReference() string {
+ if o == nil {
+ return ""
+ }
+ return o.Reference
+}
+
+func (o *PaymentRequest) GetScheme() PaymentScheme {
+ if o == nil {
+ return PaymentScheme("")
+ }
+ return o.Scheme
+}
+
+func (o *PaymentRequest) GetSourceAccountID() *string {
+ if o == nil {
+ return nil
+ }
+ return o.SourceAccountID
+}
+
+func (o *PaymentRequest) GetStatus() PaymentStatus {
+ if o == nil {
+ return PaymentStatus("")
+ }
+ return o.Status
+}
+
+func (o *PaymentRequest) GetType() PaymentType {
+ if o == nil {
+ return PaymentType("")
+ }
+ return o.Type
+}
diff --git a/libs/clients/go/pkg/models/shared/paymentresponse.go b/libs/clients/go/pkg/models/shared/paymentresponse.go
new file mode 100755
index 0000000000..c796db9503
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/paymentresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type PaymentResponse struct {
+ Data Payment `json:"data"`
+}
+
+func (o *PaymentResponse) GetData() Payment {
+ if o == nil {
+ return Payment{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/paymentsaccount.go b/libs/clients/go/pkg/models/shared/paymentsaccount.go
new file mode 100755
index 0000000000..3caa6d433c
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/paymentsaccount.go
@@ -0,0 +1,106 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type PaymentsAccountRaw struct {
+}
+
+type PaymentsAccount struct {
+ AccountName string `json:"accountName"`
+ ConnectorID string `json:"connectorID"`
+ CreatedAt time.Time `json:"createdAt"`
+ DefaultAsset string `json:"defaultAsset"`
+ // Deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
+ DefaultCurrency string `json:"defaultCurrency"`
+ ID string `json:"id"`
+ Metadata map[string]string `json:"metadata"`
+ Raw *PaymentsAccountRaw `json:"raw"`
+ Reference string `json:"reference"`
+ Type string `json:"type"`
+}
+
+func (p PaymentsAccount) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(p, "", false)
+}
+
+func (p *PaymentsAccount) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &p, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *PaymentsAccount) GetAccountName() string {
+ if o == nil {
+ return ""
+ }
+ return o.AccountName
+}
+
+func (o *PaymentsAccount) GetConnectorID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ConnectorID
+}
+
+func (o *PaymentsAccount) GetCreatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.CreatedAt
+}
+
+func (o *PaymentsAccount) GetDefaultAsset() string {
+ if o == nil {
+ return ""
+ }
+ return o.DefaultAsset
+}
+
+func (o *PaymentsAccount) GetDefaultCurrency() string {
+ if o == nil {
+ return ""
+ }
+ return o.DefaultCurrency
+}
+
+func (o *PaymentsAccount) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *PaymentsAccount) GetMetadata() map[string]string {
+ if o == nil {
+ return nil
+ }
+ return o.Metadata
+}
+
+func (o *PaymentsAccount) GetRaw() *PaymentsAccountRaw {
+ if o == nil {
+ return nil
+ }
+ return o.Raw
+}
+
+func (o *PaymentsAccount) GetReference() string {
+ if o == nil {
+ return ""
+ }
+ return o.Reference
+}
+
+func (o *PaymentsAccount) GetType() string {
+ if o == nil {
+ return ""
+ }
+ return o.Type
+}
diff --git a/libs/clients/go/pkg/models/shared/paymentsaccountresponse.go b/libs/clients/go/pkg/models/shared/paymentsaccountresponse.go
new file mode 100755
index 0000000000..5b9cd138c0
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/paymentsaccountresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type PaymentsAccountResponse struct {
+ Data PaymentsAccount `json:"data"`
+}
+
+func (o *PaymentsAccountResponse) GetData() PaymentsAccount {
+ if o == nil {
+ return PaymentsAccount{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/paymentscheme.go b/libs/clients/go/pkg/models/shared/paymentscheme.go
new file mode 100755
index 0000000000..dba270e674
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/paymentscheme.go
@@ -0,0 +1,83 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "encoding/json"
+ "fmt"
+)
+
+type PaymentScheme string
+
+const (
+ PaymentSchemeVisa PaymentScheme = "visa"
+ PaymentSchemeMastercard PaymentScheme = "mastercard"
+ PaymentSchemeAmex PaymentScheme = "amex"
+ PaymentSchemeDiners PaymentScheme = "diners"
+ PaymentSchemeDiscover PaymentScheme = "discover"
+ PaymentSchemeJcb PaymentScheme = "jcb"
+ PaymentSchemeUnionpay PaymentScheme = "unionpay"
+ PaymentSchemeSepaDebit PaymentScheme = "sepa debit"
+ PaymentSchemeSepaCredit PaymentScheme = "sepa credit"
+ PaymentSchemeSepa PaymentScheme = "sepa"
+ PaymentSchemeApplePay PaymentScheme = "apple pay"
+ PaymentSchemeGooglePay PaymentScheme = "google pay"
+ PaymentSchemeA2a PaymentScheme = "a2a"
+ PaymentSchemeAchDebit PaymentScheme = "ach debit"
+ PaymentSchemeAch PaymentScheme = "ach"
+ PaymentSchemeRtp PaymentScheme = "rtp"
+ PaymentSchemeUnknown PaymentScheme = "unknown"
+ PaymentSchemeOther PaymentScheme = "other"
+)
+
+func (e PaymentScheme) ToPointer() *PaymentScheme {
+ return &e
+}
+
+func (e *PaymentScheme) UnmarshalJSON(data []byte) error {
+ var v string
+ if err := json.Unmarshal(data, &v); err != nil {
+ return err
+ }
+ switch v {
+ case "visa":
+ fallthrough
+ case "mastercard":
+ fallthrough
+ case "amex":
+ fallthrough
+ case "diners":
+ fallthrough
+ case "discover":
+ fallthrough
+ case "jcb":
+ fallthrough
+ case "unionpay":
+ fallthrough
+ case "sepa debit":
+ fallthrough
+ case "sepa credit":
+ fallthrough
+ case "sepa":
+ fallthrough
+ case "apple pay":
+ fallthrough
+ case "google pay":
+ fallthrough
+ case "a2a":
+ fallthrough
+ case "ach debit":
+ fallthrough
+ case "ach":
+ fallthrough
+ case "rtp":
+ fallthrough
+ case "unknown":
+ fallthrough
+ case "other":
+ *e = PaymentScheme(v)
+ return nil
+ default:
+ return fmt.Errorf("invalid value for PaymentScheme: %v", v)
+ }
+}
diff --git a/libs/clients/go/pkg/models/shared/paymentscursor.go b/libs/clients/go/pkg/models/shared/paymentscursor.go
new file mode 100755
index 0000000000..673cb36b7f
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/paymentscursor.go
@@ -0,0 +1,57 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type PaymentsCursorCursor struct {
+ Data []Payment `json:"data"`
+ HasMore bool `json:"hasMore"`
+ Next *string `json:"next,omitempty"`
+ PageSize int64 `json:"pageSize"`
+ Previous *string `json:"previous,omitempty"`
+}
+
+func (o *PaymentsCursorCursor) GetData() []Payment {
+ if o == nil {
+ return []Payment{}
+ }
+ return o.Data
+}
+
+func (o *PaymentsCursorCursor) GetHasMore() bool {
+ if o == nil {
+ return false
+ }
+ return o.HasMore
+}
+
+func (o *PaymentsCursorCursor) GetNext() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Next
+}
+
+func (o *PaymentsCursorCursor) GetPageSize() int64 {
+ if o == nil {
+ return 0
+ }
+ return o.PageSize
+}
+
+func (o *PaymentsCursorCursor) GetPrevious() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Previous
+}
+
+type PaymentsCursor struct {
+ Cursor PaymentsCursorCursor `json:"cursor"`
+}
+
+func (o *PaymentsCursor) GetCursor() PaymentsCursorCursor {
+ if o == nil {
+ return PaymentsCursorCursor{}
+ }
+ return o.Cursor
+}
diff --git a/libs/clients/go/pkg/models/shared/paymentstatus.go b/libs/clients/go/pkg/models/shared/paymentstatus.go
new file mode 100755
index 0000000000..f40b631dea
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/paymentstatus.go
@@ -0,0 +1,47 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "encoding/json"
+ "fmt"
+)
+
+type PaymentStatus string
+
+const (
+ PaymentStatusPending PaymentStatus = "PENDING"
+ PaymentStatusActive PaymentStatus = "ACTIVE"
+ PaymentStatusTerminated PaymentStatus = "TERMINATED"
+ PaymentStatusFailed PaymentStatus = "FAILED"
+ PaymentStatusSucceeded PaymentStatus = "SUCCEEDED"
+ PaymentStatusCancelled PaymentStatus = "CANCELLED"
+)
+
+func (e PaymentStatus) ToPointer() *PaymentStatus {
+ return &e
+}
+
+func (e *PaymentStatus) UnmarshalJSON(data []byte) error {
+ var v string
+ if err := json.Unmarshal(data, &v); err != nil {
+ return err
+ }
+ switch v {
+ case "PENDING":
+ fallthrough
+ case "ACTIVE":
+ fallthrough
+ case "TERMINATED":
+ fallthrough
+ case "FAILED":
+ fallthrough
+ case "SUCCEEDED":
+ fallthrough
+ case "CANCELLED":
+ *e = PaymentStatus(v)
+ return nil
+ default:
+ return fmt.Errorf("invalid value for PaymentStatus: %v", v)
+ }
+}
diff --git a/libs/clients/go/pkg/models/shared/paymenttype.go b/libs/clients/go/pkg/models/shared/paymenttype.go
new file mode 100755
index 0000000000..1f69386d0c
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/paymenttype.go
@@ -0,0 +1,41 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "encoding/json"
+ "fmt"
+)
+
+type PaymentType string
+
+const (
+ PaymentTypePayIn PaymentType = "PAY-IN"
+ PaymentTypePayout PaymentType = "PAYOUT"
+ PaymentTypeTransfer PaymentType = "TRANSFER"
+ PaymentTypeOther PaymentType = "OTHER"
+)
+
+func (e PaymentType) ToPointer() *PaymentType {
+ return &e
+}
+
+func (e *PaymentType) UnmarshalJSON(data []byte) error {
+ var v string
+ if err := json.Unmarshal(data, &v); err != nil {
+ return err
+ }
+ switch v {
+ case "PAY-IN":
+ fallthrough
+ case "PAYOUT":
+ fallthrough
+ case "TRANSFER":
+ fallthrough
+ case "OTHER":
+ *e = PaymentType(v)
+ return nil
+ default:
+ return fmt.Errorf("invalid value for PaymentType: %v", v)
+ }
+}
diff --git a/libs/clients/go/pkg/models/shared/policiescursorresponse.go b/libs/clients/go/pkg/models/shared/policiescursorresponse.go
new file mode 100755
index 0000000000..c0c5f22898
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/policiescursorresponse.go
@@ -0,0 +1,57 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type PoliciesCursorResponseCursor struct {
+ Data []Policy `json:"data"`
+ HasMore bool `json:"hasMore"`
+ Next *string `json:"next,omitempty"`
+ PageSize int64 `json:"pageSize"`
+ Previous *string `json:"previous,omitempty"`
+}
+
+func (o *PoliciesCursorResponseCursor) GetData() []Policy {
+ if o == nil {
+ return []Policy{}
+ }
+ return o.Data
+}
+
+func (o *PoliciesCursorResponseCursor) GetHasMore() bool {
+ if o == nil {
+ return false
+ }
+ return o.HasMore
+}
+
+func (o *PoliciesCursorResponseCursor) GetNext() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Next
+}
+
+func (o *PoliciesCursorResponseCursor) GetPageSize() int64 {
+ if o == nil {
+ return 0
+ }
+ return o.PageSize
+}
+
+func (o *PoliciesCursorResponseCursor) GetPrevious() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Previous
+}
+
+type PoliciesCursorResponse struct {
+ Cursor PoliciesCursorResponseCursor `json:"cursor"`
+}
+
+func (o *PoliciesCursorResponse) GetCursor() PoliciesCursorResponseCursor {
+ if o == nil {
+ return PoliciesCursorResponseCursor{}
+ }
+ return o.Cursor
+}
diff --git a/libs/clients/go/pkg/models/shared/policy.go b/libs/clients/go/pkg/models/shared/policy.go
new file mode 100755
index 0000000000..8251b0c5bb
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/policy.go
@@ -0,0 +1,70 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type Policy struct {
+ CreatedAt time.Time `json:"createdAt"`
+ ID string `json:"id"`
+ LedgerName string `json:"ledgerName"`
+ LedgerQuery string `json:"ledgerQuery"`
+ Name string `json:"name"`
+ PaymentsPoolID string `json:"paymentsPoolID"`
+}
+
+func (p Policy) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(p, "", false)
+}
+
+func (p *Policy) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &p, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *Policy) GetCreatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.CreatedAt
+}
+
+func (o *Policy) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *Policy) GetLedgerName() string {
+ if o == nil {
+ return ""
+ }
+ return o.LedgerName
+}
+
+func (o *Policy) GetLedgerQuery() string {
+ if o == nil {
+ return ""
+ }
+ return o.LedgerQuery
+}
+
+func (o *Policy) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
+
+func (o *Policy) GetPaymentsPoolID() string {
+ if o == nil {
+ return ""
+ }
+ return o.PaymentsPoolID
+}
diff --git a/libs/clients/go/pkg/models/shared/policyrequest.go b/libs/clients/go/pkg/models/shared/policyrequest.go
new file mode 100755
index 0000000000..ab88883df0
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/policyrequest.go
@@ -0,0 +1,38 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type PolicyRequest struct {
+ LedgerName string `json:"ledgerName"`
+ LedgerQuery string `json:"ledgerQuery"`
+ Name string `json:"name"`
+ PaymentsPoolID string `json:"paymentsPoolID"`
+}
+
+func (o *PolicyRequest) GetLedgerName() string {
+ if o == nil {
+ return ""
+ }
+ return o.LedgerName
+}
+
+func (o *PolicyRequest) GetLedgerQuery() string {
+ if o == nil {
+ return ""
+ }
+ return o.LedgerQuery
+}
+
+func (o *PolicyRequest) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
+
+func (o *PolicyRequest) GetPaymentsPoolID() string {
+ if o == nil {
+ return ""
+ }
+ return o.PaymentsPoolID
+}
diff --git a/libs/clients/go/pkg/models/shared/policyresponse.go b/libs/clients/go/pkg/models/shared/policyresponse.go
new file mode 100755
index 0000000000..e40e174e28
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/policyresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type PolicyResponse struct {
+ Policy *Policy `json:"policy,omitempty"`
+}
+
+func (o *PolicyResponse) GetPolicy() *Policy {
+ if o == nil {
+ return nil
+ }
+ return o.Policy
+}
diff --git a/libs/clients/go/pkg/models/shared/pool.go b/libs/clients/go/pkg/models/shared/pool.go
new file mode 100755
index 0000000000..ecf7ebac05
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/pool.go
@@ -0,0 +1,30 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type Pool struct {
+ Accounts []string `json:"accounts"`
+ ID string `json:"id"`
+ Name string `json:"name"`
+}
+
+func (o *Pool) GetAccounts() []string {
+ if o == nil {
+ return []string{}
+ }
+ return o.Accounts
+}
+
+func (o *Pool) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *Pool) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
diff --git a/libs/clients/go/pkg/models/shared/poolbalance.go b/libs/clients/go/pkg/models/shared/poolbalance.go
new file mode 100755
index 0000000000..646a5fd74b
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/poolbalance.go
@@ -0,0 +1,38 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+)
+
+type PoolBalance struct {
+ Amount *big.Int `json:"amount"`
+ Asset string `json:"asset"`
+}
+
+func (p PoolBalance) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(p, "", false)
+}
+
+func (p *PoolBalance) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &p, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *PoolBalance) GetAmount() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.Amount
+}
+
+func (o *PoolBalance) GetAsset() string {
+ if o == nil {
+ return ""
+ }
+ return o.Asset
+}
diff --git a/libs/clients/go/pkg/models/shared/poolbalances.go b/libs/clients/go/pkg/models/shared/poolbalances.go
new file mode 100755
index 0000000000..2e37fe4ec5
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/poolbalances.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type PoolBalances struct {
+ Balances []PoolBalance `json:"balances"`
+}
+
+func (o *PoolBalances) GetBalances() []PoolBalance {
+ if o == nil {
+ return []PoolBalance{}
+ }
+ return o.Balances
+}
diff --git a/libs/clients/go/pkg/models/shared/poolbalancesresponse.go b/libs/clients/go/pkg/models/shared/poolbalancesresponse.go
new file mode 100755
index 0000000000..2a86e83b39
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/poolbalancesresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type PoolBalancesResponse struct {
+ Data PoolBalances `json:"data"`
+}
+
+func (o *PoolBalancesResponse) GetData() PoolBalances {
+ if o == nil {
+ return PoolBalances{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/poolrequest.go b/libs/clients/go/pkg/models/shared/poolrequest.go
new file mode 100755
index 0000000000..3c66a0f2a9
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/poolrequest.go
@@ -0,0 +1,22 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type PoolRequest struct {
+ AccountIDs []string `json:"accountIDs"`
+ Name string `json:"name"`
+}
+
+func (o *PoolRequest) GetAccountIDs() []string {
+ if o == nil {
+ return []string{}
+ }
+ return o.AccountIDs
+}
+
+func (o *PoolRequest) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
diff --git a/libs/clients/go/pkg/models/shared/poolresponse.go b/libs/clients/go/pkg/models/shared/poolresponse.go
new file mode 100755
index 0000000000..fb4c70c86e
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/poolresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type PoolResponse struct {
+ Data Pool `json:"data"`
+}
+
+func (o *PoolResponse) GetData() Pool {
+ if o == nil {
+ return Pool{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/poolscursor.go b/libs/clients/go/pkg/models/shared/poolscursor.go
new file mode 100755
index 0000000000..e88fc39448
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/poolscursor.go
@@ -0,0 +1,57 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type PoolsCursorCursor struct {
+ Data []Pool `json:"data"`
+ HasMore bool `json:"hasMore"`
+ Next *string `json:"next,omitempty"`
+ PageSize int64 `json:"pageSize"`
+ Previous *string `json:"previous,omitempty"`
+}
+
+func (o *PoolsCursorCursor) GetData() []Pool {
+ if o == nil {
+ return []Pool{}
+ }
+ return o.Data
+}
+
+func (o *PoolsCursorCursor) GetHasMore() bool {
+ if o == nil {
+ return false
+ }
+ return o.HasMore
+}
+
+func (o *PoolsCursorCursor) GetNext() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Next
+}
+
+func (o *PoolsCursorCursor) GetPageSize() int64 {
+ if o == nil {
+ return 0
+ }
+ return o.PageSize
+}
+
+func (o *PoolsCursorCursor) GetPrevious() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Previous
+}
+
+type PoolsCursor struct {
+ Cursor PoolsCursorCursor `json:"cursor"`
+}
+
+func (o *PoolsCursor) GetCursor() PoolsCursorCursor {
+ if o == nil {
+ return PoolsCursorCursor{}
+ }
+ return o.Cursor
+}
diff --git a/libs/clients/go/pkg/models/shared/posting.go b/libs/clients/go/pkg/models/shared/posting.go
new file mode 100755
index 0000000000..79e69f0dd2
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/posting.go
@@ -0,0 +1,54 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+)
+
+type Posting struct {
+ Amount *big.Int `json:"amount"`
+ Asset string `json:"asset"`
+ Destination string `json:"destination"`
+ Source string `json:"source"`
+}
+
+func (p Posting) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(p, "", false)
+}
+
+func (p *Posting) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &p, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *Posting) GetAmount() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.Amount
+}
+
+func (o *Posting) GetAsset() string {
+ if o == nil {
+ return ""
+ }
+ return o.Asset
+}
+
+func (o *Posting) GetDestination() string {
+ if o == nil {
+ return ""
+ }
+ return o.Destination
+}
+
+func (o *Posting) GetSource() string {
+ if o == nil {
+ return ""
+ }
+ return o.Source
+}
diff --git a/libs/clients/go/pkg/models/shared/posttransaction.go b/libs/clients/go/pkg/models/shared/posttransaction.go
new file mode 100755
index 0000000000..dcea8330ad
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/posttransaction.go
@@ -0,0 +1,81 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type PostTransactionScript struct {
+ Plain string `json:"plain"`
+ Vars map[string]interface{} `json:"vars,omitempty"`
+}
+
+func (o *PostTransactionScript) GetPlain() string {
+ if o == nil {
+ return ""
+ }
+ return o.Plain
+}
+
+func (o *PostTransactionScript) GetVars() map[string]interface{} {
+ if o == nil {
+ return nil
+ }
+ return o.Vars
+}
+
+type PostTransaction struct {
+ Metadata map[string]string `json:"metadata"`
+ Postings []Posting `json:"postings,omitempty"`
+ Reference *string `json:"reference,omitempty"`
+ Script *PostTransactionScript `json:"script,omitempty"`
+ Timestamp *time.Time `json:"timestamp,omitempty"`
+}
+
+func (p PostTransaction) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(p, "", false)
+}
+
+func (p *PostTransaction) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &p, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *PostTransaction) GetMetadata() map[string]string {
+ if o == nil {
+ return map[string]string{}
+ }
+ return o.Metadata
+}
+
+func (o *PostTransaction) GetPostings() []Posting {
+ if o == nil {
+ return nil
+ }
+ return o.Postings
+}
+
+func (o *PostTransaction) GetReference() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Reference
+}
+
+func (o *PostTransaction) GetScript() *PostTransactionScript {
+ if o == nil {
+ return nil
+ }
+ return o.Script
+}
+
+func (o *PostTransaction) GetTimestamp() *time.Time {
+ if o == nil {
+ return nil
+ }
+ return o.Timestamp
+}
diff --git a/libs/clients/go/pkg/models/shared/query.go b/libs/clients/go/pkg/models/shared/query.go
new file mode 100755
index 0000000000..54b3df7f0d
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/query.go
@@ -0,0 +1,81 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type QueryRaw struct {
+}
+
+type Query struct {
+ After []string `json:"after,omitempty"`
+ Cursor *string `json:"cursor,omitempty"`
+ Ledgers []string `json:"ledgers,omitempty"`
+ PageSize *int64 `json:"pageSize,omitempty"`
+ Policy *string `json:"policy,omitempty"`
+ Raw *QueryRaw `json:"raw,omitempty"`
+ Sort *string `json:"sort,omitempty"`
+ Target *string `json:"target,omitempty"`
+ Terms []string `json:"terms,omitempty"`
+}
+
+func (o *Query) GetAfter() []string {
+ if o == nil {
+ return nil
+ }
+ return o.After
+}
+
+func (o *Query) GetCursor() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Cursor
+}
+
+func (o *Query) GetLedgers() []string {
+ if o == nil {
+ return nil
+ }
+ return o.Ledgers
+}
+
+func (o *Query) GetPageSize() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.PageSize
+}
+
+func (o *Query) GetPolicy() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Policy
+}
+
+func (o *Query) GetRaw() *QueryRaw {
+ if o == nil {
+ return nil
+ }
+ return o.Raw
+}
+
+func (o *Query) GetSort() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Sort
+}
+
+func (o *Query) GetTarget() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Target
+}
+
+func (o *Query) GetTerms() []string {
+ if o == nil {
+ return nil
+ }
+ return o.Terms
+}
diff --git a/libs/clients/go/pkg/models/shared/readclientresponse.go b/libs/clients/go/pkg/models/shared/readclientresponse.go
new file mode 100755
index 0000000000..78e7ca6f8d
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/readclientresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ReadClientResponse struct {
+ Data *Client `json:"data,omitempty"`
+}
+
+func (o *ReadClientResponse) GetData() *Client {
+ if o == nil {
+ return nil
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/readtriggerresponse.go b/libs/clients/go/pkg/models/shared/readtriggerresponse.go
new file mode 100755
index 0000000000..c80011a0cc
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/readtriggerresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ReadTriggerResponse struct {
+ Data Trigger `json:"data"`
+}
+
+func (o *ReadTriggerResponse) GetData() Trigger {
+ if o == nil {
+ return Trigger{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/readuserresponse.go b/libs/clients/go/pkg/models/shared/readuserresponse.go
new file mode 100755
index 0000000000..fb511a284c
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/readuserresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ReadUserResponse struct {
+ Data *User `json:"data,omitempty"`
+}
+
+func (o *ReadUserResponse) GetData() *User {
+ if o == nil {
+ return nil
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/reconciliation.go b/libs/clients/go/pkg/models/shared/reconciliation.go
new file mode 100755
index 0000000000..510aebe8fe
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/reconciliation.go
@@ -0,0 +1,87 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+ "time"
+)
+
+type Reconciliation struct {
+ CreatedAt time.Time `json:"createdAt"`
+ Error *string `json:"error,omitempty"`
+ ID string `json:"id"`
+ LedgerBalances map[string]*big.Int `json:"ledgerBalances"`
+ PaymentsBalances map[string]*big.Int `json:"paymentsBalances"`
+ PolicyID string `json:"policyID"`
+ ReconciledAt time.Time `json:"reconciledAt"`
+ Status string `json:"status"`
+}
+
+func (r Reconciliation) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(r, "", false)
+}
+
+func (r *Reconciliation) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &r, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *Reconciliation) GetCreatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.CreatedAt
+}
+
+func (o *Reconciliation) GetError() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *Reconciliation) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *Reconciliation) GetLedgerBalances() map[string]*big.Int {
+ if o == nil {
+ return map[string]*big.Int{}
+ }
+ return o.LedgerBalances
+}
+
+func (o *Reconciliation) GetPaymentsBalances() map[string]*big.Int {
+ if o == nil {
+ return map[string]*big.Int{}
+ }
+ return o.PaymentsBalances
+}
+
+func (o *Reconciliation) GetPolicyID() string {
+ if o == nil {
+ return ""
+ }
+ return o.PolicyID
+}
+
+func (o *Reconciliation) GetReconciledAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.ReconciledAt
+}
+
+func (o *Reconciliation) GetStatus() string {
+ if o == nil {
+ return ""
+ }
+ return o.Status
+}
diff --git a/libs/clients/go/pkg/models/shared/reconciliationerrorresponse.go b/libs/clients/go/pkg/models/shared/reconciliationerrorresponse.go
new file mode 100755
index 0000000000..05a6ffbef1
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/reconciliationerrorresponse.go
@@ -0,0 +1,30 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ReconciliationErrorResponse struct {
+ Details *string `json:"details,omitempty"`
+ ErrorCode string `json:"errorCode"`
+ ErrorMessage string `json:"errorMessage"`
+}
+
+func (o *ReconciliationErrorResponse) GetDetails() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Details
+}
+
+func (o *ReconciliationErrorResponse) GetErrorCode() string {
+ if o == nil {
+ return ""
+ }
+ return o.ErrorCode
+}
+
+func (o *ReconciliationErrorResponse) GetErrorMessage() string {
+ if o == nil {
+ return ""
+ }
+ return o.ErrorMessage
+}
diff --git a/libs/clients/go/pkg/models/shared/reconciliationrequest.go b/libs/clients/go/pkg/models/shared/reconciliationrequest.go
new file mode 100755
index 0000000000..81a8d79018
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/reconciliationrequest.go
@@ -0,0 +1,30 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type ReconciliationRequest struct {
+ At time.Time `json:"at"`
+}
+
+func (r ReconciliationRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(r, "", false)
+}
+
+func (r *ReconciliationRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &r, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *ReconciliationRequest) GetAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.At
+}
diff --git a/libs/clients/go/pkg/models/shared/reconciliationresponse.go b/libs/clients/go/pkg/models/shared/reconciliationresponse.go
new file mode 100755
index 0000000000..366fef95e3
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/reconciliationresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ReconciliationResponse struct {
+ Reconciliation *Reconciliation `json:"reconciliation,omitempty"`
+}
+
+func (o *ReconciliationResponse) GetReconciliation() *Reconciliation {
+ if o == nil {
+ return nil
+ }
+ return o.Reconciliation
+}
diff --git a/libs/clients/go/pkg/models/shared/reconciliationscursorresponse.go b/libs/clients/go/pkg/models/shared/reconciliationscursorresponse.go
new file mode 100755
index 0000000000..af47182978
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/reconciliationscursorresponse.go
@@ -0,0 +1,57 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ReconciliationsCursorResponseCursor struct {
+ Data []Reconciliation `json:"data"`
+ HasMore bool `json:"hasMore"`
+ Next *string `json:"next,omitempty"`
+ PageSize int64 `json:"pageSize"`
+ Previous *string `json:"previous,omitempty"`
+}
+
+func (o *ReconciliationsCursorResponseCursor) GetData() []Reconciliation {
+ if o == nil {
+ return []Reconciliation{}
+ }
+ return o.Data
+}
+
+func (o *ReconciliationsCursorResponseCursor) GetHasMore() bool {
+ if o == nil {
+ return false
+ }
+ return o.HasMore
+}
+
+func (o *ReconciliationsCursorResponseCursor) GetNext() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Next
+}
+
+func (o *ReconciliationsCursorResponseCursor) GetPageSize() int64 {
+ if o == nil {
+ return 0
+ }
+ return o.PageSize
+}
+
+func (o *ReconciliationsCursorResponseCursor) GetPrevious() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Previous
+}
+
+type ReconciliationsCursorResponse struct {
+ Cursor ReconciliationsCursorResponseCursor `json:"cursor"`
+}
+
+func (o *ReconciliationsCursorResponse) GetCursor() ReconciliationsCursorResponseCursor {
+ if o == nil {
+ return ReconciliationsCursorResponseCursor{}
+ }
+ return o.Cursor
+}
diff --git a/libs/clients/go/pkg/models/shared/response.go b/libs/clients/go/pkg/models/shared/response.go
new file mode 100755
index 0000000000..60f11e18a8
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/response.go
@@ -0,0 +1,93 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ResponseCursorTotal struct {
+ Relation *string `json:"relation,omitempty"`
+ Value *int64 `json:"value,omitempty"`
+}
+
+func (o *ResponseCursorTotal) GetRelation() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Relation
+}
+
+func (o *ResponseCursorTotal) GetValue() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.Value
+}
+
+type ResponseCursor struct {
+ Data []map[string]interface{} `json:"data,omitempty"`
+ HasMore *bool `json:"hasMore,omitempty"`
+ Next *string `json:"next,omitempty"`
+ PageSize *int64 `json:"pageSize,omitempty"`
+ Previous *string `json:"previous,omitempty"`
+ Total *ResponseCursorTotal `json:"total,omitempty"`
+}
+
+func (o *ResponseCursor) GetData() []map[string]interface{} {
+ if o == nil {
+ return nil
+ }
+ return o.Data
+}
+
+func (o *ResponseCursor) GetHasMore() *bool {
+ if o == nil {
+ return nil
+ }
+ return o.HasMore
+}
+
+func (o *ResponseCursor) GetNext() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Next
+}
+
+func (o *ResponseCursor) GetPageSize() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.PageSize
+}
+
+func (o *ResponseCursor) GetPrevious() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Previous
+}
+
+func (o *ResponseCursor) GetTotal() *ResponseCursorTotal {
+ if o == nil {
+ return nil
+ }
+ return o.Total
+}
+
+type Response struct {
+ Cursor *ResponseCursor `json:"cursor,omitempty"`
+ // The payload
+ Data map[string]interface{} `json:"data,omitempty"`
+}
+
+func (o *Response) GetCursor() *ResponseCursor {
+ if o == nil {
+ return nil
+ }
+ return o.Cursor
+}
+
+func (o *Response) GetData() map[string]interface{} {
+ if o == nil {
+ return nil
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/reverttransactionresponse.go b/libs/clients/go/pkg/models/shared/reverttransactionresponse.go
new file mode 100755
index 0000000000..1949bdb1ba
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/reverttransactionresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type RevertTransactionResponse struct {
+ Data Transaction `json:"data"`
+}
+
+func (o *RevertTransactionResponse) GetData() Transaction {
+ if o == nil {
+ return Transaction{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/runworkflowresponse.go b/libs/clients/go/pkg/models/shared/runworkflowresponse.go
new file mode 100755
index 0000000000..f4af2a52b3
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/runworkflowresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type RunWorkflowResponse struct {
+ Data WorkflowInstance `json:"data"`
+}
+
+func (o *RunWorkflowResponse) GetData() WorkflowInstance {
+ if o == nil {
+ return WorkflowInstance{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/secret.go b/libs/clients/go/pkg/models/shared/secret.go
new file mode 100755
index 0000000000..ed84caf14e
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/secret.go
@@ -0,0 +1,46 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type Secret struct {
+ Clear string `json:"clear"`
+ ID string `json:"id"`
+ LastDigits string `json:"lastDigits"`
+ Metadata map[string]interface{} `json:"metadata,omitempty"`
+ Name string `json:"name"`
+}
+
+func (o *Secret) GetClear() string {
+ if o == nil {
+ return ""
+ }
+ return o.Clear
+}
+
+func (o *Secret) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *Secret) GetLastDigits() string {
+ if o == nil {
+ return ""
+ }
+ return o.LastDigits
+}
+
+func (o *Secret) GetMetadata() map[string]interface{} {
+ if o == nil {
+ return nil
+ }
+ return o.Metadata
+}
+
+func (o *Secret) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
diff --git a/libs/clients/go/pkg/models/shared/serverinfo.go b/libs/clients/go/pkg/models/shared/serverinfo.go
new file mode 100755
index 0000000000..2ce1c1061c
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/serverinfo.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type ServerInfo struct {
+ Version string `json:"version"`
+}
+
+func (o *ServerInfo) GetVersion() string {
+ if o == nil {
+ return ""
+ }
+ return o.Version
+}
diff --git a/libs/clients/go/pkg/models/shared/stage.go b/libs/clients/go/pkg/models/shared/stage.go
new file mode 100755
index 0000000000..0ec8a5d41a
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/stage.go
@@ -0,0 +1,93 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "errors"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+)
+
+type StageType string
+
+const (
+ StageTypeStageSend StageType = "StageSend"
+ StageTypeStageDelay StageType = "StageDelay"
+ StageTypeStageWaitEvent StageType = "StageWaitEvent"
+)
+
+type Stage struct {
+ StageSend *StageSend
+ StageDelay *StageDelay
+ StageWaitEvent *StageWaitEvent
+
+ Type StageType
+}
+
+func CreateStageStageSend(stageSend StageSend) Stage {
+ typ := StageTypeStageSend
+
+ return Stage{
+ StageSend: &stageSend,
+ Type: typ,
+ }
+}
+
+func CreateStageStageDelay(stageDelay StageDelay) Stage {
+ typ := StageTypeStageDelay
+
+ return Stage{
+ StageDelay: &stageDelay,
+ Type: typ,
+ }
+}
+
+func CreateStageStageWaitEvent(stageWaitEvent StageWaitEvent) Stage {
+ typ := StageTypeStageWaitEvent
+
+ return Stage{
+ StageWaitEvent: &stageWaitEvent,
+ Type: typ,
+ }
+}
+
+func (u *Stage) UnmarshalJSON(data []byte) error {
+
+ stageWaitEvent := StageWaitEvent{}
+ if err := utils.UnmarshalJSON(data, &stageWaitEvent, "", true, true); err == nil {
+ u.StageWaitEvent = &stageWaitEvent
+ u.Type = StageTypeStageWaitEvent
+ return nil
+ }
+
+ stageDelay := StageDelay{}
+ if err := utils.UnmarshalJSON(data, &stageDelay, "", true, true); err == nil {
+ u.StageDelay = &stageDelay
+ u.Type = StageTypeStageDelay
+ return nil
+ }
+
+ stageSend := StageSend{}
+ if err := utils.UnmarshalJSON(data, &stageSend, "", true, true); err == nil {
+ u.StageSend = &stageSend
+ u.Type = StageTypeStageSend
+ return nil
+ }
+
+ return errors.New("could not unmarshal into supported union types")
+}
+
+func (u Stage) MarshalJSON() ([]byte, error) {
+ if u.StageSend != nil {
+ return utils.MarshalJSON(u.StageSend, "", true)
+ }
+
+ if u.StageDelay != nil {
+ return utils.MarshalJSON(u.StageDelay, "", true)
+ }
+
+ if u.StageWaitEvent != nil {
+ return utils.MarshalJSON(u.StageWaitEvent, "", true)
+ }
+
+ return nil, errors.New("could not marshal union type: all fields are null")
+}
diff --git a/libs/clients/go/pkg/models/shared/stagedelay.go b/libs/clients/go/pkg/models/shared/stagedelay.go
new file mode 100755
index 0000000000..a76b25674a
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/stagedelay.go
@@ -0,0 +1,38 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type StageDelay struct {
+ Duration *string `json:"duration,omitempty"`
+ Until *time.Time `json:"until,omitempty"`
+}
+
+func (s StageDelay) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(s, "", false)
+}
+
+func (s *StageDelay) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &s, "", false, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *StageDelay) GetDuration() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Duration
+}
+
+func (o *StageDelay) GetUntil() *time.Time {
+ if o == nil {
+ return nil
+ }
+ return o.Until
+}
diff --git a/libs/clients/go/pkg/models/shared/stagesend.go b/libs/clients/go/pkg/models/shared/stagesend.go
new file mode 100755
index 0000000000..f47205782a
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/stagesend.go
@@ -0,0 +1,30 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type StageSend struct {
+ Amount *Monetary `json:"amount,omitempty"`
+ Destination *StageSendDestination `json:"destination,omitempty"`
+ Source *StageSendSource `json:"source,omitempty"`
+}
+
+func (o *StageSend) GetAmount() *Monetary {
+ if o == nil {
+ return nil
+ }
+ return o.Amount
+}
+
+func (o *StageSend) GetDestination() *StageSendDestination {
+ if o == nil {
+ return nil
+ }
+ return o.Destination
+}
+
+func (o *StageSend) GetSource() *StageSendSource {
+ if o == nil {
+ return nil
+ }
+ return o.Source
+}
diff --git a/libs/clients/go/pkg/models/shared/stagesenddestination.go b/libs/clients/go/pkg/models/shared/stagesenddestination.go
new file mode 100755
index 0000000000..1b1231b585
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/stagesenddestination.go
@@ -0,0 +1,30 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type StageSendDestination struct {
+ Account *StageSendDestinationAccount `json:"account,omitempty"`
+ Payment *StageSendDestinationPayment `json:"payment,omitempty"`
+ Wallet *StageSendDestinationWallet `json:"wallet,omitempty"`
+}
+
+func (o *StageSendDestination) GetAccount() *StageSendDestinationAccount {
+ if o == nil {
+ return nil
+ }
+ return o.Account
+}
+
+func (o *StageSendDestination) GetPayment() *StageSendDestinationPayment {
+ if o == nil {
+ return nil
+ }
+ return o.Payment
+}
+
+func (o *StageSendDestination) GetWallet() *StageSendDestinationWallet {
+ if o == nil {
+ return nil
+ }
+ return o.Wallet
+}
diff --git a/libs/clients/go/pkg/models/shared/stagesenddestinationaccount.go b/libs/clients/go/pkg/models/shared/stagesenddestinationaccount.go
new file mode 100755
index 0000000000..e2eafcbebf
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/stagesenddestinationaccount.go
@@ -0,0 +1,22 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type StageSendDestinationAccount struct {
+ ID string `json:"id"`
+ Ledger *string `json:"ledger,omitempty"`
+}
+
+func (o *StageSendDestinationAccount) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *StageSendDestinationAccount) GetLedger() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Ledger
+}
diff --git a/libs/clients/go/pkg/models/shared/stagesenddestinationpayment.go b/libs/clients/go/pkg/models/shared/stagesenddestinationpayment.go
new file mode 100755
index 0000000000..0b5ee0e0e6
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/stagesenddestinationpayment.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type StageSendDestinationPayment struct {
+ Psp string `json:"psp"`
+}
+
+func (o *StageSendDestinationPayment) GetPsp() string {
+ if o == nil {
+ return ""
+ }
+ return o.Psp
+}
diff --git a/libs/clients/go/pkg/models/shared/stagesenddestinationwallet.go b/libs/clients/go/pkg/models/shared/stagesenddestinationwallet.go
new file mode 100755
index 0000000000..c239f6f095
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/stagesenddestinationwallet.go
@@ -0,0 +1,22 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type StageSendDestinationWallet struct {
+ Balance *string `json:"balance,omitempty"`
+ ID string `json:"id"`
+}
+
+func (o *StageSendDestinationWallet) GetBalance() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Balance
+}
+
+func (o *StageSendDestinationWallet) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
diff --git a/libs/clients/go/pkg/models/shared/stagesendsource.go b/libs/clients/go/pkg/models/shared/stagesendsource.go
new file mode 100755
index 0000000000..1b3556e73f
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/stagesendsource.go
@@ -0,0 +1,30 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type StageSendSource struct {
+ Account *StageSendSourceAccount `json:"account,omitempty"`
+ Payment *StageSendSourcePayment `json:"payment,omitempty"`
+ Wallet *StageSendSourceWallet `json:"wallet,omitempty"`
+}
+
+func (o *StageSendSource) GetAccount() *StageSendSourceAccount {
+ if o == nil {
+ return nil
+ }
+ return o.Account
+}
+
+func (o *StageSendSource) GetPayment() *StageSendSourcePayment {
+ if o == nil {
+ return nil
+ }
+ return o.Payment
+}
+
+func (o *StageSendSource) GetWallet() *StageSendSourceWallet {
+ if o == nil {
+ return nil
+ }
+ return o.Wallet
+}
diff --git a/libs/clients/go/pkg/models/shared/stagesendsourceaccount.go b/libs/clients/go/pkg/models/shared/stagesendsourceaccount.go
new file mode 100755
index 0000000000..b6db1d8e84
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/stagesendsourceaccount.go
@@ -0,0 +1,22 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type StageSendSourceAccount struct {
+ ID string `json:"id"`
+ Ledger *string `json:"ledger,omitempty"`
+}
+
+func (o *StageSendSourceAccount) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *StageSendSourceAccount) GetLedger() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Ledger
+}
diff --git a/libs/clients/go/pkg/models/shared/stagesendsourcepayment.go b/libs/clients/go/pkg/models/shared/stagesendsourcepayment.go
new file mode 100755
index 0000000000..02b19acb45
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/stagesendsourcepayment.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type StageSendSourcePayment struct {
+ ID string `json:"id"`
+}
+
+func (o *StageSendSourcePayment) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
diff --git a/libs/clients/go/pkg/models/shared/stagesendsourcewallet.go b/libs/clients/go/pkg/models/shared/stagesendsourcewallet.go
new file mode 100755
index 0000000000..6c704bf9d0
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/stagesendsourcewallet.go
@@ -0,0 +1,22 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type StageSendSourceWallet struct {
+ Balance *string `json:"balance,omitempty"`
+ ID string `json:"id"`
+}
+
+func (o *StageSendSourceWallet) GetBalance() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Balance
+}
+
+func (o *StageSendSourceWallet) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
diff --git a/libs/clients/go/pkg/models/shared/stagestatus.go b/libs/clients/go/pkg/models/shared/stagestatus.go
new file mode 100755
index 0000000000..a740b903ac
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/stagestatus.go
@@ -0,0 +1,62 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type StageStatus struct {
+ Error *string `json:"error,omitempty"`
+ InstanceID string `json:"instanceID"`
+ Stage float64 `json:"stage"`
+ StartedAt time.Time `json:"startedAt"`
+ TerminatedAt *time.Time `json:"terminatedAt,omitempty"`
+}
+
+func (s StageStatus) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(s, "", false)
+}
+
+func (s *StageStatus) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &s, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *StageStatus) GetError() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *StageStatus) GetInstanceID() string {
+ if o == nil {
+ return ""
+ }
+ return o.InstanceID
+}
+
+func (o *StageStatus) GetStage() float64 {
+ if o == nil {
+ return 0.0
+ }
+ return o.Stage
+}
+
+func (o *StageStatus) GetStartedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.StartedAt
+}
+
+func (o *StageStatus) GetTerminatedAt() *time.Time {
+ if o == nil {
+ return nil
+ }
+ return o.TerminatedAt
+}
diff --git a/libs/clients/go/pkg/models/shared/stagewaitevent.go b/libs/clients/go/pkg/models/shared/stagewaitevent.go
new file mode 100755
index 0000000000..4c0569712a
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/stagewaitevent.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type StageWaitEvent struct {
+ Event string `json:"event"`
+}
+
+func (o *StageWaitEvent) GetEvent() string {
+ if o == nil {
+ return ""
+ }
+ return o.Event
+}
diff --git a/libs/clients/go/pkg/models/shared/stats.go b/libs/clients/go/pkg/models/shared/stats.go
new file mode 100755
index 0000000000..46a7220d40
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/stats.go
@@ -0,0 +1,38 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+)
+
+type Stats struct {
+ Accounts int64 `json:"accounts"`
+ Transactions *big.Int `json:"transactions"`
+}
+
+func (s Stats) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(s, "", false)
+}
+
+func (s *Stats) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &s, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *Stats) GetAccounts() int64 {
+ if o == nil {
+ return 0
+ }
+ return o.Accounts
+}
+
+func (o *Stats) GetTransactions() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.Transactions
+}
diff --git a/libs/clients/go/pkg/models/shared/statsresponse.go b/libs/clients/go/pkg/models/shared/statsresponse.go
new file mode 100755
index 0000000000..55a24a68ec
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/statsresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type StatsResponse struct {
+ Data Stats `json:"data"`
+}
+
+func (o *StatsResponse) GetData() Stats {
+ if o == nil {
+ return Stats{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/stripeconfig.go b/libs/clients/go/pkg/models/shared/stripeconfig.go
new file mode 100755
index 0000000000..d3d0e346ab
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/stripeconfig.go
@@ -0,0 +1,57 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+)
+
+type StripeConfig struct {
+ APIKey string `json:"apiKey"`
+ Name string `json:"name"`
+ // Number of BalanceTransaction to fetch at each polling interval.
+ //
+ PageSize *int64 `default:"10" json:"pageSize"`
+ // The frequency at which the connector will try to fetch new BalanceTransaction objects from Stripe API.
+ //
+ PollingPeriod *string `default:"120s" json:"pollingPeriod"`
+}
+
+func (s StripeConfig) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(s, "", false)
+}
+
+func (s *StripeConfig) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &s, "", false, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *StripeConfig) GetAPIKey() string {
+ if o == nil {
+ return ""
+ }
+ return o.APIKey
+}
+
+func (o *StripeConfig) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
+
+func (o *StripeConfig) GetPageSize() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.PageSize
+}
+
+func (o *StripeConfig) GetPollingPeriod() *string {
+ if o == nil {
+ return nil
+ }
+ return o.PollingPeriod
+}
diff --git a/libs/clients/go/pkg/models/shared/subject.go b/libs/clients/go/pkg/models/shared/subject.go
new file mode 100755
index 0000000000..19f4de5f86
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/subject.go
@@ -0,0 +1,93 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "encoding/json"
+ "errors"
+ "fmt"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+)
+
+type SubjectType string
+
+const (
+ SubjectTypeAccount SubjectType = "ACCOUNT"
+ SubjectTypeWallet SubjectType = "WALLET"
+)
+
+type Subject struct {
+ LedgerAccountSubject *LedgerAccountSubject
+ WalletSubject *WalletSubject
+
+ Type SubjectType
+}
+
+func CreateSubjectAccount(account LedgerAccountSubject) Subject {
+ typ := SubjectTypeAccount
+ typStr := string(typ)
+ account.Type = typStr
+
+ return Subject{
+ LedgerAccountSubject: &account,
+ Type: typ,
+ }
+}
+
+func CreateSubjectWallet(wallet WalletSubject) Subject {
+ typ := SubjectTypeWallet
+ typStr := string(typ)
+ wallet.Type = typStr
+
+ return Subject{
+ WalletSubject: &wallet,
+ Type: typ,
+ }
+}
+
+func (u *Subject) UnmarshalJSON(data []byte) error {
+
+ type discriminator struct {
+ Type string
+ }
+
+ dis := new(discriminator)
+ if err := json.Unmarshal(data, &dis); err != nil {
+ return fmt.Errorf("could not unmarshal discriminator: %w", err)
+ }
+
+ switch dis.Type {
+ case "ACCOUNT":
+ ledgerAccountSubject := new(LedgerAccountSubject)
+ if err := utils.UnmarshalJSON(data, &ledgerAccountSubject, "", true, true); err != nil {
+ return fmt.Errorf("could not unmarshal expected type: %w", err)
+ }
+
+ u.LedgerAccountSubject = ledgerAccountSubject
+ u.Type = SubjectTypeAccount
+ return nil
+ case "WALLET":
+ walletSubject := new(WalletSubject)
+ if err := utils.UnmarshalJSON(data, &walletSubject, "", true, true); err != nil {
+ return fmt.Errorf("could not unmarshal expected type: %w", err)
+ }
+
+ u.WalletSubject = walletSubject
+ u.Type = SubjectTypeWallet
+ return nil
+ }
+
+ return errors.New("could not unmarshal into supported union types")
+}
+
+func (u Subject) MarshalJSON() ([]byte, error) {
+ if u.LedgerAccountSubject != nil {
+ return utils.MarshalJSON(u.LedgerAccountSubject, "", true)
+ }
+
+ if u.WalletSubject != nil {
+ return utils.MarshalJSON(u.WalletSubject, "", true)
+ }
+
+ return nil, errors.New("could not marshal union type: all fields are null")
+}
diff --git a/libs/clients/go/pkg/models/shared/targetid.go b/libs/clients/go/pkg/models/shared/targetid.go
new file mode 100755
index 0000000000..ffd7fd52c6
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/targetid.go
@@ -0,0 +1,72 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "errors"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+)
+
+type TargetIDType string
+
+const (
+ TargetIDTypeStr TargetIDType = "str"
+ TargetIDTypeBigint TargetIDType = "bigint"
+)
+
+type TargetID struct {
+ Str *string
+ Bigint *big.Int
+
+ Type TargetIDType
+}
+
+func CreateTargetIDStr(str string) TargetID {
+ typ := TargetIDTypeStr
+
+ return TargetID{
+ Str: &str,
+ Type: typ,
+ }
+}
+
+func CreateTargetIDBigint(bigint *big.Int) TargetID {
+ typ := TargetIDTypeBigint
+
+ return TargetID{
+ Bigint: bigint,
+ Type: typ,
+ }
+}
+
+func (u *TargetID) UnmarshalJSON(data []byte) error {
+
+ str := ""
+ if err := utils.UnmarshalJSON(data, &str, "", true, true); err == nil {
+ u.Str = &str
+ u.Type = TargetIDTypeStr
+ return nil
+ }
+
+ bigint := big.NewInt(0)
+ if err := utils.UnmarshalJSON(data, &bigint, "", true, true); err == nil {
+ u.Bigint = bigint
+ u.Type = TargetIDTypeBigint
+ return nil
+ }
+
+ return errors.New("could not unmarshal into supported union types")
+}
+
+func (u TargetID) MarshalJSON() ([]byte, error) {
+ if u.Str != nil {
+ return utils.MarshalJSON(u.Str, "", true)
+ }
+
+ if u.Bigint != nil {
+ return utils.MarshalJSON(u.Bigint, "", true)
+ }
+
+ return nil, errors.New("could not marshal union type: all fields are null")
+}
diff --git a/libs/clients/go/pkg/models/shared/targettype.go b/libs/clients/go/pkg/models/shared/targettype.go
new file mode 100755
index 0000000000..d87a932ac3
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/targettype.go
@@ -0,0 +1,35 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "encoding/json"
+ "fmt"
+)
+
+type TargetType string
+
+const (
+ TargetTypeTransaction TargetType = "TRANSACTION"
+ TargetTypeAccount TargetType = "ACCOUNT"
+)
+
+func (e TargetType) ToPointer() *TargetType {
+ return &e
+}
+
+func (e *TargetType) UnmarshalJSON(data []byte) error {
+ var v string
+ if err := json.Unmarshal(data, &v); err != nil {
+ return err
+ }
+ switch v {
+ case "TRANSACTION":
+ fallthrough
+ case "ACCOUNT":
+ *e = TargetType(v)
+ return nil
+ default:
+ return fmt.Errorf("invalid value for TargetType: %v", v)
+ }
+}
diff --git a/libs/clients/go/pkg/models/shared/taskbankingcircle.go b/libs/clients/go/pkg/models/shared/taskbankingcircle.go
new file mode 100755
index 0000000000..f65e7e8e06
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/taskbankingcircle.go
@@ -0,0 +1,108 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type TaskBankingCircleDescriptor struct {
+ Key *string `json:"key,omitempty"`
+ Name *string `json:"name,omitempty"`
+}
+
+func (o *TaskBankingCircleDescriptor) GetKey() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Key
+}
+
+func (o *TaskBankingCircleDescriptor) GetName() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Name
+}
+
+type TaskBankingCircleState struct {
+}
+
+type TaskBankingCircle struct {
+ ConnectorID string `json:"connectorID"`
+ CreatedAt time.Time `json:"createdAt"`
+ Descriptor TaskBankingCircleDescriptor `json:"descriptor"`
+ Error *string `json:"error,omitempty"`
+ ID string `json:"id"`
+ State TaskBankingCircleState `json:"state"`
+ Status PaymentStatus `json:"status"`
+ UpdatedAt time.Time `json:"updatedAt"`
+}
+
+func (t TaskBankingCircle) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(t, "", false)
+}
+
+func (t *TaskBankingCircle) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &t, "", false, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *TaskBankingCircle) GetConnectorID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ConnectorID
+}
+
+func (o *TaskBankingCircle) GetCreatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.CreatedAt
+}
+
+func (o *TaskBankingCircle) GetDescriptor() TaskBankingCircleDescriptor {
+ if o == nil {
+ return TaskBankingCircleDescriptor{}
+ }
+ return o.Descriptor
+}
+
+func (o *TaskBankingCircle) GetError() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *TaskBankingCircle) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *TaskBankingCircle) GetState() TaskBankingCircleState {
+ if o == nil {
+ return TaskBankingCircleState{}
+ }
+ return o.State
+}
+
+func (o *TaskBankingCircle) GetStatus() PaymentStatus {
+ if o == nil {
+ return PaymentStatus("")
+ }
+ return o.Status
+}
+
+func (o *TaskBankingCircle) GetUpdatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.UpdatedAt
+}
diff --git a/libs/clients/go/pkg/models/shared/taskcurrencycloud.go b/libs/clients/go/pkg/models/shared/taskcurrencycloud.go
new file mode 100755
index 0000000000..4a753c541a
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/taskcurrencycloud.go
@@ -0,0 +1,100 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type TaskCurrencyCloudDescriptor struct {
+ Name *string `json:"name,omitempty"`
+}
+
+func (o *TaskCurrencyCloudDescriptor) GetName() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Name
+}
+
+type TaskCurrencyCloudState struct {
+}
+
+type TaskCurrencyCloud struct {
+ ConnectorID string `json:"connectorID"`
+ CreatedAt time.Time `json:"createdAt"`
+ Descriptor TaskCurrencyCloudDescriptor `json:"descriptor"`
+ Error *string `json:"error,omitempty"`
+ ID string `json:"id"`
+ State TaskCurrencyCloudState `json:"state"`
+ Status PaymentStatus `json:"status"`
+ UpdatedAt time.Time `json:"updatedAt"`
+}
+
+func (t TaskCurrencyCloud) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(t, "", false)
+}
+
+func (t *TaskCurrencyCloud) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &t, "", false, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *TaskCurrencyCloud) GetConnectorID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ConnectorID
+}
+
+func (o *TaskCurrencyCloud) GetCreatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.CreatedAt
+}
+
+func (o *TaskCurrencyCloud) GetDescriptor() TaskCurrencyCloudDescriptor {
+ if o == nil {
+ return TaskCurrencyCloudDescriptor{}
+ }
+ return o.Descriptor
+}
+
+func (o *TaskCurrencyCloud) GetError() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *TaskCurrencyCloud) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *TaskCurrencyCloud) GetState() TaskCurrencyCloudState {
+ if o == nil {
+ return TaskCurrencyCloudState{}
+ }
+ return o.State
+}
+
+func (o *TaskCurrencyCloud) GetStatus() PaymentStatus {
+ if o == nil {
+ return PaymentStatus("")
+ }
+ return o.Status
+}
+
+func (o *TaskCurrencyCloud) GetUpdatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.UpdatedAt
+}
diff --git a/libs/clients/go/pkg/models/shared/taskdummypay.go b/libs/clients/go/pkg/models/shared/taskdummypay.go
new file mode 100755
index 0000000000..c7d10bd1c5
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/taskdummypay.go
@@ -0,0 +1,116 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type TaskDummyPayDescriptor struct {
+ FileName *string `json:"fileName,omitempty"`
+ Key *string `json:"key,omitempty"`
+ Name *string `json:"name,omitempty"`
+}
+
+func (o *TaskDummyPayDescriptor) GetFileName() *string {
+ if o == nil {
+ return nil
+ }
+ return o.FileName
+}
+
+func (o *TaskDummyPayDescriptor) GetKey() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Key
+}
+
+func (o *TaskDummyPayDescriptor) GetName() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Name
+}
+
+type TaskDummyPayState struct {
+}
+
+type TaskDummyPay struct {
+ ConnectorID string `json:"connectorID"`
+ CreatedAt time.Time `json:"createdAt"`
+ Descriptor TaskDummyPayDescriptor `json:"descriptor"`
+ Error *string `json:"error,omitempty"`
+ ID string `json:"id"`
+ State TaskDummyPayState `json:"state"`
+ Status PaymentStatus `json:"status"`
+ UpdatedAt time.Time `json:"updatedAt"`
+}
+
+func (t TaskDummyPay) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(t, "", false)
+}
+
+func (t *TaskDummyPay) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &t, "", false, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *TaskDummyPay) GetConnectorID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ConnectorID
+}
+
+func (o *TaskDummyPay) GetCreatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.CreatedAt
+}
+
+func (o *TaskDummyPay) GetDescriptor() TaskDummyPayDescriptor {
+ if o == nil {
+ return TaskDummyPayDescriptor{}
+ }
+ return o.Descriptor
+}
+
+func (o *TaskDummyPay) GetError() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *TaskDummyPay) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *TaskDummyPay) GetState() TaskDummyPayState {
+ if o == nil {
+ return TaskDummyPayState{}
+ }
+ return o.State
+}
+
+func (o *TaskDummyPay) GetStatus() PaymentStatus {
+ if o == nil {
+ return PaymentStatus("")
+ }
+ return o.Status
+}
+
+func (o *TaskDummyPay) GetUpdatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.UpdatedAt
+}
diff --git a/libs/clients/go/pkg/models/shared/taskmangopay.go b/libs/clients/go/pkg/models/shared/taskmangopay.go
new file mode 100755
index 0000000000..f0a7b46b7b
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/taskmangopay.go
@@ -0,0 +1,116 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type TaskMangoPayDescriptor struct {
+ Key *string `json:"key,omitempty"`
+ Name *string `json:"name,omitempty"`
+ UserID *string `json:"userID,omitempty"`
+}
+
+func (o *TaskMangoPayDescriptor) GetKey() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Key
+}
+
+func (o *TaskMangoPayDescriptor) GetName() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Name
+}
+
+func (o *TaskMangoPayDescriptor) GetUserID() *string {
+ if o == nil {
+ return nil
+ }
+ return o.UserID
+}
+
+type TaskMangoPayState struct {
+}
+
+type TaskMangoPay struct {
+ ConnectorID string `json:"connectorID"`
+ CreatedAt time.Time `json:"createdAt"`
+ Descriptor TaskMangoPayDescriptor `json:"descriptor"`
+ Error *string `json:"error,omitempty"`
+ ID string `json:"id"`
+ State TaskMangoPayState `json:"state"`
+ Status PaymentStatus `json:"status"`
+ UpdatedAt time.Time `json:"updatedAt"`
+}
+
+func (t TaskMangoPay) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(t, "", false)
+}
+
+func (t *TaskMangoPay) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &t, "", false, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *TaskMangoPay) GetConnectorID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ConnectorID
+}
+
+func (o *TaskMangoPay) GetCreatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.CreatedAt
+}
+
+func (o *TaskMangoPay) GetDescriptor() TaskMangoPayDescriptor {
+ if o == nil {
+ return TaskMangoPayDescriptor{}
+ }
+ return o.Descriptor
+}
+
+func (o *TaskMangoPay) GetError() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *TaskMangoPay) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *TaskMangoPay) GetState() TaskMangoPayState {
+ if o == nil {
+ return TaskMangoPayState{}
+ }
+ return o.State
+}
+
+func (o *TaskMangoPay) GetStatus() PaymentStatus {
+ if o == nil {
+ return PaymentStatus("")
+ }
+ return o.Status
+}
+
+func (o *TaskMangoPay) GetUpdatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.UpdatedAt
+}
diff --git a/libs/clients/go/pkg/models/shared/taskmodulr.go b/libs/clients/go/pkg/models/shared/taskmodulr.go
new file mode 100755
index 0000000000..5856f38466
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/taskmodulr.go
@@ -0,0 +1,116 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type TaskModulrDescriptor struct {
+ AccountID *string `json:"accountID,omitempty"`
+ Key *string `json:"key,omitempty"`
+ Name *string `json:"name,omitempty"`
+}
+
+func (o *TaskModulrDescriptor) GetAccountID() *string {
+ if o == nil {
+ return nil
+ }
+ return o.AccountID
+}
+
+func (o *TaskModulrDescriptor) GetKey() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Key
+}
+
+func (o *TaskModulrDescriptor) GetName() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Name
+}
+
+type TaskModulrState struct {
+}
+
+type TaskModulr struct {
+ ConnectorID string `json:"connectorID"`
+ CreatedAt time.Time `json:"createdAt"`
+ Descriptor TaskModulrDescriptor `json:"descriptor"`
+ Error *string `json:"error,omitempty"`
+ ID string `json:"id"`
+ State TaskModulrState `json:"state"`
+ Status PaymentStatus `json:"status"`
+ UpdatedAt time.Time `json:"updatedAt"`
+}
+
+func (t TaskModulr) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(t, "", false)
+}
+
+func (t *TaskModulr) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &t, "", false, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *TaskModulr) GetConnectorID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ConnectorID
+}
+
+func (o *TaskModulr) GetCreatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.CreatedAt
+}
+
+func (o *TaskModulr) GetDescriptor() TaskModulrDescriptor {
+ if o == nil {
+ return TaskModulrDescriptor{}
+ }
+ return o.Descriptor
+}
+
+func (o *TaskModulr) GetError() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *TaskModulr) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *TaskModulr) GetState() TaskModulrState {
+ if o == nil {
+ return TaskModulrState{}
+ }
+ return o.State
+}
+
+func (o *TaskModulr) GetStatus() PaymentStatus {
+ if o == nil {
+ return PaymentStatus("")
+ }
+ return o.Status
+}
+
+func (o *TaskModulr) GetUpdatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.UpdatedAt
+}
diff --git a/libs/clients/go/pkg/models/shared/taskmoneycorp.go b/libs/clients/go/pkg/models/shared/taskmoneycorp.go
new file mode 100755
index 0000000000..d4fd16fe10
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/taskmoneycorp.go
@@ -0,0 +1,116 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type TaskMoneycorpDescriptor struct {
+ AccountID *string `json:"accountID,omitempty"`
+ Key *string `json:"key,omitempty"`
+ Name *string `json:"name,omitempty"`
+}
+
+func (o *TaskMoneycorpDescriptor) GetAccountID() *string {
+ if o == nil {
+ return nil
+ }
+ return o.AccountID
+}
+
+func (o *TaskMoneycorpDescriptor) GetKey() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Key
+}
+
+func (o *TaskMoneycorpDescriptor) GetName() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Name
+}
+
+type TaskMoneycorpState struct {
+}
+
+type TaskMoneycorp struct {
+ ConnectorID string `json:"connectorID"`
+ CreatedAt time.Time `json:"createdAt"`
+ Descriptor TaskMoneycorpDescriptor `json:"descriptor"`
+ Error *string `json:"error,omitempty"`
+ ID string `json:"id"`
+ State TaskMoneycorpState `json:"state"`
+ Status PaymentStatus `json:"status"`
+ UpdatedAt time.Time `json:"updatedAt"`
+}
+
+func (t TaskMoneycorp) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(t, "", false)
+}
+
+func (t *TaskMoneycorp) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &t, "", false, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *TaskMoneycorp) GetConnectorID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ConnectorID
+}
+
+func (o *TaskMoneycorp) GetCreatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.CreatedAt
+}
+
+func (o *TaskMoneycorp) GetDescriptor() TaskMoneycorpDescriptor {
+ if o == nil {
+ return TaskMoneycorpDescriptor{}
+ }
+ return o.Descriptor
+}
+
+func (o *TaskMoneycorp) GetError() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *TaskMoneycorp) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *TaskMoneycorp) GetState() TaskMoneycorpState {
+ if o == nil {
+ return TaskMoneycorpState{}
+ }
+ return o.State
+}
+
+func (o *TaskMoneycorp) GetStatus() PaymentStatus {
+ if o == nil {
+ return PaymentStatus("")
+ }
+ return o.Status
+}
+
+func (o *TaskMoneycorp) GetUpdatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.UpdatedAt
+}
diff --git a/libs/clients/go/pkg/models/shared/taskresponse.go b/libs/clients/go/pkg/models/shared/taskresponse.go
new file mode 100755
index 0000000000..ff3abfb952
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/taskresponse.go
@@ -0,0 +1,214 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "errors"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+)
+
+type TaskResponseDataType string
+
+const (
+ TaskResponseDataTypeTaskStripe TaskResponseDataType = "TaskStripe"
+ TaskResponseDataTypeTaskWise TaskResponseDataType = "TaskWise"
+ TaskResponseDataTypeTaskCurrencyCloud TaskResponseDataType = "TaskCurrencyCloud"
+ TaskResponseDataTypeTaskDummyPay TaskResponseDataType = "TaskDummyPay"
+ TaskResponseDataTypeTaskModulr TaskResponseDataType = "TaskModulr"
+ TaskResponseDataTypeTaskBankingCircle TaskResponseDataType = "TaskBankingCircle"
+ TaskResponseDataTypeTaskMangoPay TaskResponseDataType = "TaskMangoPay"
+ TaskResponseDataTypeTaskMoneycorp TaskResponseDataType = "TaskMoneycorp"
+)
+
+type TaskResponseData struct {
+ TaskStripe *TaskStripe
+ TaskWise *TaskWise
+ TaskCurrencyCloud *TaskCurrencyCloud
+ TaskDummyPay *TaskDummyPay
+ TaskModulr *TaskModulr
+ TaskBankingCircle *TaskBankingCircle
+ TaskMangoPay *TaskMangoPay
+ TaskMoneycorp *TaskMoneycorp
+
+ Type TaskResponseDataType
+}
+
+func CreateTaskResponseDataTaskStripe(taskStripe TaskStripe) TaskResponseData {
+ typ := TaskResponseDataTypeTaskStripe
+
+ return TaskResponseData{
+ TaskStripe: &taskStripe,
+ Type: typ,
+ }
+}
+
+func CreateTaskResponseDataTaskWise(taskWise TaskWise) TaskResponseData {
+ typ := TaskResponseDataTypeTaskWise
+
+ return TaskResponseData{
+ TaskWise: &taskWise,
+ Type: typ,
+ }
+}
+
+func CreateTaskResponseDataTaskCurrencyCloud(taskCurrencyCloud TaskCurrencyCloud) TaskResponseData {
+ typ := TaskResponseDataTypeTaskCurrencyCloud
+
+ return TaskResponseData{
+ TaskCurrencyCloud: &taskCurrencyCloud,
+ Type: typ,
+ }
+}
+
+func CreateTaskResponseDataTaskDummyPay(taskDummyPay TaskDummyPay) TaskResponseData {
+ typ := TaskResponseDataTypeTaskDummyPay
+
+ return TaskResponseData{
+ TaskDummyPay: &taskDummyPay,
+ Type: typ,
+ }
+}
+
+func CreateTaskResponseDataTaskModulr(taskModulr TaskModulr) TaskResponseData {
+ typ := TaskResponseDataTypeTaskModulr
+
+ return TaskResponseData{
+ TaskModulr: &taskModulr,
+ Type: typ,
+ }
+}
+
+func CreateTaskResponseDataTaskBankingCircle(taskBankingCircle TaskBankingCircle) TaskResponseData {
+ typ := TaskResponseDataTypeTaskBankingCircle
+
+ return TaskResponseData{
+ TaskBankingCircle: &taskBankingCircle,
+ Type: typ,
+ }
+}
+
+func CreateTaskResponseDataTaskMangoPay(taskMangoPay TaskMangoPay) TaskResponseData {
+ typ := TaskResponseDataTypeTaskMangoPay
+
+ return TaskResponseData{
+ TaskMangoPay: &taskMangoPay,
+ Type: typ,
+ }
+}
+
+func CreateTaskResponseDataTaskMoneycorp(taskMoneycorp TaskMoneycorp) TaskResponseData {
+ typ := TaskResponseDataTypeTaskMoneycorp
+
+ return TaskResponseData{
+ TaskMoneycorp: &taskMoneycorp,
+ Type: typ,
+ }
+}
+
+func (u *TaskResponseData) UnmarshalJSON(data []byte) error {
+
+ taskStripe := TaskStripe{}
+ if err := utils.UnmarshalJSON(data, &taskStripe, "", true, true); err == nil {
+ u.TaskStripe = &taskStripe
+ u.Type = TaskResponseDataTypeTaskStripe
+ return nil
+ }
+
+ taskWise := TaskWise{}
+ if err := utils.UnmarshalJSON(data, &taskWise, "", true, true); err == nil {
+ u.TaskWise = &taskWise
+ u.Type = TaskResponseDataTypeTaskWise
+ return nil
+ }
+
+ taskCurrencyCloud := TaskCurrencyCloud{}
+ if err := utils.UnmarshalJSON(data, &taskCurrencyCloud, "", true, true); err == nil {
+ u.TaskCurrencyCloud = &taskCurrencyCloud
+ u.Type = TaskResponseDataTypeTaskCurrencyCloud
+ return nil
+ }
+
+ taskDummyPay := TaskDummyPay{}
+ if err := utils.UnmarshalJSON(data, &taskDummyPay, "", true, true); err == nil {
+ u.TaskDummyPay = &taskDummyPay
+ u.Type = TaskResponseDataTypeTaskDummyPay
+ return nil
+ }
+
+ taskModulr := TaskModulr{}
+ if err := utils.UnmarshalJSON(data, &taskModulr, "", true, true); err == nil {
+ u.TaskModulr = &taskModulr
+ u.Type = TaskResponseDataTypeTaskModulr
+ return nil
+ }
+
+ taskBankingCircle := TaskBankingCircle{}
+ if err := utils.UnmarshalJSON(data, &taskBankingCircle, "", true, true); err == nil {
+ u.TaskBankingCircle = &taskBankingCircle
+ u.Type = TaskResponseDataTypeTaskBankingCircle
+ return nil
+ }
+
+ taskMangoPay := TaskMangoPay{}
+ if err := utils.UnmarshalJSON(data, &taskMangoPay, "", true, true); err == nil {
+ u.TaskMangoPay = &taskMangoPay
+ u.Type = TaskResponseDataTypeTaskMangoPay
+ return nil
+ }
+
+ taskMoneycorp := TaskMoneycorp{}
+ if err := utils.UnmarshalJSON(data, &taskMoneycorp, "", true, true); err == nil {
+ u.TaskMoneycorp = &taskMoneycorp
+ u.Type = TaskResponseDataTypeTaskMoneycorp
+ return nil
+ }
+
+ return errors.New("could not unmarshal into supported union types")
+}
+
+func (u TaskResponseData) MarshalJSON() ([]byte, error) {
+ if u.TaskStripe != nil {
+ return utils.MarshalJSON(u.TaskStripe, "", true)
+ }
+
+ if u.TaskWise != nil {
+ return utils.MarshalJSON(u.TaskWise, "", true)
+ }
+
+ if u.TaskCurrencyCloud != nil {
+ return utils.MarshalJSON(u.TaskCurrencyCloud, "", true)
+ }
+
+ if u.TaskDummyPay != nil {
+ return utils.MarshalJSON(u.TaskDummyPay, "", true)
+ }
+
+ if u.TaskModulr != nil {
+ return utils.MarshalJSON(u.TaskModulr, "", true)
+ }
+
+ if u.TaskBankingCircle != nil {
+ return utils.MarshalJSON(u.TaskBankingCircle, "", true)
+ }
+
+ if u.TaskMangoPay != nil {
+ return utils.MarshalJSON(u.TaskMangoPay, "", true)
+ }
+
+ if u.TaskMoneycorp != nil {
+ return utils.MarshalJSON(u.TaskMoneycorp, "", true)
+ }
+
+ return nil, errors.New("could not marshal union type: all fields are null")
+}
+
+type TaskResponse struct {
+ Data TaskResponseData `json:"data"`
+}
+
+func (o *TaskResponse) GetData() TaskResponseData {
+ if o == nil {
+ return TaskResponseData{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/taskscursor.go b/libs/clients/go/pkg/models/shared/taskscursor.go
new file mode 100755
index 0000000000..78c0f0bfdb
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/taskscursor.go
@@ -0,0 +1,257 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "errors"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+)
+
+type TasksCursorCursorDataType string
+
+const (
+ TasksCursorCursorDataTypeTaskStripe TasksCursorCursorDataType = "TaskStripe"
+ TasksCursorCursorDataTypeTaskWise TasksCursorCursorDataType = "TaskWise"
+ TasksCursorCursorDataTypeTaskCurrencyCloud TasksCursorCursorDataType = "TaskCurrencyCloud"
+ TasksCursorCursorDataTypeTaskDummyPay TasksCursorCursorDataType = "TaskDummyPay"
+ TasksCursorCursorDataTypeTaskModulr TasksCursorCursorDataType = "TaskModulr"
+ TasksCursorCursorDataTypeTaskBankingCircle TasksCursorCursorDataType = "TaskBankingCircle"
+ TasksCursorCursorDataTypeTaskMangoPay TasksCursorCursorDataType = "TaskMangoPay"
+ TasksCursorCursorDataTypeTaskMoneycorp TasksCursorCursorDataType = "TaskMoneycorp"
+)
+
+type TasksCursorCursorData struct {
+ TaskStripe *TaskStripe
+ TaskWise *TaskWise
+ TaskCurrencyCloud *TaskCurrencyCloud
+ TaskDummyPay *TaskDummyPay
+ TaskModulr *TaskModulr
+ TaskBankingCircle *TaskBankingCircle
+ TaskMangoPay *TaskMangoPay
+ TaskMoneycorp *TaskMoneycorp
+
+ Type TasksCursorCursorDataType
+}
+
+func CreateTasksCursorCursorDataTaskStripe(taskStripe TaskStripe) TasksCursorCursorData {
+ typ := TasksCursorCursorDataTypeTaskStripe
+
+ return TasksCursorCursorData{
+ TaskStripe: &taskStripe,
+ Type: typ,
+ }
+}
+
+func CreateTasksCursorCursorDataTaskWise(taskWise TaskWise) TasksCursorCursorData {
+ typ := TasksCursorCursorDataTypeTaskWise
+
+ return TasksCursorCursorData{
+ TaskWise: &taskWise,
+ Type: typ,
+ }
+}
+
+func CreateTasksCursorCursorDataTaskCurrencyCloud(taskCurrencyCloud TaskCurrencyCloud) TasksCursorCursorData {
+ typ := TasksCursorCursorDataTypeTaskCurrencyCloud
+
+ return TasksCursorCursorData{
+ TaskCurrencyCloud: &taskCurrencyCloud,
+ Type: typ,
+ }
+}
+
+func CreateTasksCursorCursorDataTaskDummyPay(taskDummyPay TaskDummyPay) TasksCursorCursorData {
+ typ := TasksCursorCursorDataTypeTaskDummyPay
+
+ return TasksCursorCursorData{
+ TaskDummyPay: &taskDummyPay,
+ Type: typ,
+ }
+}
+
+func CreateTasksCursorCursorDataTaskModulr(taskModulr TaskModulr) TasksCursorCursorData {
+ typ := TasksCursorCursorDataTypeTaskModulr
+
+ return TasksCursorCursorData{
+ TaskModulr: &taskModulr,
+ Type: typ,
+ }
+}
+
+func CreateTasksCursorCursorDataTaskBankingCircle(taskBankingCircle TaskBankingCircle) TasksCursorCursorData {
+ typ := TasksCursorCursorDataTypeTaskBankingCircle
+
+ return TasksCursorCursorData{
+ TaskBankingCircle: &taskBankingCircle,
+ Type: typ,
+ }
+}
+
+func CreateTasksCursorCursorDataTaskMangoPay(taskMangoPay TaskMangoPay) TasksCursorCursorData {
+ typ := TasksCursorCursorDataTypeTaskMangoPay
+
+ return TasksCursorCursorData{
+ TaskMangoPay: &taskMangoPay,
+ Type: typ,
+ }
+}
+
+func CreateTasksCursorCursorDataTaskMoneycorp(taskMoneycorp TaskMoneycorp) TasksCursorCursorData {
+ typ := TasksCursorCursorDataTypeTaskMoneycorp
+
+ return TasksCursorCursorData{
+ TaskMoneycorp: &taskMoneycorp,
+ Type: typ,
+ }
+}
+
+func (u *TasksCursorCursorData) UnmarshalJSON(data []byte) error {
+
+ taskStripe := TaskStripe{}
+ if err := utils.UnmarshalJSON(data, &taskStripe, "", true, true); err == nil {
+ u.TaskStripe = &taskStripe
+ u.Type = TasksCursorCursorDataTypeTaskStripe
+ return nil
+ }
+
+ taskWise := TaskWise{}
+ if err := utils.UnmarshalJSON(data, &taskWise, "", true, true); err == nil {
+ u.TaskWise = &taskWise
+ u.Type = TasksCursorCursorDataTypeTaskWise
+ return nil
+ }
+
+ taskCurrencyCloud := TaskCurrencyCloud{}
+ if err := utils.UnmarshalJSON(data, &taskCurrencyCloud, "", true, true); err == nil {
+ u.TaskCurrencyCloud = &taskCurrencyCloud
+ u.Type = TasksCursorCursorDataTypeTaskCurrencyCloud
+ return nil
+ }
+
+ taskDummyPay := TaskDummyPay{}
+ if err := utils.UnmarshalJSON(data, &taskDummyPay, "", true, true); err == nil {
+ u.TaskDummyPay = &taskDummyPay
+ u.Type = TasksCursorCursorDataTypeTaskDummyPay
+ return nil
+ }
+
+ taskModulr := TaskModulr{}
+ if err := utils.UnmarshalJSON(data, &taskModulr, "", true, true); err == nil {
+ u.TaskModulr = &taskModulr
+ u.Type = TasksCursorCursorDataTypeTaskModulr
+ return nil
+ }
+
+ taskBankingCircle := TaskBankingCircle{}
+ if err := utils.UnmarshalJSON(data, &taskBankingCircle, "", true, true); err == nil {
+ u.TaskBankingCircle = &taskBankingCircle
+ u.Type = TasksCursorCursorDataTypeTaskBankingCircle
+ return nil
+ }
+
+ taskMangoPay := TaskMangoPay{}
+ if err := utils.UnmarshalJSON(data, &taskMangoPay, "", true, true); err == nil {
+ u.TaskMangoPay = &taskMangoPay
+ u.Type = TasksCursorCursorDataTypeTaskMangoPay
+ return nil
+ }
+
+ taskMoneycorp := TaskMoneycorp{}
+ if err := utils.UnmarshalJSON(data, &taskMoneycorp, "", true, true); err == nil {
+ u.TaskMoneycorp = &taskMoneycorp
+ u.Type = TasksCursorCursorDataTypeTaskMoneycorp
+ return nil
+ }
+
+ return errors.New("could not unmarshal into supported union types")
+}
+
+func (u TasksCursorCursorData) MarshalJSON() ([]byte, error) {
+ if u.TaskStripe != nil {
+ return utils.MarshalJSON(u.TaskStripe, "", true)
+ }
+
+ if u.TaskWise != nil {
+ return utils.MarshalJSON(u.TaskWise, "", true)
+ }
+
+ if u.TaskCurrencyCloud != nil {
+ return utils.MarshalJSON(u.TaskCurrencyCloud, "", true)
+ }
+
+ if u.TaskDummyPay != nil {
+ return utils.MarshalJSON(u.TaskDummyPay, "", true)
+ }
+
+ if u.TaskModulr != nil {
+ return utils.MarshalJSON(u.TaskModulr, "", true)
+ }
+
+ if u.TaskBankingCircle != nil {
+ return utils.MarshalJSON(u.TaskBankingCircle, "", true)
+ }
+
+ if u.TaskMangoPay != nil {
+ return utils.MarshalJSON(u.TaskMangoPay, "", true)
+ }
+
+ if u.TaskMoneycorp != nil {
+ return utils.MarshalJSON(u.TaskMoneycorp, "", true)
+ }
+
+ return nil, errors.New("could not marshal union type: all fields are null")
+}
+
+type TasksCursorCursor struct {
+ Data []TasksCursorCursorData `json:"data"`
+ HasMore bool `json:"hasMore"`
+ Next *string `json:"next,omitempty"`
+ PageSize int64 `json:"pageSize"`
+ Previous *string `json:"previous,omitempty"`
+}
+
+func (o *TasksCursorCursor) GetData() []TasksCursorCursorData {
+ if o == nil {
+ return []TasksCursorCursorData{}
+ }
+ return o.Data
+}
+
+func (o *TasksCursorCursor) GetHasMore() bool {
+ if o == nil {
+ return false
+ }
+ return o.HasMore
+}
+
+func (o *TasksCursorCursor) GetNext() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Next
+}
+
+func (o *TasksCursorCursor) GetPageSize() int64 {
+ if o == nil {
+ return 0
+ }
+ return o.PageSize
+}
+
+func (o *TasksCursorCursor) GetPrevious() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Previous
+}
+
+type TasksCursor struct {
+ Cursor TasksCursorCursor `json:"cursor"`
+}
+
+func (o *TasksCursor) GetCursor() TasksCursorCursor {
+ if o == nil {
+ return TasksCursorCursor{}
+ }
+ return o.Cursor
+}
diff --git a/libs/clients/go/pkg/models/shared/taskstripe.go b/libs/clients/go/pkg/models/shared/taskstripe.go
new file mode 100755
index 0000000000..a3cf97a6fa
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/taskstripe.go
@@ -0,0 +1,116 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type TaskStripeDescriptor struct {
+ Account string `json:"account"`
+ Main *bool `json:"main,omitempty"`
+ Name string `json:"name"`
+}
+
+func (o *TaskStripeDescriptor) GetAccount() string {
+ if o == nil {
+ return ""
+ }
+ return o.Account
+}
+
+func (o *TaskStripeDescriptor) GetMain() *bool {
+ if o == nil {
+ return nil
+ }
+ return o.Main
+}
+
+func (o *TaskStripeDescriptor) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
+
+type TaskStripeState struct {
+}
+
+type TaskStripe struct {
+ ConnectorID string `json:"connectorID"`
+ CreatedAt time.Time `json:"createdAt"`
+ Descriptor TaskStripeDescriptor `json:"descriptor"`
+ Error *string `json:"error,omitempty"`
+ ID string `json:"id"`
+ State TaskStripeState `json:"state"`
+ Status PaymentStatus `json:"status"`
+ UpdatedAt time.Time `json:"updatedAt"`
+}
+
+func (t TaskStripe) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(t, "", false)
+}
+
+func (t *TaskStripe) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &t, "", false, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *TaskStripe) GetConnectorID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ConnectorID
+}
+
+func (o *TaskStripe) GetCreatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.CreatedAt
+}
+
+func (o *TaskStripe) GetDescriptor() TaskStripeDescriptor {
+ if o == nil {
+ return TaskStripeDescriptor{}
+ }
+ return o.Descriptor
+}
+
+func (o *TaskStripe) GetError() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *TaskStripe) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *TaskStripe) GetState() TaskStripeState {
+ if o == nil {
+ return TaskStripeState{}
+ }
+ return o.State
+}
+
+func (o *TaskStripe) GetStatus() PaymentStatus {
+ if o == nil {
+ return PaymentStatus("")
+ }
+ return o.Status
+}
+
+func (o *TaskStripe) GetUpdatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.UpdatedAt
+}
diff --git a/libs/clients/go/pkg/models/shared/taskwise.go b/libs/clients/go/pkg/models/shared/taskwise.go
new file mode 100755
index 0000000000..e1df4f42c0
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/taskwise.go
@@ -0,0 +1,116 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type TaskWiseDescriptor struct {
+ Key *string `json:"key,omitempty"`
+ Name *string `json:"name,omitempty"`
+ ProfileID *int64 `json:"profileID,omitempty"`
+}
+
+func (o *TaskWiseDescriptor) GetKey() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Key
+}
+
+func (o *TaskWiseDescriptor) GetName() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Name
+}
+
+func (o *TaskWiseDescriptor) GetProfileID() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.ProfileID
+}
+
+type TaskWiseState struct {
+}
+
+type TaskWise struct {
+ ConnectorID string `json:"connectorID"`
+ CreatedAt time.Time `json:"createdAt"`
+ Descriptor TaskWiseDescriptor `json:"descriptor"`
+ Error *string `json:"error,omitempty"`
+ ID string `json:"id"`
+ State TaskWiseState `json:"state"`
+ Status PaymentStatus `json:"status"`
+ UpdatedAt time.Time `json:"updatedAt"`
+}
+
+func (t TaskWise) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(t, "", false)
+}
+
+func (t *TaskWise) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &t, "", false, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *TaskWise) GetConnectorID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ConnectorID
+}
+
+func (o *TaskWise) GetCreatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.CreatedAt
+}
+
+func (o *TaskWise) GetDescriptor() TaskWiseDescriptor {
+ if o == nil {
+ return TaskWiseDescriptor{}
+ }
+ return o.Descriptor
+}
+
+func (o *TaskWise) GetError() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *TaskWise) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *TaskWise) GetState() TaskWiseState {
+ if o == nil {
+ return TaskWiseState{}
+ }
+ return o.State
+}
+
+func (o *TaskWise) GetStatus() PaymentStatus {
+ if o == nil {
+ return PaymentStatus("")
+ }
+ return o.Status
+}
+
+func (o *TaskWise) GetUpdatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.UpdatedAt
+}
diff --git a/libs/clients/go/pkg/models/shared/transaction.go b/libs/clients/go/pkg/models/shared/transaction.go
new file mode 100755
index 0000000000..9740dc3250
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/transaction.go
@@ -0,0 +1,71 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+ "time"
+)
+
+type Transaction struct {
+ ID *big.Int `json:"id"`
+ Metadata map[string]string `json:"metadata"`
+ Postings []Posting `json:"postings"`
+ Reference *string `json:"reference,omitempty"`
+ Reverted bool `json:"reverted"`
+ Timestamp time.Time `json:"timestamp"`
+}
+
+func (t Transaction) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(t, "", false)
+}
+
+func (t *Transaction) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &t, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *Transaction) GetID() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.ID
+}
+
+func (o *Transaction) GetMetadata() map[string]string {
+ if o == nil {
+ return map[string]string{}
+ }
+ return o.Metadata
+}
+
+func (o *Transaction) GetPostings() []Posting {
+ if o == nil {
+ return []Posting{}
+ }
+ return o.Postings
+}
+
+func (o *Transaction) GetReference() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Reference
+}
+
+func (o *Transaction) GetReverted() bool {
+ if o == nil {
+ return false
+ }
+ return o.Reverted
+}
+
+func (o *Transaction) GetTimestamp() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.Timestamp
+}
diff --git a/libs/clients/go/pkg/models/shared/transactionscursorresponse.go b/libs/clients/go/pkg/models/shared/transactionscursorresponse.go
new file mode 100755
index 0000000000..22126d126d
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/transactionscursorresponse.go
@@ -0,0 +1,57 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type TransactionsCursorResponseCursor struct {
+ Data []ExpandedTransaction `json:"data"`
+ HasMore bool `json:"hasMore"`
+ Next *string `json:"next,omitempty"`
+ PageSize int64 `json:"pageSize"`
+ Previous *string `json:"previous,omitempty"`
+}
+
+func (o *TransactionsCursorResponseCursor) GetData() []ExpandedTransaction {
+ if o == nil {
+ return []ExpandedTransaction{}
+ }
+ return o.Data
+}
+
+func (o *TransactionsCursorResponseCursor) GetHasMore() bool {
+ if o == nil {
+ return false
+ }
+ return o.HasMore
+}
+
+func (o *TransactionsCursorResponseCursor) GetNext() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Next
+}
+
+func (o *TransactionsCursorResponseCursor) GetPageSize() int64 {
+ if o == nil {
+ return 0
+ }
+ return o.PageSize
+}
+
+func (o *TransactionsCursorResponseCursor) GetPrevious() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Previous
+}
+
+type TransactionsCursorResponse struct {
+ Cursor TransactionsCursorResponseCursor `json:"cursor"`
+}
+
+func (o *TransactionsCursorResponse) GetCursor() TransactionsCursorResponseCursor {
+ if o == nil {
+ return TransactionsCursorResponseCursor{}
+ }
+ return o.Cursor
+}
diff --git a/libs/clients/go/pkg/models/shared/transferinitiation.go b/libs/clients/go/pkg/models/shared/transferinitiation.go
new file mode 100755
index 0000000000..eb94ee9176
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/transferinitiation.go
@@ -0,0 +1,164 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "encoding/json"
+ "fmt"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+ "time"
+)
+
+type TransferInitiationType string
+
+const (
+ TransferInitiationTypeTransfer TransferInitiationType = "TRANSFER"
+ TransferInitiationTypePayout TransferInitiationType = "PAYOUT"
+)
+
+func (e TransferInitiationType) ToPointer() *TransferInitiationType {
+ return &e
+}
+
+func (e *TransferInitiationType) UnmarshalJSON(data []byte) error {
+ var v string
+ if err := json.Unmarshal(data, &v); err != nil {
+ return err
+ }
+ switch v {
+ case "TRANSFER":
+ fallthrough
+ case "PAYOUT":
+ *e = TransferInitiationType(v)
+ return nil
+ default:
+ return fmt.Errorf("invalid value for TransferInitiationType: %v", v)
+ }
+}
+
+type TransferInitiation struct {
+ Amount *big.Int `json:"amount"`
+ Asset string `json:"asset"`
+ ConnectorID string `json:"connectorID"`
+ CreatedAt time.Time `json:"createdAt"`
+ Description string `json:"description"`
+ DestinationAccountID string `json:"destinationAccountID"`
+ Error string `json:"error"`
+ ID string `json:"id"`
+ RelatedPayments []TransferInitiationPayments `json:"relatedPayments,omitempty"`
+ ScheduledAt time.Time `json:"scheduledAt"`
+ SourceAccountID string `json:"sourceAccountID"`
+ Status TransferInitiationStatus `json:"status"`
+ Type TransferInitiationType `json:"type"`
+ UpdatedAt time.Time `json:"updatedAt"`
+}
+
+func (t TransferInitiation) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(t, "", false)
+}
+
+func (t *TransferInitiation) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &t, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *TransferInitiation) GetAmount() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.Amount
+}
+
+func (o *TransferInitiation) GetAsset() string {
+ if o == nil {
+ return ""
+ }
+ return o.Asset
+}
+
+func (o *TransferInitiation) GetConnectorID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ConnectorID
+}
+
+func (o *TransferInitiation) GetCreatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.CreatedAt
+}
+
+func (o *TransferInitiation) GetDescription() string {
+ if o == nil {
+ return ""
+ }
+ return o.Description
+}
+
+func (o *TransferInitiation) GetDestinationAccountID() string {
+ if o == nil {
+ return ""
+ }
+ return o.DestinationAccountID
+}
+
+func (o *TransferInitiation) GetError() string {
+ if o == nil {
+ return ""
+ }
+ return o.Error
+}
+
+func (o *TransferInitiation) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *TransferInitiation) GetRelatedPayments() []TransferInitiationPayments {
+ if o == nil {
+ return nil
+ }
+ return o.RelatedPayments
+}
+
+func (o *TransferInitiation) GetScheduledAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.ScheduledAt
+}
+
+func (o *TransferInitiation) GetSourceAccountID() string {
+ if o == nil {
+ return ""
+ }
+ return o.SourceAccountID
+}
+
+func (o *TransferInitiation) GetStatus() TransferInitiationStatus {
+ if o == nil {
+ return TransferInitiationStatus("")
+ }
+ return o.Status
+}
+
+func (o *TransferInitiation) GetType() TransferInitiationType {
+ if o == nil {
+ return TransferInitiationType("")
+ }
+ return o.Type
+}
+
+func (o *TransferInitiation) GetUpdatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.UpdatedAt
+}
diff --git a/libs/clients/go/pkg/models/shared/transferinitiationpayments.go b/libs/clients/go/pkg/models/shared/transferinitiationpayments.go
new file mode 100755
index 0000000000..23189d62ce
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/transferinitiationpayments.go
@@ -0,0 +1,54 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type TransferInitiationPayments struct {
+ CreatedAt time.Time `json:"createdAt"`
+ Error string `json:"error"`
+ PaymentID string `json:"paymentID"`
+ Status PaymentStatus `json:"status"`
+}
+
+func (t TransferInitiationPayments) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(t, "", false)
+}
+
+func (t *TransferInitiationPayments) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &t, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *TransferInitiationPayments) GetCreatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.CreatedAt
+}
+
+func (o *TransferInitiationPayments) GetError() string {
+ if o == nil {
+ return ""
+ }
+ return o.Error
+}
+
+func (o *TransferInitiationPayments) GetPaymentID() string {
+ if o == nil {
+ return ""
+ }
+ return o.PaymentID
+}
+
+func (o *TransferInitiationPayments) GetStatus() PaymentStatus {
+ if o == nil {
+ return PaymentStatus("")
+ }
+ return o.Status
+}
diff --git a/libs/clients/go/pkg/models/shared/transferinitiationrequest.go b/libs/clients/go/pkg/models/shared/transferinitiationrequest.go
new file mode 100755
index 0000000000..83fa6100a3
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/transferinitiationrequest.go
@@ -0,0 +1,140 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "encoding/json"
+ "fmt"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+ "time"
+)
+
+type TransferInitiationRequestType string
+
+const (
+ TransferInitiationRequestTypeTransfer TransferInitiationRequestType = "TRANSFER"
+ TransferInitiationRequestTypePayout TransferInitiationRequestType = "PAYOUT"
+)
+
+func (e TransferInitiationRequestType) ToPointer() *TransferInitiationRequestType {
+ return &e
+}
+
+func (e *TransferInitiationRequestType) UnmarshalJSON(data []byte) error {
+ var v string
+ if err := json.Unmarshal(data, &v); err != nil {
+ return err
+ }
+ switch v {
+ case "TRANSFER":
+ fallthrough
+ case "PAYOUT":
+ *e = TransferInitiationRequestType(v)
+ return nil
+ default:
+ return fmt.Errorf("invalid value for TransferInitiationRequestType: %v", v)
+ }
+}
+
+type TransferInitiationRequest struct {
+ Amount *big.Int `json:"amount"`
+ Asset string `json:"asset"`
+ ConnectorID *string `json:"connectorID,omitempty"`
+ Description string `json:"description"`
+ DestinationAccountID string `json:"destinationAccountID"`
+ Provider *Connector `json:"provider,omitempty"`
+ Reference string `json:"reference"`
+ ScheduledAt time.Time `json:"scheduledAt"`
+ SourceAccountID string `json:"sourceAccountID"`
+ Type TransferInitiationRequestType `json:"type"`
+ Validated bool `json:"validated"`
+}
+
+func (t TransferInitiationRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(t, "", false)
+}
+
+func (t *TransferInitiationRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &t, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *TransferInitiationRequest) GetAmount() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.Amount
+}
+
+func (o *TransferInitiationRequest) GetAsset() string {
+ if o == nil {
+ return ""
+ }
+ return o.Asset
+}
+
+func (o *TransferInitiationRequest) GetConnectorID() *string {
+ if o == nil {
+ return nil
+ }
+ return o.ConnectorID
+}
+
+func (o *TransferInitiationRequest) GetDescription() string {
+ if o == nil {
+ return ""
+ }
+ return o.Description
+}
+
+func (o *TransferInitiationRequest) GetDestinationAccountID() string {
+ if o == nil {
+ return ""
+ }
+ return o.DestinationAccountID
+}
+
+func (o *TransferInitiationRequest) GetProvider() *Connector {
+ if o == nil {
+ return nil
+ }
+ return o.Provider
+}
+
+func (o *TransferInitiationRequest) GetReference() string {
+ if o == nil {
+ return ""
+ }
+ return o.Reference
+}
+
+func (o *TransferInitiationRequest) GetScheduledAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.ScheduledAt
+}
+
+func (o *TransferInitiationRequest) GetSourceAccountID() string {
+ if o == nil {
+ return ""
+ }
+ return o.SourceAccountID
+}
+
+func (o *TransferInitiationRequest) GetType() TransferInitiationRequestType {
+ if o == nil {
+ return TransferInitiationRequestType("")
+ }
+ return o.Type
+}
+
+func (o *TransferInitiationRequest) GetValidated() bool {
+ if o == nil {
+ return false
+ }
+ return o.Validated
+}
diff --git a/libs/clients/go/pkg/models/shared/transferinitiationresponse.go b/libs/clients/go/pkg/models/shared/transferinitiationresponse.go
new file mode 100755
index 0000000000..858cb027d8
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/transferinitiationresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type TransferInitiationResponse struct {
+ Data TransferInitiation `json:"data"`
+}
+
+func (o *TransferInitiationResponse) GetData() TransferInitiation {
+ if o == nil {
+ return TransferInitiation{}
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/transferinitiationscursor.go b/libs/clients/go/pkg/models/shared/transferinitiationscursor.go
new file mode 100755
index 0000000000..92308d66c1
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/transferinitiationscursor.go
@@ -0,0 +1,57 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type TransferInitiationsCursorCursor struct {
+ Data []TransferInitiation `json:"data"`
+ HasMore bool `json:"hasMore"`
+ Next *string `json:"next,omitempty"`
+ PageSize int64 `json:"pageSize"`
+ Previous *string `json:"previous,omitempty"`
+}
+
+func (o *TransferInitiationsCursorCursor) GetData() []TransferInitiation {
+ if o == nil {
+ return []TransferInitiation{}
+ }
+ return o.Data
+}
+
+func (o *TransferInitiationsCursorCursor) GetHasMore() bool {
+ if o == nil {
+ return false
+ }
+ return o.HasMore
+}
+
+func (o *TransferInitiationsCursorCursor) GetNext() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Next
+}
+
+func (o *TransferInitiationsCursorCursor) GetPageSize() int64 {
+ if o == nil {
+ return 0
+ }
+ return o.PageSize
+}
+
+func (o *TransferInitiationsCursorCursor) GetPrevious() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Previous
+}
+
+type TransferInitiationsCursor struct {
+ Cursor TransferInitiationsCursorCursor `json:"cursor"`
+}
+
+func (o *TransferInitiationsCursor) GetCursor() TransferInitiationsCursorCursor {
+ if o == nil {
+ return TransferInitiationsCursorCursor{}
+ }
+ return o.Cursor
+}
diff --git a/libs/clients/go/pkg/models/shared/transferinitiationstatus.go b/libs/clients/go/pkg/models/shared/transferinitiationstatus.go
new file mode 100755
index 0000000000..a1c4ca38ca
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/transferinitiationstatus.go
@@ -0,0 +1,47 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "encoding/json"
+ "fmt"
+)
+
+type TransferInitiationStatus string
+
+const (
+ TransferInitiationStatusWaitingForValidation TransferInitiationStatus = "WAITING_FOR_VALIDATION"
+ TransferInitiationStatusProcessing TransferInitiationStatus = "PROCESSING"
+ TransferInitiationStatusProcessed TransferInitiationStatus = "PROCESSED"
+ TransferInitiationStatusFailed TransferInitiationStatus = "FAILED"
+ TransferInitiationStatusRejected TransferInitiationStatus = "REJECTED"
+ TransferInitiationStatusValidated TransferInitiationStatus = "VALIDATED"
+)
+
+func (e TransferInitiationStatus) ToPointer() *TransferInitiationStatus {
+ return &e
+}
+
+func (e *TransferInitiationStatus) UnmarshalJSON(data []byte) error {
+ var v string
+ if err := json.Unmarshal(data, &v); err != nil {
+ return err
+ }
+ switch v {
+ case "WAITING_FOR_VALIDATION":
+ fallthrough
+ case "PROCESSING":
+ fallthrough
+ case "PROCESSED":
+ fallthrough
+ case "FAILED":
+ fallthrough
+ case "REJECTED":
+ fallthrough
+ case "VALIDATED":
+ *e = TransferInitiationStatus(v)
+ return nil
+ default:
+ return fmt.Errorf("invalid value for TransferInitiationStatus: %v", v)
+ }
+}
diff --git a/libs/clients/go/pkg/models/shared/transferrequest.go b/libs/clients/go/pkg/models/shared/transferrequest.go
new file mode 100755
index 0000000000..b05e81ba6f
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/transferrequest.go
@@ -0,0 +1,54 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+)
+
+type TransferRequest struct {
+ Amount *big.Int `json:"amount"`
+ Asset string `json:"asset"`
+ Destination string `json:"destination"`
+ Source *string `json:"source,omitempty"`
+}
+
+func (t TransferRequest) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(t, "", false)
+}
+
+func (t *TransferRequest) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &t, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *TransferRequest) GetAmount() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.Amount
+}
+
+func (o *TransferRequest) GetAsset() string {
+ if o == nil {
+ return ""
+ }
+ return o.Asset
+}
+
+func (o *TransferRequest) GetDestination() string {
+ if o == nil {
+ return ""
+ }
+ return o.Destination
+}
+
+func (o *TransferRequest) GetSource() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Source
+}
diff --git a/libs/clients/go/pkg/models/shared/transferresponse.go b/libs/clients/go/pkg/models/shared/transferresponse.go
new file mode 100755
index 0000000000..251bc3ed7f
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/transferresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type TransferResponse struct {
+ ID *string `json:"id,omitempty"`
+}
+
+func (o *TransferResponse) GetID() *string {
+ if o == nil {
+ return nil
+ }
+ return o.ID
+}
diff --git a/libs/clients/go/pkg/models/shared/trigger.go b/libs/clients/go/pkg/models/shared/trigger.go
new file mode 100755
index 0000000000..7fb5e74d58
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/trigger.go
@@ -0,0 +1,70 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type Trigger struct {
+ CreatedAt time.Time `json:"createdAt"`
+ Event string `json:"event"`
+ Filter *string `json:"filter,omitempty"`
+ ID string `json:"id"`
+ Vars map[string]interface{} `json:"vars,omitempty"`
+ WorkflowID string `json:"workflowID"`
+}
+
+func (t Trigger) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(t, "", false)
+}
+
+func (t *Trigger) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &t, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *Trigger) GetCreatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.CreatedAt
+}
+
+func (o *Trigger) GetEvent() string {
+ if o == nil {
+ return ""
+ }
+ return o.Event
+}
+
+func (o *Trigger) GetFilter() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Filter
+}
+
+func (o *Trigger) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *Trigger) GetVars() map[string]interface{} {
+ if o == nil {
+ return nil
+ }
+ return o.Vars
+}
+
+func (o *Trigger) GetWorkflowID() string {
+ if o == nil {
+ return ""
+ }
+ return o.WorkflowID
+}
diff --git a/libs/clients/go/pkg/models/shared/triggerdata.go b/libs/clients/go/pkg/models/shared/triggerdata.go
new file mode 100755
index 0000000000..854416f76b
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/triggerdata.go
@@ -0,0 +1,38 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type TriggerData struct {
+ Event string `json:"event"`
+ Filter *string `json:"filter,omitempty"`
+ Vars map[string]interface{} `json:"vars,omitempty"`
+ WorkflowID string `json:"workflowID"`
+}
+
+func (o *TriggerData) GetEvent() string {
+ if o == nil {
+ return ""
+ }
+ return o.Event
+}
+
+func (o *TriggerData) GetFilter() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Filter
+}
+
+func (o *TriggerData) GetVars() map[string]interface{} {
+ if o == nil {
+ return nil
+ }
+ return o.Vars
+}
+
+func (o *TriggerData) GetWorkflowID() string {
+ if o == nil {
+ return ""
+ }
+ return o.WorkflowID
+}
diff --git a/libs/clients/go/pkg/models/shared/triggeroccurrence.go b/libs/clients/go/pkg/models/shared/triggeroccurrence.go
new file mode 100755
index 0000000000..234637f90c
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/triggeroccurrence.go
@@ -0,0 +1,46 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type TriggerOccurrence struct {
+ Date time.Time `json:"date"`
+ TriggerID string `json:"triggerID"`
+ WorkflowInstanceID string `json:"workflowInstanceID"`
+}
+
+func (t TriggerOccurrence) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(t, "", false)
+}
+
+func (t *TriggerOccurrence) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &t, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *TriggerOccurrence) GetDate() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.Date
+}
+
+func (o *TriggerOccurrence) GetTriggerID() string {
+ if o == nil {
+ return ""
+ }
+ return o.TriggerID
+}
+
+func (o *TriggerOccurrence) GetWorkflowInstanceID() string {
+ if o == nil {
+ return ""
+ }
+ return o.WorkflowInstanceID
+}
diff --git a/libs/clients/go/pkg/models/shared/updateclientrequest.go b/libs/clients/go/pkg/models/shared/updateclientrequest.go
new file mode 100755
index 0000000000..ea5b3b2cff
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/updateclientrequest.go
@@ -0,0 +1,70 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type UpdateClientRequest struct {
+ Description *string `json:"description,omitempty"`
+ Metadata map[string]interface{} `json:"metadata,omitempty"`
+ Name string `json:"name"`
+ PostLogoutRedirectUris []string `json:"postLogoutRedirectUris,omitempty"`
+ Public *bool `json:"public,omitempty"`
+ RedirectUris []string `json:"redirectUris,omitempty"`
+ Scopes []string `json:"scopes,omitempty"`
+ Trusted *bool `json:"trusted,omitempty"`
+}
+
+func (o *UpdateClientRequest) GetDescription() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Description
+}
+
+func (o *UpdateClientRequest) GetMetadata() map[string]interface{} {
+ if o == nil {
+ return nil
+ }
+ return o.Metadata
+}
+
+func (o *UpdateClientRequest) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
+
+func (o *UpdateClientRequest) GetPostLogoutRedirectUris() []string {
+ if o == nil {
+ return nil
+ }
+ return o.PostLogoutRedirectUris
+}
+
+func (o *UpdateClientRequest) GetPublic() *bool {
+ if o == nil {
+ return nil
+ }
+ return o.Public
+}
+
+func (o *UpdateClientRequest) GetRedirectUris() []string {
+ if o == nil {
+ return nil
+ }
+ return o.RedirectUris
+}
+
+func (o *UpdateClientRequest) GetScopes() []string {
+ if o == nil {
+ return nil
+ }
+ return o.Scopes
+}
+
+func (o *UpdateClientRequest) GetTrusted() *bool {
+ if o == nil {
+ return nil
+ }
+ return o.Trusted
+}
diff --git a/libs/clients/go/pkg/models/shared/updateclientresponse.go b/libs/clients/go/pkg/models/shared/updateclientresponse.go
new file mode 100755
index 0000000000..b7c449c79b
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/updateclientresponse.go
@@ -0,0 +1,14 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type UpdateClientResponse struct {
+ Data *Client `json:"data,omitempty"`
+}
+
+func (o *UpdateClientResponse) GetData() *Client {
+ if o == nil {
+ return nil
+ }
+ return o.Data
+}
diff --git a/libs/clients/go/pkg/models/shared/updatetransferinitiationstatusrequest.go b/libs/clients/go/pkg/models/shared/updatetransferinitiationstatusrequest.go
new file mode 100755
index 0000000000..9f85ea1fc2
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/updatetransferinitiationstatusrequest.go
@@ -0,0 +1,58 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "encoding/json"
+ "fmt"
+)
+
+type UpdateTransferInitiationStatusRequestStatus string
+
+const (
+ UpdateTransferInitiationStatusRequestStatusWaitingForValidation UpdateTransferInitiationStatusRequestStatus = "WAITING_FOR_VALIDATION"
+ UpdateTransferInitiationStatusRequestStatusProcessing UpdateTransferInitiationStatusRequestStatus = "PROCESSING"
+ UpdateTransferInitiationStatusRequestStatusProcessed UpdateTransferInitiationStatusRequestStatus = "PROCESSED"
+ UpdateTransferInitiationStatusRequestStatusFailed UpdateTransferInitiationStatusRequestStatus = "FAILED"
+ UpdateTransferInitiationStatusRequestStatusRejected UpdateTransferInitiationStatusRequestStatus = "REJECTED"
+ UpdateTransferInitiationStatusRequestStatusValidated UpdateTransferInitiationStatusRequestStatus = "VALIDATED"
+)
+
+func (e UpdateTransferInitiationStatusRequestStatus) ToPointer() *UpdateTransferInitiationStatusRequestStatus {
+ return &e
+}
+
+func (e *UpdateTransferInitiationStatusRequestStatus) UnmarshalJSON(data []byte) error {
+ var v string
+ if err := json.Unmarshal(data, &v); err != nil {
+ return err
+ }
+ switch v {
+ case "WAITING_FOR_VALIDATION":
+ fallthrough
+ case "PROCESSING":
+ fallthrough
+ case "PROCESSED":
+ fallthrough
+ case "FAILED":
+ fallthrough
+ case "REJECTED":
+ fallthrough
+ case "VALIDATED":
+ *e = UpdateTransferInitiationStatusRequestStatus(v)
+ return nil
+ default:
+ return fmt.Errorf("invalid value for UpdateTransferInitiationStatusRequestStatus: %v", v)
+ }
+}
+
+type UpdateTransferInitiationStatusRequest struct {
+ Status UpdateTransferInitiationStatusRequestStatus `json:"status"`
+}
+
+func (o *UpdateTransferInitiationStatusRequest) GetStatus() UpdateTransferInitiationStatusRequestStatus {
+ if o == nil {
+ return UpdateTransferInitiationStatusRequestStatus("")
+ }
+ return o.Status
+}
diff --git a/libs/clients/go/pkg/models/shared/user.go b/libs/clients/go/pkg/models/shared/user.go
new file mode 100755
index 0000000000..d09b227cef
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/user.go
@@ -0,0 +1,30 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type User struct {
+ Email *string `json:"email,omitempty"`
+ ID *string `json:"id,omitempty"`
+ Subject *string `json:"subject,omitempty"`
+}
+
+func (o *User) GetEmail() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Email
+}
+
+func (o *User) GetID() *string {
+ if o == nil {
+ return nil
+ }
+ return o.ID
+}
+
+func (o *User) GetSubject() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Subject
+}
diff --git a/libs/clients/go/pkg/models/shared/version.go b/libs/clients/go/pkg/models/shared/version.go
new file mode 100755
index 0000000000..0b6ac10149
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/version.go
@@ -0,0 +1,30 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type Version struct {
+ Health bool `json:"health"`
+ Name string `json:"name"`
+ Version string `json:"version"`
+}
+
+func (o *Version) GetHealth() bool {
+ if o == nil {
+ return false
+ }
+ return o.Health
+}
+
+func (o *Version) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
+
+func (o *Version) GetVersion() string {
+ if o == nil {
+ return ""
+ }
+ return o.Version
+}
diff --git a/libs/clients/go/pkg/models/shared/volume.go b/libs/clients/go/pkg/models/shared/volume.go
new file mode 100755
index 0000000000..54460ca963
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/volume.go
@@ -0,0 +1,46 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+)
+
+type Volume struct {
+ Balance *big.Int `json:"balance,omitempty"`
+ Input *big.Int `json:"input"`
+ Output *big.Int `json:"output"`
+}
+
+func (v Volume) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(v, "", false)
+}
+
+func (v *Volume) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &v, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *Volume) GetBalance() *big.Int {
+ if o == nil {
+ return nil
+ }
+ return o.Balance
+}
+
+func (o *Volume) GetInput() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.Input
+}
+
+func (o *Volume) GetOutput() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.Output
+}
diff --git a/libs/clients/go/pkg/models/shared/wallet.go b/libs/clients/go/pkg/models/shared/wallet.go
new file mode 100755
index 0000000000..d6324863d5
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/wallet.go
@@ -0,0 +1,64 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type Wallet struct {
+ CreatedAt time.Time `json:"createdAt"`
+ // The unique ID of the wallet.
+ ID string `json:"id"`
+ Ledger string `json:"ledger"`
+ // Metadata associated with the wallet.
+ Metadata map[string]string `json:"metadata"`
+ Name string `json:"name"`
+}
+
+func (w Wallet) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(w, "", false)
+}
+
+func (w *Wallet) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &w, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *Wallet) GetCreatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.CreatedAt
+}
+
+func (o *Wallet) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *Wallet) GetLedger() string {
+ if o == nil {
+ return ""
+ }
+ return o.Ledger
+}
+
+func (o *Wallet) GetMetadata() map[string]string {
+ if o == nil {
+ return map[string]string{}
+ }
+ return o.Metadata
+}
+
+func (o *Wallet) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
diff --git a/libs/clients/go/pkg/models/shared/walletserrorresponse.go b/libs/clients/go/pkg/models/shared/walletserrorresponse.go
new file mode 100755
index 0000000000..d58efbe988
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/walletserrorresponse.go
@@ -0,0 +1,60 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "encoding/json"
+ "fmt"
+)
+
+type WalletsErrorResponseErrorCode string
+
+const (
+ WalletsErrorResponseErrorCodeValidation WalletsErrorResponseErrorCode = "VALIDATION"
+ WalletsErrorResponseErrorCodeInternalError WalletsErrorResponseErrorCode = "INTERNAL_ERROR"
+ WalletsErrorResponseErrorCodeInsufficientFund WalletsErrorResponseErrorCode = "INSUFFICIENT_FUND"
+ WalletsErrorResponseErrorCodeHoldClosed WalletsErrorResponseErrorCode = "HOLD_CLOSED"
+)
+
+func (e WalletsErrorResponseErrorCode) ToPointer() *WalletsErrorResponseErrorCode {
+ return &e
+}
+
+func (e *WalletsErrorResponseErrorCode) UnmarshalJSON(data []byte) error {
+ var v string
+ if err := json.Unmarshal(data, &v); err != nil {
+ return err
+ }
+ switch v {
+ case "VALIDATION":
+ fallthrough
+ case "INTERNAL_ERROR":
+ fallthrough
+ case "INSUFFICIENT_FUND":
+ fallthrough
+ case "HOLD_CLOSED":
+ *e = WalletsErrorResponseErrorCode(v)
+ return nil
+ default:
+ return fmt.Errorf("invalid value for WalletsErrorResponseErrorCode: %v", v)
+ }
+}
+
+type WalletsErrorResponse struct {
+ ErrorCode WalletsErrorResponseErrorCode `json:"errorCode"`
+ ErrorMessage string `json:"errorMessage"`
+}
+
+func (o *WalletsErrorResponse) GetErrorCode() WalletsErrorResponseErrorCode {
+ if o == nil {
+ return WalletsErrorResponseErrorCode("")
+ }
+ return o.ErrorCode
+}
+
+func (o *WalletsErrorResponse) GetErrorMessage() string {
+ if o == nil {
+ return ""
+ }
+ return o.ErrorMessage
+}
diff --git a/libs/clients/go/pkg/models/shared/walletstransaction.go b/libs/clients/go/pkg/models/shared/walletstransaction.go
new file mode 100755
index 0000000000..c479b50794
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/walletstransaction.go
@@ -0,0 +1,87 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type WalletsTransaction struct {
+ ID *int64 `json:"id,omitempty"`
+ Ledger *string `json:"ledger,omitempty"`
+ // Metadata associated with the wallet.
+ Metadata map[string]string `json:"metadata"`
+ PostCommitVolumes map[string]map[string]WalletsVolume `json:"postCommitVolumes,omitempty"`
+ Postings []Posting `json:"postings"`
+ PreCommitVolumes map[string]map[string]WalletsVolume `json:"preCommitVolumes,omitempty"`
+ Reference *string `json:"reference,omitempty"`
+ Timestamp time.Time `json:"timestamp"`
+}
+
+func (w WalletsTransaction) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(w, "", false)
+}
+
+func (w *WalletsTransaction) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &w, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *WalletsTransaction) GetID() *int64 {
+ if o == nil {
+ return nil
+ }
+ return o.ID
+}
+
+func (o *WalletsTransaction) GetLedger() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Ledger
+}
+
+func (o *WalletsTransaction) GetMetadata() map[string]string {
+ if o == nil {
+ return map[string]string{}
+ }
+ return o.Metadata
+}
+
+func (o *WalletsTransaction) GetPostCommitVolumes() map[string]map[string]WalletsVolume {
+ if o == nil {
+ return nil
+ }
+ return o.PostCommitVolumes
+}
+
+func (o *WalletsTransaction) GetPostings() []Posting {
+ if o == nil {
+ return []Posting{}
+ }
+ return o.Postings
+}
+
+func (o *WalletsTransaction) GetPreCommitVolumes() map[string]map[string]WalletsVolume {
+ if o == nil {
+ return nil
+ }
+ return o.PreCommitVolumes
+}
+
+func (o *WalletsTransaction) GetReference() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Reference
+}
+
+func (o *WalletsTransaction) GetTimestamp() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.Timestamp
+}
diff --git a/libs/clients/go/pkg/models/shared/walletsubject.go b/libs/clients/go/pkg/models/shared/walletsubject.go
new file mode 100755
index 0000000000..b06b40bc8a
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/walletsubject.go
@@ -0,0 +1,30 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type WalletSubject struct {
+ Balance *string `json:"balance,omitempty"`
+ Identifier string `json:"identifier"`
+ Type string `json:"type"`
+}
+
+func (o *WalletSubject) GetBalance() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Balance
+}
+
+func (o *WalletSubject) GetIdentifier() string {
+ if o == nil {
+ return ""
+ }
+ return o.Identifier
+}
+
+func (o *WalletSubject) GetType() string {
+ if o == nil {
+ return ""
+ }
+ return o.Type
+}
diff --git a/libs/clients/go/pkg/models/shared/walletsvolume.go b/libs/clients/go/pkg/models/shared/walletsvolume.go
new file mode 100755
index 0000000000..b1f0075b2d
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/walletsvolume.go
@@ -0,0 +1,46 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "math/big"
+)
+
+type WalletsVolume struct {
+ Balance *big.Int `json:"balance"`
+ Input *big.Int `json:"input"`
+ Output *big.Int `json:"output"`
+}
+
+func (w WalletsVolume) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(w, "", false)
+}
+
+func (w *WalletsVolume) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &w, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *WalletsVolume) GetBalance() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.Balance
+}
+
+func (o *WalletsVolume) GetInput() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.Input
+}
+
+func (o *WalletsVolume) GetOutput() *big.Int {
+ if o == nil {
+ return big.NewInt(0)
+ }
+ return o.Output
+}
diff --git a/libs/clients/go/pkg/models/shared/walletwithbalances.go b/libs/clients/go/pkg/models/shared/walletwithbalances.go
new file mode 100755
index 0000000000..78fa56439e
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/walletwithbalances.go
@@ -0,0 +1,83 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type WalletWithBalancesBalances struct {
+ Main AssetHolder `json:"main"`
+}
+
+func (o *WalletWithBalancesBalances) GetMain() AssetHolder {
+ if o == nil {
+ return AssetHolder{}
+ }
+ return o.Main
+}
+
+type WalletWithBalances struct {
+ Balances WalletWithBalancesBalances `json:"balances"`
+ CreatedAt time.Time `json:"createdAt"`
+ // The unique ID of the wallet.
+ ID string `json:"id"`
+ Ledger string `json:"ledger"`
+ // Metadata associated with the wallet.
+ Metadata map[string]string `json:"metadata"`
+ Name string `json:"name"`
+}
+
+func (w WalletWithBalances) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(w, "", false)
+}
+
+func (w *WalletWithBalances) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &w, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *WalletWithBalances) GetBalances() WalletWithBalancesBalances {
+ if o == nil {
+ return WalletWithBalancesBalances{}
+ }
+ return o.Balances
+}
+
+func (o *WalletWithBalances) GetCreatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.CreatedAt
+}
+
+func (o *WalletWithBalances) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *WalletWithBalances) GetLedger() string {
+ if o == nil {
+ return ""
+ }
+ return o.Ledger
+}
+
+func (o *WalletWithBalances) GetMetadata() map[string]string {
+ if o == nil {
+ return map[string]string{}
+ }
+ return o.Metadata
+}
+
+func (o *WalletWithBalances) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
diff --git a/libs/clients/go/pkg/models/shared/webhooksconfig.go b/libs/clients/go/pkg/models/shared/webhooksconfig.go
new file mode 100755
index 0000000000..9f810dd7e5
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/webhooksconfig.go
@@ -0,0 +1,78 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type WebhooksConfig struct {
+ Active bool `json:"active"`
+ CreatedAt time.Time `json:"createdAt"`
+ Endpoint string `json:"endpoint"`
+ EventTypes []string `json:"eventTypes"`
+ ID string `json:"id"`
+ Secret string `json:"secret"`
+ UpdatedAt time.Time `json:"updatedAt"`
+}
+
+func (w WebhooksConfig) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(w, "", false)
+}
+
+func (w *WebhooksConfig) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &w, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *WebhooksConfig) GetActive() bool {
+ if o == nil {
+ return false
+ }
+ return o.Active
+}
+
+func (o *WebhooksConfig) GetCreatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.CreatedAt
+}
+
+func (o *WebhooksConfig) GetEndpoint() string {
+ if o == nil {
+ return ""
+ }
+ return o.Endpoint
+}
+
+func (o *WebhooksConfig) GetEventTypes() []string {
+ if o == nil {
+ return []string{}
+ }
+ return o.EventTypes
+}
+
+func (o *WebhooksConfig) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *WebhooksConfig) GetSecret() string {
+ if o == nil {
+ return ""
+ }
+ return o.Secret
+}
+
+func (o *WebhooksConfig) GetUpdatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.UpdatedAt
+}
diff --git a/libs/clients/go/pkg/models/shared/webhookserrorresponse.go b/libs/clients/go/pkg/models/shared/webhookserrorresponse.go
new file mode 100755
index 0000000000..47121808a1
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/webhookserrorresponse.go
@@ -0,0 +1,30 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type WebhooksErrorResponse struct {
+ Details *string `json:"details,omitempty"`
+ ErrorCode WebhooksErrorsEnum `json:"errorCode"`
+ ErrorMessage string `json:"errorMessage"`
+}
+
+func (o *WebhooksErrorResponse) GetDetails() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Details
+}
+
+func (o *WebhooksErrorResponse) GetErrorCode() WebhooksErrorsEnum {
+ if o == nil {
+ return WebhooksErrorsEnum("")
+ }
+ return o.ErrorCode
+}
+
+func (o *WebhooksErrorResponse) GetErrorMessage() string {
+ if o == nil {
+ return ""
+ }
+ return o.ErrorMessage
+}
diff --git a/libs/clients/go/pkg/models/shared/webhookserrorsenum.go b/libs/clients/go/pkg/models/shared/webhookserrorsenum.go
new file mode 100755
index 0000000000..10d0687db0
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/webhookserrorsenum.go
@@ -0,0 +1,38 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "encoding/json"
+ "fmt"
+)
+
+type WebhooksErrorsEnum string
+
+const (
+ WebhooksErrorsEnumInternal WebhooksErrorsEnum = "INTERNAL"
+ WebhooksErrorsEnumValidation WebhooksErrorsEnum = "VALIDATION"
+ WebhooksErrorsEnumNotFound WebhooksErrorsEnum = "NOT_FOUND"
+)
+
+func (e WebhooksErrorsEnum) ToPointer() *WebhooksErrorsEnum {
+ return &e
+}
+
+func (e *WebhooksErrorsEnum) UnmarshalJSON(data []byte) error {
+ var v string
+ if err := json.Unmarshal(data, &v); err != nil {
+ return err
+ }
+ switch v {
+ case "INTERNAL":
+ fallthrough
+ case "VALIDATION":
+ fallthrough
+ case "NOT_FOUND":
+ *e = WebhooksErrorsEnum(v)
+ return nil
+ default:
+ return fmt.Errorf("invalid value for WebhooksErrorsEnum: %v", v)
+ }
+}
diff --git a/libs/clients/go/pkg/models/shared/wiseconfig.go b/libs/clients/go/pkg/models/shared/wiseconfig.go
new file mode 100755
index 0000000000..e9f59f462d
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/wiseconfig.go
@@ -0,0 +1,47 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+)
+
+type WiseConfig struct {
+ APIKey string `json:"apiKey"`
+ Name string `json:"name"`
+ // The frequency at which the connector will try to fetch new BalanceTransaction objects from Wise API.
+ //
+ PollingPeriod *string `default:"120s" json:"pollingPeriod"`
+}
+
+func (w WiseConfig) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(w, "", false)
+}
+
+func (w *WiseConfig) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &w, "", false, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *WiseConfig) GetAPIKey() string {
+ if o == nil {
+ return ""
+ }
+ return o.APIKey
+}
+
+func (o *WiseConfig) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
+
+func (o *WiseConfig) GetPollingPeriod() *string {
+ if o == nil {
+ return nil
+ }
+ return o.PollingPeriod
+}
diff --git a/libs/clients/go/pkg/models/shared/workflow.go b/libs/clients/go/pkg/models/shared/workflow.go
new file mode 100755
index 0000000000..85bbe07933
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/workflow.go
@@ -0,0 +1,54 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type Workflow struct {
+ Config WorkflowConfig `json:"config"`
+ CreatedAt time.Time `json:"createdAt"`
+ ID string `json:"id"`
+ UpdatedAt time.Time `json:"updatedAt"`
+}
+
+func (w Workflow) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(w, "", false)
+}
+
+func (w *Workflow) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &w, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *Workflow) GetConfig() WorkflowConfig {
+ if o == nil {
+ return WorkflowConfig{}
+ }
+ return o.Config
+}
+
+func (o *Workflow) GetCreatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.CreatedAt
+}
+
+func (o *Workflow) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *Workflow) GetUpdatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.UpdatedAt
+}
diff --git a/libs/clients/go/pkg/models/shared/workflowconfig.go b/libs/clients/go/pkg/models/shared/workflowconfig.go
new file mode 100755
index 0000000000..2f21f163d8
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/workflowconfig.go
@@ -0,0 +1,22 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type WorkflowConfig struct {
+ Name *string `json:"name,omitempty"`
+ Stages []map[string]interface{} `json:"stages"`
+}
+
+func (o *WorkflowConfig) GetName() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Name
+}
+
+func (o *WorkflowConfig) GetStages() []map[string]interface{} {
+ if o == nil {
+ return []map[string]interface{}{}
+ }
+ return o.Stages
+}
diff --git a/libs/clients/go/pkg/models/shared/workflowinstance.go b/libs/clients/go/pkg/models/shared/workflowinstance.go
new file mode 100755
index 0000000000..cc7a2dc6d7
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/workflowinstance.go
@@ -0,0 +1,86 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type WorkflowInstance struct {
+ CreatedAt time.Time `json:"createdAt"`
+ Error *string `json:"error,omitempty"`
+ ID string `json:"id"`
+ Status []StageStatus `json:"status,omitempty"`
+ Terminated bool `json:"terminated"`
+ TerminatedAt *time.Time `json:"terminatedAt,omitempty"`
+ UpdatedAt time.Time `json:"updatedAt"`
+ WorkflowID string `json:"workflowID"`
+}
+
+func (w WorkflowInstance) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(w, "", false)
+}
+
+func (w *WorkflowInstance) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &w, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *WorkflowInstance) GetCreatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.CreatedAt
+}
+
+func (o *WorkflowInstance) GetError() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *WorkflowInstance) GetID() string {
+ if o == nil {
+ return ""
+ }
+ return o.ID
+}
+
+func (o *WorkflowInstance) GetStatus() []StageStatus {
+ if o == nil {
+ return nil
+ }
+ return o.Status
+}
+
+func (o *WorkflowInstance) GetTerminated() bool {
+ if o == nil {
+ return false
+ }
+ return o.Terminated
+}
+
+func (o *WorkflowInstance) GetTerminatedAt() *time.Time {
+ if o == nil {
+ return nil
+ }
+ return o.TerminatedAt
+}
+
+func (o *WorkflowInstance) GetUpdatedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.UpdatedAt
+}
+
+func (o *WorkflowInstance) GetWorkflowID() string {
+ if o == nil {
+ return ""
+ }
+ return o.WorkflowID
+}
diff --git a/libs/clients/go/pkg/models/shared/workflowinstancehistory.go b/libs/clients/go/pkg/models/shared/workflowinstancehistory.go
new file mode 100755
index 0000000000..00a5a5ddfa
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/workflowinstancehistory.go
@@ -0,0 +1,70 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type WorkflowInstanceHistory struct {
+ Error *string `json:"error,omitempty"`
+ Input Stage `json:"input"`
+ Name string `json:"name"`
+ StartedAt time.Time `json:"startedAt"`
+ Terminated bool `json:"terminated"`
+ TerminatedAt *time.Time `json:"terminatedAt,omitempty"`
+}
+
+func (w WorkflowInstanceHistory) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(w, "", false)
+}
+
+func (w *WorkflowInstanceHistory) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &w, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *WorkflowInstanceHistory) GetError() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *WorkflowInstanceHistory) GetInput() Stage {
+ if o == nil {
+ return Stage{}
+ }
+ return o.Input
+}
+
+func (o *WorkflowInstanceHistory) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
+
+func (o *WorkflowInstanceHistory) GetStartedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.StartedAt
+}
+
+func (o *WorkflowInstanceHistory) GetTerminated() bool {
+ if o == nil {
+ return false
+ }
+ return o.Terminated
+}
+
+func (o *WorkflowInstanceHistory) GetTerminatedAt() *time.Time {
+ if o == nil {
+ return nil
+ }
+ return o.TerminatedAt
+}
diff --git a/libs/clients/go/pkg/models/shared/workflowinstancehistorystage.go b/libs/clients/go/pkg/models/shared/workflowinstancehistorystage.go
new file mode 100755
index 0000000000..e3b14df13e
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/workflowinstancehistorystage.go
@@ -0,0 +1,102 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+import (
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "time"
+)
+
+type WorkflowInstanceHistoryStage struct {
+ Attempt int64 `json:"attempt"`
+ Error *string `json:"error,omitempty"`
+ Input WorkflowInstanceHistoryStageInput `json:"input"`
+ LastFailure *string `json:"lastFailure,omitempty"`
+ Name string `json:"name"`
+ NextExecution *time.Time `json:"nextExecution,omitempty"`
+ Output *WorkflowInstanceHistoryStageOutput `json:"output,omitempty"`
+ StartedAt time.Time `json:"startedAt"`
+ Terminated bool `json:"terminated"`
+ TerminatedAt *time.Time `json:"terminatedAt,omitempty"`
+}
+
+func (w WorkflowInstanceHistoryStage) MarshalJSON() ([]byte, error) {
+ return utils.MarshalJSON(w, "", false)
+}
+
+func (w *WorkflowInstanceHistoryStage) UnmarshalJSON(data []byte) error {
+ if err := utils.UnmarshalJSON(data, &w, "", false, false); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (o *WorkflowInstanceHistoryStage) GetAttempt() int64 {
+ if o == nil {
+ return 0
+ }
+ return o.Attempt
+}
+
+func (o *WorkflowInstanceHistoryStage) GetError() *string {
+ if o == nil {
+ return nil
+ }
+ return o.Error
+}
+
+func (o *WorkflowInstanceHistoryStage) GetInput() WorkflowInstanceHistoryStageInput {
+ if o == nil {
+ return WorkflowInstanceHistoryStageInput{}
+ }
+ return o.Input
+}
+
+func (o *WorkflowInstanceHistoryStage) GetLastFailure() *string {
+ if o == nil {
+ return nil
+ }
+ return o.LastFailure
+}
+
+func (o *WorkflowInstanceHistoryStage) GetName() string {
+ if o == nil {
+ return ""
+ }
+ return o.Name
+}
+
+func (o *WorkflowInstanceHistoryStage) GetNextExecution() *time.Time {
+ if o == nil {
+ return nil
+ }
+ return o.NextExecution
+}
+
+func (o *WorkflowInstanceHistoryStage) GetOutput() *WorkflowInstanceHistoryStageOutput {
+ if o == nil {
+ return nil
+ }
+ return o.Output
+}
+
+func (o *WorkflowInstanceHistoryStage) GetStartedAt() time.Time {
+ if o == nil {
+ return time.Time{}
+ }
+ return o.StartedAt
+}
+
+func (o *WorkflowInstanceHistoryStage) GetTerminated() bool {
+ if o == nil {
+ return false
+ }
+ return o.Terminated
+}
+
+func (o *WorkflowInstanceHistoryStage) GetTerminatedAt() *time.Time {
+ if o == nil {
+ return nil
+ }
+ return o.TerminatedAt
+}
diff --git a/libs/clients/go/pkg/models/shared/workflowinstancehistorystageinput.go b/libs/clients/go/pkg/models/shared/workflowinstancehistorystageinput.go
new file mode 100755
index 0000000000..52b8a1a75a
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/workflowinstancehistorystageinput.go
@@ -0,0 +1,86 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type WorkflowInstanceHistoryStageInput struct {
+ ConfirmHold *ActivityConfirmHold `json:"ConfirmHold,omitempty"`
+ CreateTransaction *ActivityCreateTransaction `json:"CreateTransaction,omitempty"`
+ CreditWallet *ActivityCreditWallet `json:"CreditWallet,omitempty"`
+ DebitWallet *ActivityDebitWallet `json:"DebitWallet,omitempty"`
+ GetAccount *ActivityGetAccount `json:"GetAccount,omitempty"`
+ GetPayment *ActivityGetPayment `json:"GetPayment,omitempty"`
+ GetWallet *ActivityGetWallet `json:"GetWallet,omitempty"`
+ RevertTransaction *ActivityRevertTransaction `json:"RevertTransaction,omitempty"`
+ StripeTransfer *ActivityStripeTransfer `json:"StripeTransfer,omitempty"`
+ VoidHold *ActivityVoidHold `json:"VoidHold,omitempty"`
+}
+
+func (o *WorkflowInstanceHistoryStageInput) GetConfirmHold() *ActivityConfirmHold {
+ if o == nil {
+ return nil
+ }
+ return o.ConfirmHold
+}
+
+func (o *WorkflowInstanceHistoryStageInput) GetCreateTransaction() *ActivityCreateTransaction {
+ if o == nil {
+ return nil
+ }
+ return o.CreateTransaction
+}
+
+func (o *WorkflowInstanceHistoryStageInput) GetCreditWallet() *ActivityCreditWallet {
+ if o == nil {
+ return nil
+ }
+ return o.CreditWallet
+}
+
+func (o *WorkflowInstanceHistoryStageInput) GetDebitWallet() *ActivityDebitWallet {
+ if o == nil {
+ return nil
+ }
+ return o.DebitWallet
+}
+
+func (o *WorkflowInstanceHistoryStageInput) GetGetAccount() *ActivityGetAccount {
+ if o == nil {
+ return nil
+ }
+ return o.GetAccount
+}
+
+func (o *WorkflowInstanceHistoryStageInput) GetGetPayment() *ActivityGetPayment {
+ if o == nil {
+ return nil
+ }
+ return o.GetPayment
+}
+
+func (o *WorkflowInstanceHistoryStageInput) GetGetWallet() *ActivityGetWallet {
+ if o == nil {
+ return nil
+ }
+ return o.GetWallet
+}
+
+func (o *WorkflowInstanceHistoryStageInput) GetRevertTransaction() *ActivityRevertTransaction {
+ if o == nil {
+ return nil
+ }
+ return o.RevertTransaction
+}
+
+func (o *WorkflowInstanceHistoryStageInput) GetStripeTransfer() *ActivityStripeTransfer {
+ if o == nil {
+ return nil
+ }
+ return o.StripeTransfer
+}
+
+func (o *WorkflowInstanceHistoryStageInput) GetVoidHold() *ActivityVoidHold {
+ if o == nil {
+ return nil
+ }
+ return o.VoidHold
+}
diff --git a/libs/clients/go/pkg/models/shared/workflowinstancehistorystageoutput.go b/libs/clients/go/pkg/models/shared/workflowinstancehistorystageoutput.go
new file mode 100755
index 0000000000..4b339fb69c
--- /dev/null
+++ b/libs/clients/go/pkg/models/shared/workflowinstancehistorystageoutput.go
@@ -0,0 +1,54 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package shared
+
+type WorkflowInstanceHistoryStageOutput struct {
+ CreateTransaction *ActivityCreateTransactionOutput `json:"CreateTransaction,omitempty"`
+ DebitWallet *ActivityDebitWalletOutput `json:"DebitWallet,omitempty"`
+ GetAccount *ActivityGetAccountOutput `json:"GetAccount,omitempty"`
+ GetPayment *ActivityGetPaymentOutput `json:"GetPayment,omitempty"`
+ GetWallet *ActivityGetWalletOutput `json:"GetWallet,omitempty"`
+ RevertTransaction *ActivityRevertTransactionOutput `json:"RevertTransaction,omitempty"`
+}
+
+func (o *WorkflowInstanceHistoryStageOutput) GetCreateTransaction() *ActivityCreateTransactionOutput {
+ if o == nil {
+ return nil
+ }
+ return o.CreateTransaction
+}
+
+func (o *WorkflowInstanceHistoryStageOutput) GetDebitWallet() *ActivityDebitWalletOutput {
+ if o == nil {
+ return nil
+ }
+ return o.DebitWallet
+}
+
+func (o *WorkflowInstanceHistoryStageOutput) GetGetAccount() *ActivityGetAccountOutput {
+ if o == nil {
+ return nil
+ }
+ return o.GetAccount
+}
+
+func (o *WorkflowInstanceHistoryStageOutput) GetGetPayment() *ActivityGetPaymentOutput {
+ if o == nil {
+ return nil
+ }
+ return o.GetPayment
+}
+
+func (o *WorkflowInstanceHistoryStageOutput) GetGetWallet() *ActivityGetWalletOutput {
+ if o == nil {
+ return nil
+ }
+ return o.GetWallet
+}
+
+func (o *WorkflowInstanceHistoryStageOutput) GetRevertTransaction() *ActivityRevertTransactionOutput {
+ if o == nil {
+ return nil
+ }
+ return o.RevertTransaction
+}
diff --git a/libs/clients/go/pkg/types/bigint.go b/libs/clients/go/pkg/types/bigint.go
new file mode 100755
index 0000000000..afd0cd2b85
--- /dev/null
+++ b/libs/clients/go/pkg/types/bigint.go
@@ -0,0 +1,21 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package types
+
+import (
+ "fmt"
+ "math/big"
+)
+
+// MustNewBigIntFromString returns an instance of big.Int from a string
+// The string is assumed to be base 10 and if it is not a valid big.Int
+// then the function panics.
+// Avoid using this function in production code.
+func MustNewBigIntFromString(s string) *big.Int {
+ i, ok := new(big.Int).SetString(s, 10)
+ if !ok {
+ panic(fmt.Errorf("failed to parse string as big.Int"))
+ }
+
+ return i
+}
diff --git a/libs/clients/go/pkg/types/date.go b/libs/clients/go/pkg/types/date.go
new file mode 100755
index 0000000000..c4648fa96d
--- /dev/null
+++ b/libs/clients/go/pkg/types/date.go
@@ -0,0 +1,90 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package types
+
+import (
+ "encoding/json"
+ "fmt"
+ "strings"
+ "time"
+)
+
+// Date is a wrapper around time.Time that allows for JSON marshaling a date string formatted as "2006-01-02".
+type Date struct {
+ time.Time
+}
+
+var (
+ _ json.Marshaler = &Date{}
+ _ json.Unmarshaler = &Date{}
+ _ fmt.Stringer = &Date{}
+)
+
+// NewDate returns an instance of Date from a time.Time.
+func NewDate(t time.Time) *Date {
+ d := DateFromTime(t)
+ return &d
+}
+
+// DateFromTime returns a Date from a time.Time.
+func DateFromTime(t time.Time) Date {
+ return Date{t}
+}
+
+// NewDateFromString returns an instance of Date from a string formatted as "2006-01-02".
+func NewDateFromString(str string) (*Date, error) {
+ d, err := DateFromString(str)
+ if err != nil {
+ return nil, err
+ }
+
+ return &d, nil
+}
+
+// DateFromString returns a Date from a string formatted as "2006-01-02".
+func DateFromString(str string) (Date, error) {
+ var d Date
+ var err error
+
+ d.Time, err = time.Parse("2006-01-02", str)
+ return d, err
+}
+
+// MustNewDateFromString returns an instance of Date from a string formatted as "2006-01-02" or panics.
+// Avoid using this function in production code.
+func MustNewDateFromString(str string) *Date {
+ d := MustDateFromString(str)
+ return &d
+}
+
+// MustDateFromString returns a Date from a string formatted as "2006-01-02" or panics.
+// Avoid using this function in production code.
+func MustDateFromString(str string) Date {
+ d, err := DateFromString(str)
+ if err != nil {
+ panic(err)
+ }
+ return d
+}
+
+func (d Date) GetTime() time.Time {
+ return d.Time
+}
+
+func (d Date) MarshalJSON() ([]byte, error) {
+ return []byte(fmt.Sprintf(`"%s"`, d.Time.Format("2006-01-02"))), nil
+}
+
+func (d *Date) UnmarshalJSON(data []byte) error {
+ var err error
+
+ str := string(data)
+ str = strings.Trim(str, `"`)
+
+ d.Time, err = time.Parse("2006-01-02", str)
+ return err
+}
+
+func (d Date) String() string {
+ return d.Time.Format("2006-01-02")
+}
diff --git a/libs/clients/go/pkg/types/datetime.go b/libs/clients/go/pkg/types/datetime.go
new file mode 100755
index 0000000000..0529b25569
--- /dev/null
+++ b/libs/clients/go/pkg/types/datetime.go
@@ -0,0 +1,23 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package types
+
+import "time"
+
+// MustTimeFromString returns a time.Time from a string formatted as "2006-01-02T15:04:05Z07:00" or panics.
+// Avoid using this function in production code.
+func MustTimeFromString(str string) time.Time {
+ t, err := time.Parse(time.RFC3339, str)
+ if err != nil {
+ panic(err)
+ }
+
+ return t
+}
+
+// MustNewTimeFromString returns an instance of time.Time from a string formatted as "2006-01-02T15:04:05Z07:00" or panics.
+// Avoid using this function in production code.
+func MustNewTimeFromString(str string) *time.Time {
+ t := MustTimeFromString(str)
+ return &t
+}
diff --git a/libs/clients/go/pkg/types/decimal.go b/libs/clients/go/pkg/types/decimal.go
new file mode 100755
index 0000000000..a42284b921
--- /dev/null
+++ b/libs/clients/go/pkg/types/decimal.go
@@ -0,0 +1,20 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package types
+
+import (
+ "fmt"
+
+ "github.com/ericlagergren/decimal"
+)
+
+// MustNewDecimalFromString returns an instance of Decimal from a string
+// Avoid using this function in production code.
+func MustNewDecimalFromString(s string) *decimal.Big {
+ d, ok := new(decimal.Big).SetString(s)
+ if !ok {
+ panic(fmt.Errorf("failed to parse string as decimal.Big"))
+ }
+
+ return d
+}
diff --git a/libs/clients/go/pkg/types/pointers.go b/libs/clients/go/pkg/types/pointers.go
new file mode 100755
index 0000000000..4f15e99d42
--- /dev/null
+++ b/libs/clients/go/pkg/types/pointers.go
@@ -0,0 +1,10 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package types
+
+func String(s string) *string { return &s }
+func Bool(b bool) *bool { return &b }
+func Int(i int) *int { return &i }
+func Int64(i int64) *int64 { return &i }
+func Float32(f float32) *float32 { return &f }
+func Float64(f float64) *float64 { return &f }
diff --git a/libs/clients/go/pkg/utils/contenttype.go b/libs/clients/go/pkg/utils/contenttype.go
new file mode 100755
index 0000000000..8ed13e2092
--- /dev/null
+++ b/libs/clients/go/pkg/utils/contenttype.go
@@ -0,0 +1,33 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package utils
+
+import (
+ "fmt"
+ "mime"
+ "strings"
+)
+
+func MatchContentType(contentType string, pattern string) bool {
+ if contentType == pattern || pattern == "*" || pattern == "*/*" {
+ return true
+ }
+
+ mediaType, _, err := mime.ParseMediaType(contentType)
+ if err != nil {
+ return false
+ }
+
+ if mediaType == pattern {
+ return true
+ }
+
+ parts := strings.Split(mediaType, "/")
+ if len(parts) == 2 {
+ if fmt.Sprintf("%s/*", parts[0]) == pattern || fmt.Sprintf("*/%s", parts[1]) == pattern {
+ return true
+ }
+ }
+
+ return false
+}
diff --git a/libs/clients/go/pkg/utils/form.go b/libs/clients/go/pkg/utils/form.go
new file mode 100755
index 0000000000..0d7abfeec0
--- /dev/null
+++ b/libs/clients/go/pkg/utils/form.go
@@ -0,0 +1,117 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package utils
+
+import (
+ "fmt"
+ "math/big"
+ "net/url"
+ "reflect"
+ "strings"
+ "time"
+
+ "github.com/ericlagergren/decimal"
+
+ "github.com/formancehq/formance-sdk-go/pkg/types"
+)
+
+func populateForm(paramName string, explode bool, objType reflect.Type, objValue reflect.Value, delimiter string, getFieldName func(reflect.StructField) string) url.Values {
+
+ formValues := url.Values{}
+
+ if isNil(objType, objValue) {
+ return formValues
+ }
+
+ if objType.Kind() == reflect.Pointer {
+ objType = objType.Elem()
+ objValue = objValue.Elem()
+ }
+
+ switch objType.Kind() {
+ case reflect.Struct:
+ switch objValue.Interface().(type) {
+ case time.Time:
+ formValues.Add(paramName, valToString(objValue.Interface()))
+ case types.Date:
+ formValues.Add(paramName, valToString(objValue.Interface()))
+ case big.Int:
+ formValues.Add(paramName, valToString(objValue.Interface()))
+ case decimal.Big:
+ formValues.Add(paramName, valToString(objValue.Interface()))
+ default:
+ var items []string
+
+ for i := 0; i < objType.NumField(); i++ {
+ fieldType := objType.Field(i)
+ valType := objValue.Field(i)
+
+ if isNil(fieldType.Type, valType) {
+ continue
+ }
+
+ if valType.Kind() == reflect.Pointer {
+ valType = valType.Elem()
+ }
+
+ fieldName := getFieldName(fieldType)
+ if fieldName == "" {
+ continue
+ }
+
+ if explode {
+ formValues.Add(fieldName, valToString(valType.Interface()))
+ } else {
+ items = append(items, fmt.Sprintf("%s%s%s", fieldName, delimiter, valToString(valType.Interface())))
+ }
+ }
+
+ if len(items) > 0 {
+ formValues.Add(paramName, strings.Join(items, delimiter))
+ }
+ }
+ case reflect.Map:
+ items := []string{}
+
+ iter := objValue.MapRange()
+ for iter.Next() {
+ if explode {
+ formValues.Add(iter.Key().String(), valToString(iter.Value().Interface()))
+ } else {
+ items = append(items, fmt.Sprintf("%s%s%s", iter.Key().String(), delimiter, valToString(iter.Value().Interface())))
+ }
+ }
+
+ if len(items) > 0 {
+ formValues.Add(paramName, strings.Join(items, delimiter))
+ }
+ case reflect.Slice, reflect.Array:
+ values := parseDelimitedArray(explode, objValue, delimiter)
+ for _, v := range values {
+ formValues.Add(paramName, v)
+ }
+ default:
+ formValues.Add(paramName, valToString(objValue.Interface()))
+ }
+
+ return formValues
+}
+
+func parseDelimitedArray(explode bool, objValue reflect.Value, delimiter string) []string {
+ values := []string{}
+ items := []string{}
+
+ for i := 0; i < objValue.Len(); i++ {
+ if explode {
+ values = append(values, valToString(objValue.Index(i).Interface()))
+ } else {
+ items = append(items, valToString(objValue.Index(i).Interface()))
+ }
+ }
+
+ if len(items) > 0 {
+ values = append(values, strings.Join(items, delimiter))
+ }
+
+ return values
+}
diff --git a/libs/clients/go/pkg/utils/headers.go b/libs/clients/go/pkg/utils/headers.go
new file mode 100755
index 0000000000..0837022e26
--- /dev/null
+++ b/libs/clients/go/pkg/utils/headers.go
@@ -0,0 +1,102 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package utils
+
+import (
+ "context"
+ "fmt"
+ "net/http"
+ "reflect"
+ "strings"
+)
+
+func PopulateHeaders(ctx context.Context, req *http.Request, headers interface{}) {
+ headerParamsStructType := reflect.TypeOf(headers)
+ headerParamsValType := reflect.ValueOf(headers)
+
+ for i := 0; i < headerParamsStructType.NumField(); i++ {
+ fieldType := headerParamsStructType.Field(i)
+ valType := headerParamsValType.Field(i)
+
+ tag := parseParamTag(headerParamTagKey, fieldType, "simple", false)
+ if tag == nil {
+ continue
+ }
+
+ value := serializeHeader(fieldType.Type, valType, tag.Explode)
+ if value != "" {
+ req.Header.Add(tag.ParamName, value)
+ }
+ }
+}
+
+func serializeHeader(objType reflect.Type, objValue reflect.Value, explode bool) string {
+ if isNil(objType, objValue) {
+ return ""
+ }
+
+ if objType.Kind() == reflect.Pointer {
+ objType = objType.Elem()
+ objValue = objValue.Elem()
+ }
+
+ switch objType.Kind() {
+ case reflect.Struct:
+ items := []string{}
+
+ for i := 0; i < objType.NumField(); i++ {
+ fieldType := objType.Field(i)
+ valType := objValue.Field(i)
+
+ if isNil(fieldType.Type, valType) {
+ continue
+ }
+
+ if fieldType.Type.Kind() == reflect.Pointer {
+ valType = valType.Elem()
+ }
+
+ tag := parseParamTag(headerParamTagKey, fieldType, "simple", false)
+ if tag == nil {
+ continue
+ }
+
+ fieldName := tag.ParamName
+
+ if fieldName == "" {
+ continue
+ }
+
+ if explode {
+ items = append(items, fmt.Sprintf("%s=%s", fieldName, valToString(valType.Interface())))
+ } else {
+ items = append(items, fieldName, valToString(valType.Interface()))
+ }
+ }
+
+ return strings.Join(items, ",")
+ case reflect.Map:
+ items := []string{}
+
+ iter := objValue.MapRange()
+ for iter.Next() {
+ if explode {
+ items = append(items, fmt.Sprintf("%s=%s", iter.Key().String(), valToString(iter.Value().Interface())))
+ } else {
+ items = append(items, iter.Key().String(), valToString(iter.Value().Interface()))
+ }
+ }
+
+ return strings.Join(items, ",")
+ case reflect.Slice, reflect.Array:
+ items := []string{}
+
+ for i := 0; i < objValue.Len(); i++ {
+ items = append(items, valToString(objValue.Index(i).Interface()))
+ }
+
+ return strings.Join(items, ",")
+ default:
+ return valToString(objValue.Interface())
+ }
+}
diff --git a/libs/clients/go/pkg/utils/json.go b/libs/clients/go/pkg/utils/json.go
new file mode 100755
index 0000000000..5ba306ff1b
--- /dev/null
+++ b/libs/clients/go/pkg/utils/json.go
@@ -0,0 +1,579 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package utils
+
+import (
+ "bytes"
+ "encoding/json"
+ "fmt"
+ "math/big"
+ "reflect"
+ "strings"
+ "time"
+ "unsafe"
+
+ "github.com/formancehq/formance-sdk-go/pkg/types"
+
+ "github.com/ericlagergren/decimal"
+)
+
+func MarshalJSON(v interface{}, tag reflect.StructTag, topLevel bool) ([]byte, error) {
+ typ, val := dereferencePointers(reflect.TypeOf(v), reflect.ValueOf(v))
+
+ switch {
+ case isModelType(typ):
+ if topLevel {
+ return json.Marshal(v)
+ }
+
+ if isNil(typ, val) {
+ return []byte("null"), nil
+ }
+
+ out := map[string]json.RawMessage{}
+
+ for i := 0; i < typ.NumField(); i++ {
+ field := typ.Field(i)
+ fieldVal := val.Field(i)
+
+ fieldName := field.Name
+
+ omitEmpty := false
+ jsonTag := field.Tag.Get("json")
+ if jsonTag != "" {
+ for _, tag := range strings.Split(jsonTag, ",") {
+ if tag == "omitempty" {
+ omitEmpty = true
+ } else {
+ fieldName = tag
+ }
+ }
+ }
+
+ if isNil(field.Type, fieldVal) {
+ if omitEmpty {
+ continue
+ }
+ }
+
+ if !field.IsExported() && field.Tag.Get("const") == "" {
+ continue
+ }
+
+ additionalProperties := field.Tag.Get("additionalProperties")
+ if fieldName == "-" && additionalProperties == "" {
+ continue
+ }
+
+ if additionalProperties == "true" {
+ if field.Type.Kind() != reflect.Map {
+ return nil, fmt.Errorf("additionalProperties must be a map")
+ }
+
+ for _, key := range fieldVal.MapKeys() {
+ r, err := marshalValue(fieldVal.MapIndex(key).Interface(), field.Tag)
+ if err != nil {
+ return nil, err
+ }
+
+ out[key.String()] = r
+ }
+
+ continue
+ }
+
+ var fv interface{}
+
+ if field.IsExported() {
+ fv = fieldVal.Interface()
+ } else {
+ pt := reflect.New(typ).Elem()
+ pt.Set(val)
+
+ pf := pt.Field(i)
+
+ fv = reflect.NewAt(pf.Type(), unsafe.Pointer(pf.UnsafeAddr())).Elem().Interface()
+ }
+
+ r, err := marshalValue(fv, field.Tag)
+ if err != nil {
+ return nil, err
+ }
+
+ out[fieldName] = r
+ }
+
+ return json.Marshal(out)
+ default:
+ return marshalValue(v, tag)
+ }
+}
+
+func UnmarshalJSON(b []byte, v interface{}, tag reflect.StructTag, topLevel bool, disallowUnknownFields bool) error {
+ if reflect.TypeOf(v).Kind() != reflect.Ptr {
+ return fmt.Errorf("v must be a pointer")
+ }
+
+ typ, val := dereferencePointers(reflect.TypeOf(v), reflect.ValueOf(v))
+
+ switch {
+ case isModelType(typ):
+ if topLevel || bytes.Equal(b, []byte("null")) {
+ d := json.NewDecoder(bytes.NewReader(b))
+ if disallowUnknownFields {
+ d.DisallowUnknownFields()
+ }
+ return d.Decode(v)
+ }
+
+ var unmarhsaled map[string]json.RawMessage
+
+ if err := json.Unmarshal(b, &unmarhsaled); err != nil {
+ return err
+ }
+
+ var additionalPropertiesField *reflect.StructField
+ var additionalPropertiesValue *reflect.Value
+
+ for i := 0; i < typ.NumField(); i++ {
+ field := typ.Field(i)
+ fieldVal := val.Field(i)
+
+ fieldName := field.Name
+
+ jsonTag := field.Tag.Get("json")
+ if jsonTag != "" {
+ for _, tag := range strings.Split(jsonTag, ",") {
+ if tag != "omitempty" {
+ fieldName = tag
+ }
+ }
+ }
+
+ if field.Tag.Get("additionalProperties") == "true" {
+ additionalPropertiesField = &field
+ additionalPropertiesValue = &fieldVal
+ continue
+ }
+
+ // If we receive a value for a const field ignore it but mark it as unmarshaled
+ if field.Tag.Get("const") != "" {
+ if r, ok := unmarhsaled[fieldName]; ok {
+ val := string(r)
+ if strings.HasPrefix(val, `"`) && strings.HasSuffix(val, `"`) {
+ val = val[1 : len(val)-1]
+ }
+ if val != field.Tag.Get("const") {
+ return fmt.Errorf("const field %s does not match expected value %s", fieldName, field.Tag.Get("const"))
+ }
+
+ delete(unmarhsaled, fieldName)
+ }
+ } else if !field.IsExported() {
+ continue
+ }
+
+ value, ok := unmarhsaled[fieldName]
+ if !ok {
+ defaultTag := field.Tag.Get("default")
+ if defaultTag != "" {
+ value = handleDefaultConstValue(defaultTag, fieldVal.Interface(), field.Tag)
+ ok = true
+ }
+ } else {
+ delete(unmarhsaled, fieldName)
+ }
+
+ if ok {
+ if err := unmarshalValue(value, fieldVal, field.Tag, disallowUnknownFields); err != nil {
+ return err
+ }
+ }
+ }
+
+ keys := make([]string, 0, len(unmarhsaled))
+ for k := range unmarhsaled {
+ keys = append(keys, k)
+ }
+
+ if len(keys) > 0 {
+ if disallowUnknownFields && (additionalPropertiesField == nil || additionalPropertiesValue == nil) {
+ return fmt.Errorf("unknown fields: %v", keys)
+ }
+
+ if additionalPropertiesField != nil && additionalPropertiesValue != nil {
+ if additionalPropertiesValue.Kind() != reflect.Map {
+ return fmt.Errorf("additionalProperties must be a map")
+ }
+
+ additionalPropertiesValue.Set(reflect.MakeMap(additionalPropertiesField.Type))
+
+ for key, value := range unmarhsaled {
+ val := reflect.New(additionalPropertiesField.Type.Elem())
+
+ if err := unmarshalValue(value, val, additionalPropertiesField.Tag, disallowUnknownFields); err != nil {
+ return err
+ }
+
+ additionalPropertiesValue.SetMapIndex(reflect.ValueOf(key), val.Elem())
+ }
+ }
+ }
+ default:
+ return unmarshalValue(b, reflect.ValueOf(v), tag, disallowUnknownFields)
+ }
+
+ return nil
+}
+
+func marshalValue(v interface{}, tag reflect.StructTag) (json.RawMessage, error) {
+ constTag := tag.Get("const")
+ if constTag != "" {
+ return handleDefaultConstValue(constTag, v, tag), nil
+ }
+
+ if isNil(reflect.TypeOf(v), reflect.ValueOf(v)) {
+ defaultTag := tag.Get("default")
+ if defaultTag != "" {
+ return handleDefaultConstValue(defaultTag, v, tag), nil
+ }
+
+ return []byte("null"), nil
+ }
+
+ typ, val := dereferencePointers(reflect.TypeOf(v), reflect.ValueOf(v))
+ switch typ.Kind() {
+ case reflect.Map:
+ if isNil(typ, val) {
+ return []byte("null"), nil
+ }
+
+ out := map[string]json.RawMessage{}
+
+ for _, key := range val.MapKeys() {
+ itemVal := val.MapIndex(key)
+
+ if isNil(itemVal.Type(), itemVal) {
+ out[key.String()] = []byte("null")
+ continue
+ }
+
+ r, err := marshalValue(itemVal.Interface(), tag)
+ if err != nil {
+ return nil, err
+ }
+
+ out[key.String()] = r
+ }
+
+ return json.Marshal(out)
+ case reflect.Slice, reflect.Array:
+ if isNil(typ, val) {
+ return []byte("null"), nil
+ }
+
+ out := []json.RawMessage{}
+
+ for i := 0; i < val.Len(); i++ {
+ itemVal := val.Index(i)
+
+ if isNil(itemVal.Type(), itemVal) {
+ out = append(out, []byte("null"))
+ continue
+ }
+
+ r, err := marshalValue(itemVal.Interface(), tag)
+ if err != nil {
+ return nil, err
+ }
+
+ out = append(out, r)
+ }
+
+ return json.Marshal(out)
+ case reflect.Struct:
+ switch typ {
+ case reflect.TypeOf(time.Time{}):
+ return []byte(fmt.Sprintf(`"%s"`, val.Interface().(time.Time).Format(time.RFC3339Nano))), nil
+ case reflect.TypeOf(big.Int{}):
+ format := tag.Get("bigint")
+ if format == "string" {
+ b := val.Interface().(big.Int)
+ return []byte(fmt.Sprintf(`"%s"`, (&b).String())), nil
+ }
+ case reflect.TypeOf(decimal.Big{}):
+ format := tag.Get("decimal")
+ if format == "number" {
+ b := val.Interface().(decimal.Big)
+ f, ok := (&b).Float64()
+ if ok {
+ return []byte(b.String()), nil
+ }
+
+ return []byte(fmt.Sprintf(`%f`, f)), nil
+ }
+ }
+ }
+
+ return json.Marshal(v)
+}
+
+func handleDefaultConstValue(tagValue string, val interface{}, tag reflect.StructTag) json.RawMessage {
+ if tagValue == "null" {
+ return []byte("null")
+ }
+
+ typ := dereferenceTypePointer(reflect.TypeOf(val))
+ switch typ {
+ case reflect.TypeOf(time.Time{}):
+ return []byte(fmt.Sprintf(`"%s"`, tagValue))
+ case reflect.TypeOf(big.Int{}):
+ bigIntTag := tag.Get("bigint")
+ if bigIntTag == "string" {
+ return []byte(fmt.Sprintf(`"%s"`, tagValue))
+ }
+ case reflect.TypeOf(decimal.Big{}):
+ decimalTag := tag.Get("decimal")
+ if decimalTag != "number" {
+ return []byte(fmt.Sprintf(`"%s"`, tagValue))
+ }
+ case reflect.TypeOf(types.Date{}):
+ return []byte(fmt.Sprintf(`"%s"`, tagValue))
+ default:
+ if typ.Kind() == reflect.String {
+ return []byte(fmt.Sprintf(`"%s"`, tagValue))
+ }
+ }
+
+ return []byte(tagValue)
+}
+
+func unmarshalValue(value json.RawMessage, v reflect.Value, tag reflect.StructTag, disallowUnknownFields bool) error {
+ if bytes.Equal(value, []byte("null")) {
+ if v.CanAddr() {
+ return json.Unmarshal(value, v.Addr().Interface())
+ } else {
+ return json.Unmarshal(value, v.Interface())
+ }
+ }
+
+ typ := dereferenceTypePointer(v.Type())
+
+ switch typ.Kind() {
+ case reflect.Map:
+ if bytes.Equal(value, []byte("null")) || !isComplexValueType(dereferenceTypePointer(typ.Elem())) {
+ if v.CanAddr() {
+ return json.Unmarshal(value, v.Addr().Interface())
+ } else {
+ return json.Unmarshal(value, v.Interface())
+ }
+ }
+
+ var unmarhsaled map[string]json.RawMessage
+
+ if err := json.Unmarshal(value, &unmarhsaled); err != nil {
+ return err
+ }
+
+ m := reflect.MakeMap(typ)
+
+ for k, value := range unmarhsaled {
+ itemVal := reflect.New(typ.Elem())
+
+ if err := unmarshalValue(value, itemVal, tag, disallowUnknownFields); err != nil {
+ return err
+ }
+
+ m.SetMapIndex(reflect.ValueOf(k), itemVal.Elem())
+ }
+
+ v.Set(m)
+ return nil
+ case reflect.Slice, reflect.Array:
+ if bytes.Equal(value, []byte("null")) || !isComplexValueType(dereferenceTypePointer(typ.Elem())) {
+ if v.CanAddr() {
+ return json.Unmarshal(value, v.Addr().Interface())
+ } else {
+ return json.Unmarshal(value, v.Interface())
+ }
+ }
+
+ var unmarhsaled []json.RawMessage
+
+ if err := json.Unmarshal(value, &unmarhsaled); err != nil {
+ return err
+ }
+
+ arrVal := v
+
+ for _, value := range unmarhsaled {
+ itemVal := reflect.New(typ.Elem())
+
+ if err := unmarshalValue(value, itemVal, tag, disallowUnknownFields); err != nil {
+ return err
+ }
+
+ arrVal = reflect.Append(arrVal, itemVal.Elem())
+ }
+
+ v.Set(arrVal)
+ return nil
+ case reflect.Struct:
+ switch typ {
+ case reflect.TypeOf(time.Time{}):
+ var s string
+ if err := json.Unmarshal(value, &s); err != nil {
+ return err
+ }
+
+ t, err := time.Parse(time.RFC3339Nano, s)
+ if err != nil {
+ return fmt.Errorf("failed to parse string as time.Time: %w", err)
+ }
+
+ if v.Kind() == reflect.Ptr {
+ if v.IsNil() {
+ v.Set(reflect.New(typ))
+ }
+ v = v.Elem()
+ }
+
+ v.Set(reflect.ValueOf(t))
+ return nil
+ case reflect.TypeOf(big.Int{}):
+ var b *big.Int
+
+ format := tag.Get("bigint")
+ if format == "string" {
+ var s string
+ if err := json.Unmarshal(value, &s); err != nil {
+ return err
+ }
+
+ var ok bool
+ b, ok = new(big.Int).SetString(s, 10)
+ if !ok {
+ return fmt.Errorf("failed to parse string as big.Int")
+ }
+ } else {
+ if err := json.Unmarshal(value, &b); err != nil {
+ return err
+ }
+ }
+
+ if v.Kind() == reflect.Ptr && v.Elem().Kind() == reflect.Ptr {
+ v = v.Elem()
+ }
+
+ v.Set(reflect.ValueOf(b))
+ return nil
+ case reflect.TypeOf(decimal.Big{}):
+ var d *decimal.Big
+ format := tag.Get("decimal")
+ if format == "number" {
+ var ok bool
+ d, ok = new(decimal.Big).SetString(string(value))
+ if !ok {
+ return fmt.Errorf("failed to parse number as decimal.Big")
+ }
+ } else {
+ if err := json.Unmarshal(value, &d); err != nil {
+ return err
+ }
+ }
+
+ if v.Kind() == reflect.Ptr && v.Elem().Kind() == reflect.Ptr {
+ v = v.Elem()
+ }
+
+ v.Set(reflect.ValueOf(d))
+ return nil
+ case reflect.TypeOf(types.Date{}):
+ var s string
+
+ if err := json.Unmarshal(value, &s); err != nil {
+ return err
+ }
+
+ d, err := types.DateFromString(s)
+ if err != nil {
+ return fmt.Errorf("failed to parse string as types.Date: %w", err)
+ }
+
+ if v.Kind() == reflect.Ptr {
+ if v.IsNil() {
+ v.Set(reflect.New(typ))
+ }
+ v = v.Elem()
+ }
+
+ v.Set(reflect.ValueOf(d))
+ return nil
+ }
+ }
+
+ var val interface{}
+
+ if v.CanAddr() {
+ val = v.Addr().Interface()
+ } else {
+ val = v.Interface()
+ }
+
+ d := json.NewDecoder(bytes.NewReader(value))
+ if disallowUnknownFields {
+ d.DisallowUnknownFields()
+ }
+ return d.Decode(val)
+}
+
+func dereferencePointers(typ reflect.Type, val reflect.Value) (reflect.Type, reflect.Value) {
+ if typ.Kind() == reflect.Ptr {
+ typ = typ.Elem()
+ val = val.Elem()
+ } else {
+ return typ, val
+ }
+
+ return dereferencePointers(typ, val)
+}
+
+func dereferenceTypePointer(typ reflect.Type) reflect.Type {
+ if typ.Kind() == reflect.Ptr {
+ typ = typ.Elem()
+ } else {
+ return typ
+ }
+
+ return dereferenceTypePointer(typ)
+}
+
+func isComplexValueType(typ reflect.Type) bool {
+ switch typ.Kind() {
+ case reflect.Struct:
+ switch typ {
+ case reflect.TypeOf(time.Time{}):
+ fallthrough
+ case reflect.TypeOf(big.Int{}):
+ fallthrough
+ case reflect.TypeOf(decimal.Big{}):
+ fallthrough
+ case reflect.TypeOf(types.Date{}):
+ return true
+ }
+ }
+
+ return false
+}
+
+func isModelType(typ reflect.Type) bool {
+ if isComplexValueType(typ) {
+ return false
+ }
+
+ if typ.Kind() == reflect.Struct {
+ return true
+ }
+
+ return false
+}
diff --git a/libs/clients/go/pkg/utils/pathparams.go b/libs/clients/go/pkg/utils/pathparams.go
new file mode 100755
index 0000000000..d79c0e8571
--- /dev/null
+++ b/libs/clients/go/pkg/utils/pathparams.go
@@ -0,0 +1,145 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package utils
+
+import (
+ "context"
+ "fmt"
+ "math/big"
+ "net/url"
+ "reflect"
+ "strings"
+ "time"
+
+ "github.com/ericlagergren/decimal"
+
+ "github.com/formancehq/formance-sdk-go/pkg/types"
+)
+
+func GenerateURL(ctx context.Context, serverURL, path string, pathParams interface{}, globals map[string]map[string]map[string]interface{}) (string, error) {
+ uri := strings.TrimSuffix(serverURL, "/") + path
+
+ pathParamsStructType := reflect.TypeOf(pathParams)
+ pathParamsValType := reflect.ValueOf(pathParams)
+
+ parsedParameters := map[string]string{}
+
+ for i := 0; i < pathParamsStructType.NumField(); i++ {
+ fieldType := pathParamsStructType.Field(i)
+ valType := pathParamsValType.Field(i)
+
+ requestTag := getRequestTag(fieldType)
+ if requestTag != nil {
+ continue
+ }
+
+ ppTag := parseParamTag(pathParamTagKey, fieldType, "simple", false)
+ if ppTag == nil {
+ continue
+ }
+
+ valType = populateFromGlobals(fieldType, valType, "pathParam", globals)
+
+ if ppTag.Serialization != "" {
+ vals, err := populateSerializedParams(ppTag, fieldType.Type, valType)
+ if err != nil {
+ return "", err
+ }
+ for k, v := range vals {
+ parsedParameters[k] = url.PathEscape(v)
+ }
+ } else {
+ // TODO: support other styles
+ switch ppTag.Style {
+ case "simple":
+ simpleParams := getSimplePathParams(ctx, ppTag.ParamName, fieldType.Type, valType, ppTag.Explode)
+ for k, v := range simpleParams {
+ parsedParameters[k] = v
+ }
+ }
+ }
+ }
+
+ // TODO should we handle the case where there are no matching path params?
+ return ReplaceParameters(uri, parsedParameters), nil
+}
+
+func getSimplePathParams(ctx context.Context, parentName string, objType reflect.Type, objValue reflect.Value, explode bool) map[string]string {
+ pathParams := make(map[string]string)
+
+ if isNil(objType, objValue) {
+ return nil
+ }
+
+ if objType.Kind() == reflect.Ptr {
+ objType = objType.Elem()
+ objValue = objValue.Elem()
+ }
+
+ switch objType.Kind() {
+ case reflect.Array, reflect.Slice:
+ if objValue.Len() == 0 {
+ return nil
+ }
+ var ppVals []string
+ for i := 0; i < objValue.Len(); i++ {
+ ppVals = append(ppVals, valToString(objValue.Index(i).Interface()))
+ }
+ pathParams[parentName] = strings.Join(ppVals, ",")
+ case reflect.Map:
+ if objValue.Len() == 0 {
+ return nil
+ }
+ var ppVals []string
+ objMap := objValue.MapRange()
+ for objMap.Next() {
+ if explode {
+ ppVals = append(ppVals, fmt.Sprintf("%s=%s", objMap.Key().String(), valToString(objMap.Value().Interface())))
+ } else {
+ ppVals = append(ppVals, fmt.Sprintf("%s,%s", objMap.Key().String(), valToString(objMap.Value().Interface())))
+ }
+ }
+ pathParams[parentName] = strings.Join(ppVals, ",")
+ case reflect.Struct:
+ switch objValue.Interface().(type) {
+ case time.Time:
+ pathParams[parentName] = valToString(objValue.Interface())
+ case types.Date:
+ pathParams[parentName] = valToString(objValue.Interface())
+ case big.Int:
+ pathParams[parentName] = valToString(objValue.Interface())
+ case decimal.Big:
+ pathParams[parentName] = valToString(objValue.Interface())
+ default:
+ var ppVals []string
+ for i := 0; i < objType.NumField(); i++ {
+ fieldType := objType.Field(i)
+ valType := objValue.Field(i)
+
+ ppTag := parseParamTag(pathParamTagKey, fieldType, "simple", explode)
+ if ppTag == nil {
+ continue
+ }
+
+ if isNil(fieldType.Type, valType) {
+ continue
+ }
+
+ if fieldType.Type.Kind() == reflect.Pointer {
+ valType = valType.Elem()
+ }
+
+ if explode {
+ ppVals = append(ppVals, fmt.Sprintf("%s=%s", ppTag.ParamName, valToString(valType.Interface())))
+ } else {
+ ppVals = append(ppVals, fmt.Sprintf("%s,%s", ppTag.ParamName, valToString(valType.Interface())))
+ }
+ }
+ pathParams[parentName] = strings.Join(ppVals, ",")
+ }
+ default:
+ pathParams[parentName] = valToString(objValue.Interface())
+ }
+
+ return pathParams
+}
diff --git a/libs/clients/go/pkg/utils/queryparams.go b/libs/clients/go/pkg/utils/queryparams.go
new file mode 100755
index 0000000000..0e94bcee40
--- /dev/null
+++ b/libs/clients/go/pkg/utils/queryparams.go
@@ -0,0 +1,178 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package utils
+
+import (
+ "context"
+ "encoding/json"
+ "fmt"
+ "net/http"
+ "net/url"
+ "reflect"
+)
+
+func PopulateQueryParams(ctx context.Context, req *http.Request, queryParams interface{}, globals map[string]map[string]map[string]interface{}) error {
+ queryParamsStructType := reflect.TypeOf(queryParams)
+ queryParamsValType := reflect.ValueOf(queryParams)
+
+ values := url.Values{}
+
+ for i := 0; i < queryParamsStructType.NumField(); i++ {
+ fieldType := queryParamsStructType.Field(i)
+ valType := queryParamsValType.Field(i)
+
+ requestTag := getRequestTag(fieldType)
+ if requestTag != nil {
+ continue
+ }
+
+ qpTag := parseQueryParamTag(fieldType)
+ if qpTag == nil {
+ continue
+ }
+
+ valType = populateFromGlobals(fieldType, valType, "queryParam", globals)
+
+ if qpTag.Serialization != "" {
+ vals, err := populateSerializedParams(qpTag, fieldType.Type, valType)
+ if err != nil {
+ return err
+ }
+ for k, v := range vals {
+ values.Add(k, v)
+ }
+ } else {
+ switch qpTag.Style {
+ case "deepObject":
+ vals := populateDeepObjectParams(req, qpTag, fieldType.Type, valType)
+ for k, v := range vals {
+ for _, vv := range v {
+ values.Add(k, vv)
+ }
+ }
+ case "form":
+ vals := populateFormParams(req, qpTag, fieldType.Type, valType, ",")
+ for k, v := range vals {
+ for _, vv := range v {
+ values.Add(k, vv)
+ }
+ }
+ case "pipeDelimited":
+ vals := populateFormParams(req, qpTag, fieldType.Type, valType, "|")
+ for k, v := range vals {
+ for _, vv := range v {
+ values.Add(k, vv)
+ }
+ }
+ default:
+ return fmt.Errorf("unsupported style: %s", qpTag.Style)
+ }
+ }
+ }
+
+ req.URL.RawQuery = values.Encode()
+
+ return nil
+}
+
+func populateSerializedParams(tag *paramTag, objType reflect.Type, objValue reflect.Value) (map[string]string, error) {
+ if isNil(objType, objValue) {
+ return nil, nil
+ }
+
+ if objType.Kind() == reflect.Pointer {
+ objValue = objValue.Elem()
+ }
+
+ values := map[string]string{}
+
+ switch tag.Serialization {
+ case "json":
+ data, err := json.Marshal(objValue.Interface())
+ if err != nil {
+ return nil, fmt.Errorf("error marshaling json: %v", err)
+ }
+ values[tag.ParamName] = string(data)
+ }
+
+ return values, nil
+}
+
+func populateDeepObjectParams(req *http.Request, tag *paramTag, objType reflect.Type, objValue reflect.Value) url.Values {
+ values := url.Values{}
+
+ if isNil(objType, objValue) {
+ return values
+ }
+
+ if objType.Kind() == reflect.Pointer {
+ objType = objType.Elem()
+ objValue = objValue.Elem()
+ }
+
+ switch objType.Kind() {
+ case reflect.Struct:
+ for i := 0; i < objType.NumField(); i++ {
+ fieldType := objType.Field(i)
+ valType := objValue.Field(i)
+
+ if isNil(fieldType.Type, valType) {
+ continue
+ }
+
+ if fieldType.Type.Kind() == reflect.Pointer {
+ valType = valType.Elem()
+ }
+
+ qpTag := parseQueryParamTag(fieldType)
+ if qpTag == nil {
+ continue
+ }
+
+ switch valType.Kind() {
+ case reflect.Array, reflect.Slice:
+ for i := 0; i < valType.Len(); i++ {
+ values.Add(fmt.Sprintf("%s[%s]", tag.ParamName, qpTag.ParamName), valToString(valType.Index(i).Interface()))
+ }
+ default:
+ values.Add(fmt.Sprintf("%s[%s]", tag.ParamName, qpTag.ParamName), valToString(valType.Interface()))
+ }
+ }
+ case reflect.Map:
+ iter := objValue.MapRange()
+ for iter.Next() {
+ switch iter.Value().Kind() {
+ case reflect.Array, reflect.Slice:
+ for i := 0; i < iter.Value().Len(); i++ {
+ values.Add(fmt.Sprintf("%s[%s]", tag.ParamName, iter.Key().String()), valToString(iter.Value().Index(i).Interface()))
+ }
+ default:
+ values.Add(fmt.Sprintf("%s[%s]", tag.ParamName, iter.Key().String()), valToString(iter.Value().Interface()))
+ }
+ }
+ }
+
+ return values
+}
+
+func populateFormParams(req *http.Request, tag *paramTag, objType reflect.Type, objValue reflect.Value, delimiter string) url.Values {
+ return populateForm(tag.ParamName, tag.Explode, objType, objValue, delimiter, func(fieldType reflect.StructField) string {
+ qpTag := parseQueryParamTag(fieldType)
+ if qpTag == nil {
+ return ""
+ }
+
+ return qpTag.ParamName
+ })
+}
+
+type paramTag struct {
+ Style string
+ Explode bool
+ ParamName string
+ Serialization string
+}
+
+func parseQueryParamTag(field reflect.StructField) *paramTag {
+ return parseParamTag(queryParamTagKey, field, "form", true)
+}
diff --git a/libs/clients/go/pkg/utils/requestbody.go b/libs/clients/go/pkg/utils/requestbody.go
new file mode 100755
index 0000000000..950f39a311
--- /dev/null
+++ b/libs/clients/go/pkg/utils/requestbody.go
@@ -0,0 +1,396 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package utils
+
+import (
+ "bytes"
+ "context"
+ "fmt"
+ "io"
+ "mime/multipart"
+ "net/url"
+ "reflect"
+ "regexp"
+)
+
+const (
+ requestTagKey = "request"
+ multipartFormTagKey = "multipartForm"
+ formTagKey = "form"
+)
+
+var (
+ jsonEncodingRegex = regexp.MustCompile(`(application|text)\/.*?\+*json.*`)
+ multipartEncodingRegex = regexp.MustCompile(`multipart\/.*`)
+ urlEncodedEncodingRegex = regexp.MustCompile(`application\/x-www-form-urlencoded.*`)
+)
+
+func SerializeRequestBody(ctx context.Context, request interface{}, nullable, optional bool, requestFieldName, serializationMethod, tag string) (io.Reader, string, error) {
+ requestStructType := reflect.TypeOf(request)
+ requestValType := reflect.ValueOf(request)
+
+ if isNil(requestStructType, requestValType) {
+ if !nullable && optional {
+ return nil, "", nil
+ }
+
+ return serializeContentType(requestFieldName, SerializationMethodToContentType[serializationMethod], requestValType, tag)
+ }
+
+ if requestStructType.Kind() == reflect.Pointer {
+ requestStructType = requestStructType.Elem()
+ requestValType = requestValType.Elem()
+ }
+
+ if requestStructType.Kind() != reflect.Struct {
+ return serializeContentType(requestFieldName, SerializationMethodToContentType[serializationMethod], requestValType, tag)
+ }
+
+ requestField, ok := requestStructType.FieldByName(requestFieldName)
+
+ if ok {
+ tag := getRequestTag(requestField)
+ if tag != nil {
+ // request object (non-flattened)
+ requestVal := requestValType.FieldByName(requestFieldName)
+ if isNil(requestField.Type, requestVal) {
+ if !nullable && optional {
+ return nil, "", nil
+ }
+
+ return serializeContentType(requestFieldName, tag.MediaType, requestVal, string(requestField.Tag))
+ }
+
+ return serializeContentType(requestFieldName, tag.MediaType, requestVal, string(requestField.Tag))
+ }
+ }
+
+ // flattened request object
+ return serializeContentType(requestFieldName, SerializationMethodToContentType[serializationMethod], reflect.ValueOf(request), tag)
+}
+
+func serializeContentType(fieldName string, mediaType string, val reflect.Value, tag string) (*bytes.Buffer, string, error) {
+ buf := &bytes.Buffer{}
+
+ if isNil(val.Type(), val) {
+ // TODO: what does a null mean for other content types? Just returning an empty buffer for now
+ if jsonEncodingRegex.MatchString(mediaType) {
+ if _, err := buf.Write([]byte("null")); err != nil {
+ return nil, "", err
+ }
+ }
+
+ return buf, mediaType, nil
+ }
+
+ switch {
+ case jsonEncodingRegex.MatchString(mediaType):
+ data, err := MarshalJSON(val.Interface(), reflect.StructTag(tag), true)
+ if err != nil {
+ return nil, "", err
+ }
+
+ if _, err := buf.Write(data); err != nil {
+ return nil, "", err
+ }
+ case multipartEncodingRegex.MatchString(mediaType):
+ var err error
+ mediaType, err = encodeMultipartFormData(buf, val.Interface())
+ if err != nil {
+ return nil, "", err
+ }
+ case urlEncodedEncodingRegex.MatchString(mediaType):
+ if err := encodeFormData(fieldName, buf, val.Interface()); err != nil {
+ return nil, "", err
+ }
+ default:
+ val = reflect.Indirect(val)
+
+ switch {
+ case val.Type().Kind() == reflect.String:
+ if _, err := buf.WriteString(valToString(val.Interface())); err != nil {
+ return nil, "", err
+ }
+ case val.Type() == reflect.TypeOf([]byte(nil)):
+ if _, err := buf.Write(val.Bytes()); err != nil {
+ return nil, "", err
+ }
+ default:
+ return nil, "", fmt.Errorf("invalid request body type %s for mediaType %s", val.Type(), mediaType)
+ }
+ }
+
+ return buf, mediaType, nil
+}
+
+func encodeMultipartFormData(w io.Writer, data interface{}) (string, error) {
+ requestStructType := reflect.TypeOf(data)
+ requestValType := reflect.ValueOf(data)
+
+ if requestStructType.Kind() == reflect.Pointer {
+ requestStructType = requestStructType.Elem()
+ requestValType = requestValType.Elem()
+ }
+
+ writer := multipart.NewWriter(w)
+
+ for i := 0; i < requestStructType.NumField(); i++ {
+ field := requestStructType.Field(i)
+ fieldType := field.Type
+ valType := requestValType.Field(i)
+
+ if isNil(fieldType, valType) {
+ continue
+ }
+
+ if fieldType.Kind() == reflect.Pointer {
+ fieldType = fieldType.Elem()
+ valType = valType.Elem()
+ }
+
+ tag := parseMultipartFormTag(field)
+ if tag.File {
+ if err := encodeMultipartFormDataFile(writer, fieldType, valType); err != nil {
+ writer.Close()
+ return "", err
+ }
+ } else if tag.JSON {
+ jw, err := writer.CreateFormField(tag.Name)
+ if err != nil {
+ writer.Close()
+ return "", err
+ }
+ d, err := MarshalJSON(valType.Interface(), field.Tag, true)
+ if err != nil {
+ writer.Close()
+ return "", err
+ }
+ if _, err := jw.Write(d); err != nil {
+ writer.Close()
+ return "", err
+ }
+ } else {
+ switch fieldType.Kind() {
+ case reflect.Slice, reflect.Array:
+ values := parseDelimitedArray(true, valType, ",")
+ for _, v := range values {
+ if err := writer.WriteField(tag.Name+"[]", v); err != nil {
+ writer.Close()
+ return "", err
+ }
+ }
+ default:
+ if err := writer.WriteField(tag.Name, valToString(valType.Interface())); err != nil {
+ writer.Close()
+ return "", err
+ }
+ }
+ }
+ }
+
+ if err := writer.Close(); err != nil {
+ return "", err
+ }
+
+ return writer.FormDataContentType(), nil
+}
+
+func encodeMultipartFormDataFile(w *multipart.Writer, fieldType reflect.Type, valType reflect.Value) error {
+ if fieldType.Kind() != reflect.Struct {
+ return fmt.Errorf("invalid type %s for multipart/form-data file", valType.Type())
+ }
+
+ var fieldName string
+ var fileName string
+ var content []byte
+
+ for i := 0; i < fieldType.NumField(); i++ {
+ field := fieldType.Field(i)
+ val := valType.Field(i)
+
+ tag := parseMultipartFormTag(field)
+ if !tag.Content && tag.Name == "" {
+ continue
+ }
+
+ if tag.Content {
+ content = val.Bytes()
+ } else {
+ fieldName = tag.Name
+ fileName = val.String()
+ }
+ }
+
+ if fieldName == "" || fileName == "" || content == nil {
+ return fmt.Errorf("invalid multipart/form-data file")
+ }
+
+ fw, err := w.CreateFormFile(fieldName, fileName)
+ if err != nil {
+ return err
+ }
+ if _, err := fw.Write(content); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func encodeFormData(fieldName string, w io.Writer, data interface{}) error {
+ requestType := reflect.TypeOf(data)
+ requestValType := reflect.ValueOf(data)
+
+ if requestType.Kind() == reflect.Pointer {
+ requestType = requestType.Elem()
+ requestValType = requestValType.Elem()
+ }
+
+ dataValues := url.Values{}
+
+ switch requestType.Kind() {
+ case reflect.Struct:
+ for i := 0; i < requestType.NumField(); i++ {
+ field := requestType.Field(i)
+ fieldType := field.Type
+ valType := requestValType.Field(i)
+
+ if isNil(fieldType, valType) {
+ continue
+ }
+
+ if fieldType.Kind() == reflect.Pointer {
+ fieldType = fieldType.Elem()
+ valType = valType.Elem()
+ }
+
+ tag := parseFormTag(field)
+ if tag.JSON {
+ data, err := MarshalJSON(valType.Interface(), field.Tag, true)
+ if err != nil {
+ return err
+ }
+ dataValues.Set(tag.Name, string(data))
+ } else {
+ switch tag.Style {
+ // TODO: support other styles
+ case "form":
+ values := populateForm(tag.Name, tag.Explode, fieldType, valType, ",", func(sf reflect.StructField) string {
+ tag := parseFormTag(field)
+ if tag == nil {
+ return ""
+ }
+
+ return tag.Name
+ })
+ for k, v := range values {
+ for _, vv := range v {
+ dataValues.Add(k, vv)
+ }
+ }
+ }
+ }
+ }
+ case reflect.Map:
+ for _, k := range requestValType.MapKeys() {
+ v := requestValType.MapIndex(k)
+ dataValues.Set(fmt.Sprintf("%v", k.Interface()), valToString(v.Interface()))
+ }
+ case reflect.Slice, reflect.Array:
+ for i := 0; i < requestValType.Len(); i++ {
+ v := requestValType.Index(i)
+ dataValues.Set(fieldName, valToString(v.Interface()))
+ }
+ }
+
+ if _, err := w.Write([]byte(dataValues.Encode())); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+type requestTag struct {
+ MediaType string
+}
+
+func getRequestTag(field reflect.StructField) *requestTag {
+ // example `request:"mediaType=multipart/form-data"`
+ values := parseStructTag(requestTagKey, field)
+ if values == nil {
+ return nil
+ }
+
+ tag := &requestTag{
+ MediaType: "application/octet-stream",
+ }
+
+ for k, v := range values {
+ switch k {
+ case "mediaType":
+ tag.MediaType = v
+ }
+ }
+
+ return tag
+}
+
+type multipartFormTag struct {
+ File bool
+ Content bool
+ JSON bool
+ Name string
+}
+
+func parseMultipartFormTag(field reflect.StructField) *multipartFormTag {
+ // example `multipartForm:"name=file"`
+ values := parseStructTag(multipartFormTagKey, field)
+
+ tag := &multipartFormTag{}
+
+ for k, v := range values {
+ switch k {
+ case "file":
+ tag.File = v == "true"
+ case "content":
+ tag.Content = v == "true"
+ case "name":
+ tag.Name = v
+ case "json":
+ tag.JSON = v == "true"
+ }
+ }
+
+ return tag
+}
+
+type formTag struct {
+ Name string
+ JSON bool
+ Style string
+ Explode bool
+}
+
+func parseFormTag(field reflect.StructField) *formTag {
+ // example `form:"name=propName,style=spaceDelimited,explode"`
+ values := parseStructTag(formTagKey, field)
+
+ tag := &formTag{
+ Style: "form",
+ Explode: true,
+ }
+
+ for k, v := range values {
+ switch k {
+ case "name":
+ tag.Name = v
+ case "json":
+ tag.JSON = v == "true"
+ case "style":
+ tag.Style = v
+ case "explode":
+ tag.Explode = v == "true"
+ }
+ }
+
+ return tag
+}
diff --git a/libs/clients/go/pkg/utils/retries.go b/libs/clients/go/pkg/utils/retries.go
new file mode 100755
index 0000000000..ff39d0d848
--- /dev/null
+++ b/libs/clients/go/pkg/utils/retries.go
@@ -0,0 +1,117 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package utils
+
+import (
+ "context"
+ "errors"
+ "fmt"
+ "net/http"
+ "net/url"
+ "strconv"
+ "strings"
+ "time"
+
+ "github.com/cenkalti/backoff/v4"
+)
+
+var errRequestFailed = errors.New("request failed")
+
+type BackoffStrategy struct {
+ InitialInterval int
+ MaxInterval int
+ Exponent float64
+ MaxElapsedTime int
+}
+
+type RetryConfig struct {
+ Strategy string
+ Backoff *BackoffStrategy
+ RetryConnectionErrors bool
+}
+
+type Retries struct {
+ Config *RetryConfig
+ StatusCodes []string
+}
+
+func Retry(ctx context.Context, r Retries, action func() (*http.Response, error)) (*http.Response, error) {
+ switch r.Config.Strategy {
+ case "backoff":
+ if r.Config.Backoff == nil {
+ return action()
+ }
+
+ config := backoff.NewExponentialBackOff()
+ config.InitialInterval = time.Duration(r.Config.Backoff.InitialInterval) * time.Millisecond
+ config.MaxInterval = time.Duration(r.Config.Backoff.MaxInterval) * time.Millisecond
+ config.Multiplier = r.Config.Backoff.Exponent
+ config.MaxElapsedTime = time.Duration(r.Config.Backoff.MaxElapsedTime) * time.Millisecond
+ config.Reset()
+
+ var resp *http.Response
+
+ err := backoff.Retry(func() error {
+ if resp != nil {
+ resp.Body.Close()
+ }
+
+ select {
+ case <-ctx.Done():
+ return backoff.Permanent(ctx.Err())
+ default:
+ }
+
+ res, err := action()
+ if err != nil {
+ urlError := new(url.Error)
+ if errors.As(err, &urlError) {
+ if (urlError.Temporary() || urlError.Timeout()) && r.Config.RetryConnectionErrors {
+ return err
+ }
+ }
+
+ return backoff.Permanent(err)
+ }
+ resp = res
+ if res == nil {
+ return fmt.Errorf("no response")
+ }
+
+ for _, code := range r.StatusCodes {
+ if strings.Contains(strings.ToUpper(code), "X") {
+ codeRange, err := strconv.Atoi(code[:1])
+ if err != nil {
+ continue
+ }
+
+ s := res.StatusCode / 100
+
+ if s >= codeRange && s < codeRange+1 {
+ return errRequestFailed
+ }
+ } else {
+ parsedCode, err := strconv.Atoi(code)
+ if err != nil {
+ continue
+ }
+
+ if res.StatusCode == parsedCode {
+ return errRequestFailed
+ }
+ }
+ }
+
+ resp = res
+
+ return nil
+ }, config)
+ if err != nil && !errors.Is(err, errRequestFailed) {
+ return nil, err
+ }
+
+ return resp, nil
+ default:
+ return action()
+ }
+}
diff --git a/libs/clients/go/pkg/utils/security.go b/libs/clients/go/pkg/utils/security.go
new file mode 100755
index 0000000000..fa5eff7df5
--- /dev/null
+++ b/libs/clients/go/pkg/utils/security.go
@@ -0,0 +1,298 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package utils
+
+import (
+ "context"
+ "encoding/base64"
+ "fmt"
+ "net/http"
+ "reflect"
+ "strings"
+)
+
+type HTTPClient interface {
+ Do(req *http.Request) (*http.Response, error)
+}
+
+const (
+ securityTagKey = "security"
+)
+
+type securityTag struct {
+ Option bool
+ Scheme bool
+ Name string
+ Type string
+ SubType string
+}
+
+type securityConfig struct {
+ headers map[string]string
+ queryParams map[string]string
+}
+
+type SecurityClient struct {
+ HTTPClient
+ security func(ctx context.Context) (interface{}, error)
+}
+
+func newSecurityClient(client HTTPClient, security func(ctx context.Context) (interface{}, error)) *SecurityClient {
+ return &SecurityClient{
+ HTTPClient: client,
+ security: security,
+ }
+}
+
+func (c *SecurityClient) Do(req *http.Request) (*http.Response, error) {
+ securityCtx, err := c.security(req.Context())
+ if err != nil {
+ return nil, err
+ }
+
+ ctx := securityConfig{
+ headers: make(map[string]string),
+ queryParams: make(map[string]string),
+ }
+ parseSecurityStruct(&ctx, securityCtx)
+
+ for k, v := range ctx.headers {
+ req.Header.Set(k, v)
+ }
+
+ queryParams := req.URL.Query()
+
+ for k, v := range ctx.queryParams {
+ queryParams.Add(k, v)
+ }
+
+ req.URL.RawQuery = queryParams.Encode()
+
+ return c.HTTPClient.Do(req)
+}
+
+func ConfigureSecurityClient(c HTTPClient, security func(ctx context.Context) (interface{}, error)) *SecurityClient {
+ return newSecurityClient(c, security)
+}
+
+func trueReflectValue(val reflect.Value) reflect.Value {
+ kind := val.Type().Kind()
+ for kind == reflect.Interface || kind == reflect.Ptr {
+ innerVal := val.Elem()
+ if !innerVal.IsValid() {
+ break
+ }
+ val = innerVal
+ kind = val.Type().Kind()
+ }
+ return val
+}
+
+func parseSecurityStruct(c *securityConfig, security interface{}) {
+ securityValType := trueReflectValue(reflect.ValueOf(security))
+ securityStructType := securityValType.Type()
+
+ if isNil(securityStructType, securityValType) {
+ return
+ }
+
+ if securityStructType.Kind() == reflect.Ptr {
+ securityStructType = securityStructType.Elem()
+ securityValType = securityValType.Elem()
+ }
+
+ for i := 0; i < securityStructType.NumField(); i++ {
+ fieldType := securityStructType.Field(i)
+ valType := securityValType.Field(i)
+
+ kind := valType.Kind()
+
+ if isNil(fieldType.Type, valType) {
+ continue
+ }
+
+ if fieldType.Type.Kind() == reflect.Pointer {
+ kind = valType.Elem().Kind()
+ }
+
+ secTag := parseSecurityTag(fieldType)
+ if secTag != nil {
+ if secTag.Option {
+ handleSecurityOption(c, valType.Interface())
+ } else if secTag.Scheme {
+ // Special case for basic auth which could be a flattened struct
+ if secTag.SubType == "basic" && kind != reflect.Struct {
+ parseSecurityScheme(c, secTag, security)
+ } else {
+ parseSecurityScheme(c, secTag, valType.Interface())
+ }
+ }
+ }
+ }
+}
+
+func handleSecurityOption(c *securityConfig, option interface{}) error {
+ optionValType := trueReflectValue(reflect.ValueOf(option))
+ optionStructType := optionValType.Type()
+
+ if isNil(optionStructType, optionValType) {
+ return nil
+ }
+
+ for i := 0; i < optionStructType.NumField(); i++ {
+ fieldType := optionStructType.Field(i)
+ valType := optionValType.Field(i)
+
+ secTag := parseSecurityTag(fieldType)
+ if secTag != nil && secTag.Scheme {
+ parseSecurityScheme(c, secTag, valType.Interface())
+ }
+ }
+
+ return nil
+}
+
+func parseSecurityScheme(client *securityConfig, schemeTag *securityTag, scheme interface{}) {
+ schemeVal := trueReflectValue(reflect.ValueOf(scheme))
+ schemeType := schemeVal.Type()
+
+ if isNil(schemeType, schemeVal) {
+ return
+ }
+
+ if schemeType.Kind() == reflect.Struct {
+ if schemeTag.Type == "http" && schemeTag.SubType == "basic" {
+ handleBasicAuthScheme(client, schemeVal.Interface())
+ return
+ }
+
+ for i := 0; i < schemeType.NumField(); i++ {
+ fieldType := schemeType.Field(i)
+ valType := schemeVal.Field(i)
+
+ if isNil(fieldType.Type, valType) {
+ continue
+ }
+
+ if fieldType.Type.Kind() == reflect.Ptr {
+ valType = valType.Elem()
+ }
+
+ secTag := parseSecurityTag(fieldType)
+ if secTag == nil || secTag.Name == "" {
+ return
+ }
+
+ parseSecuritySchemeValue(client, schemeTag, secTag, valType.Interface())
+ }
+ } else {
+ parseSecuritySchemeValue(client, schemeTag, schemeTag, schemeVal.Interface())
+ }
+}
+
+func parseSecuritySchemeValue(client *securityConfig, schemeTag *securityTag, secTag *securityTag, val interface{}) {
+ switch schemeTag.Type {
+ case "apiKey":
+ switch schemeTag.SubType {
+ case "header":
+ client.headers[secTag.Name] = valToString(val)
+ case "query":
+ client.queryParams[secTag.Name] = valToString(val)
+ case "cookie":
+ client.headers["Cookie"] = fmt.Sprintf("%s=%s", secTag.Name, valToString(val))
+ default:
+ panic("not supported")
+ }
+ case "openIdConnect":
+ client.headers[secTag.Name] = valToString(val)
+ case "oauth2":
+ client.headers[secTag.Name] = valToString(val)
+ case "http":
+ switch schemeTag.SubType {
+ case "bearer":
+ client.headers[secTag.Name] = prefixBearer(valToString(val))
+ default:
+ panic("not supported")
+ }
+ default:
+ panic("not supported")
+ }
+}
+
+func prefixBearer(authHeaderValue string) string {
+ if strings.HasPrefix(strings.ToLower(authHeaderValue), "bearer ") {
+ return authHeaderValue
+ }
+
+ return fmt.Sprintf("Bearer %s", authHeaderValue)
+}
+
+func handleBasicAuthScheme(client *securityConfig, scheme interface{}) {
+ schemeStructType := reflect.TypeOf(scheme)
+ schemeValType := reflect.ValueOf(scheme)
+
+ var username, password string
+
+ for i := 0; i < schemeStructType.NumField(); i++ {
+ fieldType := schemeStructType.Field(i)
+ valType := schemeValType.Field(i)
+
+ secTag := parseSecurityTag(fieldType)
+ if secTag == nil || secTag.Name == "" {
+ continue
+ }
+
+ switch secTag.Name {
+ case "username":
+ username = valType.String()
+ case "password":
+ password = valType.String()
+ }
+ }
+
+ client.headers["Authorization"] = fmt.Sprintf("Basic %s", base64.StdEncoding.EncodeToString([]byte(fmt.Sprintf("%s:%s", username, password))))
+}
+
+func parseSecurityTag(field reflect.StructField) *securityTag {
+ tag := field.Tag.Get(securityTagKey)
+ if tag == "" {
+ return nil
+ }
+
+ option := false
+ scheme := false
+ name := ""
+ securityType := ""
+ securitySubType := ""
+
+ options := strings.Split(tag, ",")
+ for _, optionConf := range options {
+ parts := strings.Split(optionConf, "=")
+ if len(parts) < 1 || len(parts) > 2 {
+ continue
+ }
+
+ switch parts[0] {
+ case "name":
+ name = parts[1]
+ case "type":
+ securityType = parts[1]
+ case "subtype":
+ securitySubType = parts[1]
+ case "option":
+ option = true
+ case "scheme":
+ scheme = true
+ }
+ }
+
+ // TODO: validate tag?
+
+ return &securityTag{
+ Option: option,
+ Scheme: scheme,
+ Name: name,
+ Type: securityType,
+ SubType: securitySubType,
+ }
+}
diff --git a/libs/clients/go/pkg/utils/utils.go b/libs/clients/go/pkg/utils/utils.go
new file mode 100755
index 0000000000..4ef632ae65
--- /dev/null
+++ b/libs/clients/go/pkg/utils/utils.go
@@ -0,0 +1,171 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package utils
+
+import (
+ "fmt"
+ "io"
+ "math/big"
+ "reflect"
+ "regexp"
+ "strings"
+ "time"
+
+ "github.com/ericlagergren/decimal"
+)
+
+const (
+ queryParamTagKey = "queryParam"
+ headerParamTagKey = "header"
+ pathParamTagKey = "pathParam"
+)
+
+var (
+ paramRegex = regexp.MustCompile(`({.*?})`)
+ SerializationMethodToContentType = map[string]string{
+ "json": "application/json",
+ "form": "application/x-www-form-urlencoded",
+ "multipart": "multipart/form-data",
+ "raw": "application/octet-stream",
+ "string": "text/plain",
+ }
+)
+
+func UnmarshalJsonFromResponseBody(body io.Reader, out interface{}, tag string) error {
+ data, err := io.ReadAll(body)
+ if err != nil {
+ return fmt.Errorf("error reading response body: %w", err)
+ }
+ if err := UnmarshalJSON(data, out, reflect.StructTag(tag), true, false); err != nil {
+ return fmt.Errorf("error unmarshalling json response body: %w", err)
+ }
+
+ return nil
+}
+
+func ReplaceParameters(stringWithParams string, params map[string]string) string {
+ if len(params) == 0 {
+ return stringWithParams
+ }
+
+ return paramRegex.ReplaceAllStringFunc(stringWithParams, func(match string) string {
+ match = match[1 : len(match)-1]
+ return params[match]
+ })
+}
+
+func Contains(slice []string, item string) bool {
+ for _, s := range slice {
+ if s == item {
+ return true
+ }
+ }
+ return false
+}
+
+func parseStructTag(tagKey string, field reflect.StructField) map[string]string {
+ tag := field.Tag.Get(tagKey)
+ if tag == "" {
+ return nil
+ }
+
+ values := map[string]string{}
+
+ options := strings.Split(tag, ",")
+ for _, optionConf := range options {
+ parts := strings.Split(optionConf, "=")
+
+ switch len(parts) {
+ case 1:
+ // flag option
+ parts = append(parts, "true")
+ case 2:
+ // key=value option
+ break
+ default:
+ // invalid option
+ continue
+ }
+
+ values[parts[0]] = parts[1]
+ }
+
+ return values
+}
+
+func parseParamTag(tagKey string, field reflect.StructField, defaultStyle string, defaultExplode bool) *paramTag {
+ // example `{tagKey}:"style=simple,explode=false,name=apiID"`
+ values := parseStructTag(tagKey, field)
+ if values == nil {
+ return nil
+ }
+
+ tag := ¶mTag{
+ Style: defaultStyle,
+ Explode: defaultExplode,
+ ParamName: strings.ToLower(field.Name),
+ }
+
+ for k, v := range values {
+ switch k {
+ case "style":
+ tag.Style = v
+ case "explode":
+ tag.Explode = v == "true"
+ case "name":
+ tag.ParamName = v
+ case "serialization":
+ tag.Serialization = v
+ }
+ }
+
+ return tag
+}
+
+func valToString(val interface{}) string {
+ switch v := val.(type) {
+ case time.Time:
+ return v.Format(time.RFC3339Nano)
+ case big.Int:
+ return v.String()
+ case decimal.Big:
+ return v.String()
+ default:
+ return fmt.Sprintf("%v", v)
+ }
+}
+
+func populateFromGlobals(fieldType reflect.StructField, valType reflect.Value, paramType string, globals map[string]map[string]map[string]interface{}) reflect.Value {
+ if globals != nil && fieldType.Type.Kind() == reflect.Ptr {
+ parameters, ok := globals["parameters"]
+ if ok {
+ paramsOfType, ok := parameters[paramType]
+ if ok {
+ globalVal, ok := paramsOfType[fieldType.Name]
+ if ok {
+ if reflect.TypeOf(globalVal).Kind() == fieldType.Type.Elem().Kind() && valType.IsNil() {
+ valType = reflect.ValueOf(&globalVal)
+ }
+ }
+ }
+ }
+ }
+
+ return valType
+}
+
+func isNil(typ reflect.Type, val reflect.Value) bool {
+ // `reflect.TypeOf(nil) == nil` so calling typ.Kind() will cause a nil pointer
+ // dereference panic. Catch it and return early.
+ // https://github.com/golang/go/issues/51649
+ // https://github.com/golang/go/issues/54208
+ if typ == nil {
+ return true
+ }
+
+ if typ.Kind() == reflect.Ptr || typ.Kind() == reflect.Map || typ.Kind() == reflect.Slice || typ.Kind() == reflect.Interface {
+ return val.IsNil()
+ }
+
+ return false
+}
diff --git a/libs/clients/go/reconciliation.go b/libs/clients/go/reconciliation.go
new file mode 100755
index 0000000000..0a1ece8f54
--- /dev/null
+++ b/libs/clients/go/reconciliation.go
@@ -0,0 +1,586 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package formancesdkgo
+
+import (
+ "bytes"
+ "context"
+ "fmt"
+ "github.com/formancehq/formance-sdk-go/pkg/models/operations"
+ "github.com/formancehq/formance-sdk-go/pkg/models/sdkerrors"
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "io"
+ "net/http"
+ "strings"
+)
+
+type reconciliation struct {
+ sdkConfiguration sdkConfiguration
+}
+
+func newReconciliation(sdkConfig sdkConfiguration) *reconciliation {
+ return &reconciliation{
+ sdkConfiguration: sdkConfig,
+ }
+}
+
+// CreatePolicy - Create a policy
+// Create a policy
+func (s *reconciliation) CreatePolicy(ctx context.Context, request shared.PolicyRequest) (*operations.CreatePolicyResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/reconciliation/policies"
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+ if bodyReader == nil {
+ return nil, fmt.Errorf("request body is required")
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.CreatePolicyResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 201:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.PolicyResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.PolicyResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ReconciliationErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ReconciliationErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// DeletePolicy - Delete a policy
+// Delete a policy by its id.
+func (s *reconciliation) DeletePolicy(ctx context.Context, request operations.DeletePolicyRequest) (*operations.DeletePolicyResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/reconciliation/policies/{policyID}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.DeletePolicyResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ReconciliationErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ReconciliationErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// GetPolicy - Get a policy
+func (s *reconciliation) GetPolicy(ctx context.Context, request operations.GetPolicyRequest) (*operations.GetPolicyResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/reconciliation/policies/{policyID}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetPolicyResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.PolicyResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.PolicyResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ReconciliationErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ReconciliationErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// GetReconciliation - Get a reconciliation
+func (s *reconciliation) GetReconciliation(ctx context.Context, request operations.GetReconciliationRequest) (*operations.GetReconciliationResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/reconciliation/reconciliations/{reconciliationID}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetReconciliationResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ReconciliationResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ReconciliationResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ReconciliationErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ReconciliationErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ListPolicies - List policies
+func (s *reconciliation) ListPolicies(ctx context.Context, request operations.ListPoliciesRequest) (*operations.ListPoliciesResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/reconciliation/policies"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ListPoliciesResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.PoliciesCursorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.PoliciesCursorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ReconciliationErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ReconciliationErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ListReconciliations - List reconciliations
+func (s *reconciliation) ListReconciliations(ctx context.Context, request operations.ListReconciliationsRequest) (*operations.ListReconciliationsResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/reconciliation/reconciliations"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ListReconciliationsResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ReconciliationsCursorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ReconciliationsCursorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ReconciliationErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ReconciliationErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// Reconcile using a policy
+// Reconcile using a policy
+func (s *reconciliation) Reconcile(ctx context.Context, request operations.ReconcileRequest) (*operations.ReconcileResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/reconciliation/policies/{policyID}/reconciliation", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "ReconciliationRequest", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+ if bodyReader == nil {
+ return nil, fmt.Errorf("request body is required")
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ReconcileResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ReconciliationResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ReconciliationResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ReconciliationErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ReconciliationErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ReconciliationgetServerInfo - Get server info
+func (s *reconciliation) ReconciliationgetServerInfo(ctx context.Context) (*operations.ReconciliationgetServerInfoResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/reconciliation/_info"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ReconciliationgetServerInfoResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ServerInfo
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ServerInfo = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ReconciliationErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ReconciliationErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
diff --git a/libs/clients/go/search.go b/libs/clients/go/search.go
new file mode 100755
index 0000000000..a3ee836cb9
--- /dev/null
+++ b/libs/clients/go/search.go
@@ -0,0 +1,146 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package formancesdkgo
+
+import (
+ "bytes"
+ "context"
+ "fmt"
+ "github.com/formancehq/formance-sdk-go/pkg/models/operations"
+ "github.com/formancehq/formance-sdk-go/pkg/models/sdkerrors"
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "io"
+ "net/http"
+ "strings"
+)
+
+type search struct {
+ sdkConfiguration sdkConfiguration
+}
+
+func newSearch(sdkConfig sdkConfiguration) *search {
+ return &search{
+ sdkConfiguration: sdkConfig,
+ }
+}
+
+// Search
+// ElasticSearch query engine
+func (s *search) Search(ctx context.Context, request shared.Query) (*operations.SearchResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/search/"
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+ if bodyReader == nil {
+ return nil, fmt.Errorf("request body is required")
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.SearchResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.Response
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.Response = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ }
+
+ return res, nil
+}
+
+// SearchgetServerInfo - Get server info
+func (s *search) SearchgetServerInfo(ctx context.Context) (*operations.SearchgetServerInfoResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/search/_info"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.SearchgetServerInfoResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ServerInfo
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ServerInfo = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
diff --git a/libs/clients/go/wallets.go b/libs/clients/go/wallets.go
new file mode 100755
index 0000000000..d225960d98
--- /dev/null
+++ b/libs/clients/go/wallets.go
@@ -0,0 +1,1103 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package formancesdkgo
+
+import (
+ "bytes"
+ "context"
+ "fmt"
+ "github.com/formancehq/formance-sdk-go/pkg/models/operations"
+ "github.com/formancehq/formance-sdk-go/pkg/models/sdkerrors"
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "io"
+ "net/http"
+ "strings"
+)
+
+type wallets struct {
+ sdkConfiguration sdkConfiguration
+}
+
+func newWallets(sdkConfig sdkConfiguration) *wallets {
+ return &wallets{
+ sdkConfiguration: sdkConfig,
+ }
+}
+
+// ConfirmHold - Confirm a hold
+func (s *wallets) ConfirmHold(ctx context.Context, request operations.ConfirmHoldRequest) (*operations.ConfirmHoldResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/wallets/holds/{hold_id}/confirm", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "ConfirmHoldRequest", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ConfirmHoldResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.WalletsErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.WalletsErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// CreateBalance - Create a balance
+func (s *wallets) CreateBalance(ctx context.Context, request operations.CreateBalanceRequest) (*operations.CreateBalanceResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/wallets/wallets/{id}/balances", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "CreateBalanceRequest", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.CreateBalanceResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 201:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.CreateBalanceResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.CreateBalanceResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.WalletsErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.WalletsErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// CreateWallet - Create a new wallet
+func (s *wallets) CreateWallet(ctx context.Context, request *shared.CreateWalletRequest) (*operations.CreateWalletResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/wallets/wallets"
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "Request", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.CreateWalletResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 201:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.CreateWalletResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.CreateWalletResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.WalletsErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.WalletsErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// CreditWallet - Credit a wallet
+func (s *wallets) CreditWallet(ctx context.Context, request operations.CreditWalletRequest) (*operations.CreditWalletResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/wallets/wallets/{id}/credit", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "CreditWalletRequest", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.CreditWalletResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.WalletsErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.WalletsErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// DebitWallet - Debit a wallet
+func (s *wallets) DebitWallet(ctx context.Context, request operations.DebitWalletRequest) (*operations.DebitWalletResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/wallets/wallets/{id}/debit", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "DebitWalletRequest", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.DebitWalletResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 201:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.DebitWalletResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.DebitWalletResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ case httpRes.StatusCode == 204:
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.WalletsErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.WalletsErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// GetBalance - Get detailed balance
+func (s *wallets) GetBalance(ctx context.Context, request operations.GetBalanceRequest) (*operations.GetBalanceResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/wallets/wallets/{id}/balances/{balanceName}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetBalanceResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.GetBalanceResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.GetBalanceResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.WalletsErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.WalletsErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// GetHold - Get a hold
+func (s *wallets) GetHold(ctx context.Context, request operations.GetHoldRequest) (*operations.GetHoldResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/wallets/holds/{holdID}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetHoldResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.GetHoldResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.GetHoldResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.WalletsErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.WalletsErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// GetHolds - Get all holds for a wallet
+func (s *wallets) GetHolds(ctx context.Context, request operations.GetHoldsRequest) (*operations.GetHoldsResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/wallets/holds"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetHoldsResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.GetHoldsResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.GetHoldsResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.WalletsErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.WalletsErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+func (s *wallets) GetTransactions(ctx context.Context, request operations.GetTransactionsRequest) (*operations.GetTransactionsResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/wallets/transactions"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetTransactionsResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.GetTransactionsResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.GetTransactionsResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.WalletsErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.WalletsErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// GetWallet - Get a wallet
+func (s *wallets) GetWallet(ctx context.Context, request operations.GetWalletRequest) (*operations.GetWalletResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/wallets/wallets/{id}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetWalletResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.GetWalletResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.GetWalletResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ case httpRes.StatusCode == 404:
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.WalletsErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.WalletsErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// GetWalletSummary - Get wallet summary
+func (s *wallets) GetWalletSummary(ctx context.Context, request operations.GetWalletSummaryRequest) (*operations.GetWalletSummaryResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/wallets/wallets/{id}/summary", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetWalletSummaryResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.GetWalletSummaryResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.GetWalletSummaryResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ case httpRes.StatusCode == 404:
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.WalletsErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.WalletsErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ListBalances - List balances of a wallet
+func (s *wallets) ListBalances(ctx context.Context, request operations.ListBalancesRequest) (*operations.ListBalancesResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/wallets/wallets/{id}/balances", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ListBalancesResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ListBalancesResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ListBalancesResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ListWallets - List all wallets
+func (s *wallets) ListWallets(ctx context.Context, request operations.ListWalletsRequest) (*operations.ListWalletsResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/wallets/wallets"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ListWalletsResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ListWalletsResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ListWalletsResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// UpdateWallet - Update a wallet
+func (s *wallets) UpdateWallet(ctx context.Context, request operations.UpdateWalletRequest) (*operations.UpdateWalletResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/wallets/wallets/{id}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "RequestBody", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "PATCH", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.UpdateWalletResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.WalletsErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.WalletsErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// VoidHold - Cancel a hold
+func (s *wallets) VoidHold(ctx context.Context, request operations.VoidHoldRequest) (*operations.VoidHoldResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/wallets/holds/{hold_id}/void", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.VoidHoldResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 204:
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.WalletsErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.WalletsErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// WalletsgetServerInfo - Get server info
+func (s *wallets) WalletsgetServerInfo(ctx context.Context) (*operations.WalletsgetServerInfoResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/wallets/_info"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.WalletsgetServerInfoResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ServerInfo
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ServerInfo = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.WalletsErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.WalletsErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
diff --git a/libs/clients/go/webhooks.go b/libs/clients/go/webhooks.go
new file mode 100755
index 0000000000..10443a56bd
--- /dev/null
+++ b/libs/clients/go/webhooks.go
@@ -0,0 +1,531 @@
+// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
+
+package formancesdkgo
+
+import (
+ "bytes"
+ "context"
+ "fmt"
+ "github.com/formancehq/formance-sdk-go/pkg/models/operations"
+ "github.com/formancehq/formance-sdk-go/pkg/models/sdkerrors"
+ "github.com/formancehq/formance-sdk-go/pkg/models/shared"
+ "github.com/formancehq/formance-sdk-go/pkg/utils"
+ "io"
+ "net/http"
+ "strings"
+)
+
+type webhooks struct {
+ sdkConfiguration sdkConfiguration
+}
+
+func newWebhooks(sdkConfig sdkConfiguration) *webhooks {
+ return &webhooks{
+ sdkConfiguration: sdkConfig,
+ }
+}
+
+// ActivateConfig - Activate one config
+// Activate a webhooks config by ID, to start receiving webhooks to its endpoint.
+func (s *webhooks) ActivateConfig(ctx context.Context, request operations.ActivateConfigRequest) (*operations.ActivateConfigResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/webhooks/configs/{id}/activate", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "PUT", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ActivateConfigResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ConfigResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ConfigResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.WebhooksErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.WebhooksErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// ChangeConfigSecret - Change the signing secret of a config
+// Change the signing secret of the endpoint of a webhooks config.
+//
+// If not passed or empty, a secret is automatically generated.
+// The format is a random string of bytes of size 24, base64 encoded. (larger size after encoding)
+func (s *webhooks) ChangeConfigSecret(ctx context.Context, request operations.ChangeConfigSecretRequest) (*operations.ChangeConfigSecretResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/webhooks/configs/{id}/secret/change", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, true, "ConfigChangeSecret", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "PUT", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.ChangeConfigSecretResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ConfigResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ConfigResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.WebhooksErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.WebhooksErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// DeactivateConfig - Deactivate one config
+// Deactivate a webhooks config by ID, to stop receiving webhooks to its endpoint.
+func (s *webhooks) DeactivateConfig(ctx context.Context, request operations.DeactivateConfigRequest) (*operations.DeactivateConfigResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/webhooks/configs/{id}/deactivate", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "PUT", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.DeactivateConfigResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ConfigResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ConfigResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.WebhooksErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.WebhooksErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// DeleteConfig - Delete one config
+// Delete a webhooks config by ID.
+func (s *webhooks) DeleteConfig(ctx context.Context, request operations.DeleteConfigRequest) (*operations.DeleteConfigResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/webhooks/configs/{id}", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "DELETE", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.DeleteConfigResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.WebhooksErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.WebhooksErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// GetManyConfigs - Get many configs
+// Sorted by updated date descending
+func (s *webhooks) GetManyConfigs(ctx context.Context, request operations.GetManyConfigsRequest) (*operations.GetManyConfigsResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/webhooks/configs"
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ if err := utils.PopulateQueryParams(ctx, req, request, nil); err != nil {
+ return nil, fmt.Errorf("error populating query params: %w", err)
+ }
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.GetManyConfigsResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ConfigsResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ConfigsResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.WebhooksErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.WebhooksErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// InsertConfig - Insert a new config
+// Insert a new webhooks config.
+//
+// The endpoint should be a valid https URL and be unique.
+//
+// The secret is the endpoint's verification secret.
+// If not passed or empty, a secret is automatically generated.
+// The format is a random string of bytes of size 24, base64 encoded. (larger size after encoding)
+//
+// All eventTypes are converted to lower-case when inserted.
+func (s *webhooks) InsertConfig(ctx context.Context, request shared.ConfigUser) (*operations.InsertConfigResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url := strings.TrimSuffix(baseURL, "/") + "/api/webhooks/configs"
+
+ bodyReader, reqContentType, err := utils.SerializeRequestBody(ctx, request, false, false, "Request", "json", `request:"mediaType=application/json"`)
+ if err != nil {
+ return nil, fmt.Errorf("error serializing request body: %w", err)
+ }
+ if bodyReader == nil {
+ return nil, fmt.Errorf("request body is required")
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "POST", url, bodyReader)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ req.Header.Set("Content-Type", reqContentType)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.InsertConfigResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.ConfigResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.ConfigResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.WebhooksErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.WebhooksErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
+
+// TestConfig - Test one config
+// Test a config by sending a webhook to its endpoint.
+func (s *webhooks) TestConfig(ctx context.Context, request operations.TestConfigRequest) (*operations.TestConfigResponse, error) {
+ baseURL := utils.ReplaceParameters(s.sdkConfiguration.GetServerDetails())
+ url, err := utils.GenerateURL(ctx, baseURL, "/api/webhooks/configs/{id}/test", request, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error generating URL: %w", err)
+ }
+
+ req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
+ if err != nil {
+ return nil, fmt.Errorf("error creating request: %w", err)
+ }
+ req.Header.Set("Accept", "application/json")
+ req.Header.Set("user-agent", s.sdkConfiguration.UserAgent)
+
+ client := s.sdkConfiguration.DefaultClient
+
+ httpRes, err := client.Do(req)
+ if err != nil {
+ return nil, fmt.Errorf("error sending request: %w", err)
+ }
+ if httpRes == nil {
+ return nil, fmt.Errorf("error sending request: no response")
+ }
+
+ contentType := httpRes.Header.Get("Content-Type")
+
+ res := &operations.TestConfigResponse{
+ StatusCode: httpRes.StatusCode,
+ ContentType: contentType,
+ RawResponse: httpRes,
+ }
+
+ rawBody, err := io.ReadAll(httpRes.Body)
+ if err != nil {
+ return nil, fmt.Errorf("error reading response body: %w", err)
+ }
+ httpRes.Body.Close()
+ httpRes.Body = io.NopCloser(bytes.NewBuffer(rawBody))
+ switch {
+ case httpRes.StatusCode == 200:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.AttemptResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.AttemptResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ default:
+ switch {
+ case utils.MatchContentType(contentType, `application/json`):
+ var out shared.WebhooksErrorResponse
+ if err := utils.UnmarshalJsonFromResponseBody(bytes.NewBuffer(rawBody), &out, ""); err != nil {
+ return nil, err
+ }
+
+ res.WebhooksErrorResponse = &out
+ default:
+ return nil, sdkerrors.NewSDKError(fmt.Sprintf("unknown content-type received: %s", contentType), httpRes.StatusCode, string(rawBody), httpRes)
+ }
+ }
+
+ return res, nil
+}
diff --git a/openapi/openapi-merge.json b/libs/clients/openapi-merge.json
similarity index 76%
rename from openapi/openapi-merge.json
rename to libs/clients/openapi-merge.json
index 3a69e5afdf..d60bbe308c 100644
--- a/openapi/openapi-merge.json
+++ b/libs/clients/openapi-merge.json
@@ -4,7 +4,7 @@
"inputFile": "./base.yaml"
},
{
- "inputFile": "./../ee/auth/openapi.yaml",
+ "inputFile": "./../../ee/auth/openapi.yaml",
"pathModification":{
"prepend": "/api/auth"
},
@@ -13,7 +13,7 @@
}
},
{
- "inputFile": "./../components/ledger/openapi.yaml",
+ "inputFile": "./../../components/ledger/openapi.yaml",
"pathModification":{
"prepend": "/api/ledger"
},
@@ -22,7 +22,7 @@
}
},
{
- "inputFile": "./../components/payments/openapi.yaml",
+ "inputFile": "./../../components/payments/openapi.yaml",
"pathModification":{
"prepend": "/api/payments"
},
@@ -31,7 +31,7 @@
}
},
{
- "inputFile": "./../ee/search/openapi.yaml",
+ "inputFile": "./../../ee/search/openapi.yaml",
"pathModification":{
"prepend": "/api/search"
},
@@ -40,7 +40,7 @@
}
},
{
- "inputFile": "./../ee/webhooks/openapi.yaml",
+ "inputFile": "./../../ee/webhooks/openapi.yaml",
"pathModification":{
"prepend": "/api/webhooks"
},
@@ -52,7 +52,7 @@
}
},
{
- "inputFile": "./../ee/wallets/openapi.yaml",
+ "inputFile": "./../../ee/wallets/openapi.yaml",
"pathModification":{
"prepend": "/api/wallets"
},
@@ -64,7 +64,7 @@
}
},
{
- "inputFile": "./../ee/orchestration/openapi.yaml",
+ "inputFile": "./../../ee/orchestration/openapi.yaml",
"pathModification":{
"prepend": "/api/orchestration"
},
@@ -76,7 +76,7 @@
}
},
{
- "inputFile": "./../ee/reconciliation/openapi.yaml",
+ "inputFile": "./../../ee/reconciliation/openapi.yaml",
"pathModification":{
"prepend": "/api/reconciliation"
},
diff --git a/openapi/package-lock.json b/libs/clients/package-lock.json
similarity index 100%
rename from openapi/package-lock.json
rename to libs/clients/package-lock.json
diff --git a/openapi/package.json b/libs/clients/package.json
similarity index 100%
rename from openapi/package.json
rename to libs/clients/package.json
diff --git a/openapi/.gitignore b/openapi/.gitignore
deleted file mode 100644
index 82178f7b4c..0000000000
--- a/openapi/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-node_modules
-build/generate.json-e
diff --git a/openapi/Dockerfile b/openapi/Dockerfile
deleted file mode 100644
index 479f431608..0000000000
--- a/openapi/Dockerfile
+++ /dev/null
@@ -1,11 +0,0 @@
-FROM node:19-alpine
-ENV PORT 3000
-WORKDIR /app
-COPY package.json ./
-COPY yarn.lock ./
-COPY main.js /app/main.js
-COPY build/generate.json /app/build/generate.json
-RUN apk add --no-cache ca-certificates curl
-RUN yarn install --production
-EXPOSE 3000
-CMD ["yarn", "run", "start"]
diff --git a/openapi/Taskfile.yaml b/openapi/Taskfile.yaml
deleted file mode 100644
index fdb0261844..0000000000
--- a/openapi/Taskfile.yaml
+++ /dev/null
@@ -1,44 +0,0 @@
-
-# https://taskfile.dev
-version: "3"
-
-env:
- VERSION: v1.0.{{now | date "20060102"}}
-
-tasks:
- sdk:build:
- desc: Build the SDK
- cmds:
- - npm install
- - npm run build
- - cat <<< $(jq '.info.version = "{{.VERSION}}"' build/generate.json) > build/generate.json
- - cp -R ./build/generate.json ./../docs/openapi/v2.json
-
- sdk:generate:
- internal: true
- cmds:
- - rm -rf ./../sdks/{{.TARGET}}
- - mkdir -p ./../sdks/{{.TARGET}}
- - cp -r ./templates/{{.TARGET}} ./../sdks/
- - yq -y -i '.{{.TARGET}}.version = "{{.VERSION}}"' ./../sdks/{{.TARGET}}/gen.yaml
- - speakeasy generate sdk -s ./build/generate.json -o ./../sdks/{{.TARGET}} -l {{.TARGET}}
-
- sdk:generate:go:
- desc: Generate all client code
- deps:
- - task: sdk:generate
- vars: {TARGET: "go", VERSION: "{{.VERSION}}"}
-
- sdk:generate:all:
- desc: Generate all client code
- deps:
- - task: sdk:generate
- vars: {TARGET: "go", VERSION: "{{.VERSION}}"}
- - task: sdk:generate
- vars: {TARGET: "java", VERSION: "{{.VERSION}}"}
- - task: sdk:generate
- vars: {TARGET: "php", VERSION: "{{.VERSION}}"}
- - task: sdk:generate
- vars: {TARGET: "python", VERSION: "{{.VERSION}}"}
- - task: sdk:generate
- vars: {TARGET: "typescript", VERSION: "{{.VERSION}}"}
diff --git a/openapi/build/generate.json b/openapi/build/generate.json
deleted file mode 100644
index 1428331541..0000000000
--- a/openapi/build/generate.json
+++ /dev/null
@@ -1,10513 +0,0 @@
-{
- "openapi": "3.0.3",
- "info": {
- "title": "Formance Stack API",
- "description": "Open, modular foundation for unique payments flows\n\n# Introduction\nThis API is documented in **OpenAPI format**.\n\n# Authentication\nFormance Stack offers one forms of authentication:\n - OAuth2\nOAuth2 - an open protocol to allow secure authorization in a simple\nand standard method from web, mobile and desktop applications.\n\n",
- "contact": {
- "name": "Formance",
- "url": "https://www.formance.com",
- "email": "support@formance.com"
- },
- "x-logo": {
- "url": "https://avatars.githubusercontent.com/u/84325077?s=200&v=4",
- "altText": "Formance"
- },
- "version": "v1.0.${VERSION}"
- },
- "servers": [
- {
- "url": "http://localhost",
- "description": "local server"
- }
- ],
- "paths": {
- "/versions": {
- "get": {
- "summary": "Show stack version information",
- "operationId": "getVersions",
- "responses": {
- "200": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/GetVersionsResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/auth/.well-known/openid-configuration": {
- "get": {
- "responses": {
- "200": {
- "description": "OpenID provider configuration.\nSee https://swagger.io/docs/specification/authentication/openid-connect-discovery/ for details\n"
- }
- }
- }
- },
- "/api/auth/_info": {
- "get": {
- "summary": "Get server info",
- "operationId": "getServerInfo",
- "tags": [
- "Auth"
- ],
- "responses": {
- "200": {
- "description": "Server information",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ServerInfo"
- }
- }
- }
- }
- }
- }
- },
- "/api/auth/clients": {
- "get": {
- "summary": "List clients",
- "tags": [
- "Auth",
- "Clients"
- ],
- "operationId": "listClients",
- "responses": {
- "200": {
- "description": "List of clients",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ListClientsResponse"
- }
- }
- }
- }
- }
- },
- "post": {
- "summary": "Create client",
- "tags": [
- "Auth",
- "Clients"
- ],
- "operationId": "createClient",
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CreateClientRequest"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "Client created",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CreateClientResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/auth/clients/{clientId}": {
- "get": {
- "summary": "Read client",
- "tags": [
- "Auth",
- "Clients"
- ],
- "operationId": "readClient",
- "parameters": [
- {
- "description": "Client ID",
- "in": "path",
- "name": "clientId",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Retrieved client",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ReadClientResponse"
- }
- }
- }
- }
- }
- },
- "put": {
- "summary": "Update client",
- "tags": [
- "Auth",
- "Clients"
- ],
- "operationId": "updateClient",
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/UpdateClientRequest"
- }
- }
- }
- },
- "parameters": [
- {
- "description": "Client ID",
- "in": "path",
- "name": "clientId",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Updated client",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/UpdateClientResponse"
- }
- }
- }
- }
- }
- },
- "delete": {
- "summary": "Delete client",
- "tags": [
- "Auth",
- "Clients"
- ],
- "operationId": "deleteClient",
- "parameters": [
- {
- "description": "Client ID",
- "in": "path",
- "name": "clientId",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "204": {
- "description": "Client deleted"
- }
- }
- }
- },
- "/api/auth/clients/{clientId}/secrets": {
- "post": {
- "summary": "Add a secret to a client",
- "tags": [
- "Auth",
- "Clients"
- ],
- "operationId": "createSecret",
- "parameters": [
- {
- "description": "Client ID",
- "in": "path",
- "name": "clientId",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CreateSecretRequest"
- }
- }
- }
- },
- "responses": {
- "200": {
- "description": "Created secret",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CreateSecretResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/auth/clients/{clientId}/secrets/{secretId}": {
- "delete": {
- "summary": "Delete a secret from a client",
- "tags": [
- "Auth",
- "Clients"
- ],
- "operationId": "deleteSecret",
- "parameters": [
- {
- "description": "Client ID",
- "in": "path",
- "name": "clientId",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "description": "Secret ID",
- "in": "path",
- "name": "secretId",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "204": {
- "description": "Secret deleted"
- }
- }
- }
- },
- "/api/auth/users": {
- "get": {
- "summary": "List users",
- "tags": [
- "Auth",
- "Users"
- ],
- "description": "List users",
- "operationId": "listUsers",
- "responses": {
- "200": {
- "description": "List of users",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ListUsersResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/auth/users/{userId}": {
- "get": {
- "summary": "Read user",
- "tags": [
- "Auth",
- "Users"
- ],
- "description": "Read user",
- "operationId": "readUser",
- "parameters": [
- {
- "description": "User ID",
- "in": "path",
- "name": "userId",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Retrieved user",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ReadUserResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/ledger/v2/_info": {
- "get": {
- "tags": [
- "Ledger.V2"
- ],
- "summary": "Show server information",
- "operationId": "getInfo",
- "responses": {
- "200": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ConfigInfoResponse"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/ledger/v2": {
- "get": {
- "summary": "List ledgers",
- "operationId": "listLedgers",
- "parameters": [
- {
- "name": "pageSize",
- "in": "query",
- "description": "The maximum number of results to return per page.\n",
- "example": 100,
- "schema": {
- "type": "integer",
- "format": "int64",
- "minimum": 1,
- "maximum": 1000
- }
- },
- {
- "name": "cursor",
- "in": "query",
- "description": "Parameter used in pagination requests. Maximum page size is set to 15.\nSet to the value of next for the next page of results.\nSet to the value of previous for the previous page of results.\nNo other parameters can be set when this parameter is set.\n",
- "schema": {
- "type": "string",
- "example": "aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ=="
- }
- }
- ],
- "tags": [
- "Ledger"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/LedgerListResponse"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/ledger/v2/{ledger}": {
- "parameters": [
- {
- "name": "ledger",
- "in": "path",
- "description": "Name of the ledger.",
- "required": true,
- "schema": {
- "type": "string",
- "example": "ledger001"
- }
- }
- ],
- "get": {
- "summary": "Get a ledger",
- "operationId": "getLedger",
- "tags": [
- "Ledger"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/Ledger"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ErrorResponse"
- }
- }
- }
- }
- }
- },
- "post": {
- "summary": "Create a ledger",
- "operationId": "createLedger",
- "tags": [
- "Ledger"
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CreateLedgerRequest"
- }
- }
- }
- },
- "responses": {
- "204": {
- "description": "OK"
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/ledger/v2/{ledger}/_info": {
- "get": {
- "summary": "Get information about a ledger",
- "operationId": "getLedgerInfo",
- "tags": [
- "Ledger.V2"
- ],
- "parameters": [
- {
- "name": "ledger",
- "in": "path",
- "description": "Name of the ledger.",
- "required": true,
- "schema": {
- "type": "string",
- "example": "ledger001"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/LedgerInfoResponse"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/ledger/v2/{ledger}/_bulk": {
- "post": {
- "summary": "Bulk request",
- "operationId": "createBulk",
- "tags": [
- "Ledger.V2"
- ],
- "parameters": [
- {
- "name": "ledger",
- "in": "path",
- "description": "Name of the ledger.",
- "required": true,
- "schema": {
- "type": "string",
- "example": "ledger001"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/Bulk"
- }
- }
- }
- },
- "responses": {
- "200": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/BulkResponse"
- }
- }
- }
- },
- "400": {
- "description": "Failure",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/BulkResponse"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/ledger/v2/{ledger}/accounts": {
- "head": {
- "summary": "Count the accounts from a ledger",
- "operationId": "countAccounts",
- "tags": [
- "Ledger.V2"
- ],
- "parameters": [
- {
- "name": "ledger",
- "in": "path",
- "description": "Name of the ledger.",
- "required": true,
- "schema": {
- "type": "string",
- "example": "ledger001"
- }
- },
- {
- "name": "pit",
- "in": "query",
- "required": false,
- "schema": {
- "type": "string",
- "format": "date-time"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "additionalProperties": true
- }
- }
- }
- },
- "responses": {
- "204": {
- "description": "OK",
- "headers": {
- "Count": {
- "schema": {
- "type": "integer",
- "format": "bigint",
- "minimum": 0
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ErrorResponse"
- }
- }
- }
- }
- }
- },
- "get": {
- "summary": "List accounts from a ledger",
- "description": "List accounts from a ledger, sorted by address in descending order.",
- "operationId": "listAccounts",
- "tags": [
- "Ledger.V2"
- ],
- "parameters": [
- {
- "name": "ledger",
- "in": "path",
- "description": "Name of the ledger.",
- "required": true,
- "schema": {
- "type": "string",
- "example": "ledger001"
- }
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "The maximum number of results to return per page.\n",
- "example": 100,
- "schema": {
- "type": "integer",
- "format": "int64",
- "minimum": 1,
- "maximum": 1000
- }
- },
- {
- "name": "cursor",
- "in": "query",
- "description": "Parameter used in pagination requests. Maximum page size is set to 15.\nSet to the value of next for the next page of results.\nSet to the value of previous for the previous page of results.\nNo other parameters can be set when this parameter is set.\n",
- "schema": {
- "type": "string",
- "example": "aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ=="
- }
- },
- {
- "name": "expand",
- "in": "query",
- "schema": {
- "type": "string",
- "items": {
- "type": "string"
- }
- }
- },
- {
- "name": "pit",
- "in": "query",
- "required": false,
- "schema": {
- "type": "string",
- "format": "date-time"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "additionalProperties": true
- }
- }
- }
- },
- "responses": {
- "200": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/AccountsCursorResponse"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/ledger/v2/{ledger}/accounts/{address}": {
- "get": {
- "summary": "Get account by its address",
- "operationId": "getAccount",
- "tags": [
- "Ledger.V2"
- ],
- "parameters": [
- {
- "name": "ledger",
- "in": "path",
- "description": "Name of the ledger.",
- "required": true,
- "schema": {
- "type": "string",
- "example": "ledger001"
- }
- },
- {
- "name": "address",
- "in": "path",
- "description": "Exact address of the account. It must match the following regular expressions pattern:\n```\n^\\w+(:\\w+)*$\n```\n",
- "required": true,
- "schema": {
- "type": "string",
- "example": "users:001"
- }
- },
- {
- "name": "expand",
- "in": "query",
- "schema": {
- "type": "string",
- "items": {
- "type": "string"
- }
- }
- },
- {
- "name": "pit",
- "in": "query",
- "required": false,
- "schema": {
- "type": "string",
- "format": "date-time"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/AccountResponse"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/ledger/v2/{ledger}/accounts/{address}/metadata": {
- "post": {
- "summary": "Add metadata to an account",
- "operationId": "addMetadataToAccount",
- "tags": [
- "Ledger.V2"
- ],
- "parameters": [
- {
- "name": "ledger",
- "in": "path",
- "description": "Name of the ledger.",
- "required": true,
- "schema": {
- "type": "string",
- "example": "ledger001"
- }
- },
- {
- "name": "address",
- "in": "path",
- "description": "Exact address of the account. It must match the following regular expressions pattern:\n```\n^\\w+(:\\w+)*$\n```\n",
- "required": true,
- "schema": {
- "type": "string",
- "example": "users:001"
- }
- },
- {
- "name": "dryRun",
- "in": "query",
- "description": "Set the dry run mode. Dry run mode doesn't add the logs to the database or publish a message to the message broker.",
- "schema": {
- "type": "boolean",
- "example": true
- }
- },
- {
- "name": "Idempotency-Key",
- "in": "header",
- "description": "Use an idempotency key",
- "schema": {
- "type": "string"
- }
- }
- ],
- "requestBody": {
- "description": "metadata",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ledgerMetadata"
- }
- }
- },
- "required": true
- },
- "responses": {
- "204": {
- "description": "No Content",
- "content": {}
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/ledger/v2/{ledger}/accounts/{address}/metadata/{key}": {
- "delete": {
- "description": "Delete metadata by key",
- "operationId": "deleteAccountMetadata",
- "tags": [
- "Ledger.V2"
- ],
- "summary": "Delete metadata by key",
- "parameters": [
- {
- "name": "ledger",
- "in": "path",
- "description": "Name of the ledger.",
- "required": true,
- "schema": {
- "type": "string",
- "example": "ledger001"
- }
- },
- {
- "name": "address",
- "in": "path",
- "description": "Account address",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "key",
- "in": "path",
- "description": "The key to remove.",
- "required": true,
- "schema": {
- "type": "string",
- "example": "foo"
- }
- }
- ],
- "responses": {
- "2XX": {
- "description": "Key deleted",
- "content": {}
- }
- }
- }
- },
- "/api/ledger/v2/{ledger}/stats": {
- "get": {
- "tags": [
- "Ledger.V2"
- ],
- "operationId": "readStats",
- "summary": "Get statistics from a ledger",
- "description": "Get statistics from a ledger. (aggregate metrics on accounts and transactions)\n",
- "parameters": [
- {
- "name": "ledger",
- "in": "path",
- "description": "name of the ledger",
- "required": true,
- "schema": {
- "type": "string",
- "example": "ledger001"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/StatsResponse"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/ledger/v2/{ledger}/transactions": {
- "head": {
- "tags": [
- "Ledger.V2"
- ],
- "summary": "Count the transactions from a ledger",
- "operationId": "countTransactions",
- "parameters": [
- {
- "name": "ledger",
- "in": "path",
- "description": "Name of the ledger.",
- "required": true,
- "schema": {
- "type": "string",
- "example": "ledger001"
- }
- },
- {
- "name": "pit",
- "in": "query",
- "required": false,
- "schema": {
- "type": "string",
- "format": "date-time"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "additionalProperties": true
- }
- }
- }
- },
- "responses": {
- "204": {
- "description": "OK",
- "headers": {
- "Count": {
- "schema": {
- "type": "integer",
- "format": "int64",
- "minimum": 0
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ErrorResponse"
- }
- }
- }
- }
- }
- },
- "get": {
- "tags": [
- "Ledger.V2"
- ],
- "summary": "List transactions from a ledger",
- "description": "List transactions from a ledger, sorted by id in descending order.",
- "operationId": "listTransactions",
- "parameters": [
- {
- "name": "ledger",
- "in": "path",
- "description": "Name of the ledger.",
- "required": true,
- "schema": {
- "type": "string",
- "example": "ledger001"
- }
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "The maximum number of results to return per page.\n",
- "example": 100,
- "schema": {
- "type": "integer",
- "format": "int64",
- "minimum": 1,
- "maximum": 1000
- }
- },
- {
- "name": "cursor",
- "in": "query",
- "description": "Parameter used in pagination requests. Maximum page size is set to 15.\nSet to the value of next for the next page of results.\nSet to the value of previous for the previous page of results.\nNo other parameters can be set when this parameter is set.\n",
- "schema": {
- "type": "string",
- "example": "aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ=="
- }
- },
- {
- "name": "expand",
- "in": "query",
- "schema": {
- "type": "string",
- "items": {
- "type": "string"
- }
- }
- },
- {
- "name": "pit",
- "in": "query",
- "required": false,
- "schema": {
- "type": "string",
- "format": "date-time"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "additionalProperties": true
- }
- }
- }
- },
- "responses": {
- "200": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/TransactionsCursorResponse"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ErrorResponse"
- }
- }
- }
- }
- }
- },
- "post": {
- "tags": [
- "Ledger.V2"
- ],
- "summary": "Create a new transaction to a ledger",
- "operationId": "createTransaction",
- "parameters": [
- {
- "name": "ledger",
- "in": "path",
- "description": "Name of the ledger.",
- "required": true,
- "schema": {
- "type": "string",
- "example": "ledger001"
- }
- },
- {
- "name": "dryRun",
- "in": "query",
- "description": "Set the dryRun mode. dry run mode doesn't add the logs to the database or publish a message to the message broker.",
- "schema": {
- "type": "boolean",
- "example": true
- }
- },
- {
- "name": "Idempotency-Key",
- "in": "header",
- "description": "Use an idempotency key",
- "schema": {
- "type": "string"
- }
- }
- ],
- "requestBody": {
- "required": true,
- "description": "The request body must contain at least one of the following objects:\n - `postings`: suitable for simple transactions\n - `script`: enabling more complex transactions with Numscript\n",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/PostTransaction"
- }
- }
- }
- },
- "responses": {
- "200": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CreateTransactionResponse"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/ledger/v2/{ledger}/transactions/{id}": {
- "get": {
- "tags": [
- "Ledger.V2"
- ],
- "summary": "Get transaction from a ledger by its ID",
- "operationId": "getTransaction",
- "parameters": [
- {
- "name": "ledger",
- "in": "path",
- "description": "Name of the ledger.",
- "required": true,
- "schema": {
- "type": "string",
- "example": "ledger001"
- }
- },
- {
- "name": "id",
- "in": "path",
- "description": "Transaction ID.",
- "required": true,
- "schema": {
- "type": "integer",
- "format": "bigint",
- "minimum": 0,
- "example": 1234
- }
- },
- {
- "name": "expand",
- "in": "query",
- "schema": {
- "type": "string",
- "items": {
- "type": "string"
- }
- }
- },
- {
- "name": "pit",
- "in": "query",
- "required": false,
- "schema": {
- "type": "string",
- "format": "date-time"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/GetTransactionResponse"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/ledger/v2/{ledger}/transactions/{id}/metadata": {
- "post": {
- "tags": [
- "Ledger.V2"
- ],
- "summary": "Set the metadata of a transaction by its ID",
- "operationId": "addMetadataOnTransaction",
- "parameters": [
- {
- "name": "ledger",
- "in": "path",
- "description": "Name of the ledger.",
- "required": true,
- "schema": {
- "type": "string",
- "example": "ledger001"
- }
- },
- {
- "name": "id",
- "in": "path",
- "description": "Transaction ID.",
- "required": true,
- "schema": {
- "type": "integer",
- "format": "bigint",
- "minimum": 0,
- "example": 1234
- }
- },
- {
- "name": "dryRun",
- "in": "query",
- "description": "Set the dryRun mode. Dry run mode doesn't add the logs to the database or publish a message to the message broker.",
- "schema": {
- "type": "boolean",
- "example": true
- }
- },
- {
- "name": "Idempotency-Key",
- "in": "header",
- "description": "Use an idempotency key",
- "schema": {
- "type": "string"
- }
- }
- ],
- "requestBody": {
- "description": "metadata",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ledgerMetadata"
- }
- }
- }
- },
- "responses": {
- "204": {
- "description": "No Content",
- "content": {}
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/ledger/v2/{ledger}/transactions/{id}/metadata/{key}": {
- "delete": {
- "description": "Delete metadata by key",
- "operationId": "deleteTransactionMetadata",
- "summary": "Delete metadata by key",
- "tags": [
- "Ledger.V2"
- ],
- "parameters": [
- {
- "name": "ledger",
- "in": "path",
- "description": "Name of the ledger.",
- "required": true,
- "schema": {
- "type": "string",
- "example": "ledger001"
- }
- },
- {
- "name": "id",
- "in": "path",
- "description": "Transaction ID.",
- "required": true,
- "schema": {
- "type": "integer",
- "format": "bigint",
- "minimum": 0,
- "example": 1234
- }
- },
- {
- "name": "key",
- "in": "path",
- "required": true,
- "description": "The key to remove.",
- "schema": {
- "type": "string",
- "example": "foo"
- }
- }
- ],
- "responses": {
- "2XX": {
- "description": "Key deleted",
- "content": {}
- }
- }
- }
- },
- "/api/ledger/v2/{ledger}/transactions/{id}/revert": {
- "post": {
- "tags": [
- "Ledger.V2"
- ],
- "operationId": "revertTransaction",
- "summary": "Revert a ledger transaction by its ID",
- "parameters": [
- {
- "name": "ledger",
- "in": "path",
- "description": "Name of the ledger.",
- "required": true,
- "schema": {
- "type": "string",
- "example": "ledger001"
- }
- },
- {
- "name": "id",
- "in": "path",
- "description": "Transaction ID.",
- "required": true,
- "schema": {
- "type": "integer",
- "format": "bigint",
- "minimum": 0,
- "example": 1234
- }
- },
- {
- "name": "force",
- "in": "query",
- "description": "Force revert",
- "required": false,
- "schema": {
- "type": "boolean"
- }
- }
- ],
- "responses": {
- "201": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/RevertTransactionResponse"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/ledger/v2/{ledger}/aggregate/balances": {
- "get": {
- "tags": [
- "Ledger.V2"
- ],
- "summary": "Get the aggregated balances from selected accounts",
- "operationId": "getBalancesAggregated",
- "parameters": [
- {
- "name": "ledger",
- "in": "path",
- "description": "Name of the ledger.",
- "required": true,
- "schema": {
- "type": "string",
- "example": "ledger001"
- }
- },
- {
- "name": "pit",
- "in": "query",
- "required": false,
- "schema": {
- "type": "string",
- "format": "date-time"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "additionalProperties": true
- }
- }
- }
- },
- "responses": {
- "200": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/AggregateBalancesResponse"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/ledger/v2/{ledger}/logs": {
- "get": {
- "tags": [
- "Ledger.V2"
- ],
- "summary": "List the logs from a ledger",
- "description": "List the logs from a ledger, sorted by ID in descending order.",
- "operationId": "listLogs",
- "parameters": [
- {
- "name": "ledger",
- "in": "path",
- "description": "Name of the ledger.",
- "required": true,
- "schema": {
- "type": "string",
- "example": "ledger001"
- }
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "The maximum number of results to return per page.\n",
- "example": 100,
- "schema": {
- "type": "integer",
- "format": "int64",
- "minimum": 1,
- "maximum": 1000
- }
- },
- {
- "name": "cursor",
- "in": "query",
- "description": "Parameter used in pagination requests. Maximum page size is set to 15.\nSet to the value of next for the next page of results.\nSet to the value of previous for the previous page of results.\nNo other parameters can be set when this parameter is set.\n",
- "schema": {
- "type": "string",
- "example": "aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ=="
- }
- },
- {
- "name": "pit",
- "in": "query",
- "required": false,
- "schema": {
- "type": "string",
- "format": "date-time"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "additionalProperties": true
- }
- }
- }
- },
- "responses": {
- "200": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/LogsCursorResponse"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/payments/_info": {
- "get": {
- "summary": "Get server info",
- "operationId": "paymentsgetServerInfo",
- "tags": [
- "Payments"
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/ServerInfo"
- }
- }
- }
- },
- "/api/payments/payments": {
- "post": {
- "summary": "Create a payment",
- "tags": [
- "Payments"
- ],
- "operationId": "createPayment",
- "description": "Create a payment",
- "requestBody": {
- "$ref": "#/components/requestBodies/Payment"
- },
- "responses": {
- "200": {
- "$ref": "#/components/responses/Payment"
- }
- }
- },
- "get": {
- "summary": "List payments",
- "operationId": "listPayments",
- "tags": [
- "Payments"
- ],
- "parameters": [
- {
- "$ref": "#/components/parameters/PageSize"
- },
- {
- "$ref": "#/components/parameters/Cursor"
- },
- {
- "$ref": "#/components/parameters/Sort"
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/Payments"
- }
- }
- }
- },
- "/api/payments/payments/{paymentId}": {
- "get": {
- "summary": "Get a payment",
- "tags": [
- "Payments"
- ],
- "operationId": "getPayment",
- "parameters": [
- {
- "$ref": "#/components/parameters/PaymentId"
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/Payment"
- }
- }
- }
- },
- "/api/payments/payments/{paymentId}/metadata": {
- "patch": {
- "summary": "Update metadata",
- "tags": [
- "Payments"
- ],
- "operationId": "updateMetadata",
- "parameters": [
- {
- "$ref": "#/components/parameters/PaymentId"
- }
- ],
- "requestBody": {
- "$ref": "#/components/requestBodies/UpdateMetadata"
- },
- "responses": {
- "204": {
- "$ref": "#/components/responses/NoContent"
- }
- }
- }
- },
- "/api/payments/transfer-initiations": {
- "get": {
- "summary": "List Transfer Initiations",
- "operationId": "listTransferInitiations",
- "tags": [
- "Payments"
- ],
- "parameters": [
- {
- "$ref": "#/components/parameters/PageSize"
- },
- {
- "$ref": "#/components/parameters/Cursor"
- },
- {
- "$ref": "#/components/parameters/Sort"
- },
- {
- "$ref": "#/components/parameters/Query"
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/TransferInitiations"
- }
- }
- },
- "post": {
- "summary": "Create a TransferInitiation",
- "tags": [
- "Payments"
- ],
- "operationId": "createTransferInitiation",
- "description": "Create a transfer initiation",
- "requestBody": {
- "$ref": "#/components/requestBodies/TransferInitiation"
- },
- "responses": {
- "200": {
- "$ref": "#/components/responses/TransferInitiation"
- }
- }
- }
- },
- "/api/payments/transfer-initiations/{transferId}": {
- "get": {
- "summary": "Get a transfer initiation",
- "tags": [
- "Payments"
- ],
- "operationId": "getTransferInitiation",
- "parameters": [
- {
- "$ref": "#/components/parameters/TransferId"
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/TransferInitiation"
- }
- }
- },
- "delete": {
- "summary": "Delete a transfer initiation",
- "operationId": "deleteTransferInitiation",
- "tags": [
- "Payments"
- ],
- "description": "Delete a transfer initiation by its id.",
- "parameters": [
- {
- "$ref": "#/components/parameters/TransferId"
- }
- ],
- "responses": {
- "204": {
- "$ref": "#/components/responses/NoContent"
- }
- }
- }
- },
- "/api/payments/transfer-initiations/{transferId}/status": {
- "post": {
- "summary": "Update the status of a transfer initiation",
- "tags": [
- "Payments"
- ],
- "operationId": "udpateTransferInitiationStatus",
- "description": "Update a transfer initiation status",
- "parameters": [
- {
- "$ref": "#/components/parameters/TransferId"
- }
- ],
- "requestBody": {
- "$ref": "#/components/requestBodies/UpdateTransferInitiationStatus"
- },
- "responses": {
- "204": {
- "$ref": "#/components/responses/NoContent"
- }
- }
- }
- },
- "/api/payments/transfer-initiations/{transferId}/retry": {
- "post": {
- "summary": "Retry a failed transfer initiation",
- "tags": [
- "Payments"
- ],
- "operationId": "retryTransferInitiation",
- "description": "Retry a failed transfer initiation",
- "parameters": [
- {
- "$ref": "#/components/parameters/TransferId"
- }
- ],
- "responses": {
- "204": {
- "$ref": "#/components/responses/NoContent"
- }
- }
- }
- },
- "/api/payments/pools": {
- "get": {
- "summary": "List Pools",
- "operationId": "listPools",
- "tags": [
- "Payments"
- ],
- "parameters": [
- {
- "$ref": "#/components/parameters/PageSize"
- },
- {
- "$ref": "#/components/parameters/Cursor"
- },
- {
- "$ref": "#/components/parameters/Sort"
- },
- {
- "$ref": "#/components/parameters/Query"
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/Pools"
- }
- }
- },
- "post": {
- "summary": "Create a Pool",
- "tags": [
- "Payments"
- ],
- "operationId": "createPool",
- "description": "Create a Pool",
- "requestBody": {
- "$ref": "#/components/requestBodies/Pool"
- },
- "responses": {
- "200": {
- "$ref": "#/components/responses/Pool"
- }
- }
- }
- },
- "/api/payments/pools/{poolId}": {
- "get": {
- "summary": "Get a Pool",
- "tags": [
- "Payments"
- ],
- "operationId": "getPool",
- "parameters": [
- {
- "$ref": "#/components/parameters/PoolId"
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/Pool"
- }
- }
- },
- "delete": {
- "summary": "Delete a Pool",
- "operationId": "deletePool",
- "tags": [
- "Payments"
- ],
- "description": "Delete a pool by its id.",
- "parameters": [
- {
- "$ref": "#/components/parameters/PoolId"
- }
- ],
- "responses": {
- "204": {
- "$ref": "#/components/responses/NoContent"
- }
- }
- }
- },
- "/api/payments/pools/{poolId}/accounts": {
- "post": {
- "summary": "Add an account to a pool",
- "tags": [
- "Payments"
- ],
- "operationId": "addAccountToPool",
- "description": "Add an account to a pool",
- "parameters": [
- {
- "$ref": "#/components/parameters/PoolId"
- }
- ],
- "requestBody": {
- "$ref": "#/components/requestBodies/AddAccountToPool"
- },
- "responses": {
- "204": {
- "$ref": "#/components/responses/NoContent"
- }
- }
- }
- },
- "/api/payments/pools/{poolId}/accounts/{accountId}": {
- "delete": {
- "summary": "Remove an account from a pool",
- "operationId": "removeAccountFromPool",
- "tags": [
- "Payments"
- ],
- "description": "Remove an account from a pool by its id.",
- "parameters": [
- {
- "$ref": "#/components/parameters/PoolId"
- },
- {
- "$ref": "#/components/parameters/AccountId"
- }
- ],
- "responses": {
- "204": {
- "$ref": "#/components/responses/NoContent"
- }
- }
- }
- },
- "/api/payments/pools/{poolId}/balances": {
- "get": {
- "summary": "Get pool balances",
- "operationId": "getPoolBalances",
- "tags": [
- "Payments"
- ],
- "parameters": [
- {
- "$ref": "#/components/parameters/PoolId"
- },
- {
- "name": "at",
- "in": "query",
- "description": "Filter balances by date.\n",
- "required": true,
- "schema": {
- "type": "string",
- "format": "date-time"
- }
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/PoolBalances"
- }
- }
- }
- },
- "/api/payments/accounts": {
- "get": {
- "summary": "List accounts",
- "operationId": "paymentslistAccounts",
- "tags": [
- "Payments"
- ],
- "parameters": [
- {
- "$ref": "#/components/parameters/PageSize"
- },
- {
- "$ref": "#/components/parameters/Cursor"
- },
- {
- "$ref": "#/components/parameters/Sort"
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/Accounts"
- }
- }
- }
- },
- "/api/payments/accounts/{accountId}": {
- "get": {
- "summary": "Get an account",
- "tags": [
- "Payments"
- ],
- "operationId": "paymentsgetAccount",
- "parameters": [
- {
- "$ref": "#/components/parameters/AccountId"
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/Account"
- }
- }
- }
- },
- "/api/payments/accounts/{accountId}/balances": {
- "get": {
- "summary": "Get account balances",
- "operationId": "getAccountBalances",
- "tags": [
- "Payments"
- ],
- "parameters": [
- {
- "$ref": "#/components/parameters/AccountId"
- },
- {
- "name": "limit",
- "in": "query",
- "description": "The maximum number of results to return per page.",
- "required": false,
- "schema": {
- "type": "integer",
- "format": "int64"
- }
- },
- {
- "name": "asset",
- "in": "query",
- "description": "Filter balances by currency.\nIf not specified, all account's balances will be returned.\n",
- "required": false,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "from",
- "in": "query",
- "description": "Filter balances by date.\nIf not specified, all account's balances will be returned.\n",
- "required": false,
- "schema": {
- "type": "string",
- "format": "date-time"
- }
- },
- {
- "name": "to",
- "in": "query",
- "description": "Filter balances by date.\nIf not specified, default will be set to now.\n",
- "required": false,
- "schema": {
- "type": "string",
- "format": "date-time"
- }
- },
- {
- "$ref": "#/components/parameters/PageSize"
- },
- {
- "$ref": "#/components/parameters/Cursor"
- },
- {
- "$ref": "#/components/parameters/Sort"
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/AccountBalances"
- }
- }
- }
- },
- "/api/payments/bank-accounts": {
- "post": {
- "summary": "Create a BankAccount in Payments and on the PSP",
- "tags": [
- "Payments"
- ],
- "operationId": "createBankAccount",
- "description": "Create a bank account in Payments and on the PSP.",
- "requestBody": {
- "$ref": "#/components/requestBodies/BankAccount"
- },
- "responses": {
- "200": {
- "$ref": "#/components/responses/BankAccount"
- }
- }
- },
- "get": {
- "summary": "List bank accounts created by user on Formance",
- "operationId": "listBankAccounts",
- "tags": [
- "Payments"
- ],
- "parameters": [
- {
- "$ref": "#/components/parameters/PageSize"
- },
- {
- "$ref": "#/components/parameters/Cursor"
- },
- {
- "$ref": "#/components/parameters/Sort"
- }
- ],
- "description": "List all bank accounts created by user on Formance.",
- "responses": {
- "200": {
- "$ref": "#/components/responses/BankAccounts"
- }
- }
- }
- },
- "/api/payments/bank-accounts/{bankAccountId}": {
- "get": {
- "summary": "Get a bank account created by user on Formance",
- "tags": [
- "Payments"
- ],
- "operationId": "getBankAccount",
- "parameters": [
- {
- "$ref": "#/components/parameters/BankAccountId"
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/BankAccount"
- }
- }
- }
- },
- "/api/payments/connectors": {
- "get": {
- "summary": "List all installed connectors",
- "operationId": "listAllConnectors",
- "tags": [
- "Payments"
- ],
- "description": "List all installed connectors.",
- "responses": {
- "200": {
- "$ref": "#/components/responses/Connectors"
- }
- }
- }
- },
- "/api/payments/connectors/configs": {
- "get": {
- "summary": "List the configs of each available connector",
- "operationId": "listConfigsAvailableConnectors",
- "tags": [
- "Payments"
- ],
- "description": "List the configs of each available connector.",
- "responses": {
- "200": {
- "$ref": "#/components/responses/ConnectorsConfigs"
- }
- }
- }
- },
- "/api/payments/connectors/{connector}": {
- "post": {
- "summary": "Install a connector",
- "tags": [
- "Payments"
- ],
- "operationId": "installConnector",
- "description": "Install a connector by its name and config.",
- "parameters": [
- {
- "$ref": "#/components/parameters/Connector"
- }
- ],
- "requestBody": {
- "$ref": "#/components/requestBodies/ConnectorConfig"
- },
- "responses": {
- "201": {
- "$ref": "#/components/responses/ConnectorInstalled"
- }
- }
- },
- "delete": {
- "summary": "Uninstall a connector",
- "deprecated": true,
- "operationId": "uninstallConnector",
- "tags": [
- "Payments"
- ],
- "description": "Uninstall a connector by its name.",
- "parameters": [
- {
- "$ref": "#/components/parameters/Connector"
- }
- ],
- "responses": {
- "204": {
- "$ref": "#/components/responses/NoContent"
- }
- }
- }
- },
- "/api/payments/connectors/{connector}/{connectorId}": {
- "delete": {
- "summary": "Uninstall a connector",
- "operationId": "uninstallConnectorV1",
- "tags": [
- "Payments"
- ],
- "description": "Uninstall a connector by its name.",
- "parameters": [
- {
- "$ref": "#/components/parameters/Connector"
- },
- {
- "$ref": "#/components/parameters/ConnectorID"
- }
- ],
- "responses": {
- "204": {
- "$ref": "#/components/responses/NoContent"
- }
- }
- }
- },
- "/api/payments/connectors/{connector}/config": {
- "get": {
- "summary": "Read the config of a connector",
- "deprecated": true,
- "operationId": "readConnectorConfig",
- "tags": [
- "Payments"
- ],
- "description": "Read connector config",
- "parameters": [
- {
- "$ref": "#/components/parameters/Connector"
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/ConnectorConfig"
- }
- }
- }
- },
- "/api/payments/connectors/{connector}/{connectorId}/config": {
- "get": {
- "summary": "Read the config of a connector",
- "operationId": "readConnectorConfigV1",
- "tags": [
- "Payments"
- ],
- "description": "Read connector config",
- "parameters": [
- {
- "$ref": "#/components/parameters/Connector"
- },
- {
- "$ref": "#/components/parameters/ConnectorID"
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/ConnectorConfig"
- }
- }
- }
- },
- "/api/payments/connectors/{connector}/reset": {
- "post": {
- "summary": "Reset a connector",
- "deprecated": true,
- "operationId": "resetConnector",
- "tags": [
- "Payments"
- ],
- "description": "Reset a connector by its name.\nIt will remove the connector and ALL PAYMENTS generated with it.\n",
- "parameters": [
- {
- "$ref": "#/components/parameters/Connector"
- }
- ],
- "responses": {
- "204": {
- "$ref": "#/components/responses/NoContent"
- }
- }
- }
- },
- "/api/payments/connectors/{connector}/{connectorId}/reset": {
- "post": {
- "summary": "Reset a connector",
- "operationId": "resetConnectorV1",
- "tags": [
- "Payments"
- ],
- "description": "Reset a connector by its name.\nIt will remove the connector and ALL PAYMENTS generated with it.\n",
- "parameters": [
- {
- "$ref": "#/components/parameters/Connector"
- },
- {
- "$ref": "#/components/parameters/ConnectorID"
- }
- ],
- "responses": {
- "204": {
- "$ref": "#/components/responses/NoContent"
- }
- }
- }
- },
- "/api/payments/connectors/{connector}/tasks": {
- "get": {
- "summary": "List tasks from a connector",
- "deprecated": true,
- "tags": [
- "Payments"
- ],
- "operationId": "listConnectorTasks",
- "description": "List all tasks associated with this connector.",
- "parameters": [
- {
- "$ref": "#/components/parameters/Connector"
- },
- {
- "$ref": "#/components/parameters/PageSize"
- },
- {
- "$ref": "#/components/parameters/Cursor"
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/Tasks"
- }
- }
- }
- },
- "/api/payments/connectors/{connector}/{connectorId}/tasks": {
- "get": {
- "summary": "List tasks from a connector",
- "tags": [
- "Payments"
- ],
- "operationId": "listConnectorTasksV1",
- "description": "List all tasks associated with this connector.",
- "parameters": [
- {
- "$ref": "#/components/parameters/Connector"
- },
- {
- "$ref": "#/components/parameters/ConnectorID"
- },
- {
- "$ref": "#/components/parameters/PageSize"
- },
- {
- "$ref": "#/components/parameters/Cursor"
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/Tasks"
- }
- }
- }
- },
- "/api/payments/connectors/{connector}/tasks/{taskId}": {
- "get": {
- "summary": "Read a specific task of the connector",
- "deprecated": true,
- "tags": [
- "Payments"
- ],
- "operationId": "getConnectorTask",
- "description": "Get a specific task associated to the connector.",
- "parameters": [
- {
- "$ref": "#/components/parameters/Connector"
- },
- {
- "$ref": "#/components/parameters/TaskId"
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/Task"
- }
- }
- }
- },
- "/api/payments/connectors/{connector}/{connectorId}/tasks/{taskId}": {
- "get": {
- "summary": "Read a specific task of the connector",
- "tags": [
- "Payments"
- ],
- "operationId": "getConnectorTaskV1",
- "description": "Get a specific task associated to the connector.",
- "parameters": [
- {
- "$ref": "#/components/parameters/Connector"
- },
- {
- "$ref": "#/components/parameters/ConnectorID"
- },
- {
- "$ref": "#/components/parameters/TaskId"
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/Task"
- }
- }
- }
- },
- "/api/payments/connectors/{connector}/transfers": {
- "post": {
- "summary": "Transfer funds between Connector accounts",
- "tags": [
- "Payments"
- ],
- "operationId": "connectorsTransfer",
- "description": "Execute a transfer between two accounts.",
- "parameters": [
- {
- "$ref": "#/components/parameters/Connector"
- }
- ],
- "requestBody": {
- "$ref": "#/components/requestBodies/Transfer"
- },
- "responses": {
- "200": {
- "$ref": "#/components/responses/Transfer"
- }
- }
- }
- },
- "/api/search/_info": {
- "get": {
- "summary": "Get server info",
- "operationId": "searchgetServerInfo",
- "tags": [
- "Search"
- ],
- "responses": {
- "200": {
- "description": "Server information",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ServerInfo"
- }
- }
- }
- }
- }
- }
- },
- "/api/search/": {
- "post": {
- "summary": "Search",
- "tags": [
- "Search"
- ],
- "operationId": "search",
- "description": "ElasticSearch query engine",
- "requestBody": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/Query"
- }
- }
- }
- },
- "responses": {
- "200": {
- "description": "Success",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/Response"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {}
- }
- }
- }
- },
- "/api/webhooks/configs": {
- "get": {
- "summary": "Get many configs",
- "description": "Sorted by updated date descending",
- "operationId": "getManyConfigs",
- "tags": [
- "Webhooks"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "query",
- "description": "Optional filter by Config ID",
- "required": false,
- "schema": {
- "type": "string",
- "example": "4997257d-dfb6-445b-929c-cbe2ab182818"
- }
- },
- {
- "name": "endpoint",
- "in": "query",
- "description": "Optional filter by endpoint URL",
- "required": false,
- "schema": {
- "type": "string",
- "example": "https://example.com"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ConfigsResponse"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/webhooksErrorResponse"
- }
- }
- }
- }
- }
- },
- "post": {
- "summary": "Insert a new config",
- "description": "Insert a new webhooks config.\n\nThe endpoint should be a valid https URL and be unique.\n\nThe secret is the endpoint's verification secret.\nIf not passed or empty, a secret is automatically generated.\nThe format is a random string of bytes of size 24, base64 encoded. (larger size after encoding)\n\nAll eventTypes are converted to lower-case when inserted.\n",
- "operationId": "insertConfig",
- "tags": [
- "Webhooks"
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ConfigUser"
- }
- }
- },
- "required": true
- },
- "responses": {
- "200": {
- "description": "Config created successfully.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ConfigResponse"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/webhooksErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/webhooks/configs/{id}": {
- "delete": {
- "summary": "Delete one config",
- "description": "Delete a webhooks config by ID.",
- "operationId": "deleteConfig",
- "tags": [
- "Webhooks"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "Config ID",
- "required": true,
- "schema": {
- "type": "string",
- "example": "4997257d-dfb6-445b-929c-cbe2ab182818"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Config successfully deleted."
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/webhooksErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/webhooks/configs/{id}/test": {
- "get": {
- "summary": "Test one config",
- "description": "Test a config by sending a webhook to its endpoint.",
- "operationId": "testConfig",
- "tags": [
- "Webhooks"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "Config ID",
- "required": true,
- "schema": {
- "type": "string",
- "example": "4997257d-dfb6-445b-929c-cbe2ab182818"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/AttemptResponse"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/webhooksErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/webhooks/configs/{id}/activate": {
- "put": {
- "summary": "Activate one config",
- "description": "Activate a webhooks config by ID, to start receiving webhooks to its endpoint.",
- "operationId": "activateConfig",
- "tags": [
- "Webhooks"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "Config ID",
- "required": true,
- "schema": {
- "type": "string",
- "example": "4997257d-dfb6-445b-929c-cbe2ab182818"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Config successfully activated.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ConfigResponse"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/webhooksErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/webhooks/configs/{id}/deactivate": {
- "put": {
- "summary": "Deactivate one config",
- "description": "Deactivate a webhooks config by ID, to stop receiving webhooks to its endpoint.",
- "operationId": "deactivateConfig",
- "tags": [
- "Webhooks"
- ],
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "Config ID",
- "required": true,
- "schema": {
- "type": "string",
- "example": "4997257d-dfb6-445b-929c-cbe2ab182818"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Config successfully deactivated.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ConfigResponse"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/webhooksErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/webhooks/configs/{id}/secret/change": {
- "put": {
- "summary": "Change the signing secret of a config",
- "description": "Change the signing secret of the endpoint of a webhooks config.\n\nIf not passed or empty, a secret is automatically generated.\nThe format is a random string of bytes of size 24, base64 encoded. (larger size after encoding)\n",
- "operationId": "changeConfigSecret",
- "tags": [
- "Webhooks"
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ConfigChangeSecret"
- }
- }
- }
- },
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "description": "Config ID",
- "required": true,
- "schema": {
- "type": "string",
- "example": "4997257d-dfb6-445b-929c-cbe2ab182818"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Secret successfully changed.",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ConfigResponse"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/webhooksErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/wallets/_info": {
- "get": {
- "summary": "Get server info",
- "operationId": "walletsgetServerInfo",
- "tags": [
- "Wallets"
- ],
- "responses": {
- "200": {
- "description": "Server information",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ServerInfo"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/walletsErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/wallets/transactions": {
- "get": {
- "operationId": "getTransactions",
- "parameters": [
- {
- "name": "pageSize",
- "in": "query",
- "description": "The maximum number of results to return per page",
- "example": 100,
- "schema": {
- "type": "integer",
- "maximum": 1000,
- "minimum": 1,
- "default": 15
- }
- },
- {
- "name": "walletID",
- "in": "query",
- "description": "A wallet ID to filter on",
- "example": "wallet1",
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "cursor",
- "in": "query",
- "description": "Parameter used in pagination requests.\nSet to the value of next for the next page of results.\nSet to the value of previous for the previous page of results.\nNo other parameters can be set when the cursor is set.\n",
- "schema": {
- "type": "string",
- "example": "aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ=="
- }
- }
- ],
- "tags": [
- "Wallets"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/GetTransactionsResponse"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/walletsErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/wallets/wallets": {
- "get": {
- "summary": "List all wallets",
- "operationId": "listWallets",
- "parameters": [
- {
- "name": "name",
- "in": "query",
- "description": "Filter on wallet name",
- "example": "wallet1",
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "metadata",
- "in": "query",
- "description": "Filter wallets by metadata key value pairs. Nested objects can be used as seen in the example below.",
- "style": "deepObject",
- "explode": true,
- "schema": {
- "type": "object",
- "properties": {},
- "additionalProperties": {
- "type": "string"
- }
- },
- "example": {
- "admin": "true"
- }
- },
- {
- "name": "pageSize",
- "in": "query",
- "description": "The maximum number of results to return per page",
- "example": 100,
- "schema": {
- "type": "integer",
- "maximum": 1000,
- "minimum": 1,
- "default": 15
- }
- },
- {
- "name": "cursor",
- "in": "query",
- "description": "Parameter used in pagination requests.\nSet to the value of next for the next page of results.\nSet to the value of previous for the previous page of results.\nNo other parameters can be set when the pagination token is set.\n",
- "schema": {
- "type": "string",
- "example": "aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ=="
- }
- }
- ],
- "tags": [
- "Wallets"
- ],
- "responses": {
- "200": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ListWalletsResponse"
- }
- }
- }
- }
- }
- },
- "post": {
- "summary": "Create a new wallet",
- "operationId": "createWallet",
- "tags": [
- "Wallets"
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CreateWalletRequest"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "Wallet created",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CreateWalletResponse"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/walletsErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/wallets/wallets/{id}": {
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "get": {
- "summary": "Get a wallet",
- "operationId": "getWallet",
- "tags": [
- "Wallets"
- ],
- "responses": {
- "200": {
- "description": "Wallet",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/GetWalletResponse"
- }
- }
- }
- },
- "404": {
- "description": "Wallet not found"
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/walletsErrorResponse"
- }
- }
- }
- }
- }
- },
- "patch": {
- "summary": "Update a wallet",
- "operationId": "updateWallet",
- "tags": [
- "Wallets"
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "required": [
- "metadata"
- ],
- "properties": {
- "metadata": {
- "type": "object",
- "description": "Custom metadata to attach to this wallet.",
- "additionalProperties": {
- "type": "string"
- }
- }
- }
- }
- }
- }
- },
- "responses": {
- "204": {
- "description": "Wallet successfully updated"
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/walletsErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/wallets/wallets/{id}/summary": {
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "get": {
- "summary": "Get wallet summary",
- "operationId": "getWalletSummary",
- "tags": [
- "Wallets"
- ],
- "responses": {
- "200": {
- "description": "Wallet summary",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/GetWalletSummaryResponse"
- }
- }
- }
- },
- "404": {
- "description": "Wallet not found"
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/walletsErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/wallets/wallets/{id}/balances": {
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "get": {
- "summary": "List balances of a wallet",
- "operationId": "listBalances",
- "tags": [
- "Wallets"
- ],
- "responses": {
- "200": {
- "description": "Balances list",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ListBalancesResponse"
- }
- }
- }
- }
- }
- },
- "post": {
- "summary": "Create a balance",
- "operationId": "createBalance",
- "tags": [
- "Wallets"
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CreateBalanceRequest"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "Created balance",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CreateBalanceResponse"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/walletsErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/wallets/wallets/{id}/balances/{balanceName}": {
- "get": {
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "balanceName",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "summary": "Get detailed balance",
- "operationId": "getBalance",
- "tags": [
- "Wallets"
- ],
- "responses": {
- "200": {
- "description": "Balance summary",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/GetBalanceResponse"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/walletsErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/wallets/wallets/{id}/debit": {
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "post": {
- "summary": "Debit a wallet",
- "operationId": "debitWallet",
- "tags": [
- "Wallets"
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/DebitWalletRequest"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "Wallet successfully debited as a pending hold",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/DebitWalletResponse"
- }
- }
- }
- },
- "204": {
- "description": "Wallet successfully debited"
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/walletsErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/wallets/wallets/{id}/credit": {
- "parameters": [
- {
- "name": "id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "post": {
- "summary": "Credit a wallet",
- "operationId": "creditWallet",
- "tags": [
- "Wallets"
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CreditWalletRequest"
- }
- }
- }
- },
- "responses": {
- "204": {
- "description": "Wallet successfully credited"
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/walletsErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/wallets/holds": {
- "get": {
- "summary": "Get all holds for a wallet",
- "tags": [
- "Wallets"
- ],
- "operationId": "getHolds",
- "parameters": [
- {
- "name": "pageSize",
- "in": "query",
- "description": "The maximum number of results to return per page",
- "example": 100,
- "schema": {
- "type": "integer",
- "maximum": 1000,
- "minimum": 1,
- "default": 15
- }
- },
- {
- "name": "walletID",
- "in": "query",
- "description": "The wallet to filter on",
- "example": "wallet1",
- "schema": {
- "type": "string"
- }
- },
- {
- "name": "metadata",
- "in": "query",
- "description": "Filter holds by metadata key value pairs. Nested objects can be used as seen in the example below.",
- "style": "deepObject",
- "schema": {
- "type": "object",
- "properties": {},
- "additionalProperties": {
- "type": "string"
- }
- },
- "example": {
- "admin": "true"
- }
- },
- {
- "name": "cursor",
- "in": "query",
- "description": "Parameter used in pagination requests.\nSet to the value of next for the next page of results.\nSet to the value of previous for the previous page of results.\nNo other parameters can be set when the pagination token is set.\n",
- "schema": {
- "type": "string",
- "example": "aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ=="
- }
- }
- ],
- "responses": {
- "200": {
- "description": "Holds",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/GetHoldsResponse"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/walletsErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/wallets/holds/{holdID}": {
- "get": {
- "summary": "Get a hold",
- "tags": [
- "Wallets"
- ],
- "operationId": "getHold",
- "parameters": [
- {
- "name": "holdID",
- "in": "path",
- "schema": {
- "type": "string"
- },
- "required": true,
- "description": "The hold ID"
- }
- ],
- "responses": {
- "200": {
- "description": "Holds",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/GetHoldResponse"
- }
- }
- }
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/walletsErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/wallets/holds/{hold_id}/confirm": {
- "post": {
- "parameters": [
- {
- "name": "hold_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ConfirmHoldRequest"
- }
- }
- }
- },
- "summary": "Confirm a hold",
- "tags": [
- "Wallets"
- ],
- "operationId": "confirmHold",
- "responses": {
- "204": {
- "description": "Hold successfully confirmed, funds moved back to initial destination"
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/walletsErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/wallets/holds/{hold_id}/void": {
- "parameters": [
- {
- "name": "hold_id",
- "in": "path",
- "required": true,
- "schema": {
- "type": "string"
- }
- }
- ],
- "post": {
- "summary": "Cancel a hold",
- "operationId": "voidHold",
- "tags": [
- "Wallets"
- ],
- "responses": {
- "204": {
- "description": "Hold successfully cancelled, funds returned to wallet"
- },
- "default": {
- "description": "Error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/walletsErrorResponse"
- }
- }
- }
- }
- }
- }
- },
- "/api/orchestration/_info": {
- "get": {
- "summary": "Get server info",
- "operationId": "orchestrationgetServerInfo",
- "tags": [
- "Orchestration"
- ],
- "responses": {
- "200": {
- "description": "Server information",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ServerInfo"
- }
- }
- }
- },
- "default": {
- "$ref": "#/components/responses/ErrorResponse"
- }
- }
- }
- },
- "/api/orchestration/triggers": {
- "get": {
- "summary": "List triggers",
- "operationId": "listTriggers",
- "description": "List triggers",
- "tags": [
- "Orchestration"
- ],
- "responses": {
- "200": {
- "description": "List of triggers",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ListTriggersResponse"
- }
- }
- }
- },
- "default": {
- "$ref": "#/components/responses/ErrorResponse"
- }
- }
- },
- "post": {
- "summary": "Create trigger",
- "operationId": "createTrigger",
- "description": "Create trigger",
- "tags": [
- "Orchestration"
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/TriggerData"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "Created trigger",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CreateTriggerResponse"
- }
- }
- }
- },
- "default": {
- "$ref": "#/components/responses/ErrorResponse"
- }
- }
- }
- },
- "/api/orchestration/triggers/{triggerID}": {
- "parameters": [
- {
- "name": "triggerID",
- "description": "The trigger id",
- "in": "path",
- "schema": {
- "type": "string"
- },
- "required": true
- }
- ],
- "get": {
- "summary": "Read trigger",
- "operationId": "readTrigger",
- "description": "Read trigger",
- "tags": [
- "Orchestration"
- ],
- "responses": {
- "200": {
- "description": "A specific trigger",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ReadTriggerResponse"
- }
- }
- }
- },
- "default": {
- "$ref": "#/components/responses/ErrorResponse"
- }
- }
- },
- "delete": {
- "summary": "Delete trigger",
- "operationId": "deleteTrigger",
- "description": "Read trigger",
- "tags": [
- "Orchestration"
- ],
- "responses": {
- "204": {
- "description": "Trigger deleted"
- },
- "default": {
- "$ref": "#/components/responses/ErrorResponse"
- }
- }
- }
- },
- "/api/orchestration/triggers/{triggerID}/occurrences": {
- "parameters": [
- {
- "name": "triggerID",
- "description": "The trigger id",
- "in": "path",
- "schema": {
- "type": "string"
- },
- "required": true
- }
- ],
- "get": {
- "summary": "List triggers occurrences",
- "operationId": "listTriggersOccurrences",
- "description": "List triggers occurrences",
- "tags": [
- "Orchestration"
- ],
- "responses": {
- "200": {
- "description": "List of triggers occurrences",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ListTriggersOccurrencesResponse"
- }
- }
- }
- },
- "default": {
- "$ref": "#/components/responses/ErrorResponse"
- }
- }
- }
- },
- "/api/orchestration/workflows": {
- "get": {
- "summary": "List registered workflows",
- "operationId": "listWorkflows",
- "description": "List registered workflows",
- "tags": [
- "Orchestration"
- ],
- "responses": {
- "200": {
- "description": "List of workflows",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ListWorkflowsResponse"
- }
- }
- }
- },
- "default": {
- "$ref": "#/components/responses/ErrorResponse"
- }
- }
- },
- "post": {
- "summary": "Create workflow",
- "operationId": "createWorkflow",
- "description": "Create a workflow",
- "tags": [
- "Orchestration"
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CreateWorkflowRequest"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "Created workflow",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/CreateWorkflowResponse"
- }
- }
- }
- },
- "default": {
- "$ref": "#/components/responses/ErrorResponse"
- }
- }
- }
- },
- "/api/orchestration/workflows/{flowId}": {
- "parameters": [
- {
- "in": "path",
- "description": "The flow id",
- "name": "flowId",
- "schema": {
- "type": "string"
- },
- "example": "xxx",
- "required": true
- }
- ],
- "get": {
- "summary": "Get a flow by id",
- "tags": [
- "Orchestration"
- ],
- "description": "Get a flow by id",
- "operationId": "getWorkflow",
- "responses": {
- "200": {
- "description": "The workflow",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/GetWorkflowResponse"
- }
- }
- }
- },
- "default": {
- "$ref": "#/components/responses/ErrorResponse"
- }
- }
- },
- "delete": {
- "summary": "Delete a flow by id",
- "tags": [
- "Orchestration"
- ],
- "description": "Delete a flow by id",
- "operationId": "deleteWorkflow",
- "responses": {
- "204": {
- "description": "No content"
- },
- "default": {
- "$ref": "#/components/responses/ErrorResponse"
- }
- }
- }
- },
- "/api/orchestration/workflows/{workflowID}/instances": {
- "parameters": [
- {
- "in": "path",
- "description": "The flow id",
- "name": "workflowID",
- "schema": {
- "type": "string"
- },
- "example": "xxx",
- "required": true
- }
- ],
- "post": {
- "description": "Run workflow",
- "summary": "Run workflow",
- "operationId": "runWorkflow",
- "parameters": [
- {
- "in": "query",
- "name": "wait",
- "required": false,
- "description": "Wait end of the workflow before return",
- "schema": {
- "type": "boolean"
- }
- }
- ],
- "tags": [
- "Orchestration"
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/RunWorkflowRequest"
- }
- }
- }
- },
- "responses": {
- "201": {
- "description": "The workflow instance",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/RunWorkflowResponse"
- }
- }
- }
- },
- "default": {
- "$ref": "#/components/responses/ErrorResponse"
- }
- }
- }
- },
- "/api/orchestration/instances": {
- "get": {
- "description": "List instances of a workflow",
- "summary": "List instances of a workflow",
- "operationId": "listInstances",
- "parameters": [
- {
- "in": "query",
- "description": "A workflow id",
- "name": "workflowID",
- "schema": {
- "type": "string"
- },
- "example": "xxx",
- "required": false
- },
- {
- "in": "query",
- "description": "Filter running instances",
- "name": "running",
- "schema": {
- "type": "boolean"
- },
- "example": true,
- "required": false
- }
- ],
- "tags": [
- "Orchestration"
- ],
- "responses": {
- "200": {
- "description": "List of workflow instances",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ListRunsResponse"
- }
- }
- }
- },
- "default": {
- "$ref": "#/components/responses/ErrorResponse"
- }
- }
- }
- },
- "/api/orchestration/instances/{instanceID}": {
- "parameters": [
- {
- "in": "path",
- "description": "The instance id",
- "name": "instanceID",
- "schema": {
- "type": "string"
- },
- "example": "xxx",
- "required": true
- }
- ],
- "get": {
- "summary": "Get a workflow instance by id",
- "description": "Get a workflow instance by id",
- "operationId": "getInstance",
- "tags": [
- "Orchestration"
- ],
- "responses": {
- "200": {
- "description": "The workflow instance",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/GetWorkflowInstanceResponse"
- }
- }
- }
- },
- "default": {
- "$ref": "#/components/responses/ErrorResponse"
- }
- }
- }
- },
- "/api/orchestration/instances/{instanceID}/events": {
- "parameters": [
- {
- "in": "path",
- "description": "The instance id",
- "name": "instanceID",
- "schema": {
- "type": "string"
- },
- "example": "xxx",
- "required": true
- }
- ],
- "post": {
- "summary": "Send an event to a running workflow",
- "description": "Send an event to a running workflow",
- "operationId": "sendEvent",
- "tags": [
- "Orchestration"
- ],
- "requestBody": {
- "content": {
- "application/json": {
- "schema": {
- "type": "object",
- "required": [
- "name"
- ],
- "properties": {
- "name": {
- "type": "string"
- }
- }
- }
- }
- }
- },
- "responses": {
- "204": {
- "description": "No content"
- },
- "default": {
- "$ref": "#/components/responses/ErrorResponse"
- }
- }
- }
- },
- "/api/orchestration/instances/{instanceID}/abort": {
- "parameters": [
- {
- "in": "path",
- "description": "The instance id",
- "name": "instanceID",
- "schema": {
- "type": "string"
- },
- "example": "xxx",
- "required": true
- }
- ],
- "put": {
- "summary": "Cancel a running workflow",
- "description": "Cancel a running workflow",
- "operationId": "cancelEvent",
- "tags": [
- "Orchestration"
- ],
- "responses": {
- "204": {
- "description": "No content"
- },
- "default": {
- "$ref": "#/components/responses/ErrorResponse"
- }
- }
- }
- },
- "/api/orchestration/instances/{instanceID}/history": {
- "parameters": [
- {
- "in": "path",
- "description": "The instance id",
- "name": "instanceID",
- "schema": {
- "type": "string"
- },
- "example": "xxx",
- "required": true
- }
- ],
- "get": {
- "summary": "Get a workflow instance history by id",
- "description": "Get a workflow instance history by id",
- "operationId": "getInstanceHistory",
- "tags": [
- "Orchestration"
- ],
- "responses": {
- "200": {
- "description": "The workflow instance history",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/GetWorkflowInstanceHistoryResponse"
- }
- }
- }
- },
- "default": {
- "$ref": "#/components/responses/ErrorResponse"
- }
- }
- }
- },
- "/api/orchestration/instances/{instanceID}/stages/{number}/history": {
- "parameters": [
- {
- "in": "path",
- "description": "The instance id",
- "name": "instanceID",
- "schema": {
- "type": "string"
- },
- "example": "xxx",
- "required": true
- },
- {
- "in": "path",
- "description": "The stage number",
- "name": "number",
- "schema": {
- "type": "integer"
- },
- "example": 0,
- "required": true
- }
- ],
- "get": {
- "summary": "Get a workflow instance stage history",
- "description": "Get a workflow instance stage history",
- "operationId": "getInstanceStageHistory",
- "tags": [
- "Orchestration"
- ],
- "responses": {
- "200": {
- "description": "The workflow instance stage history",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/GetWorkflowInstanceHistoryStageResponse"
- }
- }
- }
- },
- "default": {
- "$ref": "#/components/responses/ErrorResponse"
- }
- }
- }
- },
- "/api/reconciliation/_info": {
- "get": {
- "summary": "Get server info",
- "operationId": "reconciliationgetServerInfo",
- "tags": [
- "Reconciliation"
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/ServerInfo"
- },
- "default": {
- "$ref": "#/components/responses/reconciliationErrorResponse"
- }
- }
- }
- },
- "/api/reconciliation/policies": {
- "post": {
- "summary": "Create a policy",
- "tags": [
- "Reconciliation"
- ],
- "operationId": "createPolicy",
- "description": "Create a policy",
- "requestBody": {
- "$ref": "#/components/requestBodies/Policy"
- },
- "responses": {
- "201": {
- "$ref": "#/components/responses/Policy"
- },
- "default": {
- "$ref": "#/components/responses/reconciliationErrorResponse"
- }
- }
- },
- "get": {
- "summary": "List policies",
- "operationId": "listPolicies",
- "tags": [
- "Reconciliation"
- ],
- "parameters": [
- {
- "$ref": "#/components/parameters/reconciliationPageSize"
- },
- {
- "$ref": "#/components/parameters/Cursor"
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/Policies"
- },
- "default": {
- "$ref": "#/components/responses/reconciliationErrorResponse"
- }
- }
- }
- },
- "/api/reconciliation/policies/{policyID}": {
- "delete": {
- "summary": "Delete a policy",
- "operationId": "deletePolicy",
- "tags": [
- "Reconciliation"
- ],
- "description": "Delete a policy by its id.",
- "parameters": [
- {
- "$ref": "#/components/parameters/PolicyID"
- }
- ],
- "responses": {
- "204": {
- "$ref": "#/components/responses/NoContent"
- },
- "default": {
- "$ref": "#/components/responses/reconciliationErrorResponse"
- }
- }
- },
- "get": {
- "summary": "Get a policy",
- "tags": [
- "Reconciliation"
- ],
- "operationId": "getPolicy",
- "parameters": [
- {
- "$ref": "#/components/parameters/PolicyID"
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/Policy"
- },
- "default": {
- "$ref": "#/components/responses/reconciliationErrorResponse"
- }
- }
- }
- },
- "/api/reconciliation/policies/{policyID}/reconciliation": {
- "post": {
- "summary": "Reconcile using a policy",
- "tags": [
- "Reconciliation"
- ],
- "operationId": "reconcile",
- "description": "Reconcile using a policy",
- "parameters": [
- {
- "$ref": "#/components/parameters/PolicyID"
- }
- ],
- "requestBody": {
- "$ref": "#/components/requestBodies/Reconciliation"
- },
- "responses": {
- "200": {
- "$ref": "#/components/responses/Reconciliation"
- },
- "default": {
- "$ref": "#/components/responses/reconciliationErrorResponse"
- }
- }
- }
- },
- "/api/reconciliation/reconciliations": {
- "get": {
- "summary": "List reconciliations",
- "operationId": "listReconciliations",
- "tags": [
- "Reconciliation"
- ],
- "parameters": [
- {
- "$ref": "#/components/parameters/reconciliationPageSize"
- },
- {
- "$ref": "#/components/parameters/Cursor"
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/Reconciliations"
- },
- "default": {
- "$ref": "#/components/responses/reconciliationErrorResponse"
- }
- }
- }
- },
- "/api/reconciliation/reconciliations/{reconciliationID}": {
- "get": {
- "summary": "Get a reconciliation",
- "tags": [
- "Reconciliation"
- ],
- "operationId": "getReconciliation",
- "parameters": [
- {
- "$ref": "#/components/parameters/ReconciliationID"
- }
- ],
- "responses": {
- "200": {
- "$ref": "#/components/responses/Reconciliation"
- },
- "default": {
- "$ref": "#/components/responses/reconciliationErrorResponse"
- }
- }
- }
- }
- },
- "components": {
- "schemas": {
- "Version": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "version": {
- "type": "string"
- },
- "health": {
- "type": "boolean"
- }
- },
- "required": [
- "name",
- "version",
- "health"
- ]
- },
- "GetVersionsResponse": {
- "type": "object",
- "properties": {
- "region": {
- "type": "string"
- },
- "env": {
- "type": "string"
- },
- "versions": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Version"
- }
- }
- },
- "required": [
- "region",
- "env",
- "versions"
- ]
- },
- "Metadata": {
- "type": "object",
- "additionalProperties": {}
- },
- "ClientOptions": {
- "type": "object",
- "properties": {
- "public": {
- "type": "boolean"
- },
- "redirectUris": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "description": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "trusted": {
- "type": "boolean"
- },
- "postLogoutRedirectUris": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "metadata": {
- "$ref": "#/components/schemas/Metadata"
- },
- "scopes": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "required": [
- "name"
- ]
- },
- "ClientSecret": {
- "type": "object",
- "properties": {
- "lastDigits": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "metadata": {
- "$ref": "#/components/schemas/Metadata"
- }
- },
- "required": [
- "id",
- "lastDigits",
- "name"
- ]
- },
- "Client": {
- "allOf": [
- {
- "$ref": "#/components/schemas/ClientOptions"
- },
- {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "secrets": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/ClientSecret"
- }
- }
- },
- "required": [
- "id"
- ]
- }
- ]
- },
- "ScopeOptions": {
- "type": "object",
- "properties": {
- "label": {
- "type": "string"
- },
- "metadata": {
- "$ref": "#/components/schemas/Metadata"
- }
- },
- "required": [
- "label"
- ]
- },
- "Scope": {
- "allOf": [
- {
- "$ref": "#/components/schemas/ScopeOptions"
- },
- {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "transient": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- },
- "required": [
- "id"
- ]
- }
- ]
- },
- "SecretOptions": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "metadata": {
- "$ref": "#/components/schemas/Metadata"
- }
- },
- "required": [
- "name"
- ]
- },
- "Secret": {
- "allOf": [
- {
- "$ref": "#/components/schemas/SecretOptions"
- },
- {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "lastDigits": {
- "type": "string"
- },
- "clear": {
- "type": "string"
- }
- },
- "required": [
- "id",
- "lastDigits",
- "clear"
- ]
- }
- ]
- },
- "User": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string",
- "example": "3bb03708-312f-48a0-821a-e765837dc2c4"
- },
- "subject": {
- "type": "string",
- "example": "Jane Doe"
- },
- "email": {
- "type": "string",
- "example": "user1@orga1.com"
- }
- }
- },
- "CreateClientRequest": {
- "$ref": "#/components/schemas/ClientOptions"
- },
- "CreateClientResponse": {
- "type": "object",
- "properties": {
- "data": {
- "$ref": "#/components/schemas/Client"
- }
- }
- },
- "ListClientsResponse": {
- "type": "object",
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Client"
- }
- }
- }
- },
- "UpdateClientRequest": {
- "$ref": "#/components/schemas/ClientOptions"
- },
- "UpdateClientResponse": {
- "$ref": "#/components/schemas/CreateClientResponse"
- },
- "ReadClientResponse": {
- "type": "object",
- "properties": {
- "data": {
- "$ref": "#/components/schemas/Client"
- }
- }
- },
- "ListScopesResponse": {
- "type": "object",
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Scope"
- }
- }
- }
- },
- "CreateScopeRequest": {
- "$ref": "#/components/schemas/ScopeOptions"
- },
- "CreateScopeResponse": {
- "type": "object",
- "properties": {
- "data": {
- "$ref": "#/components/schemas/Scope"
- }
- }
- },
- "ReadScopeResponse": {
- "$ref": "#/components/schemas/CreateScopeResponse"
- },
- "UpdateScopeRequest": {
- "$ref": "#/components/schemas/ScopeOptions"
- },
- "UpdateScopeResponse": {
- "$ref": "#/components/schemas/CreateScopeResponse"
- },
- "CreateSecretRequest": {
- "$ref": "#/components/schemas/SecretOptions"
- },
- "CreateSecretResponse": {
- "type": "object",
- "properties": {
- "data": {
- "$ref": "#/components/schemas/Secret"
- }
- }
- },
- "ReadUserResponse": {
- "type": "object",
- "properties": {
- "data": {
- "$ref": "#/components/schemas/User"
- }
- }
- },
- "ListUsersResponse": {
- "type": "object",
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/User"
- }
- }
- }
- },
- "ServerInfo": {
- "type": "object",
- "required": [
- "version"
- ],
- "properties": {
- "version": {
- "type": "string"
- }
- }
- },
- "AccountsCursorResponse": {
- "type": "object",
- "required": [
- "cursor"
- ],
- "properties": {
- "cursor": {
- "type": "object",
- "required": [
- "pageSize",
- "hasMore",
- "data"
- ],
- "properties": {
- "pageSize": {
- "type": "integer",
- "format": "int64",
- "minimum": 1,
- "maximum": 1000,
- "example": 15
- },
- "hasMore": {
- "type": "boolean",
- "example": false
- },
- "previous": {
- "type": "string",
- "example": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol="
- },
- "next": {
- "type": "string",
- "example": ""
- },
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Account"
- }
- }
- }
- }
- }
- },
- "BalancesCursorResponse": {
- "type": "object",
- "required": [
- "cursor"
- ],
- "properties": {
- "cursor": {
- "type": "object",
- "required": [
- "pageSize",
- "hasMore",
- "data"
- ],
- "properties": {
- "pageSize": {
- "type": "integer",
- "format": "int64",
- "minimum": 1,
- "maximum": 1000,
- "example": 15
- },
- "hasMore": {
- "type": "boolean",
- "example": false
- },
- "previous": {
- "type": "string",
- "example": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol="
- },
- "next": {
- "type": "string",
- "example": ""
- },
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/AccountsBalances"
- }
- }
- }
- }
- }
- },
- "TransactionsCursorResponse": {
- "type": "object",
- "required": [
- "cursor"
- ],
- "properties": {
- "cursor": {
- "type": "object",
- "required": [
- "pageSize",
- "hasMore",
- "data"
- ],
- "properties": {
- "pageSize": {
- "type": "integer",
- "format": "int64",
- "minimum": 1,
- "maximum": 1000,
- "example": 15
- },
- "hasMore": {
- "type": "boolean",
- "example": false
- },
- "previous": {
- "type": "string",
- "example": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol="
- },
- "next": {
- "type": "string",
- "example": ""
- },
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/ExpandedTransaction"
- }
- }
- }
- }
- }
- },
- "LogsCursorResponse": {
- "type": "object",
- "required": [
- "cursor"
- ],
- "properties": {
- "cursor": {
- "type": "object",
- "required": [
- "pageSize",
- "hasMore",
- "data"
- ],
- "properties": {
- "pageSize": {
- "type": "integer",
- "format": "int64",
- "minimum": 1,
- "maximum": 1000,
- "example": 15
- },
- "hasMore": {
- "type": "boolean",
- "example": false
- },
- "previous": {
- "type": "string",
- "example": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol="
- },
- "next": {
- "type": "string",
- "example": ""
- },
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Log"
- }
- }
- }
- }
- }
- },
- "AccountResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/Account"
- }
- }
- },
- "AggregateBalancesResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/AssetsBalances"
- }
- }
- },
- "ledgerMetadata": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "example": {
- "admin": "true"
- }
- },
- "ConfigInfo": {
- "type": "object",
- "properties": {
- "server": {
- "type": "string"
- },
- "version": {
- "type": "string"
- }
- },
- "required": [
- "config",
- "server",
- "version"
- ]
- },
- "Account": {
- "type": "object",
- "required": [
- "address",
- "metadata"
- ],
- "properties": {
- "address": {
- "type": "string",
- "example": "users:001"
- },
- "metadata": {
- "type": "object",
- "properties": {},
- "additionalProperties": {
- "type": "string"
- },
- "example": {
- "admin": "true"
- }
- },
- "volumes": {
- "$ref": "#/components/schemas/Volumes"
- },
- "effectiveVolumes": {
- "$ref": "#/components/schemas/Volumes"
- }
- }
- },
- "AccountsBalances": {
- "type": "object",
- "additionalProperties": {
- "$ref": "#/components/schemas/AssetsBalances"
- },
- "example": {
- "account1": {
- "USD": 100,
- "EUR": 23
- },
- "account2": {
- "CAD": 20,
- "JPY": 21
- }
- }
- },
- "AssetsBalances": {
- "type": "object",
- "additionalProperties": {
- "type": "integer",
- "format": "bigint"
- },
- "example": {
- "USD": 100,
- "EUR": 12
- }
- },
- "Posting": {
- "type": "object",
- "properties": {
- "amount": {
- "type": "integer",
- "format": "bigint",
- "minimum": 0,
- "example": 100
- },
- "asset": {
- "type": "string",
- "example": "COIN"
- },
- "destination": {
- "type": "string",
- "example": "users:002"
- },
- "source": {
- "type": "string",
- "example": "users:001"
- }
- },
- "required": [
- "amount",
- "asset",
- "destination",
- "source"
- ]
- },
- "Script": {
- "type": "object",
- "properties": {
- "plain": {
- "type": "string",
- "example": "vars {\naccount $user\n}\nsend [COIN 10] (\n\tsource = @world\n\tdestination = $user\n)\n"
- },
- "vars": {
- "type": "object",
- "properties": {},
- "additionalProperties": true,
- "example": {
- "user": "users:042"
- }
- },
- "reference": {
- "type": "string",
- "example": "order_1234",
- "description": "Reference to attach to the generated transaction"
- },
- "metadata": {
- "$ref": "#/components/schemas/ledgerMetadata"
- }
- },
- "required": [
- "plain"
- ]
- },
- "Transaction": {
- "type": "object",
- "properties": {
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "postings": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Posting"
- }
- },
- "reference": {
- "type": "string",
- "example": "ref:001"
- },
- "metadata": {
- "$ref": "#/components/schemas/orchestrationMetadata"
- },
- "id": {
- "type": "integer",
- "format": "bigint",
- "minimum": 0
- },
- "reverted": {
- "type": "boolean"
- }
- },
- "required": [
- "postings",
- "timestamp",
- "id",
- "metadata",
- "reverted"
- ]
- },
- "ExpandedTransaction": {
- "allOf": [
- {
- "$ref": "#/components/schemas/Transaction"
- },
- {
- "type": "object",
- "properties": {
- "preCommitVolumes": {
- "$ref": "#/components/schemas/AggregatedVolumes"
- },
- "postCommitVolumes": {
- "$ref": "#/components/schemas/AggregatedVolumes"
- }
- }
- }
- ]
- },
- "PostTransaction": {
- "type": "object",
- "required": [
- "metadata"
- ],
- "properties": {
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "postings": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Posting"
- }
- },
- "script": {
- "type": "object",
- "properties": {
- "plain": {
- "type": "string",
- "example": "vars {\naccount $user\n}\nsend [COIN 10] (\n\tsource = @world\n\tdestination = $user\n)\n"
- },
- "vars": {
- "type": "object",
- "properties": {},
- "additionalProperties": true,
- "example": {
- "user": "users:042"
- }
- }
- },
- "required": [
- "plain"
- ]
- },
- "reference": {
- "type": "string",
- "example": "ref:001"
- },
- "metadata": {
- "$ref": "#/components/schemas/orchestrationMetadata"
- }
- }
- },
- "Stats": {
- "type": "object",
- "properties": {
- "accounts": {
- "type": "integer",
- "format": "int64",
- "minimum": 0
- },
- "transactions": {
- "type": "integer",
- "format": "bigint",
- "minimum": 0
- }
- },
- "required": [
- "accounts",
- "transactions"
- ]
- },
- "Log": {
- "type": "object",
- "properties": {
- "id": {
- "type": "integer",
- "format": "bigint",
- "minimum": 0,
- "example": 1234
- },
- "type": {
- "type": "string",
- "enum": [
- "NEW_TRANSACTION",
- "SET_METADATA",
- "REVERTED_TRANSACTION"
- ]
- },
- "data": {
- "type": "object",
- "properties": {},
- "additionalProperties": true
- },
- "hash": {
- "type": "string",
- "example": "9ee060170400f556b7e1575cb13f9db004f150a08355c7431c62bc639166431e"
- },
- "date": {
- "type": "string",
- "format": "date-time"
- }
- },
- "required": [
- "id",
- "type",
- "data",
- "hash",
- "date"
- ]
- },
- "CreateTransactionResponse": {
- "properties": {
- "data": {
- "$ref": "#/components/schemas/Transaction"
- }
- },
- "type": "object",
- "required": [
- "data"
- ]
- },
- "RevertTransactionResponse": {
- "$ref": "#/components/schemas/orchestrationCreateTransactionResponse"
- },
- "GetTransactionResponse": {
- "properties": {
- "data": {
- "$ref": "#/components/schemas/ExpandedTransaction"
- }
- },
- "type": "object",
- "required": [
- "data"
- ]
- },
- "StatsResponse": {
- "properties": {
- "data": {
- "$ref": "#/components/schemas/Stats"
- }
- },
- "type": "object",
- "required": [
- "data"
- ]
- },
- "ConfigInfoResponse": {
- "$ref": "#/components/schemas/ConfigInfo"
- },
- "Volume": {
- "type": "object",
- "properties": {
- "input": {
- "type": "integer",
- "format": "bigint"
- },
- "output": {
- "type": "integer",
- "format": "bigint"
- },
- "balance": {
- "type": "integer",
- "format": "bigint"
- }
- },
- "required": [
- "input",
- "output"
- ],
- "example": {
- "input": 100,
- "output": 20,
- "balance": 80
- }
- },
- "Volumes": {
- "type": "object",
- "additionalProperties": {
- "$ref": "#/components/schemas/Volume"
- },
- "example": {
- "USD": {
- "input": 100,
- "output": 10,
- "balance": 90
- },
- "EUR": {
- "input": 100,
- "output": 10,
- "balance": 90
- }
- }
- },
- "AggregatedVolumes": {
- "type": "object",
- "additionalProperties": {
- "$ref": "#/components/schemas/Volumes"
- },
- "example": {
- "orders:1": {
- "USD": {
- "input": 100,
- "output": 10,
- "balance": 90
- }
- },
- "orders:2": {
- "USD": {
- "input": 100,
- "output": 10,
- "balance": 90
- }
- }
- }
- },
- "ErrorResponse": {
- "type": "object",
- "required": [
- "errorCode",
- "errorMessage"
- ],
- "properties": {
- "errorCode": {
- "$ref": "#/components/schemas/ErrorsEnum"
- },
- "errorMessage": {
- "type": "string",
- "example": "[VALIDATION] invalid 'cursor' query param"
- },
- "details": {
- "type": "string",
- "example": "https://play.numscript.org/?payload=eyJlcnJvciI6ImFjY291bnQgaGFkIGluc3VmZmljaWVudCBmdW5kcyJ9"
- }
- }
- },
- "ErrorsEnum": {
- "type": "string",
- "enum": [
- "INTERNAL",
- "INSUFFICIENT_FUND",
- "VALIDATION",
- "CONFLICT",
- "COMPILATION_FAILED",
- "METADATA_OVERRIDE",
- "NOT_FOUND",
- "REVERT_OCCURRING",
- "ALREADY_REVERT",
- "NO_POSTINGS"
- ],
- "example": "VALIDATION"
- },
- "LedgerInfoResponse": {
- "properties": {
- "data": {
- "$ref": "#/components/schemas/LedgerInfo"
- }
- }
- },
- "LedgerInfo": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string",
- "example": "ledger001"
- },
- "storage": {
- "type": "object",
- "properties": {
- "migrations": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/MigrationInfo"
- }
- }
- }
- }
- }
- },
- "MigrationInfo": {
- "type": "object",
- "properties": {
- "version": {
- "type": "integer",
- "format": "int64",
- "minimum": 0,
- "example": 11
- },
- "name": {
- "type": "string",
- "example": "migrations:001"
- },
- "date": {
- "type": "string",
- "format": "date-time"
- },
- "state": {
- "type": "string",
- "enum": [
- "to do",
- "done"
- ]
- }
- }
- },
- "Bulk": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/BulkElement"
- }
- },
- "BaseBulkElement": {
- "type": "object",
- "required": [
- "action"
- ],
- "properties": {
- "action": {
- "type": "string"
- },
- "ik": {
- "type": "string"
- }
- }
- },
- "BulkElement": {
- "type": "object",
- "oneOf": [
- {
- "$ref": "#/components/schemas/BulkElementCreateTransaction"
- },
- {
- "$ref": "#/components/schemas/BulkElementAddMetadata"
- },
- {
- "$ref": "#/components/schemas/BulkElementRevertTransaction"
- },
- {
- "$ref": "#/components/schemas/BulkElementDeleteMetadata"
- }
- ],
- "discriminator": {
- "propertyName": "action",
- "mapping": {
- "CREATE_TRANSACTION": "#/components/schemas/BulkElementCreateTransaction",
- "ADD_METADATA": "#/components/schemas/BulkElementAddMetadata",
- "REVERT_TRANSACTION": "#/components/schemas/BulkElementRevertTransaction",
- "DELETE_METADATA": "#/components/schemas/BulkElementDeleteMetadata"
- }
- }
- },
- "BulkElementCreateTransaction": {
- "type": "object",
- "allOf": [
- {
- "$ref": "#/components/schemas/BaseBulkElement"
- },
- {
- "type": "object",
- "properties": {
- "data": {
- "$ref": "#/components/schemas/PostTransaction"
- }
- }
- }
- ]
- },
- "TargetId": {
- "oneOf": [
- {
- "type": "string"
- },
- {
- "type": "integer",
- "format": "bigint"
- }
- ]
- },
- "TargetType": {
- "type": "string",
- "enum": [
- "TRANSACTION",
- "ACCOUNT"
- ]
- },
- "BulkElementAddMetadata": {
- "type": "object",
- "allOf": [
- {
- "$ref": "#/components/schemas/BaseBulkElement"
- },
- {
- "type": "object",
- "properties": {
- "data": {
- "type": "object",
- "properties": {
- "targetId": {
- "$ref": "#/components/schemas/TargetId"
- },
- "targetType": {
- "$ref": "#/components/schemas/TargetType"
- },
- "metadata": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- }
- },
- "required": [
- "targetId",
- "targetType",
- "metadata"
- ]
- }
- }
- }
- ]
- },
- "BulkElementRevertTransaction": {
- "type": "object",
- "allOf": [
- {
- "$ref": "#/components/schemas/BaseBulkElement"
- },
- {
- "type": "object",
- "properties": {
- "data": {
- "properties": {
- "id": {
- "type": "integer",
- "format": "bigint"
- },
- "force": {
- "type": "boolean"
- }
- },
- "required": [
- "id"
- ]
- }
- }
- }
- ]
- },
- "BulkElementDeleteMetadata": {
- "type": "object",
- "allOf": [
- {
- "$ref": "#/components/schemas/BaseBulkElement"
- },
- {
- "type": "object",
- "properties": {
- "data": {
- "properties": {
- "targetId": {
- "$ref": "#/components/schemas/TargetId"
- },
- "targetType": {
- "$ref": "#/components/schemas/TargetType"
- },
- "key": {
- "type": "string"
- }
- },
- "required": [
- "targetId",
- "targetType",
- "key"
- ]
- }
- }
- }
- ]
- },
- "BulkResponse": {
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/BulkElementResult"
- }
- }
- },
- "type": "object",
- "required": [
- "data"
- ]
- },
- "BulkElementResult": {
- "type": "object",
- "oneOf": [
- {
- "$ref": "#/components/schemas/BulkElementResultCreateTransaction"
- },
- {
- "$ref": "#/components/schemas/BulkElementResultAddMetadata"
- },
- {
- "$ref": "#/components/schemas/BulkElementResultRevertTransaction"
- },
- {
- "$ref": "#/components/schemas/BulkElementResultDeleteMetadata"
- },
- {
- "$ref": "#/components/schemas/BulkElementResultError"
- }
- ],
- "discriminator": {
- "propertyName": "responseType",
- "mapping": {
- "CREATE_TRANSACTION": "#/components/schemas/BulkElementResultCreateTransaction",
- "ADD_METADATA": "#/components/schemas/BulkElementResultAddMetadata",
- "REVERT_TRANSACTION": "#/components/schemas/BulkElementResultRevertTransaction",
- "DELETE_METADATA": "#/components/schemas/BulkElementResultDeleteMetadata",
- "ERROR": "#/components/schemas/BulkElementResultError"
- }
- }
- },
- "BaseBulkElementResult": {
- "type": "object",
- "properties": {
- "responseType": {
- "type": "string"
- }
- },
- "required": [
- "responseType"
- ]
- },
- "BulkElementResultCreateTransaction": {
- "allOf": [
- {
- "$ref": "#/components/schemas/BaseBulkElementResult"
- },
- {
- "type": "object",
- "properties": {
- "data": {
- "$ref": "#/components/schemas/Transaction"
- }
- },
- "required": [
- "data"
- ]
- }
- ]
- },
- "BulkElementResultAddMetadata": {
- "allOf": [
- {
- "$ref": "#/components/schemas/BaseBulkElementResult"
- }
- ]
- },
- "BulkElementResultRevertTransaction": {
- "allOf": [
- {
- "$ref": "#/components/schemas/BaseBulkElementResult"
- },
- {
- "type": "object",
- "properties": {
- "data": {
- "$ref": "#/components/schemas/Transaction"
- }
- },
- "required": [
- "data"
- ]
- }
- ]
- },
- "BulkElementResultDeleteMetadata": {
- "allOf": [
- {
- "$ref": "#/components/schemas/BaseBulkElementResult"
- }
- ]
- },
- "BulkElementResultError": {
- "allOf": [
- {
- "$ref": "#/components/schemas/BaseBulkElementResult"
- },
- {
- "type": "object",
- "properties": {
- "errorCode": {
- "type": "string"
- },
- "errorDescription": {
- "type": "string"
- },
- "errorDetails": {
- "type": "string"
- }
- },
- "required": [
- "errorCode",
- "errorDescription"
- ]
- }
- ]
- },
- "CreateLedgerRequest": {
- "type": "object",
- "properties": {
- "bucket": {
- "type": "string"
- }
- }
- },
- "Ledger": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "addedAt": {
- "type": "string",
- "format": "date-time"
- },
- "bucket": {
- "type": "string"
- }
- },
- "required": [
- "name",
- "addedAt",
- "bucket"
- ]
- },
- "LedgerListResponse": {
- "type": "object",
- "required": [
- "cursor"
- ],
- "properties": {
- "cursor": {
- "type": "object",
- "required": [
- "pageSize",
- "hasMore",
- "data"
- ],
- "properties": {
- "pageSize": {
- "type": "integer",
- "format": "int64",
- "minimum": 1,
- "maximum": 1000,
- "example": 15
- },
- "hasMore": {
- "type": "boolean",
- "example": false
- },
- "previous": {
- "type": "string",
- "example": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol="
- },
- "next": {
- "type": "string",
- "example": ""
- },
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Ledger"
- }
- }
- }
- }
- }
- },
- "CursorBase": {
- "type": "object",
- "required": [
- "pageSize",
- "hasMore",
- "data"
- ],
- "properties": {
- "pageSize": {
- "type": "integer",
- "format": "int64",
- "minimum": 1,
- "maximum": 1000,
- "example": 15
- },
- "hasMore": {
- "type": "boolean",
- "example": false
- },
- "previous": {
- "type": "string",
- "example": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol="
- },
- "next": {
- "type": "string",
- "example": ""
- }
- }
- },
- "PaymentsCursor": {
- "type": "object",
- "required": [
- "cursor"
- ],
- "properties": {
- "cursor": {
- "allOf": [
- {
- "$ref": "#/components/schemas/CursorBase"
- },
- {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Payment"
- }
- }
- }
- }
- ]
- }
- }
- },
- "PoolsCursor": {
- "type": "object",
- "required": [
- "cursor"
- ],
- "properties": {
- "cursor": {
- "allOf": [
- {
- "$ref": "#/components/schemas/CursorBase"
- },
- {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Pool"
- }
- }
- }
- }
- ]
- }
- }
- },
- "TransferInitiationsCursor": {
- "type": "object",
- "required": [
- "cursor"
- ],
- "properties": {
- "cursor": {
- "allOf": [
- {
- "$ref": "#/components/schemas/CursorBase"
- },
- {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TransferInitiation"
- }
- }
- }
- }
- ]
- }
- }
- },
- "BankAccountsCursor": {
- "type": "object",
- "required": [
- "cursor"
- ],
- "properties": {
- "cursor": {
- "allOf": [
- {
- "$ref": "#/components/schemas/CursorBase"
- },
- {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/BankAccount"
- }
- }
- }
- }
- ]
- }
- }
- },
- "AccountsCursor": {
- "type": "object",
- "required": [
- "cursor"
- ],
- "properties": {
- "cursor": {
- "allOf": [
- {
- "$ref": "#/components/schemas/CursorBase"
- },
- {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/paymentsAccount"
- }
- }
- }
- }
- ]
- }
- }
- },
- "BalancesCursor": {
- "type": "object",
- "required": [
- "cursor"
- ],
- "properties": {
- "cursor": {
- "allOf": [
- {
- "$ref": "#/components/schemas/CursorBase"
- },
- {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/AccountBalance"
- }
- }
- }
- }
- ]
- }
- }
- },
- "TasksCursor": {
- "type": "object",
- "required": [
- "cursor"
- ],
- "properties": {
- "cursor": {
- "allOf": [
- {
- "$ref": "#/components/schemas/CursorBase"
- },
- {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/TaskStripe"
- },
- {
- "$ref": "#/components/schemas/TaskWise"
- },
- {
- "$ref": "#/components/schemas/TaskCurrencyCloud"
- },
- {
- "$ref": "#/components/schemas/TaskDummyPay"
- },
- {
- "$ref": "#/components/schemas/TaskModulr"
- },
- {
- "$ref": "#/components/schemas/TaskBankingCircle"
- },
- {
- "$ref": "#/components/schemas/TaskMangoPay"
- },
- {
- "$ref": "#/components/schemas/TaskMoneycorp"
- }
- ]
- }
- }
- }
- }
- ]
- }
- }
- },
- "ConnectorConfigResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/ConnectorConfig"
- }
- }
- },
- "PaymentResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/Payment"
- }
- }
- },
- "PoolBalancesResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/PoolBalances"
- }
- }
- },
- "PoolResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/Pool"
- }
- }
- },
- "TransferInitiationResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/TransferInitiation"
- }
- }
- },
- "paymentsAccountResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/paymentsAccount"
- }
- }
- },
- "ConnectorResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "type": "object",
- "required": [
- "connectorID"
- ],
- "properties": {
- "connectorID": {
- "type": "string"
- }
- }
- }
- }
- },
- "ConnectorsResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "type": "object",
- "required": [
- "provider",
- "name",
- "connectorID"
- ],
- "properties": {
- "provider": {
- "$ref": "#/components/schemas/Connector"
- },
- "name": {
- "type": "string"
- },
- "connectorID": {
- "type": "string"
- },
- "enabled": {
- "type": "boolean"
- }
- }
- }
- }
- }
- },
- "BankAccountResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/BankAccount"
- }
- }
- },
- "ConnectorsConfigsResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "type": "object",
- "required": [
- "connector"
- ],
- "properties": {
- "connector": {
- "type": "object",
- "required": [
- "key"
- ],
- "properties": {
- "key": {
- "type": "object",
- "required": [
- "dataType",
- "required"
- ],
- "properties": {
- "dataType": {
- "type": "string"
- },
- "required": {
- "type": "boolean"
- }
- }
- }
- }
- }
- }
- }
- }
- },
- "TaskResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "oneOf": [
- {
- "$ref": "#/components/schemas/TaskStripe"
- },
- {
- "$ref": "#/components/schemas/TaskWise"
- },
- {
- "$ref": "#/components/schemas/TaskCurrencyCloud"
- },
- {
- "$ref": "#/components/schemas/TaskDummyPay"
- },
- {
- "$ref": "#/components/schemas/TaskModulr"
- },
- {
- "$ref": "#/components/schemas/TaskBankingCircle"
- },
- {
- "$ref": "#/components/schemas/TaskMangoPay"
- },
- {
- "$ref": "#/components/schemas/TaskMoneycorp"
- }
- ]
- }
- }
- },
- "TransferResponse": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- }
- }
- },
- "TransfersResponse": {
- "type": "object",
- "properties": {
- "data": {
- "type": "array",
- "items": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "amount": {
- "type": "integer",
- "format": "bigint",
- "minimum": 0
- },
- "asset": {
- "type": "string"
- },
- "destination": {
- "type": "string"
- },
- "source": {
- "type": "string"
- },
- "currency": {
- "type": "string"
- },
- "status": {
- "type": "string"
- },
- "error": {
- "type": "string"
- }
- }
- }
- }
- }
- },
- "Connector": {
- "type": "string",
- "enum": [
- "STRIPE",
- "DUMMY-PAY",
- "WISE",
- "MODULR",
- "CURRENCY-CLOUD",
- "BANKING-CIRCLE",
- "MANGOPAY",
- "MONEYCORP",
- "ATLAR"
- ]
- },
- "TransferInitiationStatus": {
- "type": "string",
- "enum": [
- "WAITING_FOR_VALIDATION",
- "PROCESSING",
- "PROCESSED",
- "FAILED",
- "REJECTED",
- "VALIDATED"
- ]
- },
- "ConnectorConfig": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/StripeConfig"
- },
- {
- "$ref": "#/components/schemas/DummyPayConfig"
- },
- {
- "$ref": "#/components/schemas/WiseConfig"
- },
- {
- "$ref": "#/components/schemas/ModulrConfig"
- },
- {
- "$ref": "#/components/schemas/CurrencyCloudConfig"
- },
- {
- "$ref": "#/components/schemas/BankingCircleConfig"
- },
- {
- "$ref": "#/components/schemas/MangoPayConfig"
- },
- {
- "$ref": "#/components/schemas/MoneycorpConfig"
- },
- {
- "$ref": "#/components/schemas/AtlarConfig"
- }
- ]
- },
- "StripeConfig": {
- "type": "object",
- "required": [
- "name",
- "apiKey"
- ],
- "properties": {
- "name": {
- "type": "string",
- "example": "My Stripe Account"
- },
- "pollingPeriod": {
- "type": "string",
- "example": "60s",
- "description": "The frequency at which the connector will try to fetch new BalanceTransaction objects from Stripe API.\n",
- "default": "120s"
- },
- "apiKey": {
- "type": "string",
- "example": "XXX"
- },
- "pageSize": {
- "type": "integer",
- "format": "int64",
- "minimum": 0,
- "description": "Number of BalanceTransaction to fetch at each polling interval.\n",
- "default": 10,
- "example": 50
- }
- }
- },
- "DummyPayConfig": {
- "type": "object",
- "required": [
- "name",
- "directory"
- ],
- "properties": {
- "name": {
- "type": "string",
- "example": "My DummyPay Account"
- },
- "filePollingPeriod": {
- "type": "string",
- "example": "60s",
- "description": "The frequency at which the connector will try to fetch new payment objects from the directory",
- "default": "10s"
- },
- "fileGenerationPeriod": {
- "type": "string",
- "example": "60s",
- "description": "The frequency at which the connector will create new payment objects in the directory",
- "default": "10s"
- },
- "directory": {
- "type": "string",
- "example": "/tmp/dummypay"
- }
- }
- },
- "WiseConfig": {
- "type": "object",
- "required": [
- "name",
- "apiKey"
- ],
- "properties": {
- "name": {
- "type": "string",
- "example": "My Wise Account"
- },
- "apiKey": {
- "type": "string",
- "example": "XXX"
- },
- "pollingPeriod": {
- "type": "string",
- "example": "60s",
- "description": "The frequency at which the connector will try to fetch new BalanceTransaction objects from Wise API.\n",
- "default": "120s"
- }
- }
- },
- "ModulrConfig": {
- "type": "object",
- "required": [
- "name",
- "apiKey",
- "apiSecret"
- ],
- "properties": {
- "name": {
- "type": "string",
- "example": "My Modulr Account"
- },
- "apiKey": {
- "type": "string",
- "example": "XXX"
- },
- "apiSecret": {
- "type": "string",
- "example": "XXX"
- },
- "endpoint": {
- "type": "string",
- "example": "XXX"
- },
- "pollingPeriod": {
- "type": "string",
- "example": "60s",
- "description": "The frequency at which the connector will try to fetch new BalanceTransaction objects from Modulr API.\n",
- "default": "120s"
- }
- }
- },
- "BankingCircleConfig": {
- "type": "object",
- "required": [
- "name",
- "username",
- "password",
- "endpoint",
- "authorizationEndpoint",
- "userCertificate",
- "userCertificateKey"
- ],
- "properties": {
- "name": {
- "type": "string",
- "example": "My Banking Circle Account"
- },
- "username": {
- "type": "string",
- "example": "XXX"
- },
- "password": {
- "type": "string",
- "example": "XXX"
- },
- "endpoint": {
- "type": "string",
- "example": "XXX"
- },
- "authorizationEndpoint": {
- "type": "string",
- "example": "XXX"
- },
- "userCertificate": {
- "type": "string",
- "example": "XXX"
- },
- "userCertificateKey": {
- "type": "string",
- "example": "XXX"
- },
- "pollingPeriod": {
- "type": "string",
- "example": "60s",
- "description": "The frequency at which the connector will try to fetch new BalanceTransaction objects from Banking Circle API.\n",
- "default": "120s"
- }
- }
- },
- "MangoPayConfig": {
- "type": "object",
- "required": [
- "name",
- "clientID",
- "apiKey",
- "endpoint"
- ],
- "properties": {
- "name": {
- "type": "string",
- "example": "My MangoPay Account"
- },
- "pollingPeriod": {
- "type": "string",
- "example": "60s",
- "description": "The frequency at which the connector will try to fetch new BalanceTransaction objects from MangoPay API.\n",
- "default": "120s"
- },
- "clientID": {
- "type": "string",
- "example": "XXX"
- },
- "apiKey": {
- "type": "string",
- "example": "XXX"
- },
- "endpoint": {
- "type": "string",
- "example": "XXX"
- }
- }
- },
- "MoneycorpConfig": {
- "type": "object",
- "required": [
- "name",
- "clientID",
- "apiKey",
- "endpoint"
- ],
- "properties": {
- "name": {
- "type": "string",
- "example": "My Moneycorp Account"
- },
- "clientID": {
- "type": "string",
- "example": "XXX"
- },
- "apiKey": {
- "type": "string",
- "example": "XXX"
- },
- "endpoint": {
- "type": "string",
- "example": "XXX"
- },
- "pollingPeriod": {
- "type": "string",
- "example": "60s",
- "description": "The frequency at which the connector will try to fetch new BalanceTransaction objects from MoneyCorp API.\n",
- "default": "120s"
- }
- }
- },
- "CurrencyCloudConfig": {
- "type": "object",
- "required": [
- "name",
- "apiKey",
- "loginID"
- ],
- "properties": {
- "name": {
- "type": "string",
- "example": "My CurrencyCloud Account"
- },
- "apiKey": {
- "type": "string",
- "example": "XXX"
- },
- "loginID": {
- "type": "string",
- "example": "XXX",
- "description": "Username of the API Key holder"
- },
- "pollingPeriod": {
- "type": "string",
- "example": "60s",
- "description": "The frequency at which the connector will fetch transactions",
- "default": "120s"
- },
- "endpoint": {
- "type": "string",
- "example": "XXX",
- "description": "The endpoint to use for the API. Defaults to https://devapi.currencycloud.com"
- }
- }
- },
- "AtlarConfig": {
- "type": "object",
- "required": [
- "name",
- "accessKey",
- "secret"
- ],
- "properties": {
- "name": {
- "type": "string",
- "example": "My Atlar Account"
- },
- "baseUrl": {
- "type": "string",
- "example": "https://api.example.com",
- "default": "https://api.atlar.com",
- "description": "The base URL the client uses for making requests towards the Atlar API.\n"
- },
- "pollingPeriod": {
- "type": "string",
- "example": "60s",
- "description": "The frequency at which the connector tries to fetch new Transaction objects from the Atlar API.\n",
- "default": "120s"
- },
- "accessKey": {
- "type": "string",
- "example": "XXX",
- "description": "The access key used by the connector for authorizing requests to the Atlar API.\nYou can obtain it along with the associated secret from the Atlar dashboard.\n"
- },
- "secret": {
- "type": "string",
- "example": "XXX",
- "description": "The secret used by the connector for authorizing requests to the Atlar API.\nYou can obtain it along with the associated access key from the Atlar dashboard.\n"
- },
- "pageSize": {
- "type": "integer",
- "format": "int64",
- "minimum": 0,
- "description": "Number of items to fetch when querying paginated APIs.\n",
- "default": 25,
- "example": 50
- }
- }
- },
- "TransferInitiation": {
- "type": "object",
- "required": [
- "id",
- "createdAt",
- "updatedAt",
- "scheduledAt",
- "description",
- "sourceAccountID",
- "destinationAccountID",
- "connectorID",
- "type",
- "amount",
- "asset",
- "status",
- "error"
- ],
- "properties": {
- "id": {
- "type": "string",
- "example": "XXX"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time"
- },
- "scheduledAt": {
- "type": "string",
- "format": "date-time"
- },
- "description": {
- "type": "string"
- },
- "sourceAccountID": {
- "type": "string"
- },
- "destinationAccountID": {
- "type": "string"
- },
- "connectorID": {
- "type": "string"
- },
- "type": {
- "type": "string",
- "enum": [
- "TRANSFER",
- "PAYOUT"
- ]
- },
- "amount": {
- "type": "integer",
- "format": "bigint"
- },
- "asset": {
- "type": "string",
- "example": "USD"
- },
- "status": {
- "$ref": "#/components/schemas/TransferInitiationStatus"
- },
- "error": {
- "type": "string"
- },
- "relatedPayments": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/TransferInitiationPayments"
- }
- }
- }
- },
- "TransferInitiationPayments": {
- "type": "object",
- "required": [
- "paymentID",
- "createdAt",
- "status",
- "error"
- ],
- "properties": {
- "paymentID": {
- "type": "string"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "status": {
- "$ref": "#/components/schemas/PaymentStatus"
- },
- "error": {
- "type": "string"
- }
- }
- },
- "BankAccount": {
- "type": "object",
- "required": [
- "id",
- "createdAt",
- "country",
- "connectorID"
- ],
- "properties": {
- "id": {
- "type": "string"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "country": {
- "type": "string"
- },
- "connectorID": {
- "type": "string"
- },
- "provider": {
- "type": "string"
- },
- "iban": {
- "type": "string"
- },
- "accountNumber": {
- "type": "string"
- },
- "swiftBicCode": {
- "type": "string"
- }
- }
- },
- "Payment": {
- "type": "object",
- "required": [
- "id",
- "reference",
- "connectorID",
- "sourceAccountID",
- "destinationAccountID",
- "type",
- "status",
- "initialAmount",
- "scheme",
- "asset",
- "createdAt",
- "raw",
- "adjustments",
- "metadata"
- ],
- "properties": {
- "id": {
- "type": "string",
- "example": "XXX"
- },
- "reference": {
- "type": "string"
- },
- "sourceAccountID": {
- "type": "string"
- },
- "destinationAccountID": {
- "type": "string"
- },
- "connectorID": {
- "type": "string"
- },
- "provider": {
- "$ref": "#/components/schemas/Connector"
- },
- "type": {
- "$ref": "#/components/schemas/PaymentType"
- },
- "status": {
- "$ref": "#/components/schemas/PaymentStatus"
- },
- "initialAmount": {
- "type": "integer",
- "format": "bigint",
- "minimum": 0,
- "example": 100
- },
- "scheme": {
- "$ref": "#/components/schemas/PaymentScheme"
- },
- "asset": {
- "type": "string",
- "example": "USD"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "raw": {
- "type": "object",
- "nullable": true
- },
- "adjustments": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/PaymentAdjustment"
- }
- },
- "metadata": {
- "$ref": "#/components/schemas/PaymentMetadata"
- }
- }
- },
- "PaymentAdjustment": {
- "type": "object",
- "required": [
- "status",
- "amount",
- "date",
- "raw",
- "absolute"
- ],
- "properties": {
- "status": {
- "$ref": "#/components/schemas/PaymentStatus"
- },
- "amount": {
- "type": "integer",
- "format": "bigint",
- "minimum": 0,
- "example": 100
- },
- "date": {
- "type": "string",
- "format": "date-time"
- },
- "raw": {
- "type": "object"
- },
- "absolute": {
- "type": "boolean"
- }
- }
- },
- "PaymentMetadata": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "nullable": true
- },
- "AccountMetadata": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "nullable": true
- },
- "Pool": {
- "type": "object",
- "required": [
- "id",
- "name",
- "accounts"
- ],
- "properties": {
- "id": {
- "type": "string"
- },
- "name": {
- "type": "string"
- },
- "accounts": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- },
- "PoolBalances": {
- "type": "object",
- "required": [
- "balances"
- ],
- "properties": {
- "balances": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/PoolBalance"
- }
- }
- }
- },
- "PoolBalance": {
- "type": "object",
- "required": [
- "amount",
- "asset"
- ],
- "properties": {
- "amount": {
- "type": "integer",
- "format": "bigint",
- "minimum": 0,
- "example": 100
- },
- "asset": {
- "type": "string",
- "example": "USD"
- }
- }
- },
- "paymentsAccount": {
- "type": "object",
- "required": [
- "id",
- "createdAt",
- "reference",
- "connectorID",
- "defaultCurrency",
- "defaultAsset",
- "accountName",
- "type",
- "metadata",
- "raw"
- ],
- "properties": {
- "id": {
- "type": "string"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "reference": {
- "type": "string"
- },
- "connectorID": {
- "type": "string"
- },
- "defaultCurrency": {
- "type": "string",
- "deprecated": true
- },
- "defaultAsset": {
- "type": "string"
- },
- "accountName": {
- "type": "string"
- },
- "type": {
- "type": "string"
- },
- "metadata": {
- "$ref": "#/components/schemas/AccountMetadata"
- },
- "raw": {
- "type": "object",
- "nullable": true
- }
- }
- },
- "AccountBalance": {
- "type": "object",
- "required": [
- "accountId",
- "createdAt",
- "lastUpdatedAt",
- "currency",
- "asset",
- "balance"
- ],
- "properties": {
- "accountId": {
- "type": "string"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "lastUpdatedAt": {
- "type": "string",
- "format": "date-time"
- },
- "currency": {
- "type": "string",
- "deprecated": true
- },
- "asset": {
- "type": "string"
- },
- "balance": {
- "type": "integer",
- "format": "bigint"
- }
- }
- },
- "TaskBase": {
- "type": "object",
- "required": [
- "id",
- "connectorID",
- "createdAt",
- "updatedAt",
- "descriptor",
- "status",
- "state"
- ],
- "properties": {
- "id": {
- "type": "string",
- "format": "uuid"
- },
- "connectorID": {
- "type": "string"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time"
- },
- "status": {
- "$ref": "#/components/schemas/PaymentStatus"
- },
- "state": {
- "type": "object"
- },
- "error": {
- "type": "string"
- }
- }
- },
- "TaskStripe": {
- "allOf": [
- {
- "$ref": "#/components/schemas/TaskBase"
- },
- {
- "type": "object",
- "required": [
- "descriptor"
- ],
- "properties": {
- "descriptor": {
- "type": "object",
- "required": [
- "name",
- "account"
- ],
- "properties": {
- "name": {
- "type": "string"
- },
- "main": {
- "type": "boolean"
- },
- "account": {
- "type": "string"
- }
- }
- }
- }
- }
- ]
- },
- "TaskWise": {
- "allOf": [
- {
- "$ref": "#/components/schemas/TaskBase"
- },
- {
- "type": "object",
- "required": [
- "descriptor"
- ],
- "properties": {
- "descriptor": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "key": {
- "type": "string"
- },
- "profileID": {
- "type": "integer",
- "format": "int64",
- "minimum": 0
- }
- }
- }
- }
- }
- ]
- },
- "TaskModulr": {
- "allOf": [
- {
- "$ref": "#/components/schemas/TaskBase"
- },
- {
- "type": "object",
- "required": [
- "descriptor"
- ],
- "properties": {
- "descriptor": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "key": {
- "type": "string"
- },
- "accountID": {
- "type": "string"
- }
- }
- }
- }
- }
- ]
- },
- "TaskDummyPay": {
- "allOf": [
- {
- "$ref": "#/components/schemas/TaskBase"
- },
- {
- "type": "object",
- "required": [
- "descriptor"
- ],
- "properties": {
- "descriptor": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "key": {
- "type": "string"
- },
- "fileName": {
- "type": "string"
- }
- }
- }
- }
- }
- ]
- },
- "TaskCurrencyCloud": {
- "allOf": [
- {
- "$ref": "#/components/schemas/TaskBase"
- },
- {
- "type": "object",
- "required": [
- "descriptor"
- ],
- "properties": {
- "descriptor": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- }
- }
- }
- }
- }
- ]
- },
- "TaskBankingCircle": {
- "allOf": [
- {
- "$ref": "#/components/schemas/TaskBase"
- },
- {
- "type": "object",
- "required": [
- "descriptor"
- ],
- "properties": {
- "descriptor": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "key": {
- "type": "string"
- }
- }
- }
- }
- }
- ]
- },
- "TaskMangoPay": {
- "allOf": [
- {
- "$ref": "#/components/schemas/TaskBase"
- },
- {
- "type": "object",
- "required": [
- "descriptor"
- ],
- "properties": {
- "descriptor": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "key": {
- "type": "string"
- },
- "userID": {
- "type": "string"
- }
- }
- }
- }
- }
- ]
- },
- "TaskMoneycorp": {
- "allOf": [
- {
- "$ref": "#/components/schemas/TaskBase"
- },
- {
- "type": "object",
- "required": [
- "descriptor"
- ],
- "properties": {
- "descriptor": {
- "type": "object",
- "properties": {
- "name": {
- "type": "string"
- },
- "key": {
- "type": "string"
- },
- "accountID": {
- "type": "string"
- }
- }
- }
- }
- }
- ]
- },
- "TransferRequest": {
- "type": "object",
- "required": [
- "asset",
- "amount",
- "destination"
- ],
- "properties": {
- "amount": {
- "type": "integer",
- "format": "bigint",
- "minimum": 0,
- "example": 100
- },
- "asset": {
- "type": "string",
- "example": "USD"
- },
- "destination": {
- "type": "string",
- "example": "acct_1Gqj58KZcSIg2N2q"
- },
- "source": {
- "type": "string",
- "example": "acct_1Gqj58KZcSIg2N2q"
- }
- }
- },
- "BankAccountRequest": {
- "type": "object",
- "required": [
- "country",
- "connectorID",
- "name"
- ],
- "properties": {
- "country": {
- "type": "string",
- "example": "GB"
- },
- "connectorID": {
- "type": "string"
- },
- "name": {
- "type": "string",
- "example": "My account"
- },
- "accountNumber": {
- "type": "string"
- },
- "iban": {
- "type": "string"
- },
- "swiftBicCode": {
- "type": "string"
- }
- }
- },
- "AddAccountToPoolRequest": {
- "type": "object",
- "required": [
- "accountID"
- ],
- "properties": {
- "accountID": {
- "type": "string"
- }
- }
- },
- "PoolRequest": {
- "type": "object",
- "required": [
- "name",
- "accountIDs"
- ],
- "properties": {
- "name": {
- "type": "string"
- },
- "accountIDs": {
- "type": "array",
- "items": {
- "type": "string"
- }
- }
- }
- },
- "PaymentRequest": {
- "type": "object",
- "required": [
- "reference",
- "connectorID",
- "createdAt",
- "amount",
- "type",
- "status",
- "scheme",
- "asset"
- ],
- "properties": {
- "reference": {
- "type": "string"
- },
- "connectorID": {
- "type": "string"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "amount": {
- "type": "integer",
- "format": "bigint",
- "minimum": 0,
- "example": 100
- },
- "type": {
- "$ref": "#/components/schemas/PaymentType"
- },
- "status": {
- "$ref": "#/components/schemas/PaymentStatus"
- },
- "scheme": {
- "$ref": "#/components/schemas/PaymentScheme"
- },
- "asset": {
- "type": "string",
- "example": "USD"
- },
- "sourceAccountID": {
- "type": "string"
- },
- "destinationAccountID": {
- "type": "string"
- }
- }
- },
- "TransferInitiationRequest": {
- "type": "object",
- "required": [
- "reference",
- "scheduledAt",
- "description",
- "sourceAccountID",
- "destinationAccountID",
- "type",
- "amount",
- "asset",
- "validated"
- ],
- "properties": {
- "reference": {
- "type": "string",
- "example": "XXX"
- },
- "scheduledAt": {
- "type": "string",
- "format": "date-time"
- },
- "description": {
- "type": "string"
- },
- "sourceAccountID": {
- "type": "string"
- },
- "destinationAccountID": {
- "type": "string"
- },
- "connectorID": {
- "type": "string"
- },
- "provider": {
- "$ref": "#/components/schemas/Connector"
- },
- "type": {
- "type": "string",
- "enum": [
- "TRANSFER",
- "PAYOUT"
- ]
- },
- "amount": {
- "type": "integer",
- "format": "bigint"
- },
- "asset": {
- "type": "string",
- "example": "USD"
- },
- "validated": {
- "type": "boolean"
- }
- }
- },
- "UpdateTransferInitiationStatusRequest": {
- "type": "object",
- "required": [
- "status"
- ],
- "properties": {
- "status": {
- "type": "string",
- "enum": [
- "WAITING_FOR_VALIDATION",
- "PROCESSING",
- "PROCESSED",
- "FAILED",
- "REJECTED",
- "VALIDATED"
- ]
- }
- }
- },
- "PaymentType": {
- "type": "string",
- "enum": [
- "PAY-IN",
- "PAYOUT",
- "TRANSFER",
- "OTHER"
- ]
- },
- "PaymentScheme": {
- "type": "string",
- "enum": [
- "visa",
- "mastercard",
- "amex",
- "diners",
- "discover",
- "jcb",
- "unionpay",
- "sepa debit",
- "sepa credit",
- "sepa",
- "apple pay",
- "google pay",
- "a2a",
- "ach debit",
- "ach",
- "rtp",
- "unknown",
- "other"
- ]
- },
- "PaymentStatus": {
- "type": "string",
- "enum": [
- "PENDING",
- "ACTIVE",
- "TERMINATED",
- "FAILED",
- "SUCCEEDED",
- "CANCELLED"
- ]
- },
- "Query": {
- "type": "object",
- "properties": {
- "ledgers": {
- "type": "array",
- "items": {
- "type": "string",
- "example": "quickstart"
- }
- },
- "after": {
- "type": "array",
- "items": {
- "type": "string",
- "example": "users:002"
- }
- },
- "pageSize": {
- "type": "integer",
- "format": "int64",
- "minimum": 0
- },
- "terms": {
- "type": "array",
- "items": {
- "type": "string",
- "example": "destination=central_bank1"
- }
- },
- "sort": {
- "type": "string",
- "example": "id:asc"
- },
- "policy": {
- "type": "string",
- "example": "OR"
- },
- "target": {
- "type": "string"
- },
- "cursor": {
- "type": "string",
- "example": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol="
- },
- "raw": {
- "type": "object",
- "example": {
- "query": {
- "match_all": {}
- }
- }
- }
- }
- },
- "Response": {
- "type": "object",
- "properties": {
- "data": {
- "type": "object",
- "description": "The payload",
- "additionalProperties": true
- },
- "cursor": {
- "title": "cursor",
- "type": "object",
- "properties": {
- "pageSize": {
- "type": "integer",
- "format": "int64",
- "minimum": 0
- },
- "hasMore": {
- "type": "boolean"
- },
- "total": {
- "title": "total",
- "type": "object",
- "properties": {
- "value": {
- "type": "integer",
- "format": "int64",
- "minimum": 0,
- "example": 1
- },
- "relation": {
- "type": "string",
- "example": "eq"
- }
- }
- },
- "next": {
- "type": "string",
- "example": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol="
- },
- "previous": {
- "type": "string",
- "example": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol="
- },
- "data": {
- "type": "array",
- "items": {
- "allOf": [
- {
- "type": "object",
- "additionalProperties": true
- }
- ]
- }
- }
- }
- }
- }
- },
- "ConfigUser": {
- "type": "object",
- "required": [
- "endpoint",
- "eventTypes"
- ],
- "properties": {
- "endpoint": {
- "type": "string",
- "example": "https://example.com"
- },
- "secret": {
- "type": "string",
- "example": "V0bivxRWveaoz08afqjU6Ko/jwO0Cb+3"
- },
- "eventTypes": {
- "type": "array",
- "items": {
- "type": "string",
- "example": "TYPE1"
- },
- "example": [
- "TYPE1",
- "TYPE2"
- ]
- }
- }
- },
- "ConfigsResponse": {
- "type": "object",
- "required": [
- "cursor"
- ],
- "properties": {
- "cursor": {
- "allOf": [
- {
- "$ref": "#/components/schemas/Cursor"
- },
- {
- "properties": {
- "data": {
- "items": {
- "$ref": "#/components/schemas/WebhooksConfig"
- },
- "type": "array"
- }
- },
- "type": "object",
- "required": [
- "data"
- ]
- }
- ]
- }
- }
- },
- "Cursor": {
- "type": "object",
- "required": [
- "hasMore",
- "data"
- ],
- "properties": {
- "hasMore": {
- "type": "boolean",
- "example": false
- },
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/WebhooksConfig"
- }
- }
- }
- },
- "ConfigResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/WebhooksConfig"
- }
- }
- },
- "WebhooksConfig": {
- "properties": {
- "id": {
- "type": "string",
- "format": "uuid"
- },
- "endpoint": {
- "type": "string",
- "example": "https://example.com"
- },
- "secret": {
- "type": "string",
- "example": "V0bivxRWveaoz08afqjU6Ko/jwO0Cb+3"
- },
- "eventTypes": {
- "type": "array",
- "items": {
- "type": "string",
- "example": "TYPE1"
- },
- "example": [
- "TYPE1",
- "TYPE2"
- ]
- },
- "active": {
- "type": "boolean",
- "example": true
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time"
- }
- },
- "required": [
- "id",
- "endpoint",
- "secret",
- "eventTypes",
- "active",
- "createdAt",
- "updatedAt"
- ]
- },
- "ConfigChangeSecret": {
- "type": "object",
- "properties": {
- "secret": {
- "type": "string",
- "example": "V0bivxRWveaoz08afqjU6Ko/jwO0Cb+3"
- }
- },
- "required": [
- "secret"
- ]
- },
- "AttemptResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/Attempt"
- }
- }
- },
- "Attempt": {
- "properties": {
- "id": {
- "type": "string",
- "format": "uuid"
- },
- "webhookID": {
- "type": "string",
- "format": "uuid"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time"
- },
- "config": {
- "$ref": "#/components/schemas/WebhooksConfig"
- },
- "payload": {
- "type": "string",
- "example": "{\"data\":\"test\"}"
- },
- "statusCode": {
- "type": "integer",
- "example": 200
- },
- "retryAttempt": {
- "type": "integer",
- "example": 1
- },
- "status": {
- "type": "string",
- "example": "success"
- },
- "nextRetryAfter": {
- "type": "string",
- "format": "date-time"
- }
- },
- "required": [
- "id",
- "webhookID",
- "createdAt",
- "updatedAt",
- "config",
- "payload",
- "statusCode",
- "retryAttempt",
- "status"
- ]
- },
- "webhooksErrorResponse": {
- "type": "object",
- "required": [
- "errorCode",
- "errorMessage"
- ],
- "properties": {
- "errorCode": {
- "$ref": "#/components/schemas/webhooksErrorsEnum"
- },
- "errorMessage": {
- "type": "string",
- "example": "[VALIDATION] invalid 'cursor' query param"
- },
- "details": {
- "type": "string",
- "example": "https://play.numscript.org/?payload=eyJlcnJvciI6ImFjY291bnQgaGFkIGluc3VmZmljaWVudCBmdW5kcyJ9"
- }
- }
- },
- "webhooksErrorsEnum": {
- "type": "string",
- "enum": [
- "INTERNAL",
- "VALIDATION",
- "NOT_FOUND"
- ],
- "example": "VALIDATION"
- },
- "Monetary": {
- "type": "object",
- "required": [
- "asset",
- "amount"
- ],
- "properties": {
- "asset": {
- "type": "string",
- "description": "The asset of the monetary value."
- },
- "amount": {
- "type": "integer",
- "format": "bigint",
- "description": "The amount of the monetary value."
- }
- }
- },
- "Wallet": {
- "type": "object",
- "required": [
- "name",
- "id",
- "metadata",
- "createdAt",
- "ledger"
- ],
- "properties": {
- "id": {
- "type": "string",
- "format": "uuid",
- "description": "The unique ID of the wallet."
- },
- "metadata": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "Metadata associated with the wallet."
- },
- "name": {
- "type": "string"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "ledger": {
- "type": "string"
- }
- }
- },
- "WalletWithBalances": {
- "type": "object",
- "required": [
- "name",
- "id",
- "metadata",
- "createdAt",
- "balances",
- "ledger"
- ],
- "properties": {
- "id": {
- "type": "string",
- "format": "uuid",
- "description": "The unique ID of the wallet."
- },
- "metadata": {
- "type": "object",
- "description": "Metadata associated with the wallet.",
- "additionalProperties": {
- "type": "string"
- }
- },
- "name": {
- "type": "string"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "balances": {
- "type": "object",
- "required": [
- "main"
- ],
- "properties": {
- "main": {
- "$ref": "#/components/schemas/AssetHolder"
- }
- }
- },
- "ledger": {
- "type": "string"
- }
- }
- },
- "Hold": {
- "type": "object",
- "required": [
- "id",
- "walletID",
- "metadata",
- "description"
- ],
- "properties": {
- "id": {
- "type": "string",
- "format": "uuid",
- "description": "The unique ID of the hold."
- },
- "walletID": {
- "type": "string",
- "description": "The ID of the wallet the hold is associated with."
- },
- "metadata": {
- "type": "object",
- "description": "Metadata associated with the hold.",
- "additionalProperties": {
- "type": "string"
- }
- },
- "description": {
- "type": "string"
- },
- "destination": {
- "$ref": "#/components/schemas/Subject"
- }
- }
- },
- "ExpandedDebitHold": {
- "allOf": [
- {
- "$ref": "#/components/schemas/Hold"
- },
- {
- "type": "object",
- "required": [
- "remaining",
- "originalAmount"
- ],
- "properties": {
- "remaining": {
- "type": "integer",
- "description": "Remaining amount on hold",
- "example": 10,
- "format": "bigint"
- },
- "originalAmount": {
- "type": "integer",
- "description": "Original amount on hold",
- "example": 100,
- "format": "bigint"
- }
- }
- }
- ]
- },
- "ListWalletsResponse": {
- "type": "object",
- "required": [
- "cursor"
- ],
- "properties": {
- "cursor": {
- "allOf": [
- {
- "$ref": "#/components/schemas/walletsCursor"
- },
- {
- "properties": {
- "data": {
- "items": {
- "$ref": "#/components/schemas/Wallet"
- },
- "type": "array"
- }
- },
- "type": "object",
- "required": [
- "data"
- ]
- }
- ]
- }
- }
- },
- "CreateWalletResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/Wallet"
- }
- }
- },
- "GetWalletResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/WalletWithBalances"
- }
- }
- },
- "DebitWalletResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/Hold"
- }
- }
- },
- "walletsAggregatedVolumes": {
- "type": "object",
- "x-go-type": {
- "type": "AggregatedVolumes"
- },
- "additionalProperties": {
- "$ref": "#/components/schemas/walletsVolumes"
- }
- },
- "walletsTransaction": {
- "type": "object",
- "properties": {
- "ledger": {
- "type": "string"
- },
- "timestamp": {
- "type": "string",
- "format": "date-time"
- },
- "postings": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Posting"
- }
- },
- "reference": {
- "type": "string",
- "example": "ref:001"
- },
- "metadata": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "Metadata associated with the wallet."
- },
- "id": {
- "type": "integer",
- "format": "int64",
- "minimum": 0
- },
- "preCommitVolumes": {
- "$ref": "#/components/schemas/walletsAggregatedVolumes"
- },
- "postCommitVolumes": {
- "$ref": "#/components/schemas/walletsAggregatedVolumes"
- }
- },
- "required": [
- "postings",
- "timestamp",
- "ix",
- "metadata"
- ]
- },
- "walletsCursor": {
- "type": "object",
- "required": [
- "pageSize"
- ],
- "properties": {
- "pageSize": {
- "type": "integer",
- "format": "int64",
- "minimum": 1,
- "maximum": 1000,
- "example": 15
- },
- "hasMore": {
- "type": "boolean",
- "example": false
- },
- "previous": {
- "type": "string",
- "example": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol="
- },
- "next": {
- "type": "string",
- "example": ""
- }
- }
- },
- "GetTransactionsResponse": {
- "type": "object",
- "required": [
- "cursor"
- ],
- "properties": {
- "cursor": {
- "allOf": [
- {
- "$ref": "#/components/schemas/walletsCursor"
- },
- {
- "properties": {
- "data": {
- "items": {
- "$ref": "#/components/schemas/walletsTransaction"
- },
- "type": "array"
- }
- },
- "type": "object",
- "required": [
- "data"
- ]
- }
- ]
- }
- }
- },
- "GetHoldsResponse": {
- "type": "object",
- "required": [
- "cursor"
- ],
- "properties": {
- "cursor": {
- "allOf": [
- {
- "$ref": "#/components/schemas/walletsCursor"
- },
- {
- "properties": {
- "data": {
- "items": {
- "$ref": "#/components/schemas/Hold"
- },
- "type": "array"
- }
- },
- "type": "object",
- "required": [
- "data"
- ]
- }
- ]
- }
- }
- },
- "GetHoldResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/ExpandedDebitHold"
- }
- }
- },
- "CreateWalletRequest": {
- "type": "object",
- "required": [
- "name",
- "metadata"
- ],
- "properties": {
- "metadata": {
- "type": "object",
- "description": "Custom metadata to attach to this wallet.",
- "additionalProperties": {
- "type": "string"
- }
- },
- "name": {
- "type": "string"
- }
- }
- },
- "walletsVolume": {
- "type": "object",
- "properties": {
- "input": {
- "type": "integer",
- "format": "bigint"
- },
- "output": {
- "type": "integer",
- "format": "bigint"
- },
- "balance": {
- "type": "integer",
- "format": "bigint"
- }
- },
- "required": [
- "input",
- "output",
- "balance"
- ],
- "example": {
- "input": 100,
- "output": 20,
- "balance": 80
- }
- },
- "walletsVolumes": {
- "type": "object",
- "additionalProperties": {
- "$ref": "#/components/schemas/walletsVolume"
- },
- "example": {
- "USD": {
- "input": 100,
- "output": 10,
- "balance": 90
- },
- "EUR": {
- "input": 100,
- "output": 10,
- "balance": 90
- }
- }
- },
- "ConfirmHoldRequest": {
- "type": "object",
- "properties": {
- "amount": {
- "type": "integer",
- "format": "bigint",
- "example": 100,
- "description": "Define the amount to transfer."
- },
- "final": {
- "type": "boolean",
- "example": true,
- "description": "Define a final confirmation. Remaining funds will be returned to the wallet."
- }
- }
- },
- "LedgerAccountSubject": {
- "type": "object",
- "required": [
- "type",
- "identifier"
- ],
- "properties": {
- "type": {
- "type": "string"
- },
- "identifier": {
- "type": "string"
- }
- }
- },
- "WalletSubject": {
- "type": "object",
- "required": [
- "type",
- "identifier"
- ],
- "properties": {
- "type": {
- "type": "string"
- },
- "identifier": {
- "type": "string"
- },
- "balance": {
- "type": "string"
- }
- }
- },
- "Subject": {
- "discriminator": {
- "propertyName": "type",
- "mapping": {
- "ACCOUNT": "#/components/schemas/LedgerAccountSubject",
- "WALLET": "#/components/schemas/WalletSubject"
- }
- },
- "oneOf": [
- {
- "$ref": "#/components/schemas/LedgerAccountSubject"
- },
- {
- "$ref": "#/components/schemas/WalletSubject"
- }
- ]
- },
- "CreditWalletRequest": {
- "type": "object",
- "required": [
- "amount",
- "sources",
- "metadata"
- ],
- "properties": {
- "amount": {
- "$ref": "#/components/schemas/Monetary"
- },
- "metadata": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "Metadata associated with the wallet."
- },
- "reference": {
- "type": "string"
- },
- "sources": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Subject"
- }
- },
- "balance": {
- "type": "string",
- "description": "The balance to credit"
- }
- },
- "example": {
- "amount": {
- "asset": "USD/2",
- "amount": 100
- },
- "metadata": {
- "key": ""
- },
- "sources": []
- }
- },
- "DebitWalletRequest": {
- "type": "object",
- "required": [
- "amount",
- "metadata"
- ],
- "properties": {
- "amount": {
- "$ref": "#/components/schemas/Monetary"
- },
- "pending": {
- "type": "boolean",
- "description": "Set to true to create a pending hold. If false, the wallet will be debited immediately."
- },
- "metadata": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "Metadata associated with the wallet."
- },
- "description": {
- "type": "string"
- },
- "destination": {
- "$ref": "#/components/schemas/Subject"
- },
- "balances": {
- "type": "array",
- "items": {
- "type": "string",
- "description": "A targeted balance (use '*' for all)"
- }
- }
- },
- "example": {
- "amount": {
- "asset": "USD/2",
- "amount": 100
- },
- "metadata": {
- "key": ""
- },
- "pending": true
- }
- },
- "AssetHolder": {
- "type": "object",
- "required": [
- "assets"
- ],
- "properties": {
- "assets": {
- "type": "object",
- "additionalProperties": {
- "type": "integer",
- "format": "bigint"
- }
- }
- }
- },
- "Balance": {
- "type": "object",
- "required": [
- "name"
- ],
- "properties": {
- "name": {
- "type": "string"
- },
- "expiresAt": {
- "type": "string",
- "format": "date-time"
- },
- "priority": {
- "type": "integer",
- "format": "bigint"
- }
- }
- },
- "BalanceWithAssets": {
- "allOf": [
- {
- "$ref": "#/components/schemas/Balance"
- },
- {
- "$ref": "#/components/schemas/AssetHolder"
- }
- ]
- },
- "GetWalletSummaryResponse": {
- "type": "object",
- "required": [
- "balances",
- "availableFunds",
- "expiredFunds",
- "expirableFunds",
- "holdFunds"
- ],
- "properties": {
- "balances": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/BalanceWithAssets"
- }
- },
- "availableFunds": {
- "type": "object",
- "additionalProperties": {
- "type": "integer",
- "format": "bigint"
- }
- },
- "expiredFunds": {
- "type": "object",
- "additionalProperties": {
- "type": "integer",
- "format": "bigint"
- }
- },
- "expirableFunds": {
- "type": "object",
- "additionalProperties": {
- "type": "integer",
- "format": "bigint"
- }
- },
- "holdFunds": {
- "type": "object",
- "additionalProperties": {
- "type": "integer",
- "format": "bigint"
- }
- }
- }
- },
- "ListBalancesResponse": {
- "type": "object",
- "required": [
- "cursor"
- ],
- "properties": {
- "cursor": {
- "allOf": [
- {
- "$ref": "#/components/schemas/walletsCursor"
- },
- {
- "properties": {
- "data": {
- "items": {
- "$ref": "#/components/schemas/Balance"
- },
- "type": "array"
- }
- },
- "type": "object",
- "required": [
- "data"
- ]
- }
- ]
- }
- }
- },
- "GetBalanceResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/BalanceWithAssets"
- }
- }
- },
- "CreateBalanceRequest": {
- "$ref": "#/components/schemas/Balance"
- },
- "CreateBalanceResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/Balance"
- }
- }
- },
- "walletsErrorResponse": {
- "type": "object",
- "required": [
- "errorCode",
- "errorMessage"
- ],
- "properties": {
- "errorCode": {
- "type": "string",
- "enum": [
- "VALIDATION",
- "INTERNAL_ERROR",
- "INSUFFICIENT_FUND",
- "HOLD_CLOSED"
- ]
- },
- "errorMessage": {
- "type": "string"
- }
- }
- },
- "Error": {
- "type": "object",
- "required": [
- "errorCode",
- "errorMessage"
- ],
- "properties": {
- "errorCode": {
- "type": "string",
- "enum": [
- "VALIDATION",
- "NOT_FOUND"
- ]
- },
- "errorMessage": {
- "type": "string"
- }
- }
- },
- "WorkflowConfig": {
- "type": "object",
- "required": [
- "stages"
- ],
- "properties": {
- "name": {
- "type": "string"
- },
- "stages": {
- "type": "array",
- "items": {
- "type": "object",
- "additionalProperties": {}
- }
- }
- }
- },
- "Workflow": {
- "type": "object",
- "required": [
- "config",
- "createdAt",
- "updatedAt",
- "id"
- ],
- "properties": {
- "config": {
- "$ref": "#/components/schemas/WorkflowConfig"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time"
- },
- "id": {
- "type": "string"
- }
- }
- },
- "StageStatus": {
- "type": "object",
- "required": [
- "stage",
- "instanceID",
- "startedAt"
- ],
- "properties": {
- "stage": {
- "type": "number"
- },
- "instanceID": {
- "type": "string"
- },
- "startedAt": {
- "type": "string",
- "format": "date-time"
- },
- "terminatedAt": {
- "type": "string",
- "format": "date-time"
- },
- "error": {
- "type": "string"
- }
- }
- },
- "WorkflowInstance": {
- "type": "object",
- "required": [
- "workflowID",
- "id",
- "createdAt",
- "updatedAt",
- "terminated"
- ],
- "properties": {
- "workflowID": {
- "type": "string"
- },
- "id": {
- "type": "string"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "updatedAt": {
- "type": "string",
- "format": "date-time"
- },
- "status": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/StageStatus"
- }
- },
- "terminated": {
- "type": "boolean"
- },
- "terminatedAt": {
- "type": "string",
- "format": "date-time"
- },
- "error": {
- "type": "string"
- }
- }
- },
- "WorkflowInstanceHistoryStage": {
- "type": "object",
- "required": [
- "name",
- "input",
- "startedAt",
- "terminated",
- "attempt"
- ],
- "properties": {
- "name": {
- "type": "string"
- },
- "input": {
- "$ref": "#/components/schemas/WorkflowInstanceHistoryStageInput"
- },
- "output": {
- "$ref": "#/components/schemas/WorkflowInstanceHistoryStageOutput"
- },
- "error": {
- "type": "string"
- },
- "terminated": {
- "type": "boolean"
- },
- "startedAt": {
- "type": "string",
- "format": "date-time"
- },
- "terminatedAt": {
- "type": "string",
- "format": "date-time"
- },
- "lastFailure": {
- "type": "string"
- },
- "attempt": {
- "type": "integer"
- },
- "nextExecution": {
- "type": "string",
- "format": "date-time"
- }
- }
- },
- "WorkflowInstanceHistory": {
- "type": "object",
- "required": [
- "name",
- "input",
- "terminated",
- "startedAt"
- ],
- "properties": {
- "name": {
- "type": "string"
- },
- "input": {
- "$ref": "#/components/schemas/Stage"
- },
- "error": {
- "type": "string"
- },
- "terminated": {
- "type": "boolean"
- },
- "startedAt": {
- "type": "string",
- "format": "date-time"
- },
- "terminatedAt": {
- "type": "string",
- "format": "date-time"
- }
- }
- },
- "WorkflowInstanceHistoryList": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/WorkflowInstanceHistory"
- }
- },
- "WorkflowInstanceHistoryStageList": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/WorkflowInstanceHistoryStage"
- }
- },
- "ListWorkflowsResponse": {
- "type": "object",
- "properties": {
- "data": {
- "items": {
- "$ref": "#/components/schemas/Workflow"
- },
- "type": "array"
- }
- },
- "required": [
- "data"
- ]
- },
- "TriggerData": {
- "type": "object",
- "required": [
- "event",
- "workflowID"
- ],
- "properties": {
- "event": {
- "type": "string"
- },
- "workflowID": {
- "type": "string"
- },
- "filter": {
- "type": "string"
- },
- "vars": {
- "type": "object",
- "additionalProperties": true
- }
- }
- },
- "Trigger": {
- "allOf": [
- {
- "$ref": "#/components/schemas/TriggerData"
- },
- {
- "type": "object",
- "required": [
- "id",
- "createdAt"
- ],
- "properties": {
- "id": {
- "type": "string"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
- }
- }
- }
- ]
- },
- "TriggerOccurrence": {
- "type": "object",
- "required": [
- "triggerID",
- "workflowInstanceID",
- "date"
- ],
- "properties": {
- "date": {
- "type": "string",
- "format": "date-time"
- },
- "workflowInstanceID": {
- "type": "string"
- },
- "triggerID": {
- "type": "string"
- }
- }
- },
- "ListTriggersOccurrencesResponse": {
- "type": "object",
- "properties": {
- "data": {
- "items": {
- "$ref": "#/components/schemas/TriggerOccurrence"
- },
- "type": "array"
- }
- },
- "required": [
- "data"
- ]
- },
- "ListTriggersResponse": {
- "type": "object",
- "properties": {
- "data": {
- "items": {
- "$ref": "#/components/schemas/Trigger"
- },
- "type": "array"
- }
- },
- "required": [
- "data"
- ]
- },
- "ReadWorkflowResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/Workflow"
- }
- }
- },
- "CreateWorkflowRequest": {
- "$ref": "#/components/schemas/WorkflowConfig"
- },
- "CreateWorkflowResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/Workflow"
- }
- }
- },
- "CreateTriggerResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/Trigger"
- }
- }
- },
- "RunWorkflowRequest": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- },
- "RunWorkflowResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/WorkflowInstance"
- }
- }
- },
- "ListRunsResponse": {
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "items": {
- "$ref": "#/components/schemas/WorkflowInstance"
- },
- "type": "array"
- }
- }
- },
- "GetWorkflowResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/Workflow"
- }
- }
- },
- "GetWorkflowInstanceResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/WorkflowInstance"
- }
- }
- },
- "GetWorkflowInstanceHistoryResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/WorkflowInstanceHistoryList"
- }
- }
- },
- "GetWorkflowInstanceHistoryStageResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/WorkflowInstanceHistoryStageList"
- }
- }
- },
- "StageSendSourceWallet": {
- "type": "object",
- "required": [
- "id"
- ],
- "properties": {
- "id": {
- "type": "string"
- },
- "balance": {
- "type": "string"
- }
- }
- },
- "StageSendDestinationWallet": {
- "$ref": "#/components/schemas/StageSendSourceWallet"
- },
- "StageSendSourceAccount": {
- "type": "object",
- "required": [
- "id"
- ],
- "properties": {
- "id": {
- "type": "string"
- },
- "ledger": {
- "type": "string"
- }
- }
- },
- "StageSendDestinationAccount": {
- "$ref": "#/components/schemas/StageSendSourceAccount"
- },
- "StageSendSourcePayment": {
- "type": "object",
- "required": [
- "id"
- ],
- "properties": {
- "id": {
- "type": "string"
- }
- }
- },
- "StageSendDestinationPayment": {
- "type": "object",
- "required": [
- "psp"
- ],
- "properties": {
- "psp": {
- "type": "string"
- }
- }
- },
- "StageSendSource": {
- "type": "object",
- "properties": {
- "wallet": {
- "$ref": "#/components/schemas/StageSendSourceWallet"
- },
- "account": {
- "$ref": "#/components/schemas/StageSendSourceAccount"
- },
- "payment": {
- "$ref": "#/components/schemas/StageSendSourcePayment"
- }
- }
- },
- "StageSendDestination": {
- "type": "object",
- "properties": {
- "wallet": {
- "$ref": "#/components/schemas/StageSendDestinationWallet"
- },
- "account": {
- "$ref": "#/components/schemas/StageSendDestinationAccount"
- },
- "payment": {
- "$ref": "#/components/schemas/StageSendDestinationPayment"
- }
- }
- },
- "StageSend": {
- "type": "object",
- "properties": {
- "amount": {
- "$ref": "#/components/schemas/Monetary"
- },
- "destination": {
- "$ref": "#/components/schemas/StageSendDestination"
- },
- "source": {
- "$ref": "#/components/schemas/StageSendSource"
- }
- }
- },
- "StageDelay": {
- "type": "object",
- "properties": {
- "until": {
- "type": "string",
- "format": "date-time"
- },
- "duration": {
- "type": "string"
- }
- }
- },
- "StageWaitEvent": {
- "type": "object",
- "required": [
- "event"
- ],
- "properties": {
- "event": {
- "type": "string"
- }
- }
- },
- "Stage": {
- "anyOf": [
- {
- "$ref": "#/components/schemas/StageSend"
- },
- {
- "$ref": "#/components/schemas/StageDelay"
- },
- {
- "$ref": "#/components/schemas/StageWaitEvent"
- }
- ]
- },
- "StripeTransferRequest": {
- "type": "object",
- "properties": {
- "connectorID": {
- "type": "string"
- },
- "amount": {
- "type": "integer",
- "format": "bigint",
- "minimum": 0,
- "example": 100
- },
- "asset": {
- "type": "string",
- "example": "USD"
- },
- "destination": {
- "type": "string",
- "example": "acct_1Gqj58KZcSIg2N2q"
- },
- "waitingValidation": {
- "type": "boolean",
- "example": false,
- "default": false
- },
- "metadata": {
- "type": "object",
- "description": "A set of key/value pairs that you can attach to a transfer object.\nIt can be useful for storing additional information about the transfer in a structured format.\n",
- "example": {
- "order_id": "6735"
- }
- }
- }
- },
- "ActivityStripeTransfer": {
- "$ref": "#/components/schemas/StripeTransferRequest"
- },
- "ActivityGetAccount": {
- "type": "object",
- "required": [
- "id",
- "ledger"
- ],
- "properties": {
- "id": {
- "type": "string"
- },
- "ledger": {
- "type": "string"
- }
- }
- },
- "ActivityCreateTransaction": {
- "type": "object",
- "properties": {
- "ledger": {
- "type": "string"
- },
- "data": {
- "$ref": "#/components/schemas/PostTransaction"
- }
- }
- },
- "ActivityRevertTransaction": {
- "type": "object",
- "required": [
- "id",
- "ledger"
- ],
- "properties": {
- "ledger": {
- "type": "string"
- },
- "id": {
- "type": "string"
- }
- }
- },
- "ActivityGetPayment": {
- "type": "object",
- "required": [
- "id"
- ],
- "properties": {
- "id": {
- "type": "string"
- }
- }
- },
- "ActivityConfirmHold": {
- "type": "object",
- "required": [
- "id"
- ],
- "properties": {
- "id": {
- "type": "string"
- }
- }
- },
- "ActivityCreditWallet": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "data": {
- "$ref": "#/components/schemas/CreditWalletRequest"
- }
- }
- },
- "ActivityDebitWallet": {
- "type": "object",
- "properties": {
- "id": {
- "type": "string"
- },
- "data": {
- "$ref": "#/components/schemas/DebitWalletRequest"
- }
- }
- },
- "ActivityGetWallet": {
- "type": "object",
- "required": [
- "id"
- ],
- "properties": {
- "id": {
- "type": "string"
- }
- }
- },
- "ActivityVoidHold": {
- "type": "object",
- "required": [
- "id"
- ],
- "properties": {
- "id": {
- "type": "string"
- }
- }
- },
- "ActivityGetAccountOutput": {
- "$ref": "#/components/schemas/AccountResponse"
- },
- "ActivityCreateTransactionOutput": {
- "$ref": "#/components/schemas/orchestrationCreateTransactionResponse"
- },
- "orchestrationCreateTransactionResponse": {
- "properties": {
- "data": {
- "$ref": "#/components/schemas/Transaction"
- }
- },
- "type": "object",
- "required": [
- "data"
- ]
- },
- "ActivityRevertTransactionOutput": {
- "$ref": "#/components/schemas/RevertTransactionResponse"
- },
- "ActivityGetPaymentOutput": {
- "$ref": "#/components/schemas/orchestrationPaymentResponse"
- },
- "orchestrationPaymentResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/orchestrationPayment"
- }
- }
- },
- "orchestrationPayment": {
- "type": "object",
- "required": [
- "id",
- "reference",
- "connectorID",
- "sourceAccountID",
- "destinationAccountID",
- "type",
- "status",
- "initialAmount",
- "scheme",
- "asset",
- "createdAt",
- "raw",
- "adjustments",
- "metadata"
- ],
- "properties": {
- "id": {
- "type": "string",
- "example": "XXX"
- },
- "reference": {
- "type": "string"
- },
- "sourceAccountID": {
- "type": "string"
- },
- "destinationAccountID": {
- "type": "string"
- },
- "connectorID": {
- "type": "string"
- },
- "provider": {
- "$ref": "#/components/schemas/orchestrationConnector"
- },
- "type": {
- "type": "string",
- "enum": [
- "PAY-IN",
- "PAYOUT",
- "TRANSFER",
- "OTHER"
- ]
- },
- "status": {
- "$ref": "#/components/schemas/PaymentStatus"
- },
- "initialAmount": {
- "type": "integer",
- "format": "bigint",
- "minimum": 0,
- "example": 100
- },
- "scheme": {
- "type": "string",
- "enum": [
- "visa",
- "mastercard",
- "amex",
- "diners",
- "discover",
- "jcb",
- "unionpay",
- "sepa debit",
- "sepa credit",
- "sepa",
- "apple pay",
- "google pay",
- "a2a",
- "ach debit",
- "ach",
- "rtp",
- "unknown",
- "other"
- ]
- },
- "asset": {
- "type": "string",
- "example": "USD"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time"
- },
- "raw": {
- "type": "object",
- "nullable": true
- },
- "adjustments": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/PaymentAdjustment"
- }
- },
- "metadata": {
- "$ref": "#/components/schemas/orchestrationPaymentMetadata"
- }
- }
- },
- "orchestrationConnector": {
- "type": "string",
- "enum": [
- "STRIPE",
- "DUMMY-PAY",
- "WISE",
- "MODULR",
- "CURRENCY-CLOUD",
- "BANKING-CIRCLE",
- "MANGOPAY",
- "MONEYCORP"
- ]
- },
- "orchestrationPaymentMetadata": {
- "type": "object",
- "properties": {
- "key": {
- "type": "string"
- }
- },
- "nullable": true
- },
- "ActivityDebitWalletOutput": {
- "$ref": "#/components/schemas/DebitWalletResponse"
- },
- "ActivityGetWalletOutput": {
- "$ref": "#/components/schemas/GetWalletResponse"
- },
- "WorkflowInstanceHistoryStageInput": {
- "type": "object",
- "properties": {
- "GetAccount": {
- "$ref": "#/components/schemas/ActivityGetAccount"
- },
- "CreateTransaction": {
- "$ref": "#/components/schemas/ActivityCreateTransaction"
- },
- "RevertTransaction": {
- "$ref": "#/components/schemas/ActivityRevertTransaction"
- },
- "StripeTransfer": {
- "$ref": "#/components/schemas/ActivityStripeTransfer"
- },
- "GetPayment": {
- "$ref": "#/components/schemas/ActivityGetPayment"
- },
- "ConfirmHold": {
- "$ref": "#/components/schemas/ActivityConfirmHold"
- },
- "CreditWallet": {
- "$ref": "#/components/schemas/ActivityCreditWallet"
- },
- "DebitWallet": {
- "$ref": "#/components/schemas/ActivityDebitWallet"
- },
- "GetWallet": {
- "$ref": "#/components/schemas/ActivityGetWallet"
- },
- "VoidHold": {
- "$ref": "#/components/schemas/ActivityVoidHold"
- }
- }
- },
- "WorkflowInstanceHistoryStageOutput": {
- "type": "object",
- "properties": {
- "GetAccount": {
- "$ref": "#/components/schemas/ActivityGetAccountOutput"
- },
- "CreateTransaction": {
- "$ref": "#/components/schemas/ActivityCreateTransactionOutput"
- },
- "RevertTransaction": {
- "$ref": "#/components/schemas/ActivityRevertTransactionOutput"
- },
- "GetPayment": {
- "$ref": "#/components/schemas/ActivityGetPaymentOutput"
- },
- "DebitWallet": {
- "$ref": "#/components/schemas/ActivityDebitWalletOutput"
- },
- "GetWallet": {
- "$ref": "#/components/schemas/ActivityGetWalletOutput"
- }
- }
- },
- "orchestrationMetadata": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "example": {
- "admin": "true"
- }
- },
- "ReadTriggerResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "data": {
- "$ref": "#/components/schemas/Trigger"
- }
- }
- },
- "PoliciesCursorResponse": {
- "type": "object",
- "required": [
- "cursor"
- ],
- "properties": {
- "cursor": {
- "type": "object",
- "required": [
- "pageSize",
- "hasMore",
- "data"
- ],
- "properties": {
- "pageSize": {
- "type": "integer",
- "format": "int64",
- "minimum": 1,
- "maximum": 1000,
- "example": 15
- },
- "hasMore": {
- "type": "boolean",
- "example": false
- },
- "previous": {
- "type": "string",
- "example": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol="
- },
- "next": {
- "type": "string",
- "example": ""
- },
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Policy"
- }
- }
- }
- }
- }
- },
- "ReconciliationsCursorResponse": {
- "type": "object",
- "required": [
- "cursor"
- ],
- "properties": {
- "cursor": {
- "type": "object",
- "required": [
- "pageSize",
- "hasMore",
- "data"
- ],
- "properties": {
- "pageSize": {
- "type": "integer",
- "format": "int64",
- "minimum": 1,
- "maximum": 1000,
- "example": 15
- },
- "hasMore": {
- "type": "boolean",
- "example": false
- },
- "previous": {
- "type": "string",
- "example": "YXVsdCBhbmQgYSBtYXhpbXVtIG1heF9yZXN1bHRzLol="
- },
- "next": {
- "type": "string",
- "example": ""
- },
- "data": {
- "type": "array",
- "items": {
- "$ref": "#/components/schemas/Reconciliation"
- }
- }
- }
- }
- }
- },
- "PolicyRequest": {
- "type": "object",
- "required": [
- "name",
- "ledgerName",
- "ledgerQuery",
- "paymentsPoolID"
- ],
- "properties": {
- "name": {
- "type": "string",
- "example": "XXX"
- },
- "ledgerName": {
- "type": "string",
- "example": "default"
- },
- "ledgerQuery": {
- "type": "string",
- "example": "{\"$match\": {\"metadata[reconciliation]\": \"pool:main\"}}"
- },
- "paymentsPoolID": {
- "type": "string",
- "example": "XXX"
- }
- }
- },
- "PolicyResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "policy": {
- "$ref": "#/components/schemas/Policy"
- }
- }
- },
- "ReconciliationRequest": {
- "type": "object",
- "required": [
- "at"
- ],
- "properties": {
- "at": {
- "type": "string",
- "format": "date-time",
- "example": "2021-01-01T00:00:00.000Z"
- }
- }
- },
- "ReconciliationResponse": {
- "type": "object",
- "required": [
- "data"
- ],
- "properties": {
- "reconciliation": {
- "$ref": "#/components/schemas/Reconciliation"
- }
- }
- },
- "Policy": {
- "type": "object",
- "required": [
- "id",
- "name",
- "createdAt",
- "ledgerName",
- "ledgerQuery",
- "paymentsPoolID"
- ],
- "properties": {
- "id": {
- "type": "string",
- "example": "XXX"
- },
- "name": {
- "type": "string",
- "example": "XXX"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "example": "2021-01-01T00:00:00.000Z"
- },
- "ledgerName": {
- "type": "string",
- "example": "default"
- },
- "ledgerQuery": {
- "type": "string",
- "example": "{\"$match\": {\"metadata[reconciliation]\": \"pool:main\"}}"
- },
- "paymentsPoolID": {
- "type": "string",
- "example": "XXX"
- }
- }
- },
- "Reconciliation": {
- "type": "object",
- "required": [
- "id",
- "policyID",
- "createdAt",
- "reconciledAt",
- "status",
- "paymentsBalances",
- "ledgerBalances"
- ],
- "properties": {
- "id": {
- "type": "string",
- "example": "XXX"
- },
- "policyID": {
- "type": "string",
- "example": "XXX"
- },
- "createdAt": {
- "type": "string",
- "format": "date-time",
- "example": "2021-01-01T00:00:00.000Z"
- },
- "reconciledAt": {
- "type": "string",
- "format": "date-time",
- "example": "2021-01-01T00:00:00.000Z"
- },
- "status": {
- "type": "string",
- "example": "COMPLETED"
- },
- "paymentsBalances": {
- "type": "object",
- "additionalProperties": {
- "type": "integer",
- "format": "bigint"
- }
- },
- "ledgerBalances": {
- "type": "object",
- "additionalProperties": {
- "type": "integer",
- "format": "bigint"
- }
- },
- "error": {
- "type": "string"
- }
- }
- },
- "reconciliationErrorResponse": {
- "type": "object",
- "required": [
- "errorCode",
- "errorMessage"
- ],
- "properties": {
- "errorCode": {
- "type": "string",
- "example": "VALIDATION"
- },
- "errorMessage": {
- "type": "string"
- },
- "details": {
- "type": "string"
- }
- }
- }
- },
- "securitySchemes": {
- "Authorization": {
- "type": "oauth2",
- "flows": {
- "clientCredentials": {
- "tokenUrl": "https://localhost/api/auth/oauth/token",
- "refreshUrl": "https://localhost/api/auth/oauth/token",
- "scopes": {}
- }
- }
- }
- },
- "responses": {
- "NoContent": {
- "description": "No content"
- },
- "ServerInfo": {
- "description": "Server information",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ServerInfo"
- }
- }
- }
- },
- "Payments": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/PaymentsCursor"
- }
- }
- }
- },
- "Payment": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/PaymentResponse"
- }
- }
- }
- },
- "Pools": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/PoolsCursor"
- }
- }
- }
- },
- "Pool": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/PoolResponse"
- }
- }
- }
- },
- "PoolBalances": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/PoolBalancesResponse"
- }
- }
- }
- },
- "TransferInitiations": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/TransferInitiationsCursor"
- }
- }
- }
- },
- "TransferInitiation": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/TransferInitiationResponse"
- }
- }
- }
- },
- "Accounts": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/AccountsCursor"
- }
- }
- }
- },
- "Account": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/paymentsAccountResponse"
- }
- }
- }
- },
- "AccountBalances": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/BalancesCursor"
- }
- }
- }
- },
- "ConnectorInstalled": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ConnectorResponse"
- }
- }
- }
- },
- "Connectors": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ConnectorsResponse"
- }
- }
- }
- },
- "BankAccounts": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/BankAccountsCursor"
- }
- }
- }
- },
- "BankAccount": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/BankAccountResponse"
- }
- }
- }
- },
- "ConnectorsConfigs": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ConnectorsConfigsResponse"
- }
- }
- }
- },
- "ConnectorConfig": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ConnectorConfigResponse"
- }
- }
- }
- },
- "Tasks": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/TasksCursor"
- }
- }
- }
- },
- "Task": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/TaskResponse"
- }
- }
- }
- },
- "Transfer": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/TransferResponse"
- }
- }
- }
- },
- "Transfers": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/TransfersResponse"
- }
- }
- }
- },
- "ErrorResponse": {
- "description": "General error",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/Error"
- }
- }
- }
- },
- "Policies": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/PoliciesCursorResponse"
- }
- }
- }
- },
- "Policy": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/PolicyResponse"
- }
- }
- }
- },
- "Reconciliations": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ReconciliationsCursorResponse"
- }
- }
- }
- },
- "Reconciliation": {
- "description": "OK",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ReconciliationResponse"
- }
- }
- }
- },
- "reconciliationErrorResponse": {
- "description": "Error response",
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/reconciliationErrorResponse"
- }
- }
- }
- }
- },
- "parameters": {
- "Query": {
- "name": "query",
- "in": "query",
- "required": false,
- "description": "Filters used to filter resources.\n",
- "schema": {
- "type": "string"
- }
- },
- "PageSize": {
- "name": "pageSize",
- "in": "query",
- "description": "The maximum number of results to return per page.\n",
- "example": 100,
- "schema": {
- "type": "integer",
- "format": "int64",
- "minimum": 1,
- "maximum": 1000,
- "default": 15
- }
- },
- "Cursor": {
- "name": "cursor",
- "in": "query",
- "description": "Parameter used in pagination requests. Maximum page size is set to 15.\nSet to the value of next for the next page of results.\nSet to the value of previous for the previous page of results.\nNo other parameters can be set when this parameter is set.\n",
- "schema": {
- "type": "string",
- "example": "aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ=="
- }
- },
- "Sort": {
- "name": "sort",
- "in": "query",
- "schema": {
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "description": "Fields used to sort payments (default is date:desc).",
- "example": [
- "date:asc",
- "status:desc"
- ]
- },
- "PaymentId": {
- "name": "paymentId",
- "in": "path",
- "schema": {
- "type": "string"
- },
- "description": "The payment ID.",
- "example": "XXX",
- "required": true
- },
- "AccountId": {
- "name": "accountId",
- "in": "path",
- "schema": {
- "type": "string"
- },
- "description": "The account ID.",
- "example": "XXX",
- "required": true
- },
- "ConnectorID": {
- "name": "connectorId",
- "in": "path",
- "schema": {
- "type": "string"
- },
- "description": "The connector ID.",
- "example": "XXX",
- "required": true
- },
- "PoolId": {
- "name": "poolId",
- "in": "path",
- "schema": {
- "type": "string"
- },
- "description": "The pool ID.",
- "example": "XXX",
- "required": true
- },
- "TransferId": {
- "name": "transferId",
- "in": "path",
- "schema": {
- "type": "string"
- },
- "description": "The transfer ID.",
- "example": "XXX",
- "required": true
- },
- "BankAccountId": {
- "name": "bankAccountId",
- "in": "path",
- "schema": {
- "type": "string"
- },
- "description": "The bank account ID.",
- "example": "XXX",
- "required": true
- },
- "Connector": {
- "name": "connector",
- "description": "The name of the connector.",
- "in": "path",
- "schema": {
- "$ref": "#/components/schemas/Connector"
- },
- "required": true
- },
- "TaskId": {
- "name": "taskId",
- "description": "The task ID.",
- "example": "task1",
- "in": "path",
- "schema": {
- "type": "string"
- },
- "required": true
- },
- "reconciliationPageSize": {
- "name": "pageSize",
- "in": "query",
- "description": "The maximum number of results to return per page.\n",
- "example": 100,
- "schema": {
- "type": "integer",
- "format": "int64",
- "minimum": 1,
- "maximum": 1000
- }
- },
- "PolicyID": {
- "name": "policyID",
- "in": "path",
- "schema": {
- "type": "string"
- },
- "description": "The policy ID.",
- "example": "XXX",
- "required": true
- },
- "ReconciliationID": {
- "name": "reconciliationID",
- "in": "path",
- "schema": {
- "type": "string"
- },
- "description": "The reconciliation ID.",
- "example": "XXX",
- "required": true
- }
- },
- "requestBodies": {
- "ConnectorConfig": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ConnectorConfig"
- }
- }
- }
- },
- "UpdateMetadata": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/PaymentMetadata"
- }
- }
- }
- },
- "Payment": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/PaymentRequest"
- }
- }
- }
- },
- "Pool": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/PoolRequest"
- }
- }
- }
- },
- "AddAccountToPool": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/AddAccountToPoolRequest"
- }
- }
- }
- },
- "TransferInitiation": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/TransferInitiationRequest"
- }
- }
- }
- },
- "BankAccount": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/BankAccountRequest"
- }
- }
- }
- },
- "UpdateTransferInitiationStatus": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/UpdateTransferInitiationStatusRequest"
- }
- }
- }
- },
- "Transfer": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/TransferRequest"
- }
- }
- }
- },
- "Policy": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/PolicyRequest"
- }
- }
- }
- },
- "Reconciliation": {
- "required": true,
- "content": {
- "application/json": {
- "schema": {
- "$ref": "#/components/schemas/ReconciliationRequest"
- }
- }
- }
- }
- }
- },
- "x-tagGroups": [
- {
- "name": "Auth",
- "tags": [
- "Clients",
- "Scopes",
- "Users",
- "Auth"
- ]
- },
- {
- "name": "Ledger",
- "tags": [
- "Ledger",
- "Server",
- "Accounts",
- "Mapping",
- "Script",
- "Stats",
- "Transactions",
- "Balances",
- "server",
- "accounts",
- "mapping",
- "script",
- "stats",
- "transactions",
- "balances"
- ]
- },
- {
- "name": "Payments",
- "tags": [
- "Payments"
- ]
- },
- {
- "name": "Search",
- "tags": [
- "Search"
- ]
- },
- {
- "name": "Wallets",
- "tags": [
- "Wallets"
- ]
- },
- {
- "name": "Webhooks",
- "tags": [
- "Webhooks"
- ]
- },
- {
- "name": "Flows",
- "tags": [
- "Orchestration"
- ]
- }
- ]
-}
diff --git a/openapi/templates/go/.github/workflows/speakeasy_sdk_publish.yml b/openapi/templates/go/.github/workflows/speakeasy_sdk_publish.yml
deleted file mode 100644
index 863290bee4..0000000000
--- a/openapi/templates/go/.github/workflows/speakeasy_sdk_publish.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-name: Publish
-"on":
- push:
- branches:
- - main
- paths:
- - RELEASES.md
-jobs:
- publish:
- uses: speakeasy-api/sdk-generation-action/.github/workflows/sdk-publish.yaml@v14
- with:
- create_release: true
- secrets:
- github_access_token: ${{ secrets.GITHUB_TOKEN }}
- speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }}
diff --git a/openapi/templates/java/.github/workflows/speakeasy_sdk_publish.yml b/openapi/templates/java/.github/workflows/speakeasy_sdk_publish.yml
deleted file mode 100644
index 863290bee4..0000000000
--- a/openapi/templates/java/.github/workflows/speakeasy_sdk_publish.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-name: Publish
-"on":
- push:
- branches:
- - main
- paths:
- - RELEASES.md
-jobs:
- publish:
- uses: speakeasy-api/sdk-generation-action/.github/workflows/sdk-publish.yaml@v14
- with:
- create_release: true
- secrets:
- github_access_token: ${{ secrets.GITHUB_TOKEN }}
- speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }}
diff --git a/openapi/templates/java/gen.yaml b/openapi/templates/java/gen.yaml
deleted file mode 100755
index e797cab758..0000000000
--- a/openapi/templates/java/gen.yaml
+++ /dev/null
@@ -1,23 +0,0 @@
-configVersion: 1.0.0
-generation:
- sdkClassName: SDK
- singleTagPerOp: true
- telemetryEnabled: false
-features:
- java:
- core: 2.85.2
- deprecations: 2.81.1
- getRequestBodies: 2.81.1
- globalSecurity: 2.81.1
- globalServerURLs: 2.82.0
-java:
- version: v0.1.0
- artifactID: formance-sdk
- companyEmail: info@mycompany.com
- companyName: Formance
- companyURL: www.formance.com
- githubURL: github.com/formancehq/formance-sdk-java
- groupID: com.formance
- maxMethodParams: 0
- ossrhURL: https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/
- projectName: formance-sdk-java
diff --git a/openapi/templates/php/.github/workflows/speakeasy_sdk_publish.yml b/openapi/templates/php/.github/workflows/speakeasy_sdk_publish.yml
deleted file mode 100644
index 863290bee4..0000000000
--- a/openapi/templates/php/.github/workflows/speakeasy_sdk_publish.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-name: Publish
-"on":
- push:
- branches:
- - main
- paths:
- - RELEASES.md
-jobs:
- publish:
- uses: speakeasy-api/sdk-generation-action/.github/workflows/sdk-publish.yaml@v14
- with:
- create_release: true
- secrets:
- github_access_token: ${{ secrets.GITHUB_TOKEN }}
- speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }}
diff --git a/openapi/templates/php/gen.yaml b/openapi/templates/php/gen.yaml
deleted file mode 100755
index 2df8e59e74..0000000000
--- a/openapi/templates/php/gen.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-configVersion: 1.0.0
-generation:
- sdkClassName: SDK
- singleTagPerOp: true
- telemetryEnabled: false
-features:
- php:
- core: 2.85.3
- deprecations: 2.81.1
- getRequestBodies: 2.81.1
- globalSecurity: 2.81.1
- globalServerURLs: 2.82.0
-php:
- version: v0.1.0
- maxMethodParams: 0
- namespace: formance\stack
- packageName: formance-sdk-php
diff --git a/openapi/templates/python/.github/workflows/speakeasy_sdk_publish.yml b/openapi/templates/python/.github/workflows/speakeasy_sdk_publish.yml
deleted file mode 100644
index 863290bee4..0000000000
--- a/openapi/templates/python/.github/workflows/speakeasy_sdk_publish.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-name: Publish
-"on":
- push:
- branches:
- - main
- paths:
- - RELEASES.md
-jobs:
- publish:
- uses: speakeasy-api/sdk-generation-action/.github/workflows/sdk-publish.yaml@v14
- with:
- create_release: true
- secrets:
- github_access_token: ${{ secrets.GITHUB_TOKEN }}
- speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }}
diff --git a/openapi/templates/python/gen.yaml b/openapi/templates/python/gen.yaml
deleted file mode 100755
index 6044a3473a..0000000000
--- a/openapi/templates/python/gen.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-configVersion: 1.0.0
-generation:
- sdkClassName: SDK
- singleTagPerOp: true
- telemetryEnabled: false
-features:
- python:
- core: 2.85.3
- deprecations: 2.81.1
- getRequestBodies: 2.81.1
- globalSecurity: 2.81.1
- globalServerURLs: 2.82.0
-python:
- version: v0.1.0
- author: Formance
- description: Python Client SDK Generated by Speakeasy
- maxMethodParams: 0
- packageName: formance-sdk-python
diff --git a/openapi/templates/typescript/.github/workflows/speakeasy_sdk_publish.yml b/openapi/templates/typescript/.github/workflows/speakeasy_sdk_publish.yml
deleted file mode 100644
index 863290bee4..0000000000
--- a/openapi/templates/typescript/.github/workflows/speakeasy_sdk_publish.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-name: Publish
-"on":
- push:
- branches:
- - main
- paths:
- - RELEASES.md
-jobs:
- publish:
- uses: speakeasy-api/sdk-generation-action/.github/workflows/sdk-publish.yaml@v14
- with:
- create_release: true
- secrets:
- github_access_token: ${{ secrets.GITHUB_TOKEN }}
- speakeasy_api_key: ${{ secrets.SPEAKEASY_API_KEY }}
diff --git a/openapi/templates/typescript/gen.yaml b/openapi/templates/typescript/gen.yaml
deleted file mode 100755
index de092266bb..0000000000
--- a/openapi/templates/typescript/gen.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-configVersion: 1.0.0
-generation:
- sdkClassName: SDK
- singleTagPerOp: true
- telemetryEnabled: false
-features:
- typescript:
- core: 2.87.1
- deprecations: 2.81.1
- globalSecurity: 2.81.1
- globalServerURLs: 2.82.0
-typescript:
- version: v0.1.0
- author: Formance
- maxMethodParams: 0
- packageName: '@formance/formance-sdk'
diff --git a/tests/integration/Earthfile b/tests/integration/Earthfile
index c9d32e8a44..a96a58bcc1 100644
--- a/tests/integration/Earthfile
+++ b/tests/integration/Earthfile
@@ -32,7 +32,7 @@ tests:
COPY --pass-args (stack+sources/out --LOCATION=components) /src/components
COPY --pass-args (stack+sources/out --LOCATION=ee) /src/ee
COPY --pass-args (stack+build-final-spec/generate-with-version.json) /src/openapi/build/generate.json
- COPY --pass-args (stack+build-sdk/go --LANG=go) /src/sdks/go
+ COPY --pass-args (stack+build-sdk/go) /src/libs/clients/go
COPY . /src/tests/integration
WORKDIR /src/tests/integration
DO --pass-args core+GO_INSTALL --package=github.com/onsi/ginkgo/v2/ginkgo
diff --git a/tests/integration/go.mod b/tests/integration/go.mod
index 80b8f454bf..4abdafbbcf 100644
--- a/tests/integration/go.mod
+++ b/tests/integration/go.mod
@@ -256,7 +256,7 @@ require (
replace (
github.com/formancehq/auth => ../../ee/auth
- github.com/formancehq/formance-sdk-go => ../../sdks/go
+ github.com/formancehq/formance-sdk-go => ../../libs/clients/go
github.com/formancehq/ledger => ../../components/ledger
github.com/formancehq/orchestration => ../../ee/orchestration
github.com/formancehq/payments => ../../components/payments