Get a company
As a Reseller you can retrieve a single company you manage by its ID to view full details (license, settings, etc.). Get the company resourceId from the companies list, then call GET /api/companies/{resourceId}. Use a credential with Client Role = Reseller.
POST /api/companies/search
Get the company's resourceId by calling this endpoint; use it in the next step as {resourceId}.
Retrieves a paginated list of all companies you manage with license details. Each item includes
resourceId— use it as the Company ID. Test it: Authorize with Client ID/Secret, then Send — request body is pre-filled.
- : API
Client ID and Client Secret from Company → Company Settings → REST API. Enter credentials to auto-fetch token.
110CreateTimefalseIf true, only companies exceeding license limit are returned
falseOK
POST /api/companies/search HTTP/1.1
Host: api.keepnetlabs.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 126
{
"pageNumber": 1,
"pageSize": 10,
"orderBy": "CreateTime",
"ascending": false,
"filter": {
"Condition": "AND",
"SearchInputTextValue": ""
}
}OK
{
"data": {
"limitExceededCompanyCount": 1,
"pageNumber": 1,
"pageSize": 1,
"totalNumberOfPages": 1,
"totalNumberOfRecords": 1,
"results": [
{
"companyName": "text",
"companyResourceId": "text",
"resellerName": "text",
"industryName": "text",
"industryResourceId": "text",
"licenseTypeName": "text",
"licenseTypeResourceId": "text",
"isNumberOfUsersLimited": true,
"numberOfUsers": "text",
"privacyDurationId": 1,
"licenceExpired": true,
"licenseEndDate": "2026-01-01T00:00:00.000Z",
"createTime": "2026-01-01T00:00:00.000Z",
"targetUserCount": 1,
"children": [
{
"companyName": "text",
"companyResourceId": "text",
"resellerName": "text",
"industryName": "text",
"industryResourceId": "text",
"licenseTypeName": "text",
"licenseTypeResourceId": "text",
"isNumberOfUsersLimited": true,
"numberOfUsers": "text",
"privacyDurationId": 1,
"licenceExpired": true,
"licenseEndDate": "2026-01-01T00:00:00.000Z",
"createTime": "2026-01-01T00:00:00.000Z",
"targetUserCount": 1,
"children": "[Circular Reference]",
"tags": [
"text"
],
"deletedTargetUserCount": 1,
"inactiveTargetUserCount": 1,
"monthlyActiveUserCount": 1
}
],
"tags": [
"text"
],
"deletedTargetUserCount": 1,
"inactiveTargetUserCount": 1,
"monthlyActiveUserCount": 1
}
]
},
"status": "text",
"message": "text",
"validationMessages": [
"text"
]
}From the response, pick the company (e.g. by name) and note its resourceId. Example: "resourceId": "xC5kfGz7w2Nz" → use in GET /api/companies/xC5kfGz7w2Nz.
GET /api/companies/{resourceId}
Returns full details for that company (license, settings, etc.). Replace {resourceId} with the company ID from the search response. No request body.
Retrieves a single company by ID. Test it: Authorize, then set path parameter to a company ID from companies/search.
- : API
Client ID and Client Secret from Company → Company Settings → REST API. Enter credentials to auto-fetch token.
OK
GET /api/companies/{resourceId} HTTP/1.1
Host: api.keepnetlabs.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
OK
{
"data": {
"resourceId": "text",
"name": "text",
"description": "text",
"industryResourceId": "text",
"industryName": "text",
"countryResourceId": "text",
"countryName": "text",
"countryCode": "text",
"address": "text",
"websiteUrl": "text",
"logoUrl": "text",
"licenseTypeResourceId": "text",
"licenseTypeName": "text",
"licensePeriodTypeResourceId": "text",
"licensePeriodTypeName": "text",
"licenseStartDate": "2026-01-01T00:00:00.000Z",
"licenseEndDate": "2026-01-01T00:00:00.000Z",
"isNumberOfUsersLimited": true,
"numberOfUsers": 1,
"notificationTemplateTypeResourceId": "text",
"notificationTemplateTypeName": "text",
"trainingContentTypeResourceId": "text",
"trainingContentTypeName": "text",
"smtpConfigurationTypeResourceId": "text",
"smtpConfigurationTypeName": "text",
"preferredLanguageTypeResourceId": "text",
"preferredLanguageTypeName": "text",
"isVersionVisible": true,
"isReleaseNotesVisible": true,
"releaseNotesUrl": "text",
"companyGroups": [
{
"resourceId": "text",
"name": "text"
}
],
"parentId": 1,
"baseManHourCost": 1,
"baseManHour": 1,
"statusId": 1,
"statusName": "text",
"licenseModules": [
"text"
],
"targetUserCount": 1,
"timeZoneId": "text",
"callBackNumberBookingCount": 1,
"dateFormat": "text",
"timeFormat": "text",
"tags": [
"text"
],
"hasAgenticAILicense": true
},
"status": "text",
"message": "text",
"validationMessages": [
"text"
]
}Common errors
403 Forbidden — Credential is not Reseller, or company is not one you manage. Set Client Role = Reseller. Roles and permissions →
401 Unauthorized — Missing or invalid token. Request a new token via
POST /connect/token.404 Not Found — Invalid or unknown company ID. Verify from
POST /api/companies/search.
Related: Scope API requests to a customer →. List companies with license details →. Update a company →.
Last updated