Create a company

As a Reseller you can create a new company (customer) via the API — this is the programmatic way to onboard a new customer. No Company ID is needed for creation; the new company is created under your Reseller account. Use a credential with Client Role = Reseller. After creation, use the returned company resourceId for license configuration, company groups, and scoped API calls (e.g. X-KEEPNET-Company-Id).


POST /api/companies

Creates a new company. The request uses multipart/form-data. Required form fields include: Name, CountryResourceId, DateFormat, IndustryResourceId, LicensePeriodTypeResourceId, LicenseTypeResourceId, NumberOfUsers, TimeFormat, TimeZoneId. Optional: Description, Address, WebsiteUrl, LicenseModuleResourceIdArray, LicenseStartDate, LicenseEndDate, CompanyGroupResourceIdArray, and others. Reference IDs (country, industry, license type, etc.) are platform-specific — use valid values from your environment or see Endpoints → Company for the full schema.

Test it: Endpoints → CompanyCreates a new company. Use dummy data (H8d): e.g. name "Acme Corp", placeholder resource IDs for country, industry, license type, etc.

Creates a new company

post
chevron-right
lockRequired scopes
This endpoint requires the following scopes:
  • : API
Authorizations
OAuth2clientCredentialsRequired

Client ID and Client Secret from Company → Company Settings → REST API. Enter credentials to auto-fetch token.

Token URL:
Body
Filestring · binaryOptional
Namestring · max: 64Required
Descriptionstring · max: 300Optional
IndustryResourceIdstringRequired
CountryResourceIdstringRequired
Addressstring · max: 200Optional
WebsiteUrlstring · max: 2000Optional
LicenseTypeResourceIdstringRequired
LicenseModuleResourceIdArraystring[]Optional
LicensePeriodTypeResourceIdstringRequired
LicenseStartDatestring · date-timeOptional
LicenseEndDatestring · date-timeOptional
IsNumberOfUsersLimitedbooleanOptional
NumberOfUsersinteger · int32Required
NotificationTemplateTypeResourceIdstringOptional
TrainingContentTypeResourceIdstringOptional
SmtpConfigurationTypeResourceIdstringOptional
PreferredLanguageTypeResourceIdstringOptional
IsVersionVisiblebooleanOptional
IsReleaseNotesVisiblebooleanOptional
ReleaseNotesUrlstring · max: 2000Optional
CompanyGroupResourceIdArraystring[]Optional
BaseManHourCostinteger · int32Optional
BaseManHourinteger · int32Optional
StatusIdinteger · int32Optional
TimeZoneIdstringRequired
DateFormatstringRequired
TimeFormatstringRequired
CallBackNumberBookingCountinteger · int32Optional
Tagsstring[]Optional
Responses
chevron-right
200

OK

application/json
statusstringOptional
messagestring · nullableOptional
validationMessagesstring[] · nullableOptional
post
/api/companies
200

OK

Example (conceptual — actual request is multipart/form-data): Name Acme Corp, NumberOfUsers 100, and valid CountryResourceId, IndustryResourceId, LicenseTypeResourceId, LicensePeriodTypeResourceId, DateFormat, TimeFormat, TimeZoneId from your platform. Response includes the new company's resourceId — use it as Company ID in subsequent API calls and in the optional steps below.


PUT /api/companies/{resourceId}

Update the new company's details or license (type, user limit, expiry). Replace {resourceId} with the company ID from the create response.

keepnet-api-spec.jsonarrow-up-right


PUT /api/company-groups/{resourceId}/participants

Optional. Add the new company to a group. Replace the first {resourceId} with the group ID; send in the body the list of company resource IDs (including the new company). See List and manage company groups →.

Adds companies in the given array to a company group

put
chevron-right
lockRequired scopes
This endpoint requires the following scopes:
  • : API
Authorizations
OAuth2clientCredentialsRequired

Client ID and Client Secret from Company → Company Settings → REST API. Enter credentials to auto-fetch token.

Token URL:
Path parameters
resourceIdstringRequired

ResourceId of the Company Group which the companies will be added

Body
companyResourceIdArraystring[] · nullableOptional

Array of company resourceIds will be added to the group

Responses
chevron-right
200

OK

application/json
statusstringOptional
messagestring · nullableOptional
validationMessagesstring[] · nullableOptional
put
/api/company-groups/{resourceId}/participants
200

OK


Common errors

  • 403 Forbidden — Credential is not Reseller. Set Client Role = Reseller in Company → Company Settings → REST API. Roles and permissions →

  • 401 Unauthorized — Missing or invalid token. Request a new token via POST /connect/token.

  • 400 Bad Request — Invalid or missing required form fields. Check Endpoints → Company for the full request schema (multipart/form-data).

Related: Scope API requests to a customer →. List companies with license details → to see the new company after creation.

circle-info

Platform UI: Create companies and manage REST API credentials in Company → Company Settings → REST API. REST API Settings →

Last updated