API Reference

Every Soledgic endpoint explained in plain language. Start with the job you are trying to do, then open the endpoint card for the required fields and an example request.

This reference is for the supported public integration surface. Dashboard/session routes such as/api/identity/* and/api/ecosystems/* are operator-only and intentionally excluded from the public SDK and OpenAPI spec.

Start with the job

How to read an endpoint

What this does

The user-facing purpose of the endpoint.

When to use it

The product moment that should call it.

What you need first

IDs, URLs, amount, or setup required before calling.

What comes back

The status or resource your app should store or show.

Base URLs

https://api.soledgic.com/v1
https://soledgic.com/v1

Use https://api.soledgic.com/v1 for server integrations. The root domain proxy is available for browser-visible links and diagnostics. Most endpoints usex-api-key. Billing, bootstrap, and webhook endpoints use JWT or signature-based auth as shown per endpoint below.

Quick Reference

112 endpoints (104 public, 8 internal) organized into 17 resource groups.

Treasury

EndpointMethodsAuthStatusDetails
Release Hold
/v1/holds/{hold_id}/release
POST
API keyPublicView details
Holds
/v1/holds
GET
API keyPublicView details
Holds Summary
/v1/holds/summary
GET
API keyPublicView details
Participant Detail
/v1/participants/{participant_id}
GET
API keyPublicView details
Participant Payout Eligibility
/v1/participants/{participant_id}/payout-eligibility
GET
API keyPublicView details
Participants
/v1/participants
GETPOST
API keyPublicView details
Transfers
/v1/transfers
POST
API keyPublicView details
Wallet Topup
/v1/wallets/{wallet_id}/topups
POST
API keyPublicView details
Wallet Detail
/v1/wallets/{wallet_id}
GET
API keyPublicView details
Wallet Entries
/v1/wallets/{wallet_id}/entries
GET
API keyPublicView details
Wallet Withdrawal
/v1/wallets/{wallet_id}/withdrawals
POST
API keyPublicView details
Release Hold
/v1/holds/{hold_id}/release
POSTAPI key

Release a held-funds entry and optionally execute the transfer.

What this does

Release a hold when money is allowed to become available.

When to use it

Call this from an approved admin or automated release process.

What you need first

Confirm the hold is ready and the release policy allows it.

Required: hold_id (path)

What comes back

Release status, amount, and transfer details if the release executed.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/holds/{hold_id}/release
Supabase function
/functions/v1/hold-release
Source
supabase/functions/holds/index.ts

Parameters

LocationNameTypeRequired
pathhold_idstringYes
bodyexecute_transferbooleanNo

Example Request

curl -X POST "https://api.soledgic.com/v1/holds/hold_id_123/release" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "execute_transfer": true
}'
Holds
/v1/holds
GETAPI key

List held funds across participants, with optional readiness filtering.

What this does

List money that is held instead of immediately available.

When to use it

Call this for admin dashboards, delayed release policies, disputes, or payout review.

What you need first

Optionally filter by participant id or show only holds ready for release.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

Held-fund rows with reason, age, release readiness, and related transaction references.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/holds
Supabase function
/functions/v1/holds
Source
supabase/functions/holds/index.ts

Parameters

LocationNameTypeRequired
queryparticipant_idstringNo
queryventure_idstringNo
queryready_onlybooleanNo
querylimitnumberNo

Example Request

curl -X GET "https://api.soledgic.com/v1/holds?participant_id=participant_id_123&venture_id=venture_id_123&ready_only=true&limit=1000" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Holds Summary
/v1/holds/summary
GETAPI key

Get an aggregate summary of held and releasable funds.

What this does

Create and inspect the money-facing people and wallets inside a platform.

When to use it

Use these endpoints when your app needs a buyer wallet, a creator earnings wallet, a balance, a transfer, or a held-funds view.

What you need first

Know the external user or creator id from your app and whether the account is a buyer wallet or creator earnings account.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

A Soledgic resource id, current balance information, or an activity list that your app can show back to the user.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/holds/summary
Supabase function
/functions/v1/holds-summary
Source
supabase/functions/holds/index.ts

Parameters

No formal parameters were inferred for this endpoint from source declarations.

Example Request

curl -X GET "https://api.soledgic.com/v1/holds/summary" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Participant Detail
/v1/participants/{participant_id}
GETAPI key

Get a participant balance snapshot, including active holds.

What this does

Look up one creator or participant balance.

When to use it

Call this when showing a creator balance page or checking held versus available earnings.

What you need first

You need the `participant_id` you used when creating the participant.

Required: participant_id (path)

What comes back

The participant balance, available amount, held amount, and active holds.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/participants/{participant_id}
Supabase function
/functions/v1/participant-detail
Source
supabase/functions/participants/index.ts

Parameters

LocationNameTypeRequired
pathparticipant_idstringYes

Example Request

curl -X GET "https://api.soledgic.com/v1/participants/participant_id_123" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Participant Payout Eligibility
/v1/participants/{participant_id}/payout-eligibility
GETAPI key

Check whether a participant is currently eligible for payout.

What this does

Ask whether a creator can request or receive a payout right now.

When to use it

Call this before showing a payout button or explaining why payouts are blocked.

What you need first

The participant must already exist and have any required identity, tax, and payout setup.

Required: participant_id (path)

What comes back

An eligibility result, available balance, and a list of blocking issues if payout is not ready.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/participants/{participant_id}/payout-eligibility
Supabase function
/functions/v1/participant-payout-eligibility
Source
supabase/functions/participants/index.ts

Parameters

LocationNameTypeRequired
pathparticipant_idstringYes

Example Request

curl -X GET "https://api.soledgic.com/v1/participants/participant_id_123/payout-eligibility" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Participants
/v1/participants
GETPOSTAPI key

List treasury participants or create a new participant-backed account.

What this does

Create or list creators/sellers that can earn money in your platform.

When to use it

Call this when your app adds a creator, seller, teacher, artist, or other earning participant.

What you need first

Choose a stable `participant_id` from your app, such as your creator id. You can also include name, email, split percent, and payout preferences.

Required: participant_id (body)

What comes back

A participant-backed account that Soledgic can use for earnings, holds, reports, and payout checks.

Method meaning: GET: Read existing information. POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/participants
Supabase function
/functions/v1/participants
Source
supabase/functions/participants/index.ts

Parameters

LocationNameTypeRequired
bodyparticipant_idstringYes
bodyuser_idstringNo
bodydisplay_namestringNo
bodyemailstringNo
bodydefault_split_percentnumberNo
bodytax_info{No
bodypayout_preferences{No
bodymetadataRecord<string, unknown>No

Example Request

curl -X GET "https://api.soledgic.com/v1/participants" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Transfers
/v1/transfers
POSTAPI key

Move funds between wallets when both wallets explicitly permit transfer.

What this does

Create and inspect the money-facing people and wallets inside a platform.

When to use it

Use these endpoints when your app needs a buyer wallet, a creator earnings wallet, a balance, a transfer, or a held-funds view.

What you need first

Know the external user or creator id from your app and whether the account is a buyer wallet or creator earnings account.

Required: amount (body), reference_id (body)

What comes back

A Soledgic resource id, current balance information, or an activity list that your app can show back to the user.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/transfers
Supabase function
/functions/v1/transfers
Source
supabase/functions/transfers/index.ts

Parameters

LocationNameTypeRequired
bodyfrom_wallet_idstringNo
bodyto_wallet_idstringNo
bodyfrom_participant_idstringNo
bodyto_participant_idstringNo
bodyamountnumberYes
bodyreference_idstringYes
bodydescriptionstringNo
bodymetadataRecord<string, unknown>No

Example Request

curl -X POST "https://api.soledgic.com/v1/transfers" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "amount": 1000,
  "reference_id": "reference_id_123",
  "from_wallet_id": "from_wallet_id_123",
  "to_wallet_id": "to_wallet_id_123",
  "from_participant_id": "from_participant_id_123",
  "to_participant_id": "to_participant_id_123",
  "description": "value",
  "metadata": {}
}'
Wallet Topup
/v1/wallets/{wallet_id}/topups
POSTAPI key

Top up a wallet when its wallet type supports external funding.

What this does

Create and inspect the money-facing people and wallets inside a platform.

When to use it

Use these endpoints when your app needs a buyer wallet, a creator earnings wallet, a balance, a transfer, or a held-funds view.

What you need first

Know the external user or creator id from your app and whether the account is a buyer wallet or creator earnings account.

Required: wallet_id (path), amount (body), reference_id (body)

What comes back

A Soledgic resource id, current balance information, or an activity list that your app can show back to the user.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/wallets/{wallet_id}/topups
Supabase function
/functions/v1/wallet-deposit
Source
supabase/functions/wallets/index.ts

Parameters

LocationNameTypeRequired
pathwallet_idstringYes
bodyamountnumberYes
bodyreference_idstringYes
bodydescriptionstringNo
bodymetadataRecord<string, unknown>No

Example Request

curl -X POST "https://api.soledgic.com/v1/wallets/wallet_id_123/topups" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "amount": 1000,
  "reference_id": "reference_id_123",
  "description": "value",
  "metadata": {}
}'
Wallet Detail
/v1/wallets/{wallet_id}
GETAPI key

Get a wallet object by wallet id.

What this does

Get one wallet and its current balance.

When to use it

Call this for wallet screens, balance checks, or support review.

What you need first

You need the Soledgic `wallet_id`.

Required: wallet_id (path)

What comes back

The wallet status, balance, available amount, held amount, and supported actions.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/wallets/{wallet_id}
Supabase function
/functions/v1/wallet-detail
Source
supabase/functions/wallets/index.ts

Parameters

LocationNameTypeRequired
pathwallet_idstringYes

Example Request

curl -X GET "https://api.soledgic.com/v1/wallets/wallet_id_123" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Wallet Entries
/v1/wallets/{wallet_id}/entries
GETAPI key

List wallet ledger entries for a wallet object.

What this does

Show the activity feed for a wallet.

When to use it

Call this for receipts, transaction history, or user wallet activity screens.

What you need first

You need the `wallet_id`; use `limit` and `offset` for pagination.

Required: wallet_id (path)

What comes back

Ledger entries with amounts, debit/credit direction, references, descriptions, and timestamps.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/wallets/{wallet_id}/entries
Supabase function
/functions/v1/wallet-entries
Source
supabase/functions/wallets/index.ts

Parameters

LocationNameTypeRequired
pathwallet_idstringYes
querylimitnumberNo
queryoffsetnumberNo

Example Request

curl -X GET "https://api.soledgic.com/v1/wallets/wallet_id_123/entries?limit=1000&offset=1000" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Wallet Withdrawal
/v1/wallets/{wallet_id}/withdrawals
POSTAPI key

Withdraw or debit funds from a wallet when the wallet is redeemable.

What this does

Create and inspect the money-facing people and wallets inside a platform.

When to use it

Use these endpoints when your app needs a buyer wallet, a creator earnings wallet, a balance, a transfer, or a held-funds view.

What you need first

Know the external user or creator id from your app and whether the account is a buyer wallet or creator earnings account.

Required: wallet_id (path), amount (body), reference_id (body)

What comes back

A Soledgic resource id, current balance information, or an activity list that your app can show back to the user.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/wallets/{wallet_id}/withdrawals
Supabase function
/functions/v1/wallet-withdrawal
Source
supabase/functions/wallets/index.ts

Parameters

LocationNameTypeRequired
pathwallet_idstringYes
bodyamountnumberYes
bodyreference_idstringYes
bodydescriptionstringNo
bodymetadataRecord<string, unknown>No

Example Request

curl -X POST "https://api.soledgic.com/v1/wallets/wallet_id_123/withdrawals" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "amount": 1000,
  "reference_id": "reference_id_123",
  "description": "value",
  "metadata": {}
}'

Payments

EndpointMethodsAuthStatusDetails
Checkout Sessions
/v1/checkout-sessions
POST
API keyPublicView details
Payouts
/v1/payouts
POST
API keyPublicView details
Generate Receipt
/v1/receipts/generate
POST
API keyPublicView details
Get Receipt
/v1/receipts/{receipt_id}
GET
API keyPublicView details
Refunds
/v1/refunds
GETPOST
API keyPublicView details
Checkout Sessions
/v1/checkout-sessions
POSTAPI key

Create a hosted or direct checkout session for a participant sale.

What this does

Create a purchase flow for a buyer.

When to use it

Call this when a user buys a product, session, content item, membership, or order in your app.

What you need first

Have the creator participant id, amount in cents, product/order ids, and either a hosted success URL or a direct payment method/source.

Required: participant_id (body), amount (body)

What comes back

A checkout URL or direct payment result, plus sale references and split breakdowns.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/checkout-sessions
Supabase function
/functions/v1/checkout-sessions
Source
supabase/functions/checkout-sessions/index.ts

Parameters

LocationNameTypeRequired
bodyparticipant_idstringYes
bodyamountnumberYes
bodycurrency'USD'No
bodyproduct_idstringNo
bodyproduct_namestringNo
bodycustomer_emailstringNo
bodycustomer_idstringNo
bodybuyer_user_idstringNo
bodypurchase_mode'direct_funded_wallet'No
bodysandbox_checkout_provider'soledgic' | 'stripe'No
bodypayment_method_idstringNo
bodysuccess_urlstringNo
bodycancel_urlstringNo
bodyidempotency_keystringNo
bodymetadataRecord<string, string>No

Example Request

curl -X POST "https://api.soledgic.com/v1/checkout-sessions" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "participant_id": "participant_id_123",
  "amount": 1000,
  "currency": "USD",
  "product_id": "product_id_123",
  "product_name": "value",
  "customer_email": "user@example.com",
  "customer_id": "customer_id_123",
  "buyer_user_id": "buyer_user_id_123"
}'
Payouts
/v1/payouts
POSTAPI key

Create a payout for a creator earnings wallet or participant. Sandbox payouts are simulated; live payouts use the configured processor payout rail.

What this does

Request a payout from available creator earnings.

When to use it

Call this after payout eligibility says the creator is ready and has available balance.

What you need first

Have the participant id, amount, and a stable `reference_id` for idempotency.

Required: amount (body), reference_id (body)

What comes back

A payout object with gross amount, fees, net amount, transaction id, and balance movement.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/payouts
Supabase function
/functions/v1/payouts
Source
supabase/functions/payouts/index.ts

Parameters

LocationNameTypeRequired
bodywallet_idstringNo
bodyparticipant_idstringNo
bodyamountnumberYes
bodyreference_idstringYes
bodyreference_typestringNo
bodydescriptionstringNo
bodypayout_methodstringNo
bodyfeesnumberNo
bodyfees_paid_by'platform' | 'creator'No
bodymetadataRecord<string, unknown>No

Example Request

curl -X POST "https://api.soledgic.com/v1/payouts" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "amount": 1000,
  "reference_id": "reference_id_123",
  "wallet_id": "wallet_id_123",
  "participant_id": "participant_id_123",
  "reference_type": "value",
  "description": "value",
  "payout_method": "value",
  "fees": 1000
}'
Generate Receipt
/v1/receipts/generate
POSTAPI key

Generate a Soledgic-owned financial receipt for a checkout or sale transaction.

What this does

Generate or fetch Soledgic-owned financial receipts.

When to use it

Call this after checkout completion when your app needs a durable receipt reference.

What you need first

Have the checkout id or sale transaction id plus any external order reference your app uses.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

A receipt id and hosted URL your app can store and display.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/receipts/generate
Supabase function
/functions/v1/receipts
Source
supabase/functions/receipts/index.ts

Parameters

LocationNameTypeRequired
bodycheckout_idstringNo
bodysale_transaction_idstringNo
bodyorder_idstringNo
bodyexternal_order_idstringNo
bodymetadataobjectNo

Example Request

curl -X POST "https://api.soledgic.com/v1/receipts/generate" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "checkout_id": "checkout_id_123",
  "sale_transaction_id": "sale_transaction_id_123",
  "order_id": "order_id_123",
  "external_order_id": "external_order_id_123",
  "metadata": {}
}'
Get Receipt
/v1/receipts/{receipt_id}
GETAPI key

Fetch a Soledgic-owned receipt reference by id.

What this does

Generate or fetch Soledgic-owned financial receipts.

When to use it

Call this after checkout completion when your app needs a durable receipt reference.

What you need first

Have the checkout id or sale transaction id plus any external order reference your app uses.

Required: receipt_id (path)

What comes back

A receipt id and hosted URL your app can store and display.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/receipts/{receipt_id}
Supabase function
/functions/v1/receipts
Source
supabase/functions/receipts/index.ts

Parameters

LocationNameTypeRequired
pathreceipt_idstringYes

Example Request

curl -X GET "https://api.soledgic.com/v1/receipts/receipt_id_123" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Refunds
/v1/refunds
GETPOSTAPI key

List refunds or create a Soledgic-routed refund against a recorded sale.

What this does

Execute or list refunds through Soledgic.

When to use it

Call this after your platform approves a refund. Buyers should start with refund requests; do not route users to request refunds through the processor directly.

What you need first

Use the original `sale_reference`, the refund reason, and optionally the amount for partial refunds.

Required: original_sale_reference (body), reason (body)

What comes back

A refund object, status, refund amount, and the split of funds returned from platform and creator balances.

Method meaning: GET: Read existing information. POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/refunds
Supabase function
/functions/v1/refunds
Source
supabase/functions/refunds/index.ts

Parameters

LocationNameTypeRequired
querysale_referencestringNo
querylimitnumberNo
bodyoriginal_sale_referencestringYes
bodyreasonstringYes
bodyamountnumberNo
bodyrefund_from'both' | 'platform_only' | 'creator_only'No
bodyexternal_refund_idstringNo
bodyidempotency_keystringNo
bodymetadataRecord<string, unknown>No

Example Request

curl -X GET "https://api.soledgic.com/v1/refunds?sale_reference=value&limit=1000" \
  -H "x-api-key: slk_test_YOUR_API_KEY"

Transactions

EndpointMethodsAuthStatusDetails
Get Transactions
/v1/get-transactions
GET
API keyPublicView details
Import Transactions
/v1/import-transactions
POST
API keyPublicView details
Pay Bill
/v1/pay-bill
POST
API keyPublicView details
Record Adjustment
/v1/record-adjustment
POST
API keyPublicView details
Record Bill
/v1/record-bill
POST
API keyPublicView details
Record Expense
/v1/record-expense
POST
API keyPublicView details
Record Income
/v1/record-income
POST
API keyPublicView details
Record Opening Balance
/v1/record-opening-balance
POST
API keyPublicView details
Record Transfer
/v1/record-transfer
POST
API keyPublicView details
Reverse Transaction
/v1/reverse-transaction
POST
API keyPublicView details
Get Transactions
/v1/get-transactions
GETAPI key

Get Transactions

What this does

Record accounting activity that is not the standard checkout flow.

When to use it

Use these endpoints for expenses, income, bills, transfers, reversals, imports, and corrections.

What you need first

Use a stable reference id and only call these when your app intentionally wants a ledger record.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

A transaction id and accounting status that can be reconciled later.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/get-transactions
Supabase function
/functions/v1/get-transactions
Source
supabase/functions/get-transactions/index.ts

Parameters

LocationNameTypeRequired
querycreator_idstringNo
querytypestringNo
querystatusstringNo
querystart_datestringNo
queryend_datestringNo
querypagestringNo
queryper_pagestringNo
queryinclude_entriesstringNo

Example Request

curl -X GET "https://api.soledgic.com/v1/get-transactions?creator_id=creator_id_123&type=value&status=value&start_date=2026-01-01" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Import Transactions
/v1/import-transactions
POSTAPI key

Import Transactions

What this does

Record accounting activity that is not the standard checkout flow.

When to use it

Use these endpoints for expenses, income, bills, transfers, reversals, imports, and corrections.

What you need first

Use a stable reference id and only call these when your app intentionally wants a ledger record.

Required: action (body)

What comes back

A transaction id and accounting status that can be reconciled later.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/import-transactions
Supabase function
/functions/v1/import-transactions
Source
supabase/functions/import-transactions/index.ts

Parameters

LocationNameTypeRequired
bodyaction'parse_preview' | 'import' | 'get_templates' | 'save_template'Yes
bodyformat'csv' | 'ofx' | 'qfx' | 'camt053' | 'bai2' | 'mt940' | 'auto'No
bodydatastringNo
bodymappingColumnMappingNo
bodytemplate_idstringNo
bodytemplateImportTemplateNo
bodytransactionsParsedTransaction[]No
bodyaccount_namestringNo

Example Request

curl -X POST "https://api.soledgic.com/v1/import-transactions" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "action": "parse_preview",
  "format": "csv",
  "data": "value",
  "mapping": "value",
  "template_id": "template_id_123",
  "template": "value",
  "transactions": [
    "item_1"
  ],
  "account_name": "value"
}'
Pay Bill
/v1/pay-bill
POSTAPI key

Records payment of a bill (reduces A/P, reduces Cash)

What this does

Record accounting activity that is not the standard checkout flow.

When to use it

Use these endpoints for expenses, income, bills, transfers, reversals, imports, and corrections.

What you need first

Use a stable reference id and only call these when your app intentionally wants a ledger record.

Required: amount (body)

What comes back

A transaction id and accounting status that can be reconciled later.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/pay-bill
Supabase function
/functions/v1/pay-bill
Source
supabase/functions/pay-bill/index.ts

Parameters

LocationNameTypeRequired
bodybill_transaction_idstringNo
bodyamountnumberYes
bodyvendor_namestringNo
bodyreference_idstringNo
bodypayment_methodstringNo
bodypayment_datestringNo
bodymetadataRecord<string, any>No

Example Request

curl -X POST "https://api.soledgic.com/v1/pay-bill" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "amount": 1000,
  "bill_transaction_id": "bill_transaction_id_123",
  "vendor_name": "value",
  "reference_id": "reference_id_123",
  "payment_method": "value",
  "payment_date": "2026-01-01",
  "metadata": {}
}'
Record Adjustment
/v1/record-adjustment
POSTAPI key

Record Adjustment Journal

What this does

Record accounting activity that is not the standard checkout flow.

When to use it

Use these endpoints for expenses, income, bills, transfers, reversals, imports, and corrections.

What you need first

Use a stable reference id and only call these when your app intentionally wants a ledger record.

Required: idempotency_key (body), adjustment_type (body), entries (body), reason (body), prepared_by (body)

What comes back

A transaction id and accounting status that can be reconciled later.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/record-adjustment
Supabase function
/functions/v1/record-adjustment
Source
supabase/functions/record-adjustment/index.ts

Parameters

LocationNameTypeRequired
bodyidempotency_keystringYes
bodyadjustment_typestringYes
bodyadjustment_datestringNo
bodyentriesAdjustmentEntry[]Yes
bodyreasonstringYes
bodyoriginal_transaction_idstringNo
bodysupporting_documentationstringNo
bodyprepared_bystringYes

Example Request

curl -X POST "https://api.soledgic.com/v1/record-adjustment" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "idempotency_key": "idempotency_key_123",
  "adjustment_type": "value",
  "entries": [
    "item_1"
  ],
  "reason": "value",
  "prepared_by": "value",
  "adjustment_date": "2026-01-01",
  "original_transaction_id": "original_transaction_id_123",
  "supporting_documentation": "value"
}'
Record Bill
/v1/record-bill
POSTAPI key

Record Bill

What this does

Record accounting activity that is not the standard checkout flow.

When to use it

Use these endpoints for expenses, income, bills, transfers, reversals, imports, and corrections.

What you need first

Use a stable reference id and only call these when your app intentionally wants a ledger record.

Required: amount (body), description (body), vendor_name (body)

What comes back

A transaction id and accounting status that can be reconciled later.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/record-bill
Supabase function
/functions/v1/record-bill
Source
supabase/functions/record-bill/index.ts

Parameters

LocationNameTypeRequired
bodyamountnumberYes
bodydescriptionstringYes
bodyvendor_namestringYes
bodyvendor_idstringNo
bodyreference_idstringNo
bodydue_datestringNo
bodyexpense_categorystringNo
bodypaidbooleanNo
bodymetadataRecord<string, any>No
bodyauthorizing_instrument_idstringNo
bodyrisk_evaluation_idstringNo

Example Request

curl -X POST "https://api.soledgic.com/v1/record-bill" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "amount": 1000,
  "description": "value",
  "vendor_name": "value",
  "vendor_id": "vendor_id_123",
  "reference_id": "reference_id_123",
  "due_date": "2026-01-01",
  "expense_category": "value",
  "paid": true
}'
Record Expense
/v1/record-expense
POSTAPI key

Record Expense

What this does

Record accounting activity that is not the standard checkout flow.

When to use it

Use these endpoints for expenses, income, bills, transfers, reversals, imports, and corrections.

What you need first

Use a stable reference id and only call these when your app intentionally wants a ledger record.

Required: reference_id (body), amount (body), description (body)

What comes back

A transaction id and accounting status that can be reconciled later.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/record-expense
Supabase function
/functions/v1/record-expense
Source
supabase/functions/record-expense/index.ts

Parameters

LocationNameTypeRequired
bodyreference_idstringYes
bodyamountnumberYes
bodydescriptionstringYes
bodycategorystringNo
bodyvendor_idstringNo
bodyvendor_namestringNo
bodypaid_from'cash' | 'credit_card' | stringNo
bodyreceipt_urlstringNo
bodytax_deductiblebooleanNo
bodymetadataRecord<string, any>No
bodyauthorizing_instrument_idstringNo
bodyrisk_evaluation_idstringNo

Example Request

curl -X POST "https://api.soledgic.com/v1/record-expense" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "reference_id": "reference_id_123",
  "amount": 1000,
  "description": "value",
  "category": "value",
  "vendor_id": "vendor_id_123",
  "vendor_name": "value",
  "paid_from": "cash",
  "receipt_url": "value"
}'
Record Income
/v1/record-income
POSTAPI key

Record Income

What this does

Record accounting activity that is not the standard checkout flow.

When to use it

Use these endpoints for expenses, income, bills, transfers, reversals, imports, and corrections.

What you need first

Use a stable reference id and only call these when your app intentionally wants a ledger record.

Required: reference_id (body), amount (body), description (body)

What comes back

A transaction id and accounting status that can be reconciled later.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/record-income
Supabase function
/functions/v1/record-income
Source
supabase/functions/record-income/index.ts

Parameters

LocationNameTypeRequired
bodyreference_idstringYes
bodyamountnumberYes
bodydescriptionstringYes
bodycategorystringNo
bodycustomer_idstringNo
bodycustomer_namestringNo
bodyreceived_to'cash' | stringNo
bodyinvoice_idstringNo
bodymetadataRecord<string, any>No

Example Request

curl -X POST "https://api.soledgic.com/v1/record-income" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "reference_id": "reference_id_123",
  "amount": 1000,
  "description": "value",
  "category": "value",
  "customer_id": "customer_id_123",
  "customer_name": "value",
  "received_to": "cash",
  "invoice_id": "invoice_id_123"
}'
Record Opening Balance
/v1/record-opening-balance
POSTAPI key

Record Opening Balances

What this does

Record accounting activity that is not the standard checkout flow.

When to use it

Use these endpoints for expenses, income, bills, transfers, reversals, imports, and corrections.

What you need first

Use a stable reference id and only call these when your app intentionally wants a ledger record.

Required: as_of_date (body), source (body), balances (body)

What comes back

A transaction id and accounting status that can be reconciled later.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/record-opening-balance
Supabase function
/functions/v1/record-opening-balance
Source
supabase/functions/record-opening-balance/index.ts

Parameters

LocationNameTypeRequired
bodyas_of_datestringYes
bodysource'manual' | 'imported' | 'migrated' | 'year_start'Yes
bodysource_descriptionstringNo
bodybalancesOpeningBalanceEntry[]Yes

Example Request

curl -X POST "https://api.soledgic.com/v1/record-opening-balance" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "as_of_date": "2026-01-01",
  "source": "manual",
  "balances": [
    "item_1"
  ],
  "source_description": "value"
}'
Record Transfer
/v1/record-transfer
POSTAPI key

Record Internal Transfer

What this does

Record accounting activity that is not the standard checkout flow.

When to use it

Use these endpoints for expenses, income, bills, transfers, reversals, imports, and corrections.

What you need first

Use a stable reference id and only call these when your app intentionally wants a ledger record.

Required: from_account_type (body), to_account_type (body), amount (body), transfer_type (body)

What comes back

A transaction id and accounting status that can be reconciled later.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/record-transfer
Supabase function
/functions/v1/record-transfer
Source
supabase/functions/record-transfer/index.ts

Parameters

LocationNameTypeRequired
bodyfrom_account_typestringYes
bodyto_account_typestringYes
bodyamountnumberYes
bodytransfer_type'tax_reserve' | 'payout_reserve' | 'owner_draw' |Yes
bodydescriptionstringNo
bodyreference_idstringNo

Example Request

curl -X POST "https://api.soledgic.com/v1/record-transfer" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "from_account_type": "value",
  "to_account_type": "value",
  "amount": 1000,
  "transfer_type": "tax_reserve",
  "description": "value",
  "reference_id": "reference_id_123"
}'
Reverse Transaction
/v1/reverse-transaction
POSTAPI key

Reverse Transaction

What this does

Record accounting activity that is not the standard checkout flow.

When to use it

Use these endpoints for expenses, income, bills, transfers, reversals, imports, and corrections.

What you need first

Use a stable reference id and only call these when your app intentionally wants a ledger record.

Required: transaction_id (body), reason (body)

What comes back

A transaction id and accounting status that can be reconciled later.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/reverse-transaction
Supabase function
/functions/v1/reverse-transaction
Source
supabase/functions/reverse-transaction/index.ts

Parameters

LocationNameTypeRequired
bodytransaction_idstringYes
bodyreasonstringYes
bodypartial_amountnumberNo
bodyidempotency_keystringNo
bodymetadataRecord<string, any>No

Example Request

curl -X POST "https://api.soledgic.com/v1/reverse-transaction" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "transaction_id": "transaction_id_123",
  "reason": "value",
  "partial_amount": 1000,
  "idempotency_key": "idempotency_key_123",
  "metadata": {}
}'

Payouts

EndpointMethodsAuthStatusDetails
Scheduled Payouts
/v1/scheduled-payouts
POST
API keyInternalView details
Scheduled Payouts
/v1/scheduled-payouts
POSTAPI keyInternal

Scheduled Payouts

What this does

Move available creator earnings out of Soledgic tracking and into the payout workflow.

When to use it

Use this when a creator requests money or an approved platform process releases earnings.

What you need first

Check payout eligibility first, including active access, tax profile, payout setup, and available balance.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

A payout request or transaction status, including amounts and balance changes.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/scheduled-payouts
Supabase function
/functions/v1/scheduled-payouts
Source
supabase/functions/scheduled-payouts/index.ts

Parameters

No formal parameters were inferred for this endpoint from source declarations.

Example Request

curl -X POST "https://api.soledgic.com/v1/scheduled-payouts" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "example": "value"
}'

Checkouts

EndpointMethodsAuthStatusDetails
Preflight Authorization
/v1/preflight-authorization
POST
API keyPublicView details
Receive Payment
/v1/receive-payment
POST
API keyPublicView details
Preflight Authorization
/v1/preflight-authorization
POSTAPI key

Preflight Authorization

What this does

Create or finish a buyer purchase flow.

When to use it

Use this when a user is buying access, content, a session, a product, or another app item.

What you need first

Know the buyer, creator, amount, success URL, and a stable order id from your app.

Required: idempotency_key (body), amount (body)

What comes back

A checkout URL or direct payment result plus the sale reference Soledgic will use for receipts and refunds.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/preflight-authorization
Supabase function
/functions/v1/preflight-authorization
Source
supabase/functions/preflight-authorization/index.ts

Parameters

LocationNameTypeRequired
bodyidempotency_keystringYes
bodyamountnumberYes
bodycurrencystringNo
bodycounterparty_namestringNo
bodyauthorizing_instrument_idstringNo
bodyexpected_datestringNo
bodycategorystringNo

Example Request

curl -X POST "https://api.soledgic.com/v1/preflight-authorization" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "idempotency_key": "idempotency_key_123",
  "amount": 1000,
  "currency": "value",
  "counterparty_name": "value",
  "authorizing_instrument_id": "authorizing_instrument_id_123",
  "expected_date": "2026-01-01",
  "category": "value"
}'
Receive Payment
/v1/receive-payment
POSTAPI key

Receive Payment

What this does

Create or finish a buyer purchase flow.

When to use it

Use this when a user is buying access, content, a session, a product, or another app item.

What you need first

Know the buyer, creator, amount, success URL, and a stable order id from your app.

Required: amount (body)

What comes back

A checkout URL or direct payment result plus the sale reference Soledgic will use for receipts and refunds.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/receive-payment
Supabase function
/functions/v1/receive-payment
Source
supabase/functions/receive-payment/index.ts

Parameters

LocationNameTypeRequired
bodyinvoice_transaction_idstringNo
bodyamountnumberYes
bodycustomer_namestringNo
bodycustomer_idstringNo
bodyreference_idstringNo
bodypayment_methodstringNo
bodypayment_datestringNo
bodymetadataRecord<string, any>No

Example Request

curl -X POST "https://api.soledgic.com/v1/receive-payment" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "amount": 1000,
  "invoice_transaction_id": "invoice_transaction_id_123",
  "customer_name": "value",
  "customer_id": "customer_id_123",
  "reference_id": "reference_id_123",
  "payment_method": "value",
  "payment_date": "2026-01-01",
  "metadata": {}
}'

Accounts

EndpointMethodsAuthStatusDetails
Delete Creator
/v1/delete-creator
POST
API keyPublicView details
Manage Splits
/v1/manage-splits
POST
API keyPublicView details
Register Instrument
/v1/register-instrument
POST
API keyPublicView details
Delete Creator
/v1/delete-creator
POSTAPI key

Soft-delete a creator (sets is_active = false with transaction guard)

What this does

Manage creator-facing account setup and account lifecycle.

When to use it

Use these endpoints when onboarding, updating, or deactivating creator account records.

What you need first

Confirm the creator belongs to your platform and that deactivation will not break open transactions.

Required: creator_id (body)

What comes back

Updated creator/account status or split settings.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/delete-creator
Supabase function
/functions/v1/delete-creator
Source
supabase/functions/delete-creator/index.ts

Parameters

LocationNameTypeRequired
bodycreator_idstringYes

Example Request

curl -X POST "https://api.soledgic.com/v1/delete-creator" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "creator_id": "creator_id_123"
}'
Manage Splits
/v1/manage-splits
POSTAPI key

Manage Splits

What this does

Manage creator-facing account setup and account lifecycle.

When to use it

Use these endpoints when onboarding, updating, or deactivating creator account records.

What you need first

Confirm the creator belongs to your platform and that deactivation will not break open transactions.

Required: action (body)

What comes back

Updated creator/account status or split settings.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/manage-splits
Supabase function
/functions/v1/manage-splits
Source
supabase/functions/manage-splits/index.ts

Parameters

LocationNameTypeRequired
bodyactionActionYes
bodycreator_idstringNo
bodycreator_percentnumberNo
bodyproduct_idstringNo

Example Request

curl -X POST "https://api.soledgic.com/v1/manage-splits" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "action": "value",
  "creator_id": "creator_id_123",
  "creator_percent": 20,
  "product_id": "product_id_123"
}'
Register Instrument
/v1/register-instrument
POSTAPI key

Register Authorizing Instrument

What this does

Manage creator-facing account setup and account lifecycle.

When to use it

Use these endpoints when onboarding, updating, or deactivating creator account records.

What you need first

Confirm the creator belongs to your platform and that deactivation will not break open transactions.

Required: external_ref (body), extracted_terms (body)

What comes back

Updated creator/account status or split settings.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/register-instrument
Supabase function
/functions/v1/register-instrument
Source
supabase/functions/register-instrument/index.ts

Parameters

LocationNameTypeRequired
bodyexternal_refstringYes
bodyextracted_termsExtractedTermsYes

Example Request

curl -X POST "https://api.soledgic.com/v1/register-instrument" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "external_ref": "value",
  "extracted_terms": "value"
}'

Ledgers

EndpointMethodsAuthStatusDetails
Close Period
/v1/close-period
POST
API keyPublicView details
Frozen Statements
/v1/frozen-statements
POST
API keyPublicView details
List Ledgers
/v1/list-ledgers
GET
API keyPublicView details
Close Period
/v1/close-period
POSTAPI key

Close Accounting Period

What this does

Manage the platform ledger and accounting periods.

When to use it

Use these endpoints when setting up a platform, closing a period, or producing locked statements.

What you need first

Know the ledger you are operating on and whether the action affects reporting periods.

Required: year (body)

What comes back

Ledger, period, or statement information.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/close-period
Supabase function
/functions/v1/close-period
Source
supabase/functions/close-period/index.ts

Parameters

LocationNameTypeRequired
bodyyearnumberYes
bodymonthnumberNo
bodyquarternumberNo
bodynotesstringNo

Example Request

curl -X POST "https://api.soledgic.com/v1/close-period" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "year": 1000,
  "month": 1000,
  "quarter": 1000,
  "notes": "value"
}'
Frozen Statements
/v1/frozen-statements
POSTAPI key

Frozen Statements

What this does

Manage the platform ledger and accounting periods.

When to use it

Use these endpoints when setting up a platform, closing a period, or producing locked statements.

What you need first

Know the ledger you are operating on and whether the action affects reporting periods.

Required: action (body)

What comes back

Ledger, period, or statement information.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/frozen-statements
Supabase function
/functions/v1/frozen-statements
Source
supabase/functions/frozen-statements/index.ts

Parameters

LocationNameTypeRequired
bodyactionActionYes
bodyperiod_idstringNo
bodystatement_typeStatementTypeNo

Example Request

curl -X POST "https://api.soledgic.com/v1/frozen-statements" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "action": "value",
  "period_id": "period_id_123",
  "statement_type": "value"
}'
List Ledgers
/v1/list-ledgers
GETAPI key

List Ledgers

What this does

Manage the platform ledger and accounting periods.

When to use it

Use these endpoints when setting up a platform, closing a period, or producing locked statements.

What you need first

Know the ledger you are operating on and whether the action affects reporting periods.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

Ledger, period, or statement information.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/list-ledgers
Supabase function
/functions/v1/list-ledgers
Source
supabase/functions/list-ledgers/index.ts

Parameters

No formal parameters were inferred for this endpoint from source declarations.

Example Request

curl -X GET "https://api.soledgic.com/v1/list-ledgers" \
  -H "x-api-key: slk_test_YOUR_API_KEY"

Reports

EndpointMethodsAuthStatusDetails
Ap Aging
/v1/ap-aging
GET
API keyPublicView details
Ar Aging
/v1/ar-aging
GET
API keyPublicView details
Balance Sheet
/v1/balance-sheet
GET
API keyPublicView details
Export Report
/v1/export-report
POST
API keyPublicView details
Generate Pdf
/v1/generate-pdf
POST
API keyPublicView details
Generate Report
/v1/generate-report
POST
API keyPublicView details
Get Runway
/v1/get-runway
GET
API keyPublicView details
Profit Loss
/v1/profit-loss
GETPOST
API keyPublicView details
Send Statements
/v1/send-statements
POST
API keyPublicView details
Trial Balance
/v1/trial-balance
GETPOST
API keyPublicView details
Ap Aging
/v1/ap-aging
GETAPI key

Accounts Payable Aging Report

What this does

Read financial summaries that explain what happened.

When to use it

Use these endpoints for dashboards, exports, statements, runway, and accounting reports.

What you need first

Use a date range for large reports so exports stay small and fast.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

Report rows, totals, CSV files, PDFs, or summary metrics.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/ap-aging
Supabase function
/functions/v1/ap-aging
Source
supabase/functions/ap-aging/index.ts

Parameters

LocationNameTypeRequired
queryas_of_datestringNo

Example Request

curl -X GET "https://api.soledgic.com/v1/ap-aging?as_of_date=2026-01-01" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Ar Aging
/v1/ar-aging
GETAPI key

Accounts Receivable Aging Report

What this does

Read financial summaries that explain what happened.

When to use it

Use these endpoints for dashboards, exports, statements, runway, and accounting reports.

What you need first

Use a date range for large reports so exports stay small and fast.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

Report rows, totals, CSV files, PDFs, or summary metrics.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/ar-aging
Supabase function
/functions/v1/ar-aging
Source
supabase/functions/ar-aging/index.ts

Parameters

LocationNameTypeRequired
queryas_of_datestringNo

Example Request

curl -X GET "https://api.soledgic.com/v1/ar-aging?as_of_date=2026-01-01" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Balance Sheet
/v1/balance-sheet
GETAPI key

Balance Sheet Report

What this does

Read financial summaries that explain what happened.

When to use it

Use these endpoints for dashboards, exports, statements, runway, and accounting reports.

What you need first

Use a date range for large reports so exports stay small and fast.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

Report rows, totals, CSV files, PDFs, or summary metrics.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/balance-sheet
Supabase function
/functions/v1/balance-sheet
Source
supabase/functions/balance-sheet/index.ts

Parameters

LocationNameTypeRequired
queryas_of_datestringNo

Example Request

curl -X GET "https://api.soledgic.com/v1/balance-sheet?as_of_date=2026-01-01" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Export Report
/v1/export-report
POSTAPI key

Export Report

What this does

Read financial summaries that explain what happened.

When to use it

Use these endpoints for dashboards, exports, statements, runway, and accounting reports.

What you need first

Use a date range for large reports so exports stay small and fast.

Required: report_type (body), format (body)

What comes back

Report rows, totals, CSV files, PDFs, or summary metrics.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/export-report
Supabase function
/functions/v1/export-report
Source
supabase/functions/export-report/index.ts

Parameters

LocationNameTypeRequired
bodyreport_type'transaction_detail' | 'creator_earnings' | 'platform_revenue' |Yes
bodyformat'csv' | 'json'Yes
bodystart_datestringNo
bodyend_datestringNo
bodycreator_idstringNo

Example Request

curl -X POST "https://api.soledgic.com/v1/export-report" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "report_type": "transaction_detail",
  "format": "csv",
  "start_date": "2026-01-01",
  "end_date": "2026-01-01",
  "creator_id": "creator_id_123"
}'
Generate Pdf
/v1/generate-pdf
POSTAPI key

Generate PDF Reports

What this does

Read financial summaries that explain what happened.

When to use it

Use these endpoints for dashboards, exports, statements, runway, and accounting reports.

What you need first

Use a date range for large reports so exports stay small and fast.

Required: report_type (body)

What comes back

Report rows, totals, CSV files, PDFs, or summary metrics.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/generate-pdf
Supabase function
/functions/v1/generate-pdf
Source
supabase/functions/generate-pdf/index.ts

Parameters

LocationNameTypeRequired
bodyreport_typeReportTypeYes
bodyperiod_idstringNo
bodycreator_idstringNo
bodystart_datestringNo
bodyend_datestringNo
bodytax_yearnumberNo
bodyledger_idstringNo

Example Request

curl -X POST "https://api.soledgic.com/v1/generate-pdf" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "report_type": "value",
  "period_id": "period_id_123",
  "creator_id": "creator_id_123",
  "start_date": "2026-01-01",
  "end_date": "2026-01-01",
  "tax_year": 1000,
  "ledger_id": "ledger_id_123"
}'
Generate Report
/v1/generate-report
POSTAPI key

Generate Report

What this does

Read financial summaries that explain what happened.

When to use it

Use these endpoints for dashboards, exports, statements, runway, and accounting reports.

What you need first

Use a date range for large reports so exports stay small and fast.

Required: report_type (body)

What comes back

Report rows, totals, CSV files, PDFs, or summary metrics.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/generate-report
Supabase function
/functions/v1/generate-report
Source
supabase/functions/generate-report/index.ts

Parameters

LocationNameTypeRequired
bodyreport_typeReportTypeYes
bodystart_datestringNo
bodyend_datestringNo
bodycreator_idstringNo
bodyformat'json' | 'csv'No

Example Request

curl -X POST "https://api.soledgic.com/v1/generate-report" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "report_type": "value",
  "start_date": "2026-01-01",
  "end_date": "2026-01-01",
  "creator_id": "creator_id_123",
  "format": "json"
}'
Get Runway
/v1/get-runway
GETAPI key

Get Runway

What this does

Read financial summaries that explain what happened.

When to use it

Use these endpoints for dashboards, exports, statements, runway, and accounting reports.

What you need first

Use a date range for large reports so exports stay small and fast.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

Report rows, totals, CSV files, PDFs, or summary metrics.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/get-runway
Supabase function
/functions/v1/get-runway
Source
supabase/functions/get-runway/index.ts

Parameters

No formal parameters were inferred for this endpoint from source declarations.

Example Request

curl -X GET "https://api.soledgic.com/v1/get-runway" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Profit Loss
/v1/profit-loss
GETPOSTAPI key

Profit & Loss Report

What this does

Read financial summaries that explain what happened.

When to use it

Use these endpoints for dashboards, exports, statements, runway, and accounting reports.

What you need first

Use a date range for large reports so exports stay small and fast.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

Report rows, totals, CSV files, PDFs, or summary metrics.

Method meaning: GET: Read existing information. POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/profit-loss
Supabase function
/functions/v1/profit-loss
Source
supabase/functions/profit-loss/index.ts

Parameters

LocationNameTypeRequired
queryyearstringNo
querymonthstringNo
queryquarterstringNo
querybreakdownstringNo
querystart_datestringNo
queryend_datestringNo

Example Request

curl -X GET "https://api.soledgic.com/v1/profit-loss?year=value&month=value&quarter=value&breakdown=value" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Send Statements
/v1/send-statements
POSTAPI key

Soledgic Auto-Email Service

What this does

Read financial summaries that explain what happened.

When to use it

Use these endpoints for dashboards, exports, statements, runway, and accounting reports.

What you need first

Use a date range for large reports so exports stay small and fast.

Required: action (body)

What comes back

Report rows, totals, CSV files, PDFs, or summary metrics.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/send-statements
Supabase function
/functions/v1/send-statements
Source
supabase/functions/send-statements/index.ts

Parameters

LocationNameTypeRequired
bodyaction'send_monthly_statements' | 'send_single_statement' | 'preview' | 'get_queue'...Yes
bodyledger_idstringNo
bodycreator_idstringNo
bodyyearnumberNo
bodymonthnumberNo
bodyemail_configEmailConfigNo

Example Request

curl -X POST "https://api.soledgic.com/v1/send-statements" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "action": "send_monthly_statements",
  "ledger_id": "ledger_id_123",
  "creator_id": "creator_id_123",
  "year": 1000,
  "month": 1000,
  "email_config": "user@example.com"
}'
Trial Balance
/v1/trial-balance
GETPOSTAPI key

Trial Balance

What this does

Read financial summaries that explain what happened.

When to use it

Use these endpoints for dashboards, exports, statements, runway, and accounting reports.

What you need first

Use a date range for large reports so exports stay small and fast.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

Report rows, totals, CSV files, PDFs, or summary metrics.

Method meaning: GET: Read existing information. POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/trial-balance
Supabase function
/functions/v1/trial-balance
Source
supabase/functions/trial-balance/index.ts

Parameters

LocationNameTypeRequired
querysnapshotstringNo
queryas_ofstringNo

Example Request

curl -X GET "https://api.soledgic.com/v1/trial-balance?snapshot=value&as_of=value" \
  -H "x-api-key: slk_test_YOUR_API_KEY"

Invoices

EndpointMethodsAuthStatusDetails
Invoices
/v1/invoices
GETPOST
API keyPublicView details
Invoices
/v1/invoices
GETPOSTAPI key

Invoice Management

What this does

Create and settle invoice-style receivables.

When to use it

Use this when your platform needs invoice records instead of an instant checkout.

What you need first

Know the customer, invoice line items, due date, and payment status.

Required: customer_name (body), line_items (body)

What comes back

Invoice status and related accounting transactions.

Method meaning: GET: Read existing information. POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/invoices
Supabase function
/functions/v1/invoices
Source
supabase/functions/invoices/index.ts

Parameters

LocationNameTypeRequired
querystatusstringNo
querycustomer_idstringNo
querylimitstringNo
queryoffsetstringNo
bodycustomer_namestringYes
bodycustomer_emailstringNo
bodycustomer_idstringNo
bodycustomer_address{No
bodyline1stringNo
bodyline2stringNo
bodycitystringNo
bodystatestringNo
bodypostal_codestringNo
bodycountrystringNo
bodyline_itemsInvoiceLineItem[]Yes
bodytax_amountnumberNo
bodydiscount_amountnumberNo
bodydue_datestringNo
bodynotesstringNo
bodytermsstringNo
bodyreference_idstringNo
bodymetadataRecord<string, any>No

Example Request

curl -X GET "https://api.soledgic.com/v1/invoices?status=value&customer_id=customer_id_123&limit=value&offset=value" \
  -H "x-api-key: slk_test_YOUR_API_KEY"

Budgets & Recurring

EndpointMethodsAuthStatusDetails
Manage Budgets
/v1/manage-budgets
GETPOST
API keyPublicView details
Manage Contractors
/v1/manage-contractors
GETPOST
API keyPublicView details
Manage Recurring
/v1/manage-recurring
GETPOST
API keyPublicView details
Manage Budgets
/v1/manage-budgets
GETPOSTAPI key

Manage Budgets

What this does

Track planned spending, recurring work, and contractor activity.

When to use it

Use these endpoints for internal platform operations that need recurring accounting records.

What you need first

Know the schedule, counterparty, category, and amount.

Required: name (body), budget_amount (body), budget_period (body)

What comes back

Budget, recurring, contractor, or payment records.

Method meaning: GET: Read existing information. POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/manage-budgets
Supabase function
/functions/v1/manage-budgets
Source
supabase/functions/manage-budgets/index.ts

Parameters

LocationNameTypeRequired
bodynamestringYes
bodycategory_codestringNo
bodybudget_amountnumberYes
bodybudget_period'weekly' | 'monthly' | 'quarterly' | 'annual'Yes
bodyalert_at_percentagenumberNo

Example Request

curl -X GET "https://api.soledgic.com/v1/manage-budgets" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Manage Contractors
/v1/manage-contractors
GETPOSTAPI key

Manage Contractors

What this does

Track planned spending, recurring work, and contractor activity.

When to use it

Use these endpoints for internal platform operations that need recurring accounting records.

What you need first

Know the schedule, counterparty, category, and amount.

Required: contractor_id (body), amount (body), payment_date (body)

What comes back

Budget, recurring, contractor, or payment records.

Method meaning: GET: Read existing information. POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/manage-contractors
Supabase function
/functions/v1/manage-contractors
Source
supabase/functions/manage-contractors/index.ts

Parameters

LocationNameTypeRequired
bodycontractor_idstringYes
bodyamountnumberYes
bodypayment_datestringYes
bodypayment_methodstringNo
bodypayment_referencestringNo
bodydescriptionstringNo

Example Request

curl -X GET "https://api.soledgic.com/v1/manage-contractors" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Manage Recurring
/v1/manage-recurring
GETPOSTAPI key

Manage Recurring Expenses

What this does

Track planned spending, recurring work, and contractor activity.

When to use it

Use these endpoints for internal platform operations that need recurring accounting records.

What you need first

Know the schedule, counterparty, category, and amount.

Required: name (body), merchant_name (body), category_code (body), amount (body), recurrence_interval (body), start_date (body), business_purpose (body)

What comes back

Budget, recurring, contractor, or payment records.

Method meaning: GET: Read existing information. POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/manage-recurring
Supabase function
/functions/v1/manage-recurring
Source
supabase/functions/manage-recurring/index.ts

Parameters

LocationNameTypeRequired
querydaysstringNo
bodynamestringYes
bodymerchant_namestringYes
bodycategory_codestringYes
bodyamountnumberYes
bodyrecurrence_interval'weekly' | 'monthly' | 'quarterly' | 'annual'Yes
bodyrecurrence_daynumberNo
bodystart_datestringYes
bodyend_datestringNo
bodybusiness_purposestringYes
bodyis_variable_amountbooleanNo

Example Request

curl -X GET "https://api.soledgic.com/v1/manage-recurring?days=value" \
  -H "x-api-key: slk_test_YOUR_API_KEY"

Webhooks

EndpointMethodsAuthStatusDetails
Configure Alerts
/v1/configure-alerts
POST
API keyPublicView details
Webhooks
/v1/webhooks
POST
API keyPublicView details
Configure Alerts
/v1/configure-alerts
POSTAPI key

Configure Alerts

What this does

Tell Soledgic where to send event notifications.

When to use it

Use these endpoints when your app wants to receive checkout, refund, payout, or ledger lifecycle events.

What you need first

Have a public HTTPS endpoint in your app and decide which events it should receive.

Required: action (body)

What comes back

Webhook endpoint configuration, delivery records, test results, or secret rotation status.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/configure-alerts
Supabase function
/functions/v1/configure-alerts
Source
supabase/functions/configure-alerts/index.ts

Parameters

LocationNameTypeRequired
bodyaction'list' | 'create' | 'update' | 'delete' | 'test'Yes
bodyconfig_idstringNo
bodyalert_type'breach_risk' | 'projection_created' | 'instrument_invalidated'No
bodychannel'slack' | 'email' | 'webhook'No
bodyconfig{No
bodywebhook_urlstringNo
bodychannelstringNo
bodyrecipientsstring[]No
bodythresholds{No
bodycoverage_ratio_belownumberNo
bodyshortfall_abovenumberNo
bodyis_activebooleanNo
bodylimitnumberNo

Example Request

curl -X POST "https://api.soledgic.com/v1/configure-alerts" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "action": "list",
  "config_id": "config_id_123",
  "alert_type": "breach_risk",
  "channel": "value",
  "config": {},
  "webhook_url": "value",
  "recipients": [
    "item_1"
  ]
}'
Webhooks
/v1/webhooks
POSTAPI key

Webhooks Management

What this does

Create and manage where Soledgic sends event notifications.

When to use it

Call this when your app wants to be notified about checkouts, refunds, payouts, or ledger events.

What you need first

Your endpoint must be HTTPS and able to verify Soledgic webhook signatures.

Required: action (body)

What comes back

Webhook endpoint records, test results, delivery logs, or rotated secrets.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/webhooks
Supabase function
/functions/v1/webhooks
Source
supabase/functions/webhooks/index.ts

Parameters

LocationNameTypeRequired
bodyaction'list' | 'create' | 'update' | 'delete' | 'test' | 'deliveries' | 'retry' | 'replay'Yes
bodyendpoint_idstringNo
bodydelivery_idstringNo
bodyurlstringNo
bodydescriptionstringNo
bodyeventsstring[]No
bodyis_activebooleanNo
bodyevent_typestringNo
bodystatus'pending' | 'delivering' | 'delivered' | 'failed' | 'blocked'No
bodycheckout_idstringNo
bodyorder_idstringNo
bodypayment_idstringNo
bodylimitnumberNo

Example Request

curl -X POST "https://api.soledgic.com/v1/webhooks" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "action": "list",
  "endpoint_id": "endpoint_id_123",
  "delivery_id": "delivery_id_123",
  "url": "value",
  "description": "value",
  "events": [
    "item_1"
  ],
  "is_active": true,
  "event_type": "value"
}'

Tax

EndpointMethodsAuthStatusDetails
Tax Calculation
/v1/tax/calculations/{participant_id}
GET
API keyPublicView details
Tax Document Detail
/v1/tax/documents/{document_id}
GET
API keyPublicView details
Mark Tax Document Filed
/v1/tax/documents/{document_id}/mark-filed
POST
API keyPublicView details
Export Tax Documents
/v1/tax/documents/export
GET
API keyPublicView details
Generate Tax Documents
/v1/tax/documents/generate
POST
API keyPublicView details
Tax Documents
/v1/tax/documents
GET
API keyPublicView details
Tax Summary
/v1/tax/summaries/{tax_year}
GET
API keyPublicView details
Tax Calculation
/v1/tax/calculations/{participant_id}
GETAPI key

Calculate participant-level tax totals and shared tax profile status for a year.

What this does

Prepare tax summaries and document workflows for creators and participants.

When to use it

Use these endpoints when reviewing tax readiness, generating summaries, or exporting tax documents.

What you need first

Have the participant id and tax year, and make sure tax profiles are collected through the supported flow.

Required: participant_id (path)

What comes back

Tax calculations, summaries, document statuses, or exports.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/tax/calculations/{participant_id}
Supabase function
/functions/v1/tax-calculation
Source
supabase/functions/tax/index.ts

Parameters

LocationNameTypeRequired
pathparticipant_idstringYes
querytax_yearnumberNo

Example Request

curl -X GET "https://api.soledgic.com/v1/tax/calculations/participant_id_123?tax_year=1000" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Tax Document Detail
/v1/tax/documents/{document_id}
GETAPI key

Fetch a single generated tax document.

What this does

Prepare tax summaries and document workflows for creators and participants.

When to use it

Use these endpoints when reviewing tax readiness, generating summaries, or exporting tax documents.

What you need first

Have the participant id and tax year, and make sure tax profiles are collected through the supported flow.

Required: document_id (path)

What comes back

Tax calculations, summaries, document statuses, or exports.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/tax/documents/{document_id}
Supabase function
/functions/v1/tax-document-detail
Source
supabase/functions/tax/index.ts

Parameters

LocationNameTypeRequired
pathdocument_idstringYes

Example Request

curl -X GET "https://api.soledgic.com/v1/tax/documents/document_id_123" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Mark Tax Document Filed
/v1/tax/documents/{document_id}/mark-filed
POSTAPI key

Mark a generated tax document as filed.

What this does

Prepare tax summaries and document workflows for creators and participants.

When to use it

Use these endpoints when reviewing tax readiness, generating summaries, or exporting tax documents.

What you need first

Have the participant id and tax year, and make sure tax profiles are collected through the supported flow.

Required: document_id (path)

What comes back

Tax calculations, summaries, document statuses, or exports.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/tax/documents/{document_id}/mark-filed
Supabase function
/functions/v1/tax-document-mark-filed
Source
supabase/functions/tax/index.ts

Parameters

LocationNameTypeRequired
pathdocument_idstringYes

Example Request

curl -X POST "https://api.soledgic.com/v1/tax/documents/document_id_123/mark-filed" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "example": "value"
}'
Export Tax Documents
/v1/tax/documents/export
GETAPI key

Export generated tax documents as CSV or JSON.

What this does

Prepare tax summaries and document workflows for creators and participants.

When to use it

Use these endpoints when reviewing tax readiness, generating summaries, or exporting tax documents.

What you need first

Have the participant id and tax year, and make sure tax profiles are collected through the supported flow.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

Tax calculations, summaries, document statuses, or exports.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/tax/documents/export
Supabase function
/functions/v1/tax-documents-export
Source
supabase/functions/tax/index.ts

Parameters

LocationNameTypeRequired
querytax_yearnumberNo
queryformat'csv' | 'json'No

Example Request

curl -X GET "https://api.soledgic.com/v1/tax/documents/export?tax_year=1000&format=csv" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Generate Tax Documents
/v1/tax/documents/generate
POSTAPI key

Generate tax documents for all participants that cross the filing threshold.

What this does

Prepare tax summaries and document workflows for creators and participants.

When to use it

Use these endpoints when reviewing tax readiness, generating summaries, or exporting tax documents.

What you need first

Have the participant id and tax year, and make sure tax profiles are collected through the supported flow.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

Tax calculations, summaries, document statuses, or exports.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/tax/documents/generate
Supabase function
/functions/v1/tax-documents-generate
Source
supabase/functions/tax/index.ts

Parameters

LocationNameTypeRequired
bodytax_yearnumberNo

Example Request

curl -X POST "https://api.soledgic.com/v1/tax/documents/generate" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "tax_year": 1000
}'
Tax Documents
/v1/tax/documents
GETAPI key

List generated tax documents for a tax year.

What this does

Prepare tax summaries and document workflows for creators and participants.

When to use it

Use these endpoints when reviewing tax readiness, generating summaries, or exporting tax documents.

What you need first

Have the participant id and tax year, and make sure tax profiles are collected through the supported flow.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

Tax calculations, summaries, document statuses, or exports.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/tax/documents
Supabase function
/functions/v1/tax-documents-v2
Source
supabase/functions/tax/index.ts

Parameters

LocationNameTypeRequired
querytax_yearnumberNo

Example Request

curl -X GET "https://api.soledgic.com/v1/tax/documents?tax_year=1000" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Tax Summary
/v1/tax/summaries/{tax_year}
GETAPI key

Generate and return tax summary totals for one year, optionally filtered to a participant.

What this does

Prepare tax summaries and document workflows for creators and participants.

When to use it

Use these endpoints when reviewing tax readiness, generating summaries, or exporting tax documents.

What you need first

Have the participant id and tax year, and make sure tax profiles are collected through the supported flow.

Required: tax_year (path)

What comes back

Tax calculations, summaries, document statuses, or exports.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/tax/summaries/{tax_year}
Supabase function
/functions/v1/tax-summary
Source
supabase/functions/tax/index.ts

Parameters

LocationNameTypeRequired
pathtax_yearnumberYes
queryparticipant_idstringNo

Example Request

curl -X GET "https://api.soledgic.com/v1/tax/summaries/1000?participant_id=participant_id_123" \
  -H "x-api-key: slk_test_YOUR_API_KEY"

Reconciliation

EndpointMethodsAuthStatusDetails
Import Bank Statement
/v1/import-bank-statement
POST
API keyPublicView details
Manage Bank Accounts
/v1/manage-bank-accounts
GETPOST
API keyPublicView details
Auto Match Settlement Transaction
/v1/reconciliations/auto-match
POST
API keyPublicView details
Create Reconciliation Match
/v1/reconciliations/matches
POST
API keyPublicView details
Delete Reconciliation Match
/v1/reconciliations/matches/{transaction_id}
DELETE
API keyPublicView details
Create Reconciliation Snapshot
/v1/reconciliations/snapshots
POST
API keyPublicView details
Reconciliation Snapshot Detail
/v1/reconciliations/snapshots/{period_id}
GET
API keyPublicView details
Reconciliations Unmatched
/v1/reconciliations/unmatched
GET
API keyPublicView details
Import Bank Statement
/v1/import-bank-statement
POSTAPI key

Import Bank Statement

What this does

Match Soledgic records to external bank or processor records.

When to use it

Use these endpoints when checking whether money records line up across systems.

What you need first

Import or identify the external transaction and the Soledgic transaction you want to compare.

Required: bank_account_id (body), lines (body)

What comes back

Matched/unmatched status, reconciliation snapshots, or suggested matches.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/import-bank-statement
Supabase function
/functions/v1/import-bank-statement
Source
supabase/functions/import-bank-statement/index.ts

Parameters

LocationNameTypeRequired
bodybank_account_idstringYes
bodylinesBankStatementLine[]Yes
bodyauto_matchbooleanNo

Example Request

curl -X POST "https://api.soledgic.com/v1/import-bank-statement" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "bank_account_id": "bank_account_id_123",
  "lines": [
    "item_1"
  ],
  "auto_match": true
}'
Manage Bank Accounts
/v1/manage-bank-accounts
GETPOSTAPI key

Manage Bank Accounts

What this does

Match Soledgic records to external bank or processor records.

When to use it

Use these endpoints when checking whether money records line up across systems.

What you need first

Import or identify the external transaction and the Soledgic transaction you want to compare.

Required: bank_name (body), account_name (body), account_type (body)

What comes back

Matched/unmatched status, reconciliation snapshots, or suggested matches.

Method meaning: GET: Read existing information. POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/manage-bank-accounts
Supabase function
/functions/v1/manage-bank-accounts
Source
supabase/functions/manage-bank-accounts/index.ts

Parameters

LocationNameTypeRequired
bodybank_namestringYes
bodyaccount_namestringYes
bodyaccount_type'checking' | 'savings' | 'credit_card' | 'other'Yes
bodyaccount_last_fourstringNo

Example Request

curl -X GET "https://api.soledgic.com/v1/manage-bank-accounts" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Auto Match Settlement Transaction
/v1/reconciliations/auto-match
POSTAPI key

Attempt to automatically match a bank aggregator transaction to a ledger transaction.

What this does

Match Soledgic records to external bank or processor records.

When to use it

Use these endpoints when checking whether money records line up across systems.

What you need first

Import or identify the external transaction and the Soledgic transaction you want to compare.

Required: bank_aggregator_transaction_id (body)

What comes back

Matched/unmatched status, reconciliation snapshots, or suggested matches.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/reconciliations/auto-match
Supabase function
/functions/v1/reconciliations-auto-match
Source
supabase/functions/reconciliations/index.ts

Parameters

LocationNameTypeRequired
bodybank_aggregator_transaction_idstringYes

Example Request

curl -X POST "https://api.soledgic.com/v1/reconciliations/auto-match" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "bank_aggregator_transaction_id": "bank_aggregator_transaction_id_123"
}'
Create Reconciliation Match
/v1/reconciliations/matches
POSTAPI key

Match a ledger transaction to an external bank or settlement transaction.

What this does

Match Soledgic records to external bank or processor records.

When to use it

Use these endpoints when checking whether money records line up across systems.

What you need first

Import or identify the external transaction and the Soledgic transaction you want to compare.

Required: transaction_id (body), bank_transaction_id (body)

What comes back

Matched/unmatched status, reconciliation snapshots, or suggested matches.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/reconciliations/matches
Supabase function
/functions/v1/reconciliations-match-create
Source
supabase/functions/reconciliations/index.ts

Parameters

LocationNameTypeRequired
bodytransaction_idstringYes
bodybank_transaction_idstringYes

Example Request

curl -X POST "https://api.soledgic.com/v1/reconciliations/matches" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "transaction_id": "transaction_id_123",
  "bank_transaction_id": "bank_transaction_id_123"
}'
Delete Reconciliation Match
/v1/reconciliations/matches/{transaction_id}
DELETEAPI key

Remove an existing reconciliation match for a transaction.

What this does

Match Soledgic records to external bank or processor records.

When to use it

Use these endpoints when checking whether money records line up across systems.

What you need first

Import or identify the external transaction and the Soledgic transaction you want to compare.

Required: transaction_id (path)

What comes back

Matched/unmatched status, reconciliation snapshots, or suggested matches.

Method meaning: DELETE: Delete, revoke, or disable a resource.

Gateway path
https://api.soledgic.com/v1/reconciliations/matches/{transaction_id}
Supabase function
/functions/v1/reconciliations-match-delete
Source
supabase/functions/reconciliations/index.ts

Parameters

LocationNameTypeRequired
pathtransaction_idstringYes

Example Request

curl -X DELETE "https://api.soledgic.com/v1/reconciliations/matches/transaction_id_123" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "example": "value"
}'
Create Reconciliation Snapshot
/v1/reconciliations/snapshots
POSTAPI key

Create a reconciliation snapshot for an accounting period or as-of date.

What this does

Match Soledgic records to external bank or processor records.

When to use it

Use these endpoints when checking whether money records line up across systems.

What you need first

Import or identify the external transaction and the Soledgic transaction you want to compare.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

Matched/unmatched status, reconciliation snapshots, or suggested matches.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/reconciliations/snapshots
Supabase function
/functions/v1/reconciliations-snapshot-create
Source
supabase/functions/reconciliations/index.ts

Parameters

LocationNameTypeRequired
bodyperiod_idstringNo
bodyas_of_datestringNo

Example Request

curl -X POST "https://api.soledgic.com/v1/reconciliations/snapshots" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "period_id": "period_id_123",
  "as_of_date": "2026-01-01"
}'
Reconciliation Snapshot Detail
/v1/reconciliations/snapshots/{period_id}
GETAPI key

Fetch the latest reconciliation snapshot for a period and verify its integrity hash.

What this does

Match Soledgic records to external bank or processor records.

When to use it

Use these endpoints when checking whether money records line up across systems.

What you need first

Import or identify the external transaction and the Soledgic transaction you want to compare.

Required: period_id (path)

What comes back

Matched/unmatched status, reconciliation snapshots, or suggested matches.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/reconciliations/snapshots/{period_id}
Supabase function
/functions/v1/reconciliations-snapshot-detail
Source
supabase/functions/reconciliations/index.ts

Parameters

LocationNameTypeRequired
pathperiod_idstringYes

Example Request

curl -X GET "https://api.soledgic.com/v1/reconciliations/snapshots/period_id_123" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Reconciliations Unmatched
/v1/reconciliations/unmatched
GETAPI key

List unmatched ledger transactions that still need settlement or bank reconciliation.

What this does

Match Soledgic records to external bank or processor records.

When to use it

Use these endpoints when checking whether money records line up across systems.

What you need first

Import or identify the external transaction and the Soledgic transaction you want to compare.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

Matched/unmatched status, reconciliation snapshots, or suggested matches.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/reconciliations/unmatched
Supabase function
/functions/v1/reconciliations-unmatched
Source
supabase/functions/reconciliations/index.ts

Parameters

LocationNameTypeRequired
querylimitnumberNo

Example Request

curl -X GET "https://api.soledgic.com/v1/reconciliations/unmatched?limit=1000" \
  -H "x-api-key: slk_test_YOUR_API_KEY"

Risk & Security

EndpointMethodsAuthStatusDetails
Compliance Access Patterns
/v1/compliance/access-patterns
GET
API keyPublicView details
Compliance Financial Activity
/v1/compliance/financial-activity
GET
API keyPublicView details
Compliance Overview
/v1/compliance/overview
GET
API keyPublicView details
Compliance Security Summary
/v1/compliance/security-summary
GET
API keyPublicView details
Fraud Evaluation Detail
/v1/fraud/evaluations/{evaluation_id}
GET
API keyPublicView details
Fraud Evaluations
/v1/fraud/evaluations
POST
API keyPublicView details
Fraud Policies
/v1/fraud/policies
GETPOST
API keyPublicView details
Delete Fraud Policy
/v1/fraud/policies/{policy_id}
DELETE
API keyPublicView details
Security Alerts
/v1/security-alerts
POST
Public/JWTInternalView details
Send Breach Alert
/v1/send-breach-alert
POST
API keyInternalView details
Compliance Access Patterns
/v1/compliance/access-patterns
GETAPI key

List suspicious or high-volume access patterns for the current ledger.

What this does

Review risky activity, fraud signals, security alerts, and compliance summaries.

When to use it

Use these endpoints for operator dashboards, policy checks, or incident review.

What you need first

Use admin-approved keys and keep outputs internal to platform operators.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

Risk evaluations, policy records, compliance summaries, or alert details.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/compliance/access-patterns
Supabase function
/functions/v1/compliance-access-patterns
Source
supabase/functions/compliance/index.ts

Parameters

LocationNameTypeRequired
queryhoursnumberNo
querylimitnumberNo

Example Request

curl -X GET "https://api.soledgic.com/v1/compliance/access-patterns?hours=1000&limit=1000" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Compliance Financial Activity
/v1/compliance/financial-activity
GETAPI key

Summarize payout, sale, refund, and dispute activity for compliance review.

What this does

Review risky activity, fraud signals, security alerts, and compliance summaries.

When to use it

Use these endpoints for operator dashboards, policy checks, or incident review.

What you need first

Use admin-approved keys and keep outputs internal to platform operators.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

Risk evaluations, policy records, compliance summaries, or alert details.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/compliance/financial-activity
Supabase function
/functions/v1/compliance-financial-activity
Source
supabase/functions/compliance/index.ts

Parameters

LocationNameTypeRequired
querydaysnumberNo

Example Request

curl -X GET "https://api.soledgic.com/v1/compliance/financial-activity?days=1000" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Compliance Overview
/v1/compliance/overview
GETAPI key

Get a ledger-scoped overview of compliance and monitoring signals.

What this does

Review risky activity, fraud signals, security alerts, and compliance summaries.

When to use it

Use these endpoints for operator dashboards, policy checks, or incident review.

What you need first

Use admin-approved keys and keep outputs internal to platform operators.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

Risk evaluations, policy records, compliance summaries, or alert details.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/compliance/overview
Supabase function
/functions/v1/compliance-overview
Source
supabase/functions/compliance/index.ts

Parameters

LocationNameTypeRequired
querydaysnumberNo
queryhoursnumberNo

Example Request

curl -X GET "https://api.soledgic.com/v1/compliance/overview?days=1000&hours=1000" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Compliance Security Summary
/v1/compliance/security-summary
GETAPI key

Summarize risk-scored security and audit events for the current ledger.

What this does

Review risky activity, fraud signals, security alerts, and compliance summaries.

When to use it

Use these endpoints for operator dashboards, policy checks, or incident review.

What you need first

Use admin-approved keys and keep outputs internal to platform operators.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

Risk evaluations, policy records, compliance summaries, or alert details.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/compliance/security-summary
Supabase function
/functions/v1/compliance-security-summary
Source
supabase/functions/compliance/index.ts

Parameters

LocationNameTypeRequired
querydaysnumberNo

Example Request

curl -X GET "https://api.soledgic.com/v1/compliance/security-summary?days=1000" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Fraud Evaluation Detail
/v1/fraud/evaluations/{evaluation_id}
GETAPI key

Get a previously created fraud evaluation.

What this does

Review risky activity, fraud signals, security alerts, and compliance summaries.

When to use it

Use these endpoints for operator dashboards, policy checks, or incident review.

What you need first

Use admin-approved keys and keep outputs internal to platform operators.

Required: evaluation_id (path)

What comes back

Risk evaluations, policy records, compliance summaries, or alert details.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/fraud/evaluations/{evaluation_id}
Supabase function
/functions/v1/fraud-evaluation-detail
Source
supabase/functions/fraud/index.ts

Parameters

LocationNameTypeRequired
pathevaluation_idstringYes

Example Request

curl -X GET "https://api.soledgic.com/v1/fraud/evaluations/evaluation_id_123" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Fraud Evaluations
/v1/fraud/evaluations
POSTAPI key

Evaluate a proposed transaction against configured fraud and policy rules.

What this does

Review risky activity, fraud signals, security alerts, and compliance summaries.

When to use it

Use these endpoints for operator dashboards, policy checks, or incident review.

What you need first

Use admin-approved keys and keep outputs internal to platform operators.

Required: idempotency_key (body), amount (body)

What comes back

Risk evaluations, policy records, compliance summaries, or alert details.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/fraud/evaluations
Supabase function
/functions/v1/fraud-evaluations
Source
supabase/functions/fraud/index.ts

Parameters

LocationNameTypeRequired
bodyidempotency_keystringYes
bodyamountnumberYes
bodycurrencystringNo
bodycounterparty_namestringNo
bodyauthorizing_instrument_idstringNo
bodyexpected_datestringNo
bodycategorystringNo

Example Request

curl -X POST "https://api.soledgic.com/v1/fraud/evaluations" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "idempotency_key": "idempotency_key_123",
  "amount": 1000,
  "currency": "value",
  "counterparty_name": "value",
  "authorizing_instrument_id": "authorizing_instrument_id_123",
  "expected_date": "2026-01-01",
  "category": "value"
}'
Fraud Policies
/v1/fraud/policies
GETPOSTAPI key

List configured fraud policies or create a new policy rule.

What this does

Review risky activity, fraud signals, security alerts, and compliance summaries.

When to use it

Use these endpoints for operator dashboards, policy checks, or incident review.

What you need first

Use admin-approved keys and keep outputs internal to platform operators.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

Risk evaluations, policy records, compliance summaries, or alert details.

Method meaning: GET: Read existing information. POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/fraud/policies
Supabase function
/functions/v1/fraud-policies
Source
supabase/functions/fraud/index.ts

Parameters

LocationNameTypeRequired
bodypolicy_type'require_instrument' | 'budget_cap' | 'projection_guard'No
bodyconfigRecord<string, unknown>No
bodyseverity'hard' | 'soft'No
bodyprioritynumberNo

Example Request

curl -X GET "https://api.soledgic.com/v1/fraud/policies" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Delete Fraud Policy
/v1/fraud/policies/{policy_id}
DELETEAPI key

Delete a configured fraud policy.

What this does

Review risky activity, fraud signals, security alerts, and compliance summaries.

When to use it

Use these endpoints for operator dashboards, policy checks, or incident review.

What you need first

Use admin-approved keys and keep outputs internal to platform operators.

Required: policy_id (path)

What comes back

Risk evaluations, policy records, compliance summaries, or alert details.

Method meaning: DELETE: Delete, revoke, or disable a resource.

Gateway path
https://api.soledgic.com/v1/fraud/policies/{policy_id}
Supabase function
/functions/v1/fraud-policy-delete
Source
supabase/functions/fraud/index.ts

Parameters

LocationNameTypeRequired
pathpolicy_idstringYes

Example Request

curl -X DELETE "https://api.soledgic.com/v1/fraud/policies/policy_id_123" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "example": "value"
}'
Security Alerts
/v1/security-alerts
POSTPublic/JWTInternal

Security Alerts

What this does

Review risky activity, fraud signals, security alerts, and compliance summaries.

When to use it

Use these endpoints for operator dashboards, policy checks, or incident review.

What you need first

Use admin-approved keys and keep outputs internal to platform operators.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

Risk evaluations, policy records, compliance summaries, or alert details.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/security-alerts
Supabase function
/functions/v1/security-alerts
Source
supabase/functions/security-alerts/index.ts

Parameters

No formal parameters were inferred for this endpoint from source declarations.

Example Request

curl -X POST "https://api.soledgic.com/v1/security-alerts" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "example": "value"
}'
Send Breach Alert
/v1/send-breach-alert
POSTAPI keyInternal

Send Breach Alert

What this does

Review risky activity, fraud signals, security alerts, and compliance summaries.

When to use it

Use these endpoints for operator dashboards, policy checks, or incident review.

What you need first

Use admin-approved keys and keep outputs internal to platform operators.

Required: cash_balance (body), pending_total (body), shortfall (body), coverage_ratio (body), triggered_by (body)

What comes back

Risk evaluations, policy records, compliance summaries, or alert details.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/send-breach-alert
Supabase function
/functions/v1/send-breach-alert
Source
supabase/functions/send-breach-alert/index.ts

Parameters

LocationNameTypeRequired
bodycash_balancenumberYes
bodypending_totalnumberYes
bodyshortfallnumberYes
bodycoverage_rationumberYes
bodytriggered_by'project_intent' | 'get_runway' | 'manual'Yes
bodyinstrument_idstringNo
bodyexternal_refstringNo
bodyprojections_creatednumberNo
bodychannel'slack' | 'email' | 'webhook'No

Example Request

curl -X POST "https://api.soledgic.com/v1/send-breach-alert" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "cash_balance": 1000,
  "pending_total": 1000,
  "shortfall": 1000,
  "coverage_ratio": 1000,
  "triggered_by": "project_intent",
  "instrument_id": "instrument_id_123",
  "external_ref": "value",
  "projections_created": 1000
}'

Billing

EndpointMethodsAuthStatusDetails
Billing
/v1/billing
POST
Public/JWTPublicView details
Project Intent
/v1/project-intent
POST
API keyPublicView details
Billing
/v1/billing
POSTPublic/JWT

Billing status and usage summary. Subscription collection and billing payment methods are disabled; Soledgic platform billing collects from wallet balance when enabled.

What this does

Manage platform billing configuration and projected obligations.

When to use it

Use this for internal billing state or future planned obligations, not for wallet checkout purchases.

What you need first

Confirm billing is enabled for the platform and that wallet-based collection rules apply.

Required: action (body)

What comes back

Billing state or projection records.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/billing
Supabase function
/functions/v1/billing
Source
supabase/functions/billing/index.ts

Parameters

LocationNameTypeRequired
bodyaction'get_subscription' | 'get_usage' | 'get_plans' | 'get_invoices' | 'get_payment_methods'Yes
bodyorganization_idstringNo

Example Request

curl -X POST "https://api.soledgic.com/v1/billing" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "action": "get_subscription",
  "organization_id": "organization_id_123"
}'
Project Intent
/v1/project-intent
POSTAPI key

Project Intent

What this does

Manage platform billing configuration and projected obligations.

When to use it

Use this for internal billing state or future planned obligations, not for wallet checkout purchases.

What you need first

Confirm billing is enabled for the platform and that wallet-based collection rules apply.

Required: authorizing_instrument_id (body), until_date (body)

What comes back

Billing state or projection records.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/project-intent
Supabase function
/functions/v1/project-intent
Source
supabase/functions/project-intent/index.ts

Parameters

LocationNameTypeRequired
bodyauthorizing_instrument_idstringYes
bodyuntil_datestringYes
bodyhorizon_countnumberNo

Example Request

curl -X POST "https://api.soledgic.com/v1/project-intent" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "authorizing_instrument_id": "authorizing_instrument_id_123",
  "until_date": "2026-01-01",
  "horizon_count": 1000
}'

Health

EndpointMethodsAuthStatusDetails
Health Check
/v1/health-check
POST
API keyPublicView details
Health Check
/v1/health-check
POSTAPI key

Health Check

What this does

Check whether the API and ledger systems are responding correctly.

When to use it

Call this from uptime checks, deploy smoke tests, or operator dashboards.

What you need first

Choose the health action your monitor needs.

Required: action (body)

What comes back

A status response or diagnostic result.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/health-check
Supabase function
/functions/v1/health-check
Source
supabase/functions/health-check/index.ts

Parameters

LocationNameTypeRequired
bodyaction'run' | 'status' | 'history' | 'run_all'Yes
bodyledger_idstringNo

Example Request

curl -X POST "https://api.soledgic.com/v1/health-check" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "action": "run",
  "ledger_id": "ledger_id_123"
}'

Internal

EndpointMethodsAuthStatusDetails
Ops Monitor
/v1/ops-monitor
POST
Custom/internalInternalView details
Process Processor Inbox
/v1/process-processor-inbox
POST
Custom/internalInternalView details
Process Webhooks
/v1/process-webhooks
POST
Custom/internalInternalView details
Reconcile Checkout Ledger
/v1/reconcile-checkout-ledger
POST
Custom/internalInternalView details
Test Cleanup
/v1/test-cleanup
POST
API keyInternalView details
Upload Receipt
/v1/upload-receipt
POST
API keyPublicView details
Ops Monitor
/v1/ops-monitor
POSTCustom/internalInternal

Production observability: monitors payment pipeline health

What this does

Run Soledgic-controlled background or repair work.

When to use it

Most external integrators should not call this directly. These endpoints exist for internal workers, cron jobs, and operator tooling.

What you need first

Use only with the documented internal credential or dashboard flow.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

Worker, reconciliation, cleanup, or monitoring results.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/ops-monitor
Supabase function
/functions/v1/ops-monitor
Source
supabase/functions/ops-monitor/index.ts

Parameters

No formal parameters were inferred for this endpoint from source declarations.

Example Request

curl -X POST "https://api.soledgic.com/v1/ops-monitor" \
  -H "Content-Type: application/json" \
  -d '{
  "example": "value"
}'
Process Processor Inbox
/v1/process-processor-inbox
POSTCustom/internalInternal

Process pending processor webhook inbox events

What this does

Run Soledgic-controlled background or repair work.

When to use it

Most external integrators should not call this directly. These endpoints exist for internal workers, cron jobs, and operator tooling.

What you need first

Use only with the documented internal credential or dashboard flow.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

Worker, reconciliation, cleanup, or monitoring results.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/process-processor-inbox
Supabase function
/functions/v1/process-processor-inbox
Source
supabase/functions/process-processor-inbox/index.ts

Parameters

No formal parameters were inferred for this endpoint from source declarations.

Example Request

curl -X POST "https://api.soledgic.com/v1/process-processor-inbox" \
  -H "Content-Type: application/json" \
  -d '{
  "example": "value"
}'
Process Webhooks
/v1/process-webhooks
POSTCustom/internalInternal

Process Webhooks

What this does

Run Soledgic-controlled background or repair work.

When to use it

Most external integrators should not call this directly. These endpoints exist for internal workers, cron jobs, and operator tooling.

What you need first

Use only with the documented internal credential or dashboard flow.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

Worker, reconciliation, cleanup, or monitoring results.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/process-webhooks
Supabase function
/functions/v1/process-webhooks
Source
supabase/functions/process-webhooks/index.ts

Parameters

No formal parameters were inferred for this endpoint from source declarations.

Example Request

curl -X POST "https://api.soledgic.com/v1/process-webhooks" \
  -H "Content-Type: application/json" \
  -d '{
  "example": "value"
}'
Reconcile Checkout Ledger
/v1/reconcile-checkout-ledger
POSTCustom/internalInternal

Retry charged-but-unrecorded checkout sessions (charged_pending_ledger → sale)

What this does

Run Soledgic-controlled background or repair work.

When to use it

Most external integrators should not call this directly. These endpoints exist for internal workers, cron jobs, and operator tooling.

What you need first

Use only with the documented internal credential or dashboard flow.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

Worker, reconciliation, cleanup, or monitoring results.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/reconcile-checkout-ledger
Supabase function
/functions/v1/reconcile-checkout-ledger
Source
supabase/functions/reconcile-checkout-ledger/index.ts

Parameters

LocationNameTypeRequired
bodylimitnumberNo
bodydry_runbooleanNo

Example Request

curl -X POST "https://api.soledgic.com/v1/reconcile-checkout-ledger" \
  -H "Content-Type: application/json" \
  -d '{
  "limit": 1000,
  "dry_run": true
}'
Test Cleanup
/v1/test-cleanup
POSTAPI keyInternal

Test Data Cleanup

What this does

Run Soledgic-controlled background or repair work.

When to use it

Most external integrators should not call this directly. These endpoints exist for internal workers, cron jobs, and operator tooling.

What you need first

Use only with the documented internal credential or dashboard flow.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

Worker, reconciliation, cleanup, or monitoring results.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/test-cleanup
Supabase function
/functions/v1/test-cleanup
Source
supabase/functions/test-cleanup/index.ts

Parameters

No formal parameters were inferred for this endpoint from source declarations.

Example Request

curl -X POST "https://api.soledgic.com/v1/test-cleanup" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "example": "value"
}'
Upload Receipt
/v1/upload-receipt
POSTAPI key

Upload Receipt

What this does

Attach an app-owned proof document to a transaction.

When to use it

Use generated receipts for checkout receipts. Keep this for non-financial proof documents that your app already stores.

What you need first

Have the file URL and any known merchant, date, total, or transaction id.

Required: file_url (body)

What comes back

A receipt/proof record that can be shown in support, activity, or reporting views.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/upload-receipt
Supabase function
/functions/v1/upload-receipt
Source
supabase/functions/upload-receipt/index.ts

Parameters

LocationNameTypeRequired
bodyfile_urlstringYes
bodyfile_namestringNo
bodyfile_sizenumberNo
bodymime_typestringNo
bodymerchant_namestringNo
bodytransaction_datestringNo
bodytotal_amountnumberNo
bodytransaction_idstringNo

Example Request

curl -X POST "https://api.soledgic.com/v1/upload-receipt" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "file_url": "value",
  "file_name": "value",
  "file_size": 1000,
  "mime_type": "value",
  "merchant_name": "value",
  "transaction_date": "2026-01-01",
  "total_amount": 1000,
  "transaction_id": "transaction_id_123"
}'

Other

EndpointMethodsAuthStatusDetails
Business KYB
/v1/kyc/business
GETPOST
API keyPublicView details
Creator KYC
/v1/kyc/creators/{participant_id}
GETPOST
API keyPublicView details
Credits
/v1/credits
POST
API keyPublicView details
Creator Earnings
/v1/earnings
GET
API keyPublicView details
Invoice Detail
/v1/invoices/{invoice_id}
GET
API keyPublicView details
Record Invoice Payment
/v1/invoices/{invoice_id}/record-payment
POST
API keyPublicView details
Send Invoice
/v1/invoices/{invoice_id}/send
POST
API keyPublicView details
Void Invoice
/v1/invoices/{invoice_id}/void
POST
API keyPublicView details
Contractor Payment
/v1/manage-contractors/payment
POST
API keyPublicView details
Due Recurring Transactions
/v1/manage-recurring/due
GET
API keyPublicView details
Approve Refund Request
/v1/refund-requests/{id}/approve
POST
API keyPublicView details
Cancel Refund Request
/v1/refund-requests/{id}/cancel
POST
API keyPublicView details
Reject Refund Request
/v1/refund-requests/{id}/reject
POST
API keyPublicView details
Refund Requests
/v1/refund-requests
GETPOST
API keyPublicView details
Sandbox Complete Checkout
/v1/sandbox/checkouts/{checkout_id}/complete
POST
API keyPublicView details
Sandbox Fail Checkout
/v1/sandbox/checkouts/{checkout_id}/fail
POST
API keyPublicView details
Sandbox Cleanup
/v1/sandbox/cleanup
POST
API keyPublicView details
Sandbox Events
/v1/sandbox/events
GET
API keyPublicView details
Sandbox Test Webhook
/v1/sandbox/webhooks/test
POST
API keyPublicView details
Submit Tax Info
/v1/submit-tax-info
POST
API keyPublicView details
Bulk Mark Tax Documents Filed
/v1/tax/documents/mark-filed
POST
API keyPublicView details
Correct Tax Document
/v1/tax/documents/{document_id}/correct
POST
API keyPublicView details
Deliver Tax Document Copy B
/v1/tax/documents/deliver-copy-b
POST
API keyPublicView details
Tax Document PDF
/v1/tax/documents/{document_id}/pdf
POST
API keyPublicView details
Batch Tax Document PDFs
/v1/tax/documents/pdf/batch
POST
API keyPublicView details
Wallet Sessions
/v1/wallet-sessions
POST
API keyPublicView details
Wallets
/v1/wallets
GETPOST
API keyPublicView details
Business KYB
/v1/kyc/business
GETPOSTAPI key

Retrieve or submit the API key organization KYB profile for review. Submission never auto-approves KYB.

What this does

Submit or retrieve the business verification packet for the API key organization.

When to use it

Call this when your platform collects business legal name, contacts, address, beneficial owners, and document evidence for KYB review.

What you need first

Use the platform ledger API key. This stores a review packet and can mark the business `under_review`; it does not approve KYB.

Required: business_type (body), legal_name (body), primary_contact (body), business_address (body), document_evidence (body)

What comes back

The business KYB status, missing fields, and latest submission summary.

Method meaning: GET: Read existing information. POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/kyc/business
Supabase function
/functions/v1/business-kyb
Source
supabase/functions/kyc/index.ts

Parameters

LocationNameTypeRequired
bodybusiness_type'individual' | 'sole_proprietor' | 'llc' | 'corporation' | 'partnership' | 'nonprofit'Yes
bodylegal_namestringYes
bodytax_id_type'ssn' | 'ein' | 'itin'No
bodytax_id_last4stringNo
bodyprimary_contactRecord<string, unknown>Yes
bodybusiness_addressRecord<string, unknown>Yes
bodybeneficial_ownersArray<Record<string, unknown>>No
bodydocument_evidenceArray<Record<string, unknown>>Yes
bodysubmit_for_reviewbooleanNo
bodymetadataRecord<string, unknown>No

Example Request

curl -X GET "https://api.soledgic.com/v1/kyc/business" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Creator KYC
/v1/kyc/creators/{participant_id}
GETPOSTAPI key

Retrieve or submit a creator KYC packet bound to the participant creator_balance, not the consumer wallet.

What this does

Submit or retrieve a creator verification packet bound to a participant.

When to use it

Call this when your platform collects creator identity details and document evidence for payout readiness.

What you need first

Create the participant first. The packet is anchored to `creator_balance`; `certify_tax_info` also requires an active `participant_identity_links` record.

Required: participant_id (path), legal_name (body), email (body), date_of_birth (body), address (body), document_evidence (body)

What comes back

The creator KYC status, connected account id, missing fields, and latest submission summary.

Method meaning: GET: Read existing information. POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/kyc/creators/{participant_id}
Supabase function
/functions/v1/creator-kyc
Source
supabase/functions/kyc/index.ts

Parameters

LocationNameTypeRequired
pathparticipant_idstringYes
bodylegal_namestringYes
bodydisplay_namestringNo
bodyemailstringYes
bodydate_of_birthstringYes
bodytax_id_type'ssn' | 'ein' | 'itin'No
bodytax_id_last4stringNo
bodybusiness_type'individual' | 'sole_proprietor' | 'llc' | 'corporation' | 'partnership'No
bodyaddressRecord<string, unknown>Yes
bodydocument_evidenceArray<Record<string, unknown>>Yes
bodycertify_tax_infobooleanNo
bodysubmit_for_reviewbooleanNo
bodymetadataRecord<string, unknown>No

Example Request

curl -X GET "https://api.soledgic.com/v1/kyc/creators/participant_id_123" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Credits
/v1/credits
POSTAPI key

Issue, convert, redeem, and inspect platform credits.

What this does

Issue, convert, redeem, and inspect platform credits.

When to use it

Use this endpoint when your integration needs this resource or action.

What you need first

Review the required fields and authentication method before calling it.

Required: action (body)

What comes back

A JSON response with the resource state or action result.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/credits
Supabase function
/functions/v1/credits
Source
supabase/functions/credits/index.ts

Parameters

LocationNameTypeRequired
bodyaction'issue' | 'convert' | 'redeem' | 'balance'Yes
bodyuser_idstringNo
bodycreator_idstringNo
bodycreditsnumberNo
bodyamountnumberNo
bodyreference_idstringNo
bodyreasonstringNo
bodydescriptionstringNo
bodysplit_percentnumberNo

Example Request

curl -X POST "https://api.soledgic.com/v1/credits" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "action": "issue",
  "user_id": "user_id_123",
  "creator_id": "creator_id_123",
  "credits": 1000,
  "amount": 1000,
  "reference_id": "reference_id_123",
  "reason": "value",
  "description": "value"
}'
Creator Earnings
/v1/earnings
GETAPI key

Return historical creator earnings for dashboard and reconciliation views.

What this does

Return historical creator earnings for dashboard and reconciliation views.

When to use it

Use this endpoint when your integration needs this resource or action.

What you need first

Review the required fields and authentication method before calling it.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

A JSON response with the resource state or action result.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/earnings
Supabase function
/functions/v1/earnings
Source
supabase/functions/earnings/index.ts

Parameters

LocationNameTypeRequired
querycreator_idstringNo
querystart_datestringNo
queryend_datestringNo
querygranularity'day' | 'week' | 'month'No

Example Request

curl -X GET "https://api.soledgic.com/v1/earnings?creator_id=creator_id_123&start_date=2026-01-01&end_date=2026-01-01&granularity=day" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Invoice Detail
/v1/invoices/{invoice_id}
GETAPI key

Fetch a single invoice by id.

What this does

Fetch a single invoice by id.

When to use it

Use this endpoint when your integration needs this resource or action.

What you need first

Review the required fields and authentication method before calling it.

Required: invoice_id (path)

What comes back

A JSON response with the resource state or action result.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/invoices/{invoice_id}
Supabase function
/functions/v1/invoice-detail
Source
supabase/functions/invoices/index.ts

Parameters

LocationNameTypeRequired
pathinvoice_idstringYes

Example Request

curl -X GET "https://api.soledgic.com/v1/invoices/invoice_id_123" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Record Invoice Payment
/v1/invoices/{invoice_id}/record-payment
POSTAPI key

Record a payment against an invoice.

What this does

Record a payment against an invoice.

When to use it

Use this endpoint when your integration needs this resource or action.

What you need first

Review the required fields and authentication method before calling it.

Required: invoice_id (path)

What comes back

A JSON response with the resource state or action result.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/invoices/{invoice_id}/record-payment
Supabase function
/functions/v1/invoice-record-payment
Source
supabase/functions/invoices/index.ts

Parameters

LocationNameTypeRequired
pathinvoice_idstringYes
bodyamount_centsnumberNo
bodypayment_datestringNo
bodyreference_idstringNo

Example Request

curl -X POST "https://api.soledgic.com/v1/invoices/invoice_id_123/record-payment" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "amount_cents": 1000,
  "payment_date": "2026-01-01",
  "reference_id": "reference_id_123"
}'
Send Invoice
/v1/invoices/{invoice_id}/send
POSTAPI key

Mark an invoice as sent and record the send event.

What this does

Mark an invoice as sent and record the send event.

When to use it

Use this endpoint when your integration needs this resource or action.

What you need first

Review the required fields and authentication method before calling it.

Required: invoice_id (path)

What comes back

A JSON response with the resource state or action result.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/invoices/{invoice_id}/send
Supabase function
/functions/v1/invoice-send
Source
supabase/functions/invoices/index.ts

Parameters

LocationNameTypeRequired
pathinvoice_idstringYes

Example Request

curl -X POST "https://api.soledgic.com/v1/invoices/invoice_id_123/send" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "example": "value"
}'
Void Invoice
/v1/invoices/{invoice_id}/void
POSTAPI key

Void an invoice with an optional reason.

What this does

Void an invoice with an optional reason.

When to use it

Use this endpoint when your integration needs this resource or action.

What you need first

Review the required fields and authentication method before calling it.

Required: invoice_id (path)

What comes back

A JSON response with the resource state or action result.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/invoices/{invoice_id}/void
Supabase function
/functions/v1/invoice-void
Source
supabase/functions/invoices/index.ts

Parameters

LocationNameTypeRequired
pathinvoice_idstringYes
bodyreasonstringNo

Example Request

curl -X POST "https://api.soledgic.com/v1/invoices/invoice_id_123/void" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "reason": "value"
}'
Contractor Payment
/v1/manage-contractors/payment
POSTAPI key

Record a contractor payment.

What this does

Record a contractor payment.

When to use it

Use this endpoint when your integration needs this resource or action.

What you need first

Review the required fields and authentication method before calling it.

Required: contractor_id (body), amount (body)

What comes back

A JSON response with the resource state or action result.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/manage-contractors/payment
Supabase function
/functions/v1/manage-contractors-payment
Source
supabase/functions/manage-contractors/index.ts

Parameters

LocationNameTypeRequired
bodycontractor_idstringYes
bodyamountnumberYes
bodyreference_idstringNo

Example Request

curl -X POST "https://api.soledgic.com/v1/manage-contractors/payment" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "contractor_id": "contractor_id_123",
  "amount": 1000,
  "reference_id": "reference_id_123"
}'
Due Recurring Transactions
/v1/manage-recurring/due
GETAPI key

List recurring transactions due for processing.

What this does

List recurring transactions due for processing.

When to use it

Use this endpoint when your integration needs this resource or action.

What you need first

Review the required fields and authentication method before calling it.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

A JSON response with the resource state or action result.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/manage-recurring/due
Supabase function
/functions/v1/manage-recurring-due
Source
supabase/functions/manage-recurring/index.ts

Parameters

LocationNameTypeRequired
queryas_ofstringNo

Example Request

curl -X GET "https://api.soledgic.com/v1/manage-recurring/due?as_of=value" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Approve Refund Request
/v1/refund-requests/{id}/approve
POSTAPI key

Approve a pending refund request and execute the Soledgic-routed refund.

What this does

Approve a buyer refund request and execute the refund.

When to use it

Call this from platform support/admin tooling after deciding the buyer should be refunded.

What you need first

Confirm the request is pending and the original sale still has refundable balance.

Required: id (path)

What comes back

The completed refund request and the refund transaction created by Soledgic.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/refund-requests/{id}/approve
Supabase function
/functions/v1/refund-request-approve
Source
supabase/functions/refund-requests/index.ts

Parameters

LocationNameTypeRequired
pathidstringYes
bodyreviewed_by_actorstringNo
bodymetadataRecord<string, unknown>No

Example Request

curl -X POST "https://api.soledgic.com/v1/refund-requests/id_123/approve" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "reviewed_by_actor": "value",
  "metadata": {}
}'
Cancel Refund Request
/v1/refund-requests/{id}/cancel
POSTAPI key

Cancel a pending buyer refund request before approval.

What this does

Cancel a pending buyer refund request.

When to use it

Call this when the buyer withdraws the request or your app closes it before review.

What you need first

The request must still be pending.

Required: id (path)

What comes back

The cancelled refund request.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/refund-requests/{id}/cancel
Supabase function
/functions/v1/refund-request-cancel
Source
supabase/functions/refund-requests/index.ts

Parameters

LocationNameTypeRequired
pathidstringYes
bodyreasonstringNo
bodymetadataRecord<string, unknown>No

Example Request

curl -X POST "https://api.soledgic.com/v1/refund-requests/id_123/cancel" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "reason": "value",
  "metadata": {}
}'
Reject Refund Request
/v1/refund-requests/{id}/reject
POSTAPI key

Reject a pending refund request without moving funds.

What this does

Reject a buyer refund request without moving funds.

When to use it

Call this when support denies a request or needs the buyer to resolve the issue another way.

What you need first

Provide a clear rejection reason for the buyer/support trail.

Required: id (path), reason (body)

What comes back

The rejected refund request and rejection reason.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/refund-requests/{id}/reject
Supabase function
/functions/v1/refund-request-reject
Source
supabase/functions/refund-requests/index.ts

Parameters

LocationNameTypeRequired
pathidstringYes
bodyreasonstringYes
bodyreviewed_by_actorstringNo
bodymetadataRecord<string, unknown>No

Example Request

curl -X POST "https://api.soledgic.com/v1/refund-requests/id_123/reject" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "reason": "value",
  "reviewed_by_actor": "value",
  "metadata": {}
}'
Refund Requests
/v1/refund-requests
GETPOSTAPI key

Create and review buyer-facing refund requests before money movement is approved.

What this does

Create a pending refund request from your buyer-facing app.

When to use it

Call this from your server after an authenticated buyer clicks Request refund. This creates review state only; it does not move money.

What you need first

Have the original `sale_reference`, buyer `customer_id` or `customer_email`, reason, and optional amount in cents.

Required: sale_reference (body), reason (body)

What comes back

A refund request with pending status, amount, sale reference, and review timestamps.

Method meaning: GET: Read existing information. POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/refund-requests
Supabase function
/functions/v1/refund-requests
Source
supabase/functions/refund-requests/index.ts

Parameters

LocationNameTypeRequired
querystatus'pending' | 'processing' | 'completed' | 'rejected' | 'cancelled' | 'failed'No
querysale_referencestringNo
querycustomer_idstringNo
querylimitnumberNo
bodysale_referencestringYes
bodycustomer_idstringNo
bodycustomer_emailstringNo
bodyamountnumberNo
bodyreasonstringYes
bodyrefund_from'both' | 'platform_only' | 'creator_only'No
bodyidempotency_keystringNo
bodymetadataRecord<string, unknown>No

Example Request

curl -X GET "https://api.soledgic.com/v1/refund-requests?status=pending&sale_reference=value&customer_id=customer_id_123&limit=1000" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Sandbox Complete Checkout
/v1/sandbox/checkouts/{checkout_id}/complete
POSTAPI key

Complete a sandbox checkout without contacting a payment processor. Test API keys only.

What this does

Complete a sandbox checkout without contacting a payment processor. Test API keys only.

When to use it

Use this endpoint when your integration needs this resource or action.

What you need first

Review the required fields and authentication method before calling it.

Required: checkout_id (path), idempotency_key (body)

What comes back

A JSON response with the resource state or action result.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/sandbox/checkouts/{checkout_id}/complete
Supabase function
/functions/v1/sandbox-checkout-complete
Source
supabase/functions/sandbox/index.ts

Parameters

LocationNameTypeRequired
pathcheckout_idstringYes
bodyidempotency_keystringYes
bodypayment_idstringNo
bodymetadataRecord<string, unknown>No

Example Request

curl -X POST "https://api.soledgic.com/v1/sandbox/checkouts/checkout_id_123/complete" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "idempotency_key": "idempotency_key_123",
  "payment_id": "payment_id_123",
  "metadata": {}
}'
Sandbox Fail Checkout
/v1/sandbox/checkouts/{checkout_id}/fail
POSTAPI key

Fail a sandbox checkout and queue the matching sandbox webhook. Test API keys only.

What this does

Fail a sandbox checkout and queue the matching sandbox webhook. Test API keys only.

When to use it

Use this endpoint when your integration needs this resource or action.

What you need first

Review the required fields and authentication method before calling it.

Required: checkout_id (path), idempotency_key (body)

What comes back

A JSON response with the resource state or action result.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/sandbox/checkouts/{checkout_id}/fail
Supabase function
/functions/v1/sandbox-checkout-fail
Source
supabase/functions/sandbox/index.ts

Parameters

LocationNameTypeRequired
pathcheckout_idstringYes
bodyidempotency_keystringYes
bodyreasonstringNo
bodymetadataRecord<string, unknown>No

Example Request

curl -X POST "https://api.soledgic.com/v1/sandbox/checkouts/checkout_id_123/fail" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "idempotency_key": "idempotency_key_123",
  "reason": "value",
  "metadata": {}
}'
Sandbox Cleanup
/v1/sandbox/cleanup
POSTAPI key

Preview or clean run-scoped sandbox data, or reset all sandbox runtime data for a test ledger. Test API keys only; webhook endpoints are preserved.

What this does

Preview or clean run-scoped sandbox data, or reset all sandbox runtime data for a test ledger. Test API keys only; webhook endpoints are preserved.

When to use it

Use this endpoint when your integration needs this resource or action.

What you need first

Review the required fields and authentication method before calling it.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

A JSON response with the resource state or action result.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/sandbox/cleanup
Supabase function
/functions/v1/sandbox-cleanup
Source
supabase/functions/sandbox/index.ts

Parameters

LocationNameTypeRequired
bodydry_runbooleanNo
bodyscope'run' | 'sandbox_ledger'No
bodysourcestringNo
bodyrun_idstringNo
bodyconfirm'cleanup_sandbox_run_data' | 'cleanup_sandbox_runtime_data'No

Example Request

curl -X POST "https://api.soledgic.com/v1/sandbox/cleanup" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "dry_run": true,
  "scope": "run",
  "source": "value",
  "run_id": "run_id_123",
  "confirm": "cleanup_sandbox_run_data"
}'
Sandbox Events
/v1/sandbox/events
GETAPI key

List recent sandbox webhook delivery events for this ledger.

What this does

List recent sandbox webhook delivery events for this ledger.

When to use it

Use this endpoint when your integration needs this resource or action.

What you need first

Review the required fields and authentication method before calling it.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

A JSON response with the resource state or action result.

Method meaning: GET: Read existing information.

Gateway path
https://api.soledgic.com/v1/sandbox/events
Supabase function
/functions/v1/sandbox-events
Source
supabase/functions/sandbox/index.ts

Parameters

LocationNameTypeRequired
queryevent_typestringNo
querycheckout_idstringNo
queryorder_idstringNo
querypayment_idstringNo
querylimitnumberNo

Example Request

curl -X GET "https://api.soledgic.com/v1/sandbox/events?event_type=value&checkout_id=checkout_id_123&order_id=order_id_123&payment_id=payment_id_123" \
  -H "x-api-key: slk_test_YOUR_API_KEY"
Sandbox Test Webhook
/v1/sandbox/webhooks/test
POSTAPI key

Queue a predefined sandbox webhook event for the ledger webhook endpoints. Test API keys only.

What this does

Queue a predefined sandbox webhook event for the ledger webhook endpoints. Test API keys only.

When to use it

Use this endpoint when your integration needs this resource or action.

What you need first

Review the required fields and authentication method before calling it.

Required: idempotency_key (body)

What comes back

A JSON response with the resource state or action result.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/sandbox/webhooks/test
Supabase function
/functions/v1/sandbox-webhook-test
Source
supabase/functions/sandbox/index.ts

Parameters

LocationNameTypeRequired
bodyidempotency_keystringYes
bodyevent_type'sandbox.test' | 'checkout.completed' | 'checkout.failed' | 'dispute.created' | 'dispute.funds_withdrawn' | 'chargeback.created' | 'chargeback.funds_withdrawn' | 'hold.created' | 'hold.released' | 'hold.failed' | 'refund_request.created' | 'refund_request.completed' | 'refund_request.rejected' | 'refund_request.cancelled' | 'payout_request.created' | 'payout_request.approved' | 'payout_request.rejected' | 'payout_request.cancelled' | 'payout_request.failed' | 'payout_request.completed' | 'refund.created' | 'sale.refunded' | 'payout.created' | 'payout.processing' | 'payout.executed' | 'payout.failed'No
bodypayloadRecord<string, unknown>No

Example Request

curl -X POST "https://api.soledgic.com/v1/sandbox/webhooks/test" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "idempotency_key": "idempotency_key_123",
  "event_type": "sandbox.test",
  "payload": {}
}'
Submit Tax Info
/v1/submit-tax-info
POSTAPI key

Submit participant tax profile details for payout readiness.

What this does

Submit participant tax profile details for payout readiness.

When to use it

Use this endpoint when your integration needs this resource or action.

What you need first

Review the required fields and authentication method before calling it.

Required: participant_id (body), legal_name (body), tax_id_type (body), tax_id_last4 (body)

What comes back

A JSON response with the resource state or action result.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/submit-tax-info
Supabase function
/functions/v1/submit-tax-info
Source
supabase/functions/submit-tax-info/index.ts

Parameters

LocationNameTypeRequired
bodyparticipant_idstringYes
bodylegal_namestringYes
bodytax_id_typestringYes
bodytax_id_last4stringYes
bodybusiness_typestringNo
bodycertifybooleanNo

Example Request

curl -X POST "https://api.soledgic.com/v1/submit-tax-info" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "participant_id": "participant_id_123",
  "legal_name": "value",
  "tax_id_type": "tax_id_type_123",
  "tax_id_last4": "tax_id_last4_123",
  "business_type": "value",
  "certify": true
}'
Bulk Mark Tax Documents Filed
/v1/tax/documents/mark-filed
POSTAPI key

Mark generated tax documents filed for a tax year.

What this does

Mark generated tax documents filed for a tax year.

When to use it

Use this endpoint when your integration needs this resource or action.

What you need first

Review the required fields and authentication method before calling it.

Required: tax_year (body)

What comes back

A JSON response with the resource state or action result.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/tax/documents/mark-filed
Supabase function
/functions/v1/tax-document-bulk-mark-filed
Source
supabase/functions/tax/index.ts

Parameters

LocationNameTypeRequired
bodytax_yearnumberYes

Example Request

curl -X POST "https://api.soledgic.com/v1/tax/documents/mark-filed" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "tax_year": 1000
}'
Correct Tax Document
/v1/tax/documents/{document_id}/correct
POSTAPI key

Create a correction workflow for a generated tax document.

What this does

Create a correction workflow for a generated tax document.

When to use it

Use this endpoint when your integration needs this resource or action.

What you need first

Review the required fields and authentication method before calling it.

Required: document_id (path)

What comes back

A JSON response with the resource state or action result.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/tax/documents/{document_id}/correct
Supabase function
/functions/v1/tax-document-correct
Source
supabase/functions/tax/index.ts

Parameters

LocationNameTypeRequired
pathdocument_idstringYes
bodyreasonstringNo
bodyupdatesRecord<string, unknown>No

Example Request

curl -X POST "https://api.soledgic.com/v1/tax/documents/document_id_123/correct" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "reason": "value",
  "updates": {}
}'
Deliver Tax Document Copy B
/v1/tax/documents/deliver-copy-b
POSTAPI key

Deliver recipient tax document copies for a tax year.

What this does

Deliver recipient tax document copies for a tax year.

When to use it

Use this endpoint when your integration needs this resource or action.

What you need first

Review the required fields and authentication method before calling it.

Required: tax_year (body)

What comes back

A JSON response with the resource state or action result.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/tax/documents/deliver-copy-b
Supabase function
/functions/v1/tax-document-deliver-copy-b
Source
supabase/functions/tax/index.ts

Parameters

LocationNameTypeRequired
bodytax_yearnumberYes

Example Request

curl -X POST "https://api.soledgic.com/v1/tax/documents/deliver-copy-b" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "tax_year": 1000
}'
Tax Document PDF
/v1/tax/documents/{document_id}/pdf
POSTAPI key

Generate or retrieve a PDF for one tax document.

What this does

Generate or retrieve a PDF for one tax document.

When to use it

Use this endpoint when your integration needs this resource or action.

What you need first

Review the required fields and authentication method before calling it.

Required: document_id (path)

What comes back

A JSON response with the resource state or action result.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/tax/documents/{document_id}/pdf
Supabase function
/functions/v1/tax-document-pdf
Source
supabase/functions/tax/index.ts

Parameters

LocationNameTypeRequired
pathdocument_idstringYes
bodyregeneratebooleanNo

Example Request

curl -X POST "https://api.soledgic.com/v1/tax/documents/document_id_123/pdf" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "regenerate": true
}'
Batch Tax Document PDFs
/v1/tax/documents/pdf/batch
POSTAPI key

Generate tax document PDFs in batch.

What this does

Generate tax document PDFs in batch.

When to use it

Use this endpoint when your integration needs this resource or action.

What you need first

Review the required fields and authentication method before calling it.

Required: tax_year (body)

What comes back

A JSON response with the resource state or action result.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/tax/documents/pdf/batch
Supabase function
/functions/v1/tax-document-pdf-batch
Source
supabase/functions/tax/index.ts

Parameters

LocationNameTypeRequired
bodytax_yearnumberYes
bodydocument_idsstring[]No

Example Request

curl -X POST "https://api.soledgic.com/v1/tax/documents/pdf/batch" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "tax_year": 1000,
  "document_ids": [
    "item_1"
  ]
}'
Wallet Sessions
/v1/wallet-sessions
POSTAPI key

Create a short-lived hosted wallet page session for a customer wallet or an explicit creator earnings account. Consumer sessions use `user_wallet` and default to balance, activity, and top-up access; creator sessions use `participant_identity_links` and `creator_balance` with read-only balance/activity access.

What this does

Create a hosted wallet link for a buyer wallet or creator earnings balance.

When to use it

Use `owner_type: consumer` or `user` for buyer wallet sessions, and `owner_type: participant` or `creator` for creator earnings sessions.

What you need first

Buyer sessions need a `wallet_id` or stable customer `owner_id`; they default to top-up capable. Creator sessions need a `creator_balance` wallet id or the creator `participant_id`, plus an active participant identity link, and stay read-only.

Required: No required fields were inferred. Check the example body for the normal call shape.

What comes back

A short-lived `wallet_url` scoped to `user_wallet` for buyers or `creator_balance` for creator earnings.

Method meaning: POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/wallet-sessions
Supabase function
/functions/v1/wallet-sessions
Source
supabase/functions/wallet-sessions/index.ts

Parameters

LocationNameTypeRequired
bodywallet_idstringNo
bodyowner_idstringNo
bodyexternal_user_idstringNo
bodyowner_type'user' | 'consumer' | 'participant' | 'creator'No
bodycustomer_emailstringNo
bodypermissionsArray<'view_balance' | 'list_activity' | 'top_up' | 'request_refund'>No
bodysuccess_urlstringNo
bodycancel_urlstringNo
bodyexpires_in_minutesnumberNo
bodyidempotency_keystringNo
bodymetadataRecord<string, unknown>No

Example Request

curl -X POST "https://api.soledgic.com/v1/wallet-sessions" \
  -H "x-api-key: slk_test_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "wallet_id": "wallet_id_123",
  "owner_id": "owner_id_123",
  "external_user_id": "external_user_id_123",
  "owner_type": "user",
  "customer_email": "user@example.com",
  "permissions": "view_balance",
  "success_url": "value",
  "cancel_url": "value"
}'
Wallets
/v1/wallets
GETPOSTAPI key

List scoped wallets or create a consumer credit wallet.

What this does

Create or list wallets for buyers and creators.

When to use it

Call this when your app needs a buyer wallet, a creator earnings wallet, or a list of scoped wallets.

What you need first

Know whether this is a `consumer_credit` wallet or a `creator_earnings` wallet.

Required: wallet_type (body)

What comes back

Wallet objects with balances, supported actions, owner ids, and metadata.

Method meaning: GET: Read existing information. POST: Create something or run a controlled action.

Gateway path
https://api.soledgic.com/v1/wallets
Supabase function
/functions/v1/wallets
Source
supabase/functions/wallets/index.ts

Parameters

LocationNameTypeRequired
queryowner_idstringNo
queryowner_typestringNo
querywallet_type'consumer_credit' | 'creator_earnings'No
querylimitnumberNo
queryoffsetnumberNo
bodyowner_idstringNo
bodyparticipant_idstringNo
bodyowner_typestringNo
bodywallet_type'consumer_credit' | 'creator_earnings'Yes
bodynamestringNo
bodymetadataRecord<string, unknown>No

Example Request

curl -X GET "https://api.soledgic.com/v1/wallets?owner_id=owner_id_123&owner_type=value&wallet_type=consumer_credit&limit=1000" \
  -H "x-api-key: slk_test_YOUR_API_KEY"

Error Responses

All endpoints return a consistent error envelope.

{
  "success": false,
  "error": "Error message here",
  "request_id": "req_xxx"
}
CodeMeaning
400Validation or malformed request
401Missing or invalid authentication
403Forbidden or account inactive
404Resource not found
409State conflict (duplicate or invalid transition)
413Payload too large
429Rate limit exceeded
500Internal server error