For developers
EasyFreelance Partner API
A REST API for partners that want to create contractors, take them through onboarding and verification, and send payouts on a consolidated invoice – without going via the Web Panel.
Two environments
All endpoints are located under /api/v1. You get separate API keys and tokens for production and test, so an integration can be run to completion against the test environment before it goes live.
curl --location --request GET 'https://test.easyfreelance.no/api/v1/users?page=1&page_size=25' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <token>' \ --header 'API-key: <api-key>'
How to get started
Get keys in the Web Panel
Under the partner account's API settings, generate a token and an API key. Both are sent with every single request, and you get one set per environment.
Create or link a contractor
POST /userswith an email address. If the email already exists, the existing user is linked to your partner account instead of a new one being created.Take the contractor through onboarding
Terms, profile, bank account and ID verification. The field
onboardingon the user shows at any time what remains.Send payouts
POST /payoutsaccepts one or more payouts and collects them on a single invoice to you. UseIdempotency-keyso that a repeated request does not create duplicates.
Documentation
Start here if you are building the integration from scratch.
Authentication
Bearer token and API key in every request. Separate keys for production and test.
Error messages
Status codes, error objects and how validation errors are structured.
Pagination
page and page_size on all endpoints that return lists.
Idempotency
Safe retries with Idempotency-key – especially for payouts.
Onboarding
The five steps a contractor must complete before you can pay out.
Verification (KYC / ID)
Veriff and BankID – from approved return URL to terminal status.
Reference
All endpoints, grouped as they are grouped in the OpenAPI specification.
Users
Create, link, update and look up contractors.
8 endpointsPayouts
Create payouts on a consolidated invoice and fetch the status.
5 endpointsTerms
Current terms and acceptance per contractor.
4 endpointsVerification
Return URLs, verification sessions and status lookups.
4 endpointsWebhooks
employee.verified – outgoing call when verification is complete.
Rate limiting
Authenticated partner traffic shares one rolling limit per API identity: 500 requests per minute across all /api/v1-routes. There are no separate per-endpoint limits – polling, login links, terms updates and everything else draw on the same budget.
If the limit is exceeded, the API responds with 429 Too Many Requests. The response may include the header Retry-After with the number of seconds until you can try again. Implement exponential backoff in your client, and avoid polling verification status more often than every 2–5 seconds.
Need help?
Send an email to [email protected] with your partner name and preferably verification_id or user ID if the question concerns a specific contractor.