# EasyFreelance API ## Docs - [Idempotens](https://apidoc.easyfreelance.no/Idempotens.md) - [Verifisering (KYC / ID)](https://apidoc.easyfreelance.no/Verifisering.md) - [Current terms metadata (global)](https://apidoc.easyfreelance.no/api-reference/partnerterms/current-terms-metadata-global.md) - [Same as GET /terms](https://apidoc.easyfreelance.no/api-reference/partnerterms/same-as-get-terms.md) - [Set terms approved flag for an employee](https://apidoc.easyfreelance.no/api-reference/partnerterms/set-terms-approved-flag-for-an-employee.md): Set whether the employee has accepted the current terms of service (`approved: true` records approval; `false` withdraws it). Updates the onboarding **terms** step for that user. The response includes current terms metadata and **`changed`** when the stored value was updated. - [Terms approval status for an employee](https://apidoc.easyfreelance.no/api-reference/partnerterms/terms-approval-status-for-an-employee.md) - [Create payouts (shared invoice) for one or more employees](https://apidoc.easyfreelance.no/api-reference/payout/create-payouts-shared-invoice-for-one-or-more-employees.md): Each item in `payouts` must include exactly one of `user_id`, `phone`, or `ssn`. Optional header `Idempotency-key` (UUID) is stored after successful creation; reuse returns 400. - [Magic link that logs in the employee and redirects to the payout page](https://apidoc.easyfreelance.no/api-reference/payout/magic-link-that-logs-in-the-employee-and-redirects-to-the-payout-page.md) - [Paginated payouts for one employee](https://apidoc.easyfreelance.no/api-reference/payout/paginated-payouts-for-one-employee.md) - [Paginated payouts for the partner (all employees)](https://apidoc.easyfreelance.no/api-reference/payout/paginated-payouts-for-the-partner-all-employees.md) - [Single payout by ID](https://apidoc.easyfreelance.no/api-reference/payout/single-payout-by-id.md) - [Create or link an employee by email](https://apidoc.easyfreelance.no/api-reference/user/create-or-link-an-employee-by-email.md): If the email **already exists**, the user is linked to the partner (`EmployeeVerification`) and returned. Only `email` and `internal_id` apply on that path; other body fields are not used. If the email is **new**, a user is created. Optional **bank account** fields can be supplied for payouts. Other… - [Create or update national/international identity for employee](https://apidoc.easyfreelance.no/api-reference/user/create-or-update-nationalinternational-identity-for-employee.md) - [Paginated list of employees for this partner](https://apidoc.easyfreelance.no/api-reference/user/paginated-list-of-employees-for-this-partner.md) - [Partial update (profile, note, bank, internal_id)](https://apidoc.easyfreelance.no/api-reference/user/partial-update-profile-note-bank-internal_id.md): Partially update an **existing** employee linked to your partner. **Include only the fields you want to change** — the server applies updates from the request body and does **not** overwrite stored profile, bank, note, or `internal_id` values for properties you omit (subject to validation rules). **… - [Replace user profile (full set of required fields)](https://apidoc.easyfreelance.no/api-reference/user/replace-user-profile-full-set-of-required-fields.md): Registers a full **profile** for the linked employee (name, address, phone, main work). This is the intended way to complete the **profile** onboarding step via the partner API; the `onboarding` payload on GET `/users/{id}` reflects progress. - [Resolve employee by exactly one identifier](https://apidoc.easyfreelance.no/api-reference/user/resolve-employee-by-exactly-one-identifier.md): Provide exactly one of `user_id`, `phone`, or `ssn`. Response matches GET `/users/{id}`. - [Signed login URL for employee (24h TTL)](https://apidoc.easyfreelance.no/api-reference/user/signed-login-url-for-employee-24h-ttl.md): Optional body `send_email` triggers the same email flow as manual magic link. - [Single employee by ID](https://apidoc.easyfreelance.no/api-reference/user/single-employee-by-id.md) - [Poll verification session status](https://apidoc.easyfreelance.no/api-reference/verificationflow/poll-verification-session-status.md): Returns the current state of a verification session. **`verificationSession` must be the `verification_id` (UUID) from `POST /users/{id}/verification/flows`. - [Start Veriff or BankID verification for an employee](https://apidoc.easyfreelance.no/api-reference/verificationflow/start-veriff-or-bankid-verification-for-an-employee.md): Creates a verification session for the given employee (`id`). **Intended usage:** - [Register a partner return URL for verification (pending admin approval)](https://apidoc.easyfreelance.no/api-reference/verificationreturnurlrequest/register-a-partner-return-url-for-verification-pending-admin-approval.md): Submits a request to register a URL for use as `partner_return_url` in verification flows. The **201** body includes **`requested_url`** (canonical string stored for this request) and **`status`** — **201 does not mean the URL is already approved**; wait until `status` is approved before relying on… - [Autentisering](https://apidoc.easyfreelance.no/autentisering.md) - [Feilmeldinger](https://apidoc.easyfreelance.no/feilmeldinger.md) - [Onboarding](https://apidoc.easyfreelance.no/onboarding.md) - [Paginering](https://apidoc.easyfreelance.no/paginering.md) ## OpenAPI Specs - [easyfreelance-partner-api-merged](https://apidoc.easyfreelance.no/easyfreelance-partner-api-merged.yaml) - [easyfreelance-partner-api-mintlify-fixed2](https://apidoc.easyfreelance.no/easyfreelance-partner-api-mintlify-fixed2.yaml)