Get started with Verso API by running a complete payroll calculation. This guide walks you through the entire workflow from user creation to retrieving detailed pay results.
Route Pattern
All API endpoints use the Partner route pattern: /partners/{partnerId}/tenants/{tenantId}/{resource}. See Authentication for details.
Multi-Tenant Architecture
You can manage multiple tenants (clients) using the same API key. Simply change the tenantId in the URL to switch between clients. Each tenant's data is completely isolated.
Prerequisites
Before you begin, ensure you have:
- Partner Account: Your Partner ID provided by Verso (e.g.,
5) - API Key: Bearer token linked to your Partner ID
- Tenant Registration: You've registered at least one tenant (see Authentication)
- HTTP Client: cURL, Postman, or any REST client
Example identifiers used in this guide:
- Partner ID:
5 - Tenant ID:
10 - Division ID:
3(provided with credentials) - Payroll ID:
3(provided with credentials)
First Time Setup
Step 0 shows how to register a tenant to your partner account. This is only needed once per client - after that, you can skip to Step 1 for subsequent payruns.
Download our Postman Collection to test the complete workflow with pre-configured requests.
Complete Workflow
Step 0: Register a Tenant
First, register a new tenant (client) to your partner account:
Register a Tenant
Response:
Code
This step is only needed once per client. The externalId is optional but recommended to map your internal client ID to Verso's tenant ID.
Step 1: Create a User
Create a user who will manage payroll operations:
Create User
Response:
Code
Save the id value (e.g., 7) for subsequent requests.
Step 2: Create an Employee
Create an employee and assign them to a division:
Create Employee
Response:
Code
Save the id value (e.g., 2) for subsequent requests.
Step 3: Add Employee Case Values
Add all payroll data for the employee using the simplified flat format:
Add Case Values
Forecast Mode
We use forecast: "quickstart-test" to run a simulation without affecting official payroll records. Remove this field when running real payroll. See Real vs Forecast Mode.
Step 4: Start the Payrun Job
Launch the payroll calculation:
Start Payrun
Response:
Code
Save the id value (e.g., 8) for retrieving results.
Step 5: Get Detailed Results
Retrieve the complete wage type breakdown:
Get Results
Pagination for Large Batches
For payrun jobs with many employees (100+), use pagination to avoid timeouts:
Code
Response:
Code
Key Results:
- SalaireBase (100): Gross salary = 151.67 hours × 12.50 €/hour = 1,895.88 €
- TotalCotisationsSalariales (910): Employee social contributions deducted from salary
- TotalCotisationsPatronales (920): Employer social contributions (paid by company)
- NetAPayer (990): Final net salary to pay the employee: 1,862.45 €
Workflow Summary
| Step | Method | Endpoint | Purpose |
|---|---|---|---|
| 0 | POST | /partners/{partnerId}/tenants | Register a tenant |
| 1 | POST | /partners/{partnerId}/tenants/{tenantId}/users | Create a user |
| 2 | POST | /partners/{partnerId}/tenants/{tenantId}/employees | Create an employee with division |
| 3 | POST | /partners/{partnerId}/tenants/{tenantId}/payrolls/{id}/cases | Add case values (with forecast mode) |
| 4 | POST | /partners/{partnerId}/tenants/{tenantId}/payruns/jobs | Start payrun calculation |
| 5 | GET | /partners/{partnerId}/tenants/{tenantId}/payrollresults/sets?payrunJobId={id} | Get wage type details |
Next Steps
- Authentication - Learn about API authentication methods
- Case Fields Reference - Complete list of available fields
- Real vs Forecast Mode - Learn when to use forecast for testing vs real mode for production
- API Reference - Explore all available endpoints