Files

97 KiB
Raw Permalink Blame History

V2

(Ledger.V2)

Available Operations

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 /