Organizations
Manage the organizations of the Krenalis instance.
All these endpoints require an organizations API key instead of the standard API key.
List organizations
Returns the organizations, sorted by name.
Request
-
first
intThe number of organizations to skip before starting to return results. The default value is 0.
-
limit
intThe maximum number of organizations to return. If not provided, the default value is 100.
It must be between 1 and 1,000.
Response
-
organizations
array of objectThe list of organizations.
-
id
stringThe organization's unique identifier.
-
name
stringThe organization's name.
-
enabled
booleanIndicates if the organization is enabled. Use the Set status endpoint to change the organization's status.
-
limits
objectThe resource limits of the organization.
-
limits.members
intThe maximum number of members allowed in the organization.
It is between 1 and 10,000. -
limits.accessKeys
intThe maximum number of access keys (API and MCP) allowed in the organization.
It is between 0 and 1,000. -
limits.workspaces
intThe maximum number of workspaces allowed in the organization.
It is between 0 and 1,000. -
limits.connectors
intThe maximum number of unique connectors the organization can use in connections and file pipelines.
It is between 0 and 1,000. -
limits.connections
intThe maximum number of connections allowed in the organization.
It is between 0 and 10,000. -
limits.pipelines
intThe maximum number of pipelines allowed in the organization.
It is between 0 and 10,000.
-
-
counts
objectThe number of resources currently used by the organization.
-
counts.members
intThe number of members in the organization.
It is between 1 and 10,000. -
counts.accessKeys
intThe number of access keys in the organization.
It is between 0 and 1,000. -
counts.workspaces
intThe number of workspaces in the organization.
It is between 0 and 1,000. -
counts.connectors
intThe number of unique connectors the organization uses in connections and file pipelines.
It is between 0 and 1,000. -
counts.connections
intThe number of connections in the organization.
It is between 0 and 10,000. -
counts.pipelines
intThe number of pipelines in the organization.
It is between 0 and 10,000.
-
-
curl -G https://example.com/v1/organizations \ -H "Authorization: Bearer org_xxxxxxx" \ -d "limit=100" {
"organizations": [
{
"id": "3nV8kQ5wA6pT",
"name": "Acme Corp",
"enabled": true,
"limits": {
"members": 20,
"accessKeys": 100,
"workspaces": 8,
"connectors": 15,
"connections": 30,
"pipelines": 120
},
"counts": {
"members": 7,
"accessKeys": 5,
"workspaces": 3,
"connectors": 12,
"connections": 29,
"pipelines": 41
}
}
]
}Get organization
Returns a single organization by its identifier.
Request
-
:id
string RequiredThe organization's identifier.
Response
-
id
stringThe organization's unique identifier.
-
name
stringThe organization's name.
-
enabled
booleanIndicates if the organization is enabled. Use the Set status endpoint to change the organization's status.
-
limits
objectThe resource limits of the organization.
-
limits.members
intThe maximum number of members allowed in the organization.
It is between 1 and 10,000. -
limits.accessKeys
intThe maximum number of access keys (API and MCP) allowed in the organization.
It is between 0 and 1,000. -
limits.workspaces
intThe maximum number of workspaces allowed in the organization.
It is between 0 and 1,000. -
limits.connectors
intThe maximum number of unique connectors the organization can use in connections and file pipelines.
It is between 0 and 1,000. -
limits.connections
intThe maximum number of connections allowed in the organization.
It is between 0 and 10,000. -
limits.pipelines
intThe maximum number of pipelines allowed in the organization.
It is between 0 and 10,000.
-
-
counts
objectThe number of resources currently used by the organization.
-
counts.members
intThe number of members in the organization.
It is between 1 and 10,000. -
counts.accessKeys
intThe number of access keys in the organization.
It is between 0 and 1,000. -
counts.workspaces
intThe number of workspaces in the organization.
It is between 0 and 1,000. -
counts.connectors
intThe number of unique connectors the organization uses in connections and file pipelines.
It is between 0 and 1,000. -
counts.connections
intThe number of connections in the organization.
It is between 0 and 10,000. -
counts.pipelines
intThe number of pipelines in the organization.
It is between 0 and 10,000.
-
curl https://example.com/v1/organizations/3nV8kQ5wA6pT \ -H "Authorization: Bearer org_xxxxxxx" {
"id": "3nV8kQ5wA6pT",
"name": "Acme Corp",
"enabled": true,
"limits": {
"members": 20,
"accessKeys": 100,
"workspaces": 8,
"connectors": 15,
"connections": 30,
"pipelines": 120
},
"counts": {
"members": 7,
"accessKeys": 5,
"workspaces": 3,
"connectors": 12,
"connections": 29,
"pipelines": 41
}
}Create organization
Creates a new organization.
Request
-
name
string RequiredThe organization's name.
Must be a non-empty string with a maximum of 45 characters. -
enabled
booleanIndicates if the organization is enabled once created. Logins to workspaces of a disabled organization, as well as calls made with API and MCP keys to its workspaces, return an
OrganizationDisablederror. The only exception is event ingestion authenticated with an event write key, which fails with aServiceUnavailableerror instead. Calls with Organizations API keys are unaffected. Use the Set status endpoint to change the organization's status. -
limits
object RequiredThe resource limits of the organization.
-
limits.members
int RequiredThe maximum number of members allowed in the organization.
It must be between 1 and 10,000. -
limits.accessKeys
int RequiredThe maximum number of access keys (API and MCP) allowed in the organization.
It must be between 0 and 1,000. -
limits.workspaces
int RequiredThe maximum number of workspaces allowed in the organization.
It must be between 0 and 1,000. -
limits.connectors
int RequiredThe maximum number of unique connectors the organization can use in connections and file pipelines.
It must be between 0 and 1,000. -
limits.connections
int RequiredThe maximum number of connections allowed in the organization.
It must be between 0 and 10,000. -
limits.pipelines
int RequiredThe maximum number of pipelines allowed in the organization.
It must be between 0 and 10,000.
-
Response
-
id
stringThe identifier of the created organization.
curl https://example.com/v1/organizations \ -H "Authorization: Bearer org_xxxxxxx" \ --json '{ "name": "Acme Corp", "enabled": true, "limits": { "members": 20, "accessKeys": 100, "workspaces": 8, "connectors": 15, "connections": 30, "pipelines": 120 } }' {
"id": "3nV8kQ5wA6pT"
}Update organization
Updates the name of an organization.
Request
-
:id
string RequiredThe organization's identifier.
-
name
string RequiredThe organization's name.
Must be a non-empty string with a maximum of 45 characters. -
limits
object RequiredThe resource limits of the organization.
-
limits.members
int RequiredThe maximum number of members allowed in the organization.
It must be between 1 and 10,000. -
limits.accessKeys
int RequiredThe maximum number of access keys (API and MCP) allowed in the organization.
It must be between 0 and 1,000. -
limits.workspaces
int RequiredThe maximum number of workspaces allowed in the organization.
It must be between 0 and 1,000. -
limits.connectors
int RequiredThe maximum number of unique connectors the organization can use in connections and file pipelines.
It must be between 0 and 1,000. -
limits.connections
int RequiredThe maximum number of connections allowed in the organization.
It must be between 0 and 10,000. -
limits.pipelines
int RequiredThe maximum number of pipelines allowed in the organization.
It must be between 0 and 10,000.
-
Response
No response.curl -X PUT https://example.com/v1/organizations/3nV8kQ5wA6pT \ -H "Authorization: Bearer org_xxxxxxx" \ --json '{ "name": "Acme Corp", "limits": { "members": 20, "accessKeys": 100, "workspaces": 8, "connectors": 15, "connections": 30, "pipelines": 120 } }' Set status
Sets the status of an organization, which can be enabled or disabled.
Logins to workspaces of a disabled organization, as well as calls made with API and MCP keys to its workspaces, return an OrganizationDisabled error. The only exception is event ingestion authenticated with an event write key, which fails with a ServiceUnavailable error instead. Calls with Organizations API keys are unaffected.
The organization's data and configuration are preserved and can be restored by enabling the organization again.
Request
-
:id
string RequiredThe organization's identifier.
-
enabled
boolean RequiredIndicates if the organization is enabled.
Response
No response.curl -X PUT https://example.com/v1/organizations/3nV8kQ5wA6pT/status \ -H "Authorization: Bearer org_xxxxxxx" \ --json '{ "enabled": true }' Delete organization
Deletes an organization and all its data.
Request
-
:id
string RequiredThe organization's identifier.
Response
No response.curl -X DELETE https://example.com/v1/organizations/3nV8kQ5wA6pT \ -H "Authorization: Bearer org_xxxxxxx"