97 KiB
V2
(Ledger.V2)
Available Operations
- GetInfo - Show server information
- ListLedgers - List ledgers
- GetLedger - Get a ledger
- CreateLedger - Create a ledger
- UpdateLedgerMetadata - Update ledger metadata
- DeleteLedgerMetadata - Delete ledger metadata by key
- GetLedgerInfo - Get information about a ledger
- CreateBulk - Bulk request
- CountAccounts - Count the accounts from a ledger
- ListAccounts - List accounts from a ledger
- GetAccount - Get account by its address
- AddMetadataToAccount - Add metadata to an account
- DeleteAccountMetadata - Delete metadata by key
- ReadStats - Get statistics from a ledger
- CountTransactions - Count the transactions from a ledger
- ListTransactions - List transactions from a ledger
- CreateTransaction - Create a new transaction to a ledger
- GetTransaction - Get transaction from a ledger by its ID
- AddMetadataOnTransaction - Set the metadata of a transaction by its ID
- DeleteTransactionMetadata - Delete metadata by key
- RevertTransaction - Revert a ledger transaction by its ID
- GetBalancesAggregated - Get the aggregated balances from selected accounts
- GetVolumesWithBalances - Get list of volumes with balances for (account/asset)
- ListLogs - List the logs from a ledger
- ImportLogs
- ExportLogs - Export logs
GetInfo
Show server information
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
ctx := context.Background()
res, err := s.Ledger.V2.GetInfo(ctx)
if err != nil {
log.Fatal(err)
}
if res.V2ConfigInfoResponse != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2GetInfoResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.V2ErrorResponse | default | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
ListLedgers
List ledgers
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
var pageSize *int64 = client.Int64(100)
var cursor *string = client.String("aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ==")
ctx := context.Background()
res, err := s.Ledger.V2.ListLedgers(ctx, pageSize, cursor)
if err != nil {
log.Fatal(err)
}
if res.V2LedgerListResponse != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. | |
pageSize |
*int64 | ➖ | The maximum number of results to return per page. |
100 |
cursor |
*string | ➖ | 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== |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2ListLedgersResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.V2ErrorResponse | default | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
GetLedger
Get a ledger
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
var ledger string = "ledger001"
ctx := context.Background()
res, err := s.Ledger.V2.GetLedger(ctx, ledger)
if err != nil {
log.Fatal(err)
}
if res.V2GetLedgerResponse != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. | |
ledger |
string | ✔️ | Name of the ledger. | ledger001 |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2GetLedgerResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.V2ErrorResponse | default | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
CreateLedger
Create a ledger
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
var ledger string = "ledger001"
var v2CreateLedgerRequest *components.V2CreateLedgerRequest = &components.V2CreateLedgerRequest{
Metadata: map[string]string{
"admin": "true",
},
}
ctx := context.Background()
res, err := s.Ledger.V2.CreateLedger(ctx, ledger, v2CreateLedgerRequest)
if err != nil {
log.Fatal(err)
}
if res != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. | |
ledger |
string | ✔️ | Name of the ledger. | ledger001 |
v2CreateLedgerRequest |
*components.V2CreateLedgerRequest | ➖ | N/A | |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2CreateLedgerResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.V2ErrorResponse | default | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
UpdateLedgerMetadata
Update ledger metadata
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
var ledger string = "ledger001"
var requestBody map[string]string = map[string]string{
"admin": "true",
}
ctx := context.Background()
res, err := s.Ledger.V2.UpdateLedgerMetadata(ctx, ledger, requestBody)
if err != nil {
log.Fatal(err)
}
if res != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. | |
ledger |
string | ✔️ | Name of the ledger. | ledger001 |
requestBody |
map[string]string | ➖ | N/A | { "admin": "true" } |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2UpdateLedgerMetadataResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.V2ErrorResponse | default | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
DeleteLedgerMetadata
Delete ledger metadata by key
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
var ledger string = "ledger001"
var key string = "foo"
ctx := context.Background()
res, err := s.Ledger.V2.DeleteLedgerMetadata(ctx, ledger, key)
if err != nil {
log.Fatal(err)
}
if res != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. | |
ledger |
string | ✔️ | Name of the ledger. | ledger001 |
key |
string | ✔️ | Key to remove. | foo |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2DeleteLedgerMetadataResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.V2ErrorResponse | default | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
GetLedgerInfo
Get information about a ledger
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
var ledger string = "ledger001"
ctx := context.Background()
res, err := s.Ledger.V2.GetLedgerInfo(ctx, ledger)
if err != nil {
log.Fatal(err)
}
if res.V2LedgerInfoResponse != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. | |
ledger |
string | ✔️ | Name of the ledger. | ledger001 |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2GetLedgerInfoResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.V2ErrorResponse | default | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
CreateBulk
Bulk request
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"math/big"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
var ledger string = "ledger001"
var requestBody []components.V2BulkElement = []components.V2BulkElement{
components.CreateV2BulkElementV2BulkElementCreateTransaction(
components.V2BulkElementCreateTransaction{
Action: "<value>",
Data: &components.V2PostTransaction{
Postings: []components.V2Posting{
components.V2Posting{
Amount: big.NewInt(100),
Asset: "COIN",
Destination: "users:002",
Source: "users:001",
},
},
Script: &components.V2PostTransactionScript{
Plain: "vars {
account $user
}
send [COIN 10] (
source = @world
destination = $user
)
",
Vars: map[string]any{
"user": "users:042",
},
},
Reference: client.String("ref:001"),
Metadata: map[string]string{
"admin": "true",
},
},
},
),
}
ctx := context.Background()
res, err := s.Ledger.V2.CreateBulk(ctx, ledger, requestBody)
if err != nil {
log.Fatal(err)
}
if res.V2BulkResponse != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. | |
ledger |
string | ✔️ | Name of the ledger. | ledger001 |
requestBody |
[]components.V2BulkElement | ➖ | N/A | |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2CreateBulkResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.V2ErrorResponse | default | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
CountAccounts
Count the accounts from a ledger
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"time"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
var ledger string = "ledger001"
ctx := context.Background()
res, err := s.Ledger.V2.CountAccounts(ctx, ledger, nil, nil)
if err != nil {
log.Fatal(err)
}
if res != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. | |
ledger |
string | ✔️ | Name of the ledger. | ledger001 |
pit |
*time.Time | ➖ | N/A | |
requestBody |
map[string]any | ➖ | N/A | |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2CountAccountsResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.V2ErrorResponse | default | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
ListAccounts
List accounts from a ledger, sorted by address in descending order.
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"github.com/formancehq/stack/ledger/client/models/operations"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
request := operations.V2ListAccountsRequest{
Ledger: "ledger001",
PageSize: client.Int64(100),
Cursor: client.String("aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ=="),
}
ctx := context.Background()
res, err := s.Ledger.V2.ListAccounts(ctx, request)
if err != nil {
log.Fatal(err)
}
if res.V2AccountsCursorResponse != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
request |
operations.V2ListAccountsRequest | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2ListAccountsResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.V2ErrorResponse | default | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
GetAccount
Get account by its address
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"time"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
var ledger string = "ledger001"
var address string = "users:001"
ctx := context.Background()
res, err := s.Ledger.V2.GetAccount(ctx, ledger, address, nil, nil)
if err != nil {
log.Fatal(err)
}
if res.V2AccountResponse != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. | |
ledger |
string | ✔️ | Name of the ledger. | ledger001 |
address |
string | ✔️ | Exact address of the account. It must match the following regular expressions pattern:<br/>^\w+(:\w+)*$<br/> |
users:001 |
expand |
*string | ➖ | N/A | |
pit |
*time.Time | ➖ | N/A | |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2GetAccountResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.V2ErrorResponse | default | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
AddMetadataToAccount
Add metadata to an account
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"github.com/formancehq/stack/ledger/client/models/operations"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
request := operations.V2AddMetadataToAccountRequest{
Ledger: "ledger001",
Address: "users:001",
DryRun: client.Bool(true),
RequestBody: map[string]string{
"admin": "true",
},
}
ctx := context.Background()
res, err := s.Ledger.V2.AddMetadataToAccount(ctx, request)
if err != nil {
log.Fatal(err)
}
if res != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
request |
operations.V2AddMetadataToAccountRequest | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2AddMetadataToAccountResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.V2ErrorResponse | default | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
DeleteAccountMetadata
Delete metadata by key
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
var ledger string = "ledger001"
var address string = "<value>"
var key string = "foo"
ctx := context.Background()
res, err := s.Ledger.V2.DeleteAccountMetadata(ctx, ledger, address, key)
if err != nil {
log.Fatal(err)
}
if res != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. | |
ledger |
string | ✔️ | Name of the ledger. | ledger001 |
address |
string | ✔️ | Account address | |
key |
string | ✔️ | The key to remove. | foo |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2DeleteAccountMetadataResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.V2ErrorResponse | default | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
ReadStats
Get statistics from a ledger. (aggregate metrics on accounts and transactions)
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
var ledger string = "ledger001"
ctx := context.Background()
res, err := s.Ledger.V2.ReadStats(ctx, ledger)
if err != nil {
log.Fatal(err)
}
if res.V2StatsResponse != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. | |
ledger |
string | ✔️ | name of the ledger | ledger001 |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2ReadStatsResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.V2ErrorResponse | default | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
CountTransactions
Count the transactions from a ledger
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"time"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
var ledger string = "ledger001"
ctx := context.Background()
res, err := s.Ledger.V2.CountTransactions(ctx, ledger, nil, nil)
if err != nil {
log.Fatal(err)
}
if res != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. | |
ledger |
string | ✔️ | Name of the ledger. | ledger001 |
pit |
*time.Time | ➖ | N/A | |
requestBody |
map[string]any | ➖ | N/A | |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2CountTransactionsResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.V2ErrorResponse | default | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
ListTransactions
List transactions from a ledger, sorted by id in descending order.
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"github.com/formancehq/stack/ledger/client/models/operations"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
request := operations.V2ListTransactionsRequest{
Ledger: "ledger001",
PageSize: client.Int64(100),
Cursor: client.String("aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ=="),
}
ctx := context.Background()
res, err := s.Ledger.V2.ListTransactions(ctx, request)
if err != nil {
log.Fatal(err)
}
if res.V2TransactionsCursorResponse != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
request |
operations.V2ListTransactionsRequest | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2ListTransactionsResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.V2ErrorResponse | default | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
CreateTransaction
Create a new transaction to a ledger
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"math/big"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
var ledger string = "ledger001"
v2PostTransaction := components.V2PostTransaction{
Postings: []components.V2Posting{
components.V2Posting{
Amount: big.NewInt(100),
Asset: "COIN",
Destination: "users:002",
Source: "users:001",
},
},
Script: &components.V2PostTransactionScript{
Plain: "vars {
account $user
}
send [COIN 10] (
source = @world
destination = $user
)
",
Vars: map[string]any{
"user": "users:042",
},
},
Reference: client.String("ref:001"),
Metadata: map[string]string{
"admin": "true",
},
}
var dryRun *bool = client.Bool(true)
ctx := context.Background()
res, err := s.Ledger.V2.CreateTransaction(ctx, ledger, v2PostTransaction, dryRun, nil)
if err != nil {
log.Fatal(err)
}
if res.V2CreateTransactionResponse != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. | |
ledger |
string | ✔️ | Name of the ledger. | ledger001 |
v2PostTransaction |
components.V2PostTransaction | ✔️ | 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 | ➖ | Set the dryRun mode. dry run mode doesn't add the logs to the database or publish a message to the message broker. | true |
idempotencyKey |
*string | ➖ | Use an idempotency key | |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2CreateTransactionResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.V2ErrorResponse | default | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
GetTransaction
Get transaction from a ledger by its ID
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"math/big"
"time"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
var ledger string = "ledger001"
var id *big.Int = big.NewInt(1234)
ctx := context.Background()
res, err := s.Ledger.V2.GetTransaction(ctx, ledger, id, nil, nil)
if err != nil {
log.Fatal(err)
}
if res.V2GetTransactionResponse != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. | |
ledger |
string | ✔️ | Name of the ledger. | ledger001 |
id |
*big.Int | ✔️ | Transaction ID. | 1234 |
expand |
*string | ➖ | N/A | |
pit |
*time.Time | ➖ | N/A | |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2GetTransactionResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.V2ErrorResponse | default | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
AddMetadataOnTransaction
Set the metadata of a transaction by its ID
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"github.com/formancehq/stack/ledger/client/models/operations"
"math/big"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
request := operations.V2AddMetadataOnTransactionRequest{
Ledger: "ledger001",
ID: big.NewInt(1234),
DryRun: client.Bool(true),
RequestBody: map[string]string{
"admin": "true",
},
}
ctx := context.Background()
res, err := s.Ledger.V2.AddMetadataOnTransaction(ctx, request)
if err != nil {
log.Fatal(err)
}
if res != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
request |
operations.V2AddMetadataOnTransactionRequest | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2AddMetadataOnTransactionResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.V2ErrorResponse | default | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
DeleteTransactionMetadata
Delete metadata by key
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"math/big"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
var ledger string = "ledger001"
var id *big.Int = big.NewInt(1234)
var key string = "foo"
ctx := context.Background()
res, err := s.Ledger.V2.DeleteTransactionMetadata(ctx, ledger, id, key)
if err != nil {
log.Fatal(err)
}
if res != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. | |
ledger |
string | ✔️ | Name of the ledger. | ledger001 |
id |
*big.Int | ✔️ | Transaction ID. | 1234 |
key |
string | ✔️ | The key to remove. | foo |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2DeleteTransactionMetadataResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.V2ErrorResponse | default | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
RevertTransaction
Revert a ledger transaction by its ID
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"math/big"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
var ledger string = "ledger001"
var id *big.Int = big.NewInt(1234)
ctx := context.Background()
res, err := s.Ledger.V2.RevertTransaction(ctx, ledger, id, nil, nil)
if err != nil {
log.Fatal(err)
}
if res.V2RevertTransactionResponse != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. | |
ledger |
string | ✔️ | Name of the ledger. | ledger001 |
id |
*big.Int | ✔️ | Transaction ID. | 1234 |
force |
*bool | ➖ | Force revert | |
atEffectiveDate |
*bool | ➖ | Revert transaction at effective date of the original tx | |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2RevertTransactionResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.V2ErrorResponse | default | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
GetBalancesAggregated
Get the aggregated balances from selected accounts
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"time"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
var ledger string = "ledger001"
ctx := context.Background()
res, err := s.Ledger.V2.GetBalancesAggregated(ctx, ledger, nil, nil, nil)
if err != nil {
log.Fatal(err)
}
if res.V2AggregateBalancesResponse != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. | |
ledger |
string | ✔️ | Name of the ledger. | ledger001 |
pit |
*time.Time | ➖ | N/A | |
useInsertionDate |
*bool | ➖ | Use insertion date instead of effective date | |
requestBody |
map[string]any | ➖ | N/A | |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2GetBalancesAggregatedResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.V2ErrorResponse | default | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
GetVolumesWithBalances
Get list of volumes with balances for (account/asset)
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"github.com/formancehq/stack/ledger/client/models/operations"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
request := operations.V2GetVolumesWithBalancesRequest{
PageSize: client.Int64(100),
Cursor: client.String("aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ=="),
Ledger: "ledger001",
GroupBy: client.Int64(3),
}
ctx := context.Background()
res, err := s.Ledger.V2.GetVolumesWithBalances(ctx, request)
if err != nil {
log.Fatal(err)
}
if res.V2VolumesWithBalanceCursorResponse != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
request |
operations.V2GetVolumesWithBalancesRequest | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2GetVolumesWithBalancesResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.V2ErrorResponse | default | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
ListLogs
List the logs from a ledger, sorted by ID in descending order.
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"github.com/formancehq/stack/ledger/client/models/operations"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
request := operations.V2ListLogsRequest{
Ledger: "ledger001",
PageSize: client.Int64(100),
Cursor: client.String("aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ=="),
}
ctx := context.Background()
res, err := s.Ledger.V2.ListLogs(ctx, request)
if err != nil {
log.Fatal(err)
}
if res.V2LogsCursorResponse != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. |
request |
operations.V2ListLogsRequest | ✔️ | The request object to use for the request. |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2ListLogsResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.V2ErrorResponse | default | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
ImportLogs
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
var ledger string = "ledger001"
ctx := context.Background()
res, err := s.Ledger.V2.ImportLogs(ctx, ledger, nil)
if err != nil {
log.Fatal(err)
}
if res != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. | |
ledger |
string | ✔️ | Name of the ledger. | ledger001 |
requestBody |
*string | ➖ | N/A | |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2ImportLogsResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.V2ErrorResponse | default | application/json |
| sdkerrors.SDKError | 4xx-5xx | / |
ExportLogs
Export logs
Example Usage
package main
import(
"github.com/formancehq/stack/ledger/client/models/components"
"github.com/formancehq/stack/ledger/client"
"context"
"log"
)
func main() {
s := client.New(
client.WithSecurity(components.Security{
ClientID: "",
ClientSecret: "",
}),
)
var ledger string = "ledger001"
ctx := context.Background()
res, err := s.Ledger.V2.ExportLogs(ctx, ledger)
if err != nil {
log.Fatal(err)
}
if res != nil {
// handle response
}
}
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
ctx |
context.Context | ✔️ | The context to use for the request. | |
ledger |
string | ✔️ | Name of the ledger. | ledger001 |
opts |
[]operations.Option | ➖ | The options for this request. |
Response
*operations.V2ExportLogsResponse, error
| Error Object | Status Code | Content Type |
|---|---|---|
| sdkerrors.SDKError | 4xx-5xx | / |