Manage Organization Users via API
Organization administrators can add and manage members programmatically using the Chorvia API — ideal for syncing from your HR system, an internal tool, or an onboarding script.
1. Generate an API Key
API access is available to organization administrators only. To create a key:
- Log in to your organization admin account
- Go to Settings → API Access (or visit
/org/api-key) - Click Generate API Key
- Copy the key immediately — it is shown only once and stored only as a hash
Keep it secret. Anyone with your key can manage your organization's members. If a key is exposed, generate a new one (which revokes the old key) or delete it from the same page.
2. Authentication
Send your key with every request using either header:
Authorization: Bearer chv_your_api_key
X-API-Key: chv_your_api_key3. Check Your Organization & Seats
GET /api/org/me returns your organization's identity and current seat usage. Use it to confirm your key and check remaining capacity before adding members.
curl https://chorvia.com/api/org/me \
-H "Authorization: Bearer chv_your_api_key"Example response:
{
"organizationId": "clx123...",
"name": "Acme Inc",
"subscriptionStatus": "active",
"expiresAt": null,
"seats": { "limit": 50, "used": 12, "remaining": 38 }
}4. Add a Single Member
POST /api/org/create-member adds one member to your organization. You do not need to pass your organization id — it is taken from your API key. If the email already belongs to an existing Chorvia user, that user is added to your organization; otherwise a new account is created with the details you provide.
curl -X POST https://chorvia.com/api/org/create-member \
-H "Authorization: Bearer chv_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"email": "jane@acme.com",
"firstName": "Jane",
"lastName": "Smith",
"password": "a-temporary-password",
"gender": "female",
"dateOfBirth": "1990-05-14"
}'Fields:
- email (required)
- firstName, lastName, password, gender, dateOfBirth — required when creating a brand-new member; not needed when adding an email that already has a Chorvia account
- organizationId (optional) — defaults to your organization. If provided it must match your own organization, or the request is rejected
5. Invite Many Members at Once
POST /api/org/bulk-import/create creates invitations for up to 100 people in one call. Each person receives an email invitation (valid for 7 days) to set their own password.
curl -X POST https://chorvia.com/api/org/bulk-import/create \
-H "Authorization: Bearer chv_your_api_key" \
-H "Content-Type: application/json" \
-d '{ "users": [
{ "email": "a@acme.com", "firstName": "Ann", "lastName": "Lee", "gender": "female", "age": 34 },
{ "email": "b@acme.com", "firstName": "Bo", "lastName": "Ng", "gender": "male", "age": 41 }
] }'Member Limits & Billing
- If your organization has a member limit, API calls that would exceed it are rejected with a
403. Check remaining seats withGET /api/org/me. - Members added via the API are covered by your organization's subscription automatically — they are billing-exempt and never billed individually.
Response Codes
200 / 201— success401— missing or invalid API key403— member limit reached, or anorganizationIdthat isn't yours409— the user is already a member of an organization400— missing or invalid fields
Prefer a no-code option? You can add members individually or via CSV/Excel from your dashboard — see Managing Team Members and Bulk Import Members.