Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.venlyfinance.com/llms.txt

Use this file to discover all available pages before exploring further.

Venly Finance offers two separate products — Fundflow API for multi-rail payment orchestration, and Finance API for embedded financial infrastructure. Both use OAuth2 client credentials for authentication.

Step 1 — Get your credentials

Your Client ID and Client Secret are provisioned by Venly and sent to you directly. If you haven’t received them, contact support@venly.io.
Use your staging credentials while testing. Staging calls do not move real funds.

Step 2 — Get an access token

Exchange your credentials for a short-lived Bearer token:
curl -X POST https://login-staging.venly.io/auth/realms/VenlyFinance/protocol/openid-connect/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials" \
  -d "client_id=YOUR_CLIENT_ID" \
  -d "client_secret=YOUR_CLIENT_SECRET"
Response:
{
  "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...<redacted>",
  "expires_in": 300,
  "refresh_expires_in": 0,
  "token_type": "Bearer",
  "not-before-policy": 0,
  "scope": "email profile"
}
Tokens expire after 5 minutes (300 seconds). Implement token refresh logic in your client so requests don’t fail mid-session.
Copy the access_token — you’ll pass it as a Bearer token in every subsequent request.

Step 3 — First Fundflow API call

Call GET /v1/company to confirm your Fundflow credentials are working and check your KYB verification status:
curl -X GET https://api-fundflow-staging.venly.io/v1/company \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json"
A successful response:
{
  "result": {
    "id": "b7e2c1a3-4d5f-6e7a-8b9c-0d1e2f3a4b5c",
    "name": "Your Company",
    "kybStatus": "VERIFIED"
  },
  "success": true
}
kybStatus: VERIFIED means your company is approved to create ramp requests. If it shows PENDING, KYB review is still in progress — contact support@venly.io.

Step 4 — First Finance API call

Call POST /v1/parties to create your first party — the foundational record that will hold accounts and wallets:
curl -X POST https://api-staging.venlyfinance.com/v1/parties \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "partyType": "INDIVIDUAL",
    "firstName": "Jane",
    "lastName": "Doe",
    "idempotencyKey": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }'
A successful 201 response:
{
  "success": true,
  "result": {
    "id": "f3a2b1c4-8d9e-4f5a-b6c7-d8e9f0a1b2c3",
    "partyType": "INDIVIDUAL",
    "firstName": "Jane",
    "lastName": "Doe",
    "status": "ACTIVE",
    "kycStatus": "PENDING"
  }
}
Save the returned id — you’ll use it to create an account and assign wallets in the next steps.
Supply a unique idempotencyKey in the request body on relevant endpoints. If the request is retried due to a network failure, the Finance API will return the original response instead of creating a duplicate.

Next Steps

Full Integration Guide

Set up bank accounts, wallets, and create your first ramp request

Authentication

Token refresh, environment switching, and credential security

Fundflow API Reference

Ramp requests, wallets, fees, currencies, and more

Finance API Reference

Parties, accounts, wallets, transfers, and IBANs