Organizations
Manage the organizations of the Krenalis instance.
All these endpoints require a Platform Management API key instead of the standard API key and are subject to the following rate limits:
- Rate: 100 requests per minute
- Capacity: 100 requests
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. -
limits.rates
objectThe API rate limits of the organization.
-
limits.rates.organizationSpecific
objectThe rate limits specific to organization-level API requests.
Workspace-level requests and event ingestion requests are not included and can be configured separately using the
workspaceSpecificandeventsSpecificfields.-
limits.rates.organizationSpecific.ratePerMinute
intThe rate, measured in requests per minute.
It is between 60 and 20,000. -
limits.rates.organizationSpecific.maxCapacity
intThe maximum capacity, measured in requests.
It is between 1 and 10,000.
-
-
limits.rates.workspaceSpecific
objectThe rate limits specific to API requests targeting a workspace.
Event ingestion requests are not included and can be configured separately using the
eventsSpecificfield. The limits apply independently to each workspace.-
limits.rates.workspaceSpecific.ratePerMinute
intThe rate, measured in requests per minute.
It is between 60 and 20,000. -
limits.rates.workspaceSpecific.maxCapacity
intThe maximum capacity, measured in requests.
It is between 1 and 10,000.
-
-
limits.rates.eventsSpecific
objectThe event ingestion rate limits that apply to each workspace.
The limits are measured in events rather than API requests.
-
limits.rates.eventsSpecific.ratePerMinute
intThe rate, measured in events per minute.
It is between 1,000 and 1,000,000. -
limits.rates.eventsSpecific.maxCapacity
intThe maximum capacity, measured in events.
It is between 20,000 and 100,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 plat_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,
"rates": {
"organizationSpecific": {
"ratePerMinute": 3000,
"maxCapacity": 500
},
"workspaceSpecific": {
"ratePerMinute": 3000,
"maxCapacity": 500
},
"eventsSpecific": {
"ratePerMinute": 100000,
"maxCapacity": 20000
}
}
},
"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. -
limits.rates
objectThe API rate limits of the organization.
-
limits.rates.organizationSpecific
objectThe rate limits specific to organization-level API requests.
Workspace-level requests and event ingestion requests are not included and can be configured separately using the
workspaceSpecificandeventsSpecificfields.-
limits.rates.organizationSpecific.ratePerMinute
intThe rate, measured in requests per minute.
It is between 60 and 20,000. -
limits.rates.organizationSpecific.maxCapacity
intThe maximum capacity, measured in requests.
It is between 1 and 10,000.
-
-
limits.rates.workspaceSpecific
objectThe rate limits specific to API requests targeting a workspace.
Event ingestion requests are not included and can be configured separately using the
eventsSpecificfield. The limits apply independently to each workspace.-
limits.rates.workspaceSpecific.ratePerMinute
intThe rate, measured in requests per minute.
It is between 60 and 20,000. -
limits.rates.workspaceSpecific.maxCapacity
intThe maximum capacity, measured in requests.
It is between 1 and 10,000.
-
-
limits.rates.eventsSpecific
objectThe event ingestion rate limits that apply to each workspace.
The limits are measured in events rather than API requests.
-
limits.rates.eventsSpecific.ratePerMinute
intThe rate, measured in events per minute.
It is between 1,000 and 1,000,000. -
limits.rates.eventsSpecific.maxCapacity
intThe maximum capacity, measured in events.
It is between 20,000 and 100,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 plat_xxxxxxx" {
"id": "3nV8kQ5wA6pT",
"name": "Acme Corp",
"enabled": true,
"limits": {
"members": 20,
"accessKeys": 100,
"workspaces": 8,
"connectors": 15,
"connections": 30,
"pipelines": 120,
"rates": {
"organizationSpecific": {
"ratePerMinute": 3000,
"maxCapacity": 500
},
"workspaceSpecific": {
"ratePerMinute": 3000,
"maxCapacity": 500
},
"eventsSpecific": {
"ratePerMinute": 100000,
"maxCapacity": 20000
}
}
},
"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 Platform Management 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. -
limits.rates
object RequiredThe API rate limits of the organization.
-
limits.rates.organizationSpecific
object RequiredThe rate limits specific to organization-level API requests.
Workspace-level requests and event ingestion requests are not included and can be configured separately using the
workspaceSpecificandeventsSpecificfields.-
limits.rates.organizationSpecific.ratePerMinute
int RequiredThe rate, measured in requests per minute.
It must be between 60 and 20,000. -
limits.rates.organizationSpecific.maxCapacity
int RequiredThe maximum capacity, measured in requests.
It must be between 1 and 10,000.
-
-
limits.rates.workspaceSpecific
object RequiredThe rate limits specific to API requests targeting a workspace.
Event ingestion requests are not included and can be configured separately using the
eventsSpecificfield. The limits apply independently to each workspace.-
limits.rates.workspaceSpecific.ratePerMinute
int RequiredThe rate, measured in requests per minute.
It must be between 60 and 20,000. -
limits.rates.workspaceSpecific.maxCapacity
int RequiredThe maximum capacity, measured in requests.
It must be between 1 and 10,000.
-
-
limits.rates.eventsSpecific
object RequiredThe event ingestion rate limits that apply to each workspace.
The limits are measured in events rather than API requests.
-
limits.rates.eventsSpecific.ratePerMinute
int RequiredThe rate, measured in events per minute.
It must be between 1,000 and 1,000,000. -
limits.rates.eventsSpecific.maxCapacity
int RequiredThe maximum capacity, measured in events.
It must be between 20,000 and 100,000.
-
-
-
Response
-
id
stringThe identifier of the created organization.
curl https://example.com/v1/organizations \ -H "Authorization: Bearer plat_xxxxxxx" \ --json '{ "name": "Acme Corp", "enabled": true, "limits": { "members": 20, "accessKeys": 100, "workspaces": 8, "connectors": 15, "connections": 30, "pipelines": 120, "rates": { "organizationSpecific": { "ratePerMinute": 3000, "maxCapacity": 500 }, "workspaceSpecific": { "ratePerMinute": 3000, "maxCapacity": 500 }, "eventsSpecific": { "ratePerMinute": 100000, "maxCapacity": 20000 } } } }' {
"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. -
limits.rates
object RequiredThe API rate limits of the organization.
-
limits.rates.organizationSpecific
object RequiredThe rate limits specific to organization-level API requests.
Workspace-level requests and event ingestion requests are not included and can be configured separately using the
workspaceSpecificandeventsSpecificfields.-
limits.rates.organizationSpecific.ratePerMinute
int RequiredThe rate, measured in requests per minute.
It must be between 60 and 20,000. -
limits.rates.organizationSpecific.maxCapacity
int RequiredThe maximum capacity, measured in requests.
It must be between 1 and 10,000.
-
-
limits.rates.workspaceSpecific
object RequiredThe rate limits specific to API requests targeting a workspace.
Event ingestion requests are not included and can be configured separately using the
eventsSpecificfield. The limits apply independently to each workspace.-
limits.rates.workspaceSpecific.ratePerMinute
int RequiredThe rate, measured in requests per minute.
It must be between 60 and 20,000. -
limits.rates.workspaceSpecific.maxCapacity
int RequiredThe maximum capacity, measured in requests.
It must be between 1 and 10,000.
-
-
limits.rates.eventsSpecific
object RequiredThe event ingestion rate limits that apply to each workspace.
The limits are measured in events rather than API requests.
-
limits.rates.eventsSpecific.ratePerMinute
int RequiredThe rate, measured in events per minute.
It must be between 1,000 and 1,000,000. -
limits.rates.eventsSpecific.maxCapacity
int RequiredThe maximum capacity, measured in events.
It must be between 20,000 and 100,000.
-
-
-
Response
No response.curl -X PUT https://example.com/v1/organizations/3nV8kQ5wA6pT \ -H "Authorization: Bearer plat_xxxxxxx" \ --json '{ "name": "Acme Corp", "limits": { "members": 20, "accessKeys": 100, "workspaces": 8, "connectors": 15, "connections": 30, "pipelines": 120, "rates": { "organizationSpecific": { "ratePerMinute": 3000, "maxCapacity": 500 }, "workspaceSpecific": { "ratePerMinute": 3000, "maxCapacity": 500 }, "eventsSpecific": { "ratePerMinute": 100000, "maxCapacity": 20000 } } } }' 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 Platform Management 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 plat_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 plat_xxxxxxx"