Skip to content

Latest commit

 

History

History
2495 lines (1801 loc) · 117 KB

File metadata and controls

2495 lines (1801 loc) · 117 KB

Ledger.V2

Overview

Available Operations

addMetadataOnTransaction

Set the metadata of a transaction by its ID

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use Brick\Math\BigInteger;
use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2AddMetadataOnTransactionRequest(
    requestBody: [
        'admin' => 'true',
    ],
    dryRun: true,
    id: BigInteger::of('1234'),
    ledger: 'ledger001',
    schemaVersion: 'v1.0.0',
);

$response = $sdk->ledger->v2->addMetadataOnTransaction(
    request: $request
);

if ($response->statusCode === 200) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2AddMetadataOnTransactionRequest ✔️ The request object to use for the request.

Response

?Operations\V2AddMetadataOnTransactionResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

addMetadataToAccount

Add metadata to an account

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2AddMetadataToAccountRequest(
    requestBody: [
        'admin' => 'true',
    ],
    address: 'users:001',
    dryRun: true,
    ledger: 'ledger001',
    schemaVersion: 'v1.0.0',
);

$response = $sdk->ledger->v2->addMetadataToAccount(
    request: $request
);

if ($response->statusCode === 200) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2AddMetadataToAccountRequest ✔️ The request object to use for the request.

Response

?Operations\V2AddMetadataToAccountResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

countAccounts

Count the accounts from a ledger

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2CountAccountsRequest(
    requestBody: [
        'key' => '<value>',
        'key1' => '<value>',
    ],
    ledger: 'ledger001',
);

$response = $sdk->ledger->v2->countAccounts(
    request: $request
);

if ($response->statusCode === 200) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2CountAccountsRequest ✔️ The request object to use for the request.

Response

?Operations\V2CountAccountsResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

countTransactions

Count the transactions from a ledger

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2CountTransactionsRequest(
    requestBody: [
        'key' => '<value>',
    ],
    ledger: 'ledger001',
);

$response = $sdk->ledger->v2->countTransactions(
    request: $request
);

if ($response->statusCode === 200) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2CountTransactionsRequest ✔️ The request object to use for the request.

Response

?Operations\V2CountTransactionsResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

createBulk

Bulk request

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Ledger;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2CreateBulkRequest(
    requestBody: [
        new \formance\stack\Models\Ledger\V2BulkElementCreateTransaction(
            action: 'REVERT_TRANSACTION',
        ),
    ],
    atomic: true,
    continueOnFailure: true,
    ledger: 'ledger001',
    parallel: true,
    schemaVersion: 'v1.0.0',
);

$response = $sdk->ledger->v2->createBulk(
    request: $request
);

if ($response->v2BulkResponse !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2CreateBulkRequest ✔️ The request object to use for the request.

Response

?Operations\V2CreateBulkResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

createExporter

Create exporter

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Ledger;

$sdk = stack\SDK::builder()->build();

$request = new \formance\stack\Models\Ledger\V2ExporterConfiguration(
    config: [
        'key' => '<value>',
    ],
    driver: '<value>',
);

$response = $sdk->ledger->v2->createExporter(
    request: $request
);

if ($response->v2CreateExporterResponse !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request \formance\stack\Models\Ledger\V2ExporterConfiguration ✔️ The request object to use for the request.

Response

?Operations\V2CreateExporterResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

createLedger

Create a ledger

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Ledger;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2CreateLedgerRequest(
    v2CreateLedgerRequest: new \formance\stack\Models\Ledger\V2CreateLedgerRequest(
        metadata: [
            'admin' => 'true',
        ],
    ),
    ledger: 'ledger001',
);

$response = $sdk->ledger->v2->createLedger(
    request: $request
);

if ($response->statusCode === 200) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2CreateLedgerRequest ✔️ The request object to use for the request.

Response

?Operations\V2CreateLedgerResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

createPipeline

Create pipeline

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;

$sdk = stack\SDK::builder()->build();

$request = new Operations\V2CreatePipelineRequest(
    ledger: 'ledger001',
);

$response = $sdk->ledger->v2->createPipeline(
    request: $request
);

if ($response->v2CreatePipelineResponse !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2CreatePipelineRequest ✔️ The request object to use for the request.

Response

?Operations\V2CreatePipelineResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

createTransaction

Create a new transaction to a ledger

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use Brick\Math\BigInteger;
use formance\stack;
use formance\stack\Models\Ledger;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2CreateTransactionRequest(
    v2PostTransaction: new \formance\stack\Models\Ledger\V2PostTransaction(
        accountMetadata: [
            'key' => [
                'admin' => 'true',
            ],
            'key1' => [
                'admin' => 'true',
            ],
            'key2' => [
                'admin' => 'true',
            ],
        ],
        metadata: [
            'admin' => 'true',
        ],
        postings: [
            new \formance\stack\Models\Ledger\V2Posting(
                amount: BigInteger::of('100'),
                asset: 'COIN',
                destination: 'users:002',
                source: 'users:001',
            ),
        ],
        reference: 'ref:001',
        script: new Ledger\V2PostTransactionScript(
            plain: 'vars {\naccount $user\n}\nsend [COIN 10] (\n	source = @world\n	destination = $user\n)\n',
            template: 'CUSTOMER_DEPOSIT',
            vars: [
                'user' => 'users:042',
            ],
        ),
    ),
    dryRun: true,
    force: true,
    ledger: 'ledger001',
    schemaVersion: 'v1.0.0',
);

$response = $sdk->ledger->v2->createTransaction(
    request: $request
);

if ($response->v2CreateTransactionResponse !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2CreateTransactionRequest ✔️ The request object to use for the request.

Response

?Operations\V2CreateTransactionResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

deleteAccountMetadata

Delete metadata by key

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2DeleteAccountMetadataRequest(
    address: '6753 S Washington Street',
    key: 'foo',
    ledger: 'ledger001',
);

$response = $sdk->ledger->v2->deleteAccountMetadata(
    request: $request
);

if ($response->statusCode === 200) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2DeleteAccountMetadataRequest ✔️ The request object to use for the request.

Response

?Operations\V2DeleteAccountMetadataResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

deleteBucket

Delete a bucket by marking all ledgers in the bucket as deleted (soft delete). All ledgers in the bucket will have their deleted_at field set to the current timestamp.

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2DeleteBucketRequest(
    bucket: '<value>',
);

$response = $sdk->ledger->v2->deleteBucket(
    request: $request
);

if ($response->v2ErrorResponse !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2DeleteBucketRequest ✔️ The request object to use for the request.

Response

?Operations\V2DeleteBucketResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

deleteExporter

Delete exporter

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;

$sdk = stack\SDK::builder()->build();

$request = new Operations\V2DeleteExporterRequest(
    exporterID: '<id>',
);

$response = $sdk->ledger->v2->deleteExporter(
    request: $request
);

if ($response->statusCode === 200) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2DeleteExporterRequest ✔️ The request object to use for the request.

Response

?Operations\V2DeleteExporterResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

deleteLedgerMetadata

Delete ledger metadata by key

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2DeleteLedgerMetadataRequest(
    key: 'foo',
    ledger: 'ledger001',
);

$response = $sdk->ledger->v2->deleteLedgerMetadata(
    request: $request
);

if ($response->statusCode === 200) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2DeleteLedgerMetadataRequest ✔️ The request object to use for the request.

Response

?Operations\V2DeleteLedgerMetadataResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

deletePipeline

Delete pipeline

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;

$sdk = stack\SDK::builder()->build();

$request = new Operations\V2DeletePipelineRequest(
    ledger: 'ledger001',
    pipelineID: '<id>',
);

$response = $sdk->ledger->v2->deletePipeline(
    request: $request
);

if ($response->statusCode === 200) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2DeletePipelineRequest ✔️ The request object to use for the request.

Response

?Operations\V2DeletePipelineResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

deleteTransactionMetadata

Delete metadata by key

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use Brick\Math\BigInteger;
use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2DeleteTransactionMetadataRequest(
    id: BigInteger::of('1234'),
    key: 'foo',
    ledger: 'ledger001',
);

$response = $sdk->ledger->v2->deleteTransactionMetadata(
    request: $request
);

if ($response->statusCode === 200) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2DeleteTransactionMetadataRequest ✔️ The request object to use for the request.

Response

?Operations\V2DeleteTransactionMetadataResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

exportLogs

Export logs

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2ExportLogsRequest(
    ledger: 'ledger001',
);

$response = $sdk->ledger->v2->exportLogs(
    request: $request
);

if ($response->statusCode === 200) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2ExportLogsRequest ✔️ The request object to use for the request.

Response

?Operations\V2ExportLogsResponse

Errors

Error Type Status Code Content Type
Errors\SDKException 4XX, 5XX */*

getAccount

Get account by its address

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2GetAccountRequest(
    address: 'users:001',
    ledger: 'ledger001',
);

$response = $sdk->ledger->v2->getAccount(
    request: $request
);

if ($response->v2AccountResponse !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2GetAccountRequest ✔️ The request object to use for the request.

Response

?Operations\V2GetAccountResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

getBalancesAggregated

Get the aggregated balances from selected accounts

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2GetBalancesAggregatedRequest(
    requestBody: [
        'key' => '<value>',
        'key1' => '<value>',
        'key2' => '<value>',
    ],
    ledger: 'ledger001',
);

$response = $sdk->ledger->v2->getBalancesAggregated(
    request: $request
);

if ($response->v2AggregateBalancesResponse !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2GetBalancesAggregatedRequest ✔️ The request object to use for the request.

Response

?Operations\V2GetBalancesAggregatedResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

getExporterState

Get exporter state

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;

$sdk = stack\SDK::builder()->build();

$request = new Operations\V2GetExporterStateRequest(
    exporterID: '<id>',
);

$response = $sdk->ledger->v2->getExporterState(
    request: $request
);

if ($response->v2GetExporterStateResponse !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2GetExporterStateRequest ✔️ The request object to use for the request.

Response

?Operations\V2GetExporterStateResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

getLedger

Get a ledger

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2GetLedgerRequest(
    ledger: 'ledger001',
);

$response = $sdk->ledger->v2->getLedger(
    request: $request
);

if ($response->v2GetLedgerResponse !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2GetLedgerRequest ✔️ The request object to use for the request.

Response

?Operations\V2GetLedgerResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

getLedgerInfo

Get information about a ledger

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2GetLedgerInfoRequest(
    ledger: 'ledger001',
);

$response = $sdk->ledger->v2->getLedgerInfo(
    request: $request
);

if ($response->v2LedgerInfoResponse !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2GetLedgerInfoRequest ✔️ The request object to use for the request.

Response

?Operations\V2GetLedgerInfoResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

getPipelineState

Get pipeline state

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;

$sdk = stack\SDK::builder()->build();

$request = new Operations\V2GetPipelineStateRequest(
    ledger: 'ledger001',
    pipelineID: '<id>',
);

$response = $sdk->ledger->v2->getPipelineState(
    request: $request
);

if ($response->v2GetPipelineStateResponse !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2GetPipelineStateRequest ✔️ The request object to use for the request.

Response

?Operations\V2GetPipelineStateResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

getSchema

Get a schema for a ledger by version

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2GetSchemaRequest(
    ledger: 'ledger001',
    version: 'v1.0.0',
);

$response = $sdk->ledger->v2->getSchema(
    request: $request
);

if ($response->v2SchemaResponse !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2GetSchemaRequest ✔️ The request object to use for the request.

Response

?Operations\V2GetSchemaResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

getTransaction

Get transaction from a ledger by its ID

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use Brick\Math\BigInteger;
use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2GetTransactionRequest(
    id: BigInteger::of('1234'),
    ledger: 'ledger001',
);

$response = $sdk->ledger->v2->getTransaction(
    request: $request
);

if ($response->v2GetTransactionResponse !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2GetTransactionRequest ✔️ The request object to use for the request.

Response

?Operations\V2GetTransactionResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

getVolumesWithBalances

Get list of volumes with balances for (account/asset)

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2GetVolumesWithBalancesRequest(
    requestBody: [
        'key' => '<value>',
    ],
    cursor: 'aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ==',
    groupBy: 3,
    ledger: 'ledger001',
    pageSize: 100,
    sort: 'id:desc',
);

$response = $sdk->ledger->v2->getVolumesWithBalances(
    request: $request
);

if ($response->v2VolumesWithBalanceCursorResponse !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2GetVolumesWithBalancesRequest ✔️ The request object to use for the request.

Response

?Operations\V2GetVolumesWithBalancesResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

importLogs

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2ImportLogsRequest(
    v2ImportLogsRequest: '0xde3EDEE9e6',
    ledger: 'ledger001',
);

$response = $sdk->ledger->v2->importLogs(
    request: $request
);

if ($response->statusCode === 200) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2ImportLogsRequest ✔️ The request object to use for the request.

Response

?Operations\V2ImportLogsResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

insertSchema

Insert a schema for a ledger

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Ledger;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2InsertSchemaRequest(
    v2SchemaData: new \formance\stack\Models\Ledger\V2SchemaData(
        chart: [
            'users' => new \formance\stack\Models\Ledger\V2ChartSegment(
                additionalProperties: [
                    '$userID' => new \formance\stack\Models\Ledger\V2ChartSegment(
                        dotPattern: '^[0-9]{16}$',
                    ),
                ],
            ),
        ],
        queries: [
            'key' => new \formance\stack\Models\Ledger\V2QueryTemplate(
                params: new Ledger\QueryTemplateAccountParams(
                    cursor: 'aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ==',
                    pageSize: 100,
                    sort: 'id:desc',
                ),
            ),
        ],
    ),
    ledger: 'ledger001',
    version: 'v1.0.0',
);

$response = $sdk->ledger->v2->insertSchema(
    request: $request
);

if ($response->statusCode === 200) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2InsertSchemaRequest ✔️ The request object to use for the request.

Response

?Operations\V2InsertSchemaResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

listAccounts

List accounts from a ledger, sorted by address in descending order.

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2ListAccountsRequest(
    requestBody: [

    ],
    cursor: 'aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ==',
    ledger: 'ledger001',
    pageSize: 100,
    sort: 'id:desc',
);

$response = $sdk->ledger->v2->listAccounts(
    request: $request
);

if ($response->v2AccountsCursorResponse !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2ListAccountsRequest ✔️ The request object to use for the request.

Response

?Operations\V2ListAccountsResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

listExporters

List exporters

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;

$sdk = stack\SDK::builder()->build();



$response = $sdk->ledger->v2->listExporters(

);

if ($response->v2ExportersCursorResponse !== null) {
    // handle response
}

Response

?Operations\V2ListExportersResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

listLedgers

List ledgers

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2ListLedgersRequest(
    requestBody: [
        'key' => '<value>',
        'key1' => '<value>',
        'key2' => '<value>',
    ],
    cursor: 'aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ==',
    pageSize: 100,
    sort: 'id:desc',
);

$response = $sdk->ledger->v2->listLedgers(
    request: $request
);

if ($response->v2LedgerListResponse !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2ListLedgersRequest ✔️ The request object to use for the request.

Response

?Operations\V2ListLedgersResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

listLogs

List the logs from a ledger, sorted by ID in descending order.

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2ListLogsRequest(
    requestBody: [

    ],
    cursor: 'aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ==',
    ledger: 'ledger001',
    pageSize: 100,
    sort: 'id:desc',
);

$response = $sdk->ledger->v2->listLogs(
    request: $request
);

if ($response->v2LogsCursorResponse !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2ListLogsRequest ✔️ The request object to use for the request.

Response

?Operations\V2ListLogsResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

listPipelines

List pipelines

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;

$sdk = stack\SDK::builder()->build();

$request = new Operations\V2ListPipelinesRequest(
    ledger: 'ledger001',
);

$response = $sdk->ledger->v2->listPipelines(
    request: $request
);

if ($response->v2PipelinesCursorResponse !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2ListPipelinesRequest ✔️ The request object to use for the request.

Response

?Operations\V2ListPipelinesResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

listSchemas

List all schemas for a ledger

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2ListSchemasRequest(
    ledger: 'ledger001',
);

$response = $sdk->ledger->v2->listSchemas(
    request: $request
);

if ($response->v2SchemasCursorResponse !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2ListSchemasRequest ✔️ The request object to use for the request.

Response

?Operations\V2ListSchemasResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

listTransactions

List transactions from a ledger, sorted by id in descending order.

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2ListTransactionsRequest(
    requestBody: [

    ],
    cursor: 'aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ==',
    ledger: 'ledger001',
    pageSize: 100,
    sort: 'id:desc',
);

$response = $sdk->ledger->v2->listTransactions(
    request: $request
);

if ($response->v2TransactionsCursorResponse !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2ListTransactionsRequest ✔️ The request object to use for the request.

Response

?Operations\V2ListTransactionsResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

readStats

Get statistics from a ledger. (aggregate metrics on accounts and transactions)

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2ReadStatsRequest(
    ledger: 'ledger001',
);

$response = $sdk->ledger->v2->readStats(
    request: $request
);

if ($response->v2StatsResponse !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2ReadStatsRequest ✔️ The request object to use for the request.

Response

?Operations\V2ReadStatsResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

resetPipeline

Reset pipeline

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;

$sdk = stack\SDK::builder()->build();

$request = new Operations\V2ResetPipelineRequest(
    ledger: 'ledger001',
    pipelineID: '<id>',
);

$response = $sdk->ledger->v2->resetPipeline(
    request: $request
);

if ($response->statusCode === 200) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2ResetPipelineRequest ✔️ The request object to use for the request.

Response

?Operations\V2ResetPipelineResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

restoreBucket

Restore a deleted bucket by unmarking all ledgers in the bucket as deleted. All ledgers in the bucket will have their deleted_at field set to NULL.

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2RestoreBucketRequest(
    bucket: '<value>',
);

$response = $sdk->ledger->v2->restoreBucket(
    request: $request
);

if ($response->v2ErrorResponse !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2RestoreBucketRequest ✔️ The request object to use for the request.

Response

?Operations\V2RestoreBucketResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

revertTransaction

Revert a ledger transaction by its ID

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use Brick\Math\BigInteger;
use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2RevertTransactionRequest(
    dryRun: true,
    id: BigInteger::of('1234'),
    ledger: 'ledger001',
    schemaVersion: 'v1.0.0',
);

$response = $sdk->ledger->v2->revertTransaction(
    request: $request
);

if ($response->v2CreateTransactionResponse !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2RevertTransactionRequest ✔️ The request object to use for the request.

Response

?Operations\V2RevertTransactionResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

runQuery

Run a query template on a ledger

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Ledger;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2RunQueryRequest(
    requestBody: new Operations\V2RunQueryRequestBody(
        params: new Ledger\QueryTemplateAccountParams(
            cursor: 'aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ==',
            pageSize: 100,
            sort: 'id:desc',
        ),
    ),
    cursor: 'aHR0cHM6Ly9nLnBhZ2UvTmVrby1SYW1lbj9zaGFyZQ==',
    id: 'CUSTOMER_DEPOSIT',
    ledger: 'ledger001',
    pageSize: 100,
    schemaVersion: 'v1.0.0',
    sort: 'id:desc',
);

$response = $sdk->ledger->v2->runQuery(
    request: $request
);

if ($response->oneOf !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2RunQueryRequest ✔️ The request object to use for the request.

Response

?Operations\V2RunQueryResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

startPipeline

Start pipeline

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;

$sdk = stack\SDK::builder()->build();

$request = new Operations\V2StartPipelineRequest(
    ledger: 'ledger001',
    pipelineID: '<id>',
);

$response = $sdk->ledger->v2->startPipeline(
    request: $request
);

if ($response->statusCode === 200) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2StartPipelineRequest ✔️ The request object to use for the request.

Response

?Operations\V2StartPipelineResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

stopPipeline

Stop pipeline

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;

$sdk = stack\SDK::builder()->build();

$request = new Operations\V2StopPipelineRequest(
    ledger: 'ledger001',
    pipelineID: '<id>',
);

$response = $sdk->ledger->v2->stopPipeline(
    request: $request
);

if ($response->statusCode === 200) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2StopPipelineRequest ✔️ The request object to use for the request.

Response

?Operations\V2StopPipelineResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

updateExporter

Update exporter

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Ledger;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2UpdateExporterRequest(
    v2ExporterConfiguration: new \formance\stack\Models\Ledger\V2ExporterConfiguration(
        config: [
            'key' => '<value>',
            'key1' => '<value>',
            'key2' => '<value>',
        ],
        driver: '<value>',
    ),
    exporterID: '<id>',
);

$response = $sdk->ledger->v2->updateExporter(
    request: $request
);

if ($response->statusCode === 200) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2UpdateExporterRequest ✔️ The request object to use for the request.

Response

?Operations\V2UpdateExporterResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*

updateLedgerMetadata

Update ledger metadata

Example Usage

declare(strict_types=1);

require 'vendor/autoload.php';

use formance\stack;
use formance\stack\Models\Operations;
use formance\stack\Models\Shared;

$sdk = stack\SDK::builder()
    ->setSecurity(
        new Shared\Security(
            clientID: '<YOUR_CLIENT_ID_HERE>',
            clientSecret: '<YOUR_CLIENT_SECRET_HERE>',
        )
    )
    ->build();

$request = new Operations\V2UpdateLedgerMetadataRequest(
    requestBody: [
        'admin' => 'true',
    ],
    ledger: 'ledger001',
);

$response = $sdk->ledger->v2->updateLedgerMetadata(
    request: $request
);

if ($response->v2ErrorResponse !== null) {
    // handle response
}

Parameters

Parameter Type Required Description
$request Operations\V2UpdateLedgerMetadataRequest ✔️ The request object to use for the request.

Response

?Operations\V2UpdateLedgerMetadataResponse

Errors

Error Type Status Code Content Type
\formance\stack\Models\Ledger\V2ErrorResponseError default application/json
Errors\SDKException 4XX, 5XX */*