Skip to main content
POST
/
partner
/
organizations
Provision an organization
curl --request POST \
  --url https://api.kelviq.com/api/v1/partner/organizations/ \
  --header 'Content-Type: application/json' \
  --header 'X-Kelviq-Partner-Key: <api-key>' \
  --data '
{
  "externalId": "acme-corp",
  "email": "owner@acme.example.com",
  "businessName": "Acme Corp"
}
'
{
  "userId": 4271,
  "organizationIdentifier": "8e1d7b1a-6c4d-4e3a-9b2d-3f6e4c2b1ad0",
  "organizationSlug": "acme-corp",
  "clientKey": "ck_live_a1b2c3d4e5f6",
  "serverKey": "sk_live_9z8y7x6w5v4u",
  "partnerExternalId": "acme-corp"
}

Documentation Index

Fetch the complete documentation index at: https://docs.kelviq.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

X-Kelviq-Partner-Key
string
header
required

Partner integration secret issued by kelviq. Send the raw secret (prefixed kvqp_) in the X-Kelviq-Partner-Key header on every partner API request.

Body

application/json

Payload to provision a new organization on behalf of a partner. The owner user is created (or an error is returned if the email is already taken), an organization is set up, API keys are issued, and a welcome / set-password email is sent to the user.

externalId
string
required

Partner-side identifier for this organization. Must be unique within the partner. Used later by GET /partner/organizations/by-external-id/{externalId}/.

Maximum string length: 128
Example:

"acme-corp"

email
string<email>
required

Email address of the organization owner. Must not match any existing kelviq user.

Example:

"owner@acme.example.com"

businessName
string

Optional business name for the organization. If provided, the organization's name and slug are set from this value (slug is auto-deduplicated).

Maximum string length: 200
Example:

"Acme Corp"

Response

Organization provisioned.

Organization owned by a partner. Returned by all partner organization endpoints.

userId
integer | null

Internal kelviq user ID of the organization owner.

Example:

4271

organizationIdentifier
string<uuid>

Stable UUID identifier for the organization.

Example:

"8e1d7b1a-6c4d-4e3a-9b2d-3f6e4c2b1ad0"

organizationSlug
string | null

URL-safe slug for the organization.

Example:

"acme-corp"

clientKey
string | null

Public client key for the organization's API integration.

Example:

"ck_live_a1b2c3d4e5f6"

serverKey
string | null

Private server key for the organization. Treat as a secret.

Example:

"sk_live_9z8y7x6w5v4u"

partnerExternalId
string | null

Partner-side identifier supplied at provisioning time.

Example:

"acme-corp"