Getting Started
This guide will walk you through setting up your account, creating your first tenant organization, and making your first API calls to our ledger service.
Prerequisites
Before you begin, you'll need:
- A valid email address for account registration
- Basic understanding of REST APIs
- A tool for making HTTP requests (curl, Postman, or your favorite HTTP client)
Step 1: Create Your Account
First, register for an account on our platform:
curl -X POST https://api.sandbox.whocomply.com/v1/auth/register \
-H "Content-Type: application/json" \
-d '{
"email": "admin@yourfintech.com",
"password": "YourSecurePassword123!",
"first_name": "John",
"last_name": "Doe"
}'
- Name
email- Type
- string
- Description
Your email address - this will be your login username
- Name
password- Type
- string
- Description
A secure password (minimum 8 characters)
- Name
first_name- Type
- string
- Description
Your first name
- Name
last_name- Type
- string
- Description
Your last name
Expected Response
{
"success": true,
"data": {
"user": {
"id": "user_abc123",
"email": "admin@yourfintech.com",
"first_name": "John",
"last_name": "Doe",
"status": "active",
"created_at": "2025-01-15T10:30:00Z"
}
},
"message": "User registered successfully"
}
Step 2: Login and Get Your JWT Token
Once registered, login to get your authentication token:
curl -X POST https://api.sandbox.whocomply.com/v1/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "admin@yourfintech.com",
"password": "YourSecurePassword123!"
}'
Save Your Token
{
"success": true,
"data": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": {
"id": "user_abc123",
"email": "admin@yourfintech.com",
"first_name": "John",
"last_name": "Doe"
}
},
"message": "Login successful"
}
Important: Save the JWT token from the response. You'll need it for all authenticated requests. Tokens expire after 24 hours.
Step 3: Create Your Organization (Tenant)
Now create your organization/tenant. This is where all your ledger data will be isolated:
curl -X POST https://api.sandbox.whocomply.com/v1/tenants \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Your Fintech Limited",
"slug": "your-fintech",
"business_type": "wallet"
}'
- Name
name- Type
- string
- Description
Your company or organization name
- Name
slug- Type
- string
- Description
A URL-friendly identifier (lowercase, hyphens allowed)
- Name
business_type- Type
- string
- Description
Type of business:
wallet,exchange,lending,payment_processor, orother
Tenant Created Successfully
{
"success": true,
"data": {
"tenant": {
"id": "tenant_xyz789",
"name": "Your Fintech Limited",
"slug": "your-fintech",
"business_type": "wallet",
"status": "active",
"created_at": "2025-01-15T10:35:00Z"
}
},
"message": "Tenant created successfully"
}
Data Isolation: Each tenant gets its own database schema, ensuring complete data separation and security.
Step 4: Generate API Keys
For production integrations, you'll want to use API keys instead of JWT tokens:
curl -X POST https://api.sandbox.whocomply.com/v1/tenants/tenant_xyz789/api-keys \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "production-backend",
"scopes": ["transactions:write", "accounts:read", "balances:read"]
}'
- Name
name- Type
- string
- Description
A descriptive name for this API key
- Name
scopes- Type
- array
- Description
Array of permission scopes for this key
Available Scopes
| Scope | Description |
|---|---|
transactions:read | Read transaction history |
transactions:write | Create and post transactions |
accounts:read | Read account information |
accounts:write | Create and modify accounts |
balances:read | Query account balances |
reports:read | Generate reports |
webhooks:manage | Manage webhook configurations |
API Key Response
{
"success": true,
"data": {
"api_key": {
"id": "key_def456",
"name": "production-backend",
"key": "lsk_live_abc123def456...",
"scopes": ["transactions:write", "accounts:read", "balances:read"],
"created_at": "2025-01-15T10:40:00Z"
}
},
"message": "API key created successfully"
}
Security: API keys are only shown once when created. Store them securely - we only keep hashed versions on our servers.
Step 5: Test Your Setup
Verify everything is working by fetching your user profile:
curl -X GET https://api.sandbox.whocomply.com/v1/user \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
And list your tenants:
curl -X GET https://api.sandbox.whocomply.com/v1/tenants \
-H "Authorization: Bearer YOUR_JWT_TOKEN"
What's Next?
🎉 Congratulations! You've successfully set up your account and tenant organization. Here's what you can do now:
Currently Available
- User Management: Invite team members and manage permissions
- Tenant Settings: Configure your organization settings
- API Key Management: Create additional API keys with different scopes
- **[A]
Coming Soon (Q1 2025)
- Account Management: Create and manage your chart of accounts
- Transaction Processing: Post transactions and maintain double-entry books
- Balance Queries: Real-time balance lookups and reporting
- Webhook Events: Get notified of important events in real-time
Join the Beta Program
Want early access to our transaction processing features? Email us at beta@whocomply.com with:
- Your tenant ID
- Your use case and expected transaction volume
- Any specific requirements for your business
Need Help?
Our team is here to help you succeed. Reach out at support@whocomply.com if you have any questions.