Skip to main content
Manage users (employees, approvers, administrators, and consultants) within an organization through the Findity Admin API.

Key Concepts

A user represents a person within a Findity organization. Users can create expenses, approve expense reports, administer organization settings, or access bookkeeping data — depending on their assigned role. Key properties of a user include:
Always use the externalId endpoints (/organizations/externalid/{externalId}/users/). The internalId variants (/organizations/{internalId}/users/) are legacy and will be phased out.

API Endpoints

All endpoints are available under the Admin API base URL:
The following operations are available:

Required Headers

Include these headers with every request:

Step 1 — List Users

Retrieve all users belonging to an organization.
bash
This returns an array of user objects. Use this to discover existing users before creating new ones or to verify sync state.

Step 2 — Create or Update Users

Create new users or update existing ones by sending a PUT request. The endpoint performs an upsert based on externalSourceId — if a user with that ID exists, it is updated; otherwise, a new user is created.
bash
The request body accepts an array of user objects, allowing you to sync multiple users in a single call.

Query Parameters

If you create users without sending invitation emails immediately, set sendInvitationEmail=false on the request.
bash

Request Body Properties

Example: Create New Users

Example: Update an Existing User

When updating, include the externalSourceId to match the existing user. Include only the fields you want to change.

Step 3 — Get a User

Retrieve a single user by their external ID.
bash

Step 4 — Delete a User

Remove a user from an organization by their external ID.
bash
Deleting a user removes their access to the organization. Existing expense reports created by the user are retained, but the user can no longer log in or create new expenses.

User Types

Findity supports several user roles, each with different permissions:

Department Assignment

Assign a user to a department by setting the organizationalUnitId field to the department’s id from the organization structure.
  1. Call GET /organizations/externalid/{externalId}/organizationalunits/ to retrieve the department tree
  2. Find the target department’s id in the response
  3. Set organizationalUnitId to that id when creating or updating the user
Department assignment determines:
  • Which approver reviews the user’s expense reports (when approval is based on organization structure)
  • Which preset dimension values auto-fill from the DEPARTMENT preset location
  • How the user appears in organizational reporting
If you change a user’s department, their future expense reports use the new department’s approval chain. Existing submitted reports continue through the approval chain that was active at the time of submission.

Dimension Presets on Users

When a dimension has presetLocation set to EMPLOYEE, the preset value is pulled from the user’s dimensionPresets array. This auto-fills dimension fields when the user creates an expense, reducing manual data entry. Each preset entry links a dimension’s externalSourceId to a specific dimension value:
Whether the user can override these values depends on the dimension’s userOverridable setting.

Common Integration Patterns

When onboarding new employees from your HR system:
  1. Call GET /organizations/externalid/{externalId}/organizationalunits/ to retrieve the department structure and find the target organizationalUnitId
  2. Call PUT /organizations/externalid/{externalId}/users/ with an array of new user objects, each containing externalSourceId, firstName, lastName, email, and organizationalUnitId
  3. Set dimensionPresets for each user if your dimensions use EMPLOYEE preset location (e.g., cost center per employee)
  4. After creation, the users can log in and start creating expenses
To keep user data in sync with your HR system on a schedule:
  1. Export the current employee list from your HR system
  2. Call PUT /organizations/externalid/{externalId}/users/ with the full list — the endpoint upserts based on externalSourceId, creating new users and updating existing ones
  3. Update organizationalUnitId for any department transfers
To grant a consultant access to multiple organizations:
  1. Create the consultant user in each organization separately, using the same email across all organizations
  2. Set the appropriate role for consultant access — consultants can view bookkeeping data but cannot create private expenses
  3. The consultant logs in once and can switch between organizations in the Findity interface
Configure expense report approval using dimensions for maximum flexibility. Department-based approval is being phased out in favor of dimension-based approval.
  1. Activate approval in the admin web client
  2. Create a dimension for approval routing (e.g., DEPARTMENT or COST_CENTER) — see Dimensions
  3. Add approvers to the relevant dimension values, each with a personId referencing the approver’s user
  4. Set dimensionPresets on each user to assign them to the correct dimension value — their expense reports are automatically routed to the approvers configured on that value
  5. For multi-step approval, set sortOrder on each approver entry and optionally configure amountLimit thresholds

Next step

Last modified on August 31, 2026