API Examples

Copy-paste curl commands for every core endpoint. Replace slk_test_YOUR_KEY with your API key.

Participants

POST/v1/participants

Register a creator, seller, or contractor on your platform.

Request

curl -X POST https://api.soledgic.com/v1/participants \
  -H "x-api-key: slk_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "participant_id": "creator_001",
    "display_name": "Jane Doe",
    "email": "jane@example.com",
    "default_split_percent": 80
  }'

Response

{
  "success": true,
  "participant": {
    "participant_id": "creator_001",
    "display_name": "Jane Doe",
    "balance": 0,
    "currency": "USD"
  },
  "request_id": "req_abc123"
}
GET/v1/participants/{id}

Retrieve a participant’s current balance, active holds, and payout eligibility.

Request

curl https://api.soledgic.com/v1/participants/creator_001 \
  -H "x-api-key: slk_test_YOUR_KEY"

Response

{
  "participant_id": "creator_001",
  "display_name": "Jane Doe",
  "balance": 15000,
  "held_balance": 2500,
  "available_balance": 12500,
  "currency": "USD",
  "request_id": "req_def456"
}

Record a Sale

POST/v1/record-sale

Record a completed sale. Splits revenue between participant and platform based on configured rates.

Request

curl -X POST https://api.soledgic.com/v1/record-sale \
  -H "x-api-key: slk_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "reference_id": "order_12345",
    "amount": 5000,
    "currency": "USD",
    "participant_id": "creator_001",
    "description": "Digital product sale",
    "metadata": {
      "product_id": "prod_abc",
      "customer_email": "buyer@example.com"
    }
  }'

Response

{
  "success": true,
  "transaction_id": "txn_uuid_here",
  "reference_id": "order_12345",
  "amount": 5000,
  "status": "completed",
  "request_id": "req_ghi789"
}

Wallets

GET/v1/wallets

List all wallet accounts in your ledger.

Request

curl https://api.soledgic.com/v1/wallets \
  -H "x-api-key: slk_test_YOUR_KEY"

Response

{
  "wallets": [
    {
      "id": "wallet_uuid",
      "entity_id": "user_123",
      "balance": 2000,
      "currency": "USD",
      "is_active": true
    }
  ],
  "request_id": "req_jkl012"
}
POST/v1/wallets/{id}/deposits

Credit funds to a user’s wallet.

Request

curl -X POST https://api.soledgic.com/v1/wallets/user_123/deposits \
  -H "x-api-key: slk_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 1000,
    "reference_id": "dep_001",
    "description": "Wallet top-up"
  }'

Response

{
  "success": true,
  "transaction_id": "txn_uuid",
  "balance": 3000,
  "request_id": "req_mno345"
}
POST/v1/wallets/{id}/withdrawals

Debit funds from a user’s wallet. Fails if insufficient balance.

Request

curl -X POST https://api.soledgic.com/v1/wallets/user_123/withdrawals \
  -H "x-api-key: slk_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 500,
    "reference_id": "wd_001",
    "description": "Payout withdrawal"
  }'

Response

{
  "success": true,
  "transaction_id": "txn_uuid",
  "balance": 2500,
  "request_id": "req_pqr678"
}

Refunds

POST/v1/refunds

Refund a previously recorded sale. Supports full and partial refunds.

Request

curl -X POST https://api.soledgic.com/v1/refunds \
  -H "x-api-key: slk_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "original_sale_reference": "order_12345",
    "reason": "Customer requested refund",
    "amount": 2500
  }'

Response

{
  "success": true,
  "refund_id": "txn_uuid",
  "amount": 2500,
  "status": "completed",
  "request_id": "req_stu901"
}

Payouts

POST/v1/execute-payout

Send funds to a participant’s bank account via ACH.

Request

curl -X POST https://api.soledgic.com/v1/execute-payout \
  -H "x-api-key: slk_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "action": "execute",
    "payout_id": "payout_uuid"
  }'

Response

{
  "success": true,
  "payout_id": "payout_uuid",
  "status": "pending",
  "rail": "ach",
  "request_id": "req_vwx234"
}

Checkout

POST/v1/checkout-sessions

Create a hosted checkout session for accepting payment.

Request

curl -X POST https://api.soledgic.com/v1/checkout-sessions \
  -H "x-api-key: slk_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 3500,
    "currency": "USD",
    "participant_id": "creator_001",
    "reference_id": "checkout_001",
    "success_url": "https://yoursite.com/success",
    "cancel_url": "https://yoursite.com/cancel"
  }'

Response

{
  "success": true,
  "session_id": "cs_uuid",
  "checkout_url": "https://pay.soledgic.com/cs_uuid",
  "request_id": "req_yza567"
}

Transactions

GET/v1/get-transactions

Query transactions with optional filters.

Request

curl "https://api.soledgic.com/v1/get-transactions?limit=20&type=sale&status=completed" \
  -H "x-api-key: slk_test_YOUR_KEY"

Response

{
  "transactions": [
    {
      "id": "txn_uuid",
      "transaction_type": "sale",
      "amount": 5000,
      "status": "completed",
      "reference_id": "order_12345",
      "created_at": "2026-04-27T12:00:00Z"
    }
  ],
  "count": 1,
  "request_id": "req_bcd890"
}

Reports

GET/v1/trial-balance

Retrieve debit/credit balances for all accounts.

Request

curl https://api.soledgic.com/v1/trial-balance \
  -H "x-api-key: slk_test_YOUR_KEY"

Response

{
  "accounts": [
    {
      "name": "Cash",
      "account_type": "asset",
      "debit_balance": 50000,
      "credit_balance": 0
    },
    {
      "name": "Creator Balance (creator_001)",
      "account_type": "liability",
      "debit_balance": 0,
      "credit_balance": 15000
    }
  ],
  "total_debits": 50000,
  "total_credits": 50000,
  "balanced": true,
  "request_id": "req_efg123"
}