Konnect API (0.0.1)

Download OpenAPI specification:Download

The Konnect platform API

Audit Logs

Create Authentication failure logs

This webhook endpoint Creates login failure audit logs using log stream sent by external vendor services (Currently Auth0).

Authorizations:
konnectAccessTokenpersonalAccessTokensystemAccountAccessTokenclientTokenserviceAccessTokenbearerAuth
Request Body schema: application/json

The request schema to create authentication failure audit logs.

Array of objects (StreamLog)

Responses

Request samples

Content type
application/json
{
  • "logs": [
    ]
}

Response samples

Content type
application/problem+json
Example
{
  • "status": 403,
  • "title": "Forbidden",
  • "instance": "kong:trace:2723154947768991354",
  • "detail": "You do not have permission to perform this action"
}

Provider Accounts

Create Provider Account

Creates a new provider account for an organization.

Authorizations:
konnectAccessTokenpersonalAccessTokensystemAccountAccessTokenclientTokenserviceAccessTokenbearerAuth
Request Body schema: application/json
provider
required
string (Provider Name)
Enum: "aws" "azure"

Name of cloud provider.

Responses

Request samples

Content type
application/json
{
  • "provider": "aws"
}

Response samples

Content type
application/json
{
  • "id": "929b2449-c69f-44c4-b6ad-9ecec6f811ae",
  • "provider": "aws",
  • "provider_account_id": "string",
  • "created_at": "2022-11-04T20:10:06.927Z",
  • "updated_at": "2022-11-04T20:10:06.927Z"
}

Delete Provider Account

Deletes a provider account by ID.

Authorizations:
konnectAccessTokenpersonalAccessTokensystemAccountAccessTokenclientTokenserviceAccessTokenbearerAuth
path Parameters
providerAccountId
required
string <uuid> (ProviderAccountId)
Example: 929b2449-c69f-44c4-b6ad-9ecec6f811ae

The ID of the provider account to operate on.

Responses

Response samples

Content type
application/problem+json
Example
{
  • "status": 400,
  • "title": "Invalid Request",
  • "instance": "konnect:trace:2822394689570210664",
  • "detail": "Invalid Parameters",
  • "invalid_parameters": [
    ]
}

Cloud Gateways Resource Quotas

Create Resource Quota

Creates a new resource quota, scoped to a given resource, for an organization.

Authorizations:
konnectAccessTokenpersonalAccessTokensystemAccountAccessTokenclientTokenserviceAccessTokenbearerAuth
Request Body schema: application/json
resource
required
string (ResourceQuotaQualifier)
Enum: "count/provider-accounts.per-provider" "count/networks.not-offline" "count/data-planes-estimate" "count/serverless-data-planes-estimate"

Enumeration of resources available for quota enforcement.

value
required
integer (ResourceQuotaValue) >= 0

The aggregate non-negative integer count of this resource that's allowed for the organization.

Responses

Request samples

Content type
application/json
{
  • "resource": "count/provider-accounts.per-provider",
  • "value": 2
}

Response samples

Content type
application/json
{
  • "id": "9678f205-49a1-47bb-82d9-d01cafa42a0d",
  • "resource": "count/provider-accounts.per-provider",
  • "name": "Active Networks",
  • "description": "Across the organization, the aggregate number of active networks cannot exceed this value.",
  • "value": 2,
  • "created_at": "2022-11-04T20:10:06.927Z",
  • "updated_at": "2022-11-04T20:10:06.927Z"
}

Update Resource Quota

Updates a resource quota by ID.

Authorizations:
konnectAccessTokenpersonalAccessTokensystemAccountAccessTokenclientTokenserviceAccessTokenbearerAuth
path Parameters
resourceQuotaId
required
string <uuid> (ResourceQuotaId)
Example: 9678f205-49a1-47bb-82d9-d01cafa42a0d

The ID of the resource quota to operate on.

Request Body schema: application/json
value
required
integer (ResourceQuotaValue) >= 0

The aggregate non-negative integer count of this resource that's allowed for the organization.

Responses

Request samples

Content type
application/json
{
  • "value": 2
}

Response samples

Content type
application/json
{
  • "id": "9678f205-49a1-47bb-82d9-d01cafa42a0d",
  • "resource": "count/provider-accounts.per-provider",
  • "name": "Active Networks",
  • "description": "Across the organization, the aggregate number of active networks cannot exceed this value.",
  • "value": 2,
  • "created_at": "2022-11-04T20:10:06.927Z",
  • "updated_at": "2022-11-04T20:10:06.927Z"
}

Resource Configurations

Create Resource Configuration

Creates a new resource configuration for an organization.

Authorizations:
konnectAccessTokenpersonalAccessTokensystemAccountAccessTokenclientTokenserviceAccessTokenbearerAuth
Request Body schema: application/json
qualifier
required
string (ResourceConfigurationQualifier)
Value: "data-plane-group-idle-timeout-minutes"

Enumeration of configuration qualifiers available for organization-wide configuration.

value
required
integer (ResourceConfigurationValue)

The value of this resource configuration.

Responses

Request samples

Content type
application/json
{
  • "qualifier": "data-plane-group-idle-timeout-minutes",
  • "value": 45
}

Response samples

Content type
application/json
{
  • "id": "9678f205-49a1-47bb-82d9-d01cafa42a0d",
  • "qualifier": "data-plane-group-idle-timeout-minutes",
  • "value": 45
}

Update Resource Configuration

Updates a resource configuration by ID.

Authorizations:
konnectAccessTokenpersonalAccessTokensystemAccountAccessTokenclientTokenserviceAccessTokenbearerAuth
path Parameters
resourceConfigurationId
required
string <uuid> (ResourceConfigurationId)
Example: 9678f205-49a1-47bb-82d9-d01cafa42a0d

The ID of the resource configuration to operate on.

Request Body schema: application/json
qualifier
required
string (ResourceConfigurationQualifier)
Value: "data-plane-group-idle-timeout-minutes"

Enumeration of configuration qualifiers available for organization-wide configuration.

value
required
integer (ResourceConfigurationValue)

The value of this resource configuration.

Responses

Request samples

Content type
application/json
{
  • "qualifier": "data-plane-group-idle-timeout-minutes",
  • "value": 45
}

Response samples

Content type
application/json
{
  • "id": "9678f205-49a1-47bb-82d9-d01cafa42a0d",
  • "qualifier": "data-plane-group-idle-timeout-minutes",
  • "value": 45
}

Control Plane Resource Quotas

List default resource quotas with organisational override

Returns a paginated collection of default resource quotas for control planes, along with organizationally-defined overrides for those resource quotas.

Authorizations:
konnectAccessTokenpersonalAccessTokensystemAccountAccessTokenclientTokenserviceAccessTokenbearerAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

List all control plane resource quota overrides

Returns a list of control plane quota override values created by the user.

Authorizations:
konnectAccessTokenpersonalAccessTokensystemAccountAccessTokenclientTokenserviceAccessTokenbearerAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Create a control plane resource quota

Creates a control plane resource quota scoped to a given resource, for an organization.

Authorizations:
konnectAccessTokenpersonalAccessTokensystemAccountAccessTokenclientTokenserviceAccessTokenbearerAuth
Request Body schema: application/json

Request body for creating the control plane override resource quota value.

name
string (ControlPlaneResourceQuotaName)

The human-readable name of this resource quota.

description
string (ControlPlaneResourceQuotaDescription)

A more verbose description of what this resource quota enforces.

resource
required
string (ControlPlaneResourceQuotaResourceName)

Identifier value of resources available for quota enforcement.

value
required
integer (ControlPlaneResourceQuotaValue) >= 1

The aggregate non-negative integer count of this resource that's allowed for the organization.

Responses

Request samples

Content type
application/json
{
  • "name": "consumer override",
  • "description": "Increase for consumer resource quota",
  • "resource": "count/control-plane.consumer",
  • "value": 40000
}

Response samples

Content type
application/json
{
  • "id": "7cdad5ef-1738-4781-8d71-9c5bbc99b187",
  • "name": "consumer override",
  • "description": "Increase for consumer resource quota",
  • "resource": "count/control-plane.consumer",
  • "value": 50000,
  • "created_at": "2022-11-04T20:10:06.927Z",
  • "updated_at": "2022-11-04T20:10:06.927Z"
}

Get a control plane resource quota value corresponding to the ID

Returns the control plane resource quota for the ID.

Authorizations:
konnectAccessTokenpersonalAccessTokensystemAccountAccessTokenclientTokenserviceAccessTokenbearerAuth
path Parameters
resourceQuotaId
required
string <uuid>
Example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7

The UUID for the control plane resource quota.

Responses

Response samples

Content type
application/json
{
  • "id": "7cdad5ef-1738-4781-8d71-9c5bbc99b187",
  • "name": "consumer override",
  • "description": "Increase for consumer resource quota",
  • "resource": "count/control-plane.consumer",
  • "value": 50000,
  • "created_at": "2022-11-04T20:10:06.927Z",
  • "updated_at": "2022-11-04T20:10:06.927Z"
}

Update the control plane resource quota for the corresponding ID

Update the control plane resource quota for the corresponding ID.

Authorizations:
konnectAccessTokenpersonalAccessTokensystemAccountAccessTokenclientTokenserviceAccessTokenbearerAuth
path Parameters
resourceQuotaId
required
string <uuid>
Example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7

The UUID for the control plane resource quota.

Request Body schema: application/json

Request body for updating the control plane override resource quota value.

value
required
integer (ControlPlaneResourceQuotaValue) >= 1

The aggregate non-negative integer count of this resource that's allowed for the organization.

Responses

Request samples

Content type
application/json
{
  • "value": 50000
}

Response samples

Content type
application/json
{
  • "id": "7cdad5ef-1738-4781-8d71-9c5bbc99b187",
  • "name": "consumer override",
  • "description": "Increase for consumer resource quota",
  • "resource": "count/control-plane.consumer",
  • "value": 50000,
  • "created_at": "2022-11-04T20:10:06.927Z",
  • "updated_at": "2022-11-04T20:10:06.927Z"
}

Delete the control plane resource quota

Deletes the created control plane resource quota which matches the ID provided.

Authorizations:
konnectAccessTokenpersonalAccessTokensystemAccountAccessTokenclientTokenserviceAccessTokenbearerAuth
path Parameters
resourceQuotaId
required
string <uuid>
Example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7

The UUID for the control plane resource quota.

Responses

Response samples

Content type
application/problem+json
{
  • "status": 0,
  • "title": "string",
  • "type": "string",
  • "instance": "string",
  • "detail": "string",
  • "invalid_parameters": [
    ]
}

Users

Retrieves users matching a provided auth0 subject and email.

The response contains user ids and (non-deleted, non-deleting) organization ids for users associated with provided auth0 user subject.

Authorizations:
konnectAccessTokenpersonalAccessTokensystemAccountAccessTokenclientTokenserviceAccessTokenbearerAuth
query Parameters
aid
string

Auth0 User ID

Responses

Response samples

Content type
application/json
{
  • "meta": {
    }
}

Me

Update My Organization

Updates the current user's organization. When updating the owner, the new owner must be an organization admin.

Authorizations:
konnectAccessTokenpersonalAccessTokensystemAccountAccessTokenclientTokenserviceAccessTokenbearerAuth
Request Body schema: application/json

The request schema to update an organization.

owner_id
string <uuid>

The user id of the new owner of the organization. Must be a member of the Organization Admins team.

name
string

The new name of the organization.

Responses

Request samples

Content type
application/json
{
  • "owner_id": "df120cb4-f60b-47bc-a2f8-6a28e6a3c63b",
  • "name": "Kong Inc"
}

Response samples

Content type
application/json
{
  • "created_at": "2023-01-18T11:35:45.130Z",
  • "id": "023bfa42-3513-4cbf-b059-a9ddb4ea995d",
  • "name": "Acme Co.",
  • "owner_id": "e02c829c-0e2d-44b5-9057-07714ea613a3",
  • "login_path": "acme",
  • "updated_at": "2023-01-23T17:22:52.150Z",
  • "state": "active",
  • "retention_period_days": 90
}

Delete My User Account

Deletes the user account for the user identified in the token of the request.

Authorizations:
konnectAccessToken

Responses

Response samples

Content type
application/problem+json
{
  • "status": 401,
  • "title": "Unauthenticated",
  • "instance": "konnect:trace:952172606039454040",
  • "detail": "A valid token is required"
}

Update My User Account

Updates the user account for the user identified in the token of the request.

Authorizations:
konnectAccessToken
Request Body schema: application/json

The request schema for the update user request.

full_name
string^[\w \W]+$

The user's full name.

preferred_name
string <= 250 characters

The user's desired name.

Responses

Request samples

Content type
application/json
{
  • "full_name": "James C Woods",
  • "preferred_name": "Jimmy"
}

Response samples

Content type
application/json
{
  • "id": "7f9fd312-a987-4628-b4c5-bb4f4fddd5f7",
  • "email": "james.woods@email.com",
  • "full_name": "James Woods",
  • "preferred_name": "Jimmy",
  • "active": true,
  • "created_at": "1992-02-07T17:46:57.52Z",
  • "updated_at": "2022-02-07T17:00:00.52Z"
}

Get My Permissions

Returns the permissions for the current user

Authorizations:
konnectAccessToken
query Parameters
object

Filter permissions returned in the response.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Managed System Accounts - Roles

Fetch assigned roles for a managed system account.

Lists the roles belonging to a managed system account. Returns 400 if any filter parameters are invalid.

Authorizations:
clientToken
path Parameters
accountId
required
string

ID of the system account.

query Parameters
object

Filter roles returned in the response.

Responses

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "data": [
    ]
}

Assign a role to a managed System Account.

Assigns a role to a managed system account. Returns 409 if role is already assigned.

Authorizations:
clientToken
path Parameters
accountId
required
string

ID of the system account.

Request Body schema: application/json

The request schema for assigning a role.

role_name
string

The desired role.

entity_id
string <uuid>

The ID of the entity.

entity_type_name
string

The type of entity.

entity_region
string
Enum: "us" "eu" "au" "me" "in" "*"

The region to scope the role assignment to.

parameters
object

Responses

Request samples

Content type
application/json
{
  • "id": "eaf7adf1-32c8-4bbf-b960-d1f8456afe67",
  • "role_name": "Connector",
  • "entity_id": "18ee2573-dec0-4b83-be99-fa7700bcdc61",
  • "entity_type_name": "Mesh Control Planes",
  • "entity_region": "eu",
  • "parameters": {
    }
}

Response samples

Content type
application/json
{
  • "id": "eaf7adf1-32c8-4bbf-b960-d1f8456afe67",
  • "role_name": "Connector",
  • "entity_id": "18ee2573-dec0-4b83-be99-fa7700bcdc61",
  • "entity_type_name": "Mesh Control Planes",
  • "entity_region": "eu",
  • "parameters": {
    }
}

Authentication

Log Out

Clears the auth cookies.

Authorizations:
konnectAccessTokenpersonalAccessTokensystemAccountAccessTokenclientTokenserviceAccessTokenbearerAuth

Responses

Response samples

Content type
application/json
{
  • "login_path": "string"
}

Refresh Token

Issues new tokens. Returns 401 if a) the user is no longer active, b) the token has exceeded its lifetime limit, or c) the token has been revoked.

Authorizations:
konnectAccessTokenpersonalAccessTokensystemAccountAccessTokenclientTokenserviceAccessTokenbearerAuth

Responses

Response samples

Content type
application/problem+json
{
  • "status": 401,
  • "title": "Unauthenticated",
  • "instance": "konnect:trace:952172606039454040",
  • "detail": "A valid token is required"
}

AWS

Resolves an AWS Customer.

This call the aws marketplace resolve customer api.

Authorizations:
konnectAccessTokenpersonalAccessTokensystemAccountAccessTokenclientTokenserviceAccessTokenbearerAuth
Request Body schema: application/json

AWS Marketplace Metering Resolve Customer request.

token
required
string

Token is the aws customer token from the aws marketplace.

Responses

Request samples

Content type
application/json
{
  • "token": "A1B2C3D4E5F6G7H8I9J0K+LMNOPQRSTUVWXYZabcd+efghijklmnopqrstuv+wxyz0123456789+"
}

Response samples

Content type
application/json
{
  • "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6"
}

Device Authorization Grant

Device authorization request

Initiates a device authorization workflow, generating and returning a unique device verification code. See https://www.rfc-editor.org/rfc/rfc8628#section-3.1 for details.

Authorizations:
None
Request Body schema: application/x-www-form-urlencoded

The request schema for the device authorization request.

client_id
required
string

The client identifier.

scope
string

The scope of the access request.

Responses

Response samples

Content type
application/json
{}

User device authorization request

Marks the device code as authorized and is a means to provide the interactive UI flow with the necessary request metadata for the user to confirm the request.

Authorizations:
konnectAccessToken
Request Body schema: application/json

The request schema for the user device authorization request.

user_code
required
string

The end-user device verification code.

Responses

Request samples

Content type
application/json
{
  • "user_code": "string"
}

Response samples

Content type
application/json
{
  • "organization_name": "string",
  • "user": {
    },
  • "metadata": {
    }
}

Device confirmation request

Confirms the authorization request by marking the device code as confirmed.

Authorizations:
konnectAccessToken
Request Body schema: application/json

The request schema for the device confirmation request.

user_code
required
string

The end-user device verification code.

Responses

Request samples

Content type
application/json
{
  • "user_code": "string"
}

Response samples

Content type
application/problem+json
Example
{
  • "status": 400,
  • "title": "Bad Request",
  • "detail": "Could not parse request body",
  • "instance": "konnect:trace:3674017986744198214",
  • "invalid_parameters": [
    ]
}

Device access token request

This endpoint provides the machine client a means of being notified when a request for authorization is granted or rejected. It is expected for the client to try the access token request repeatedly in a polling fashion based on the error code in the response. See https://www.rfc-editor.org/rfc/rfc8628#section-3.4 for details.

Authorizations:
None
Request Body schema: application/x-www-form-urlencoded

The request schema for the device access token request.

grant_type
required
string

Value MUST be set to "urn:ietf:params:oauth:grant-type:device_code".

device_code
required
string

The device verification code, "device_code" from the device authorization response.

client_id
required
string

The client identifier.

Responses

Response samples

Content type
application/json
{
  • "access_token": "2YotnFZFEjr1zCsicMWpAA",
  • "token_type": "Bearer",
  • "expires_in": 3600,
  • "refresh_token": "tGzv3JOkF0XG5Qx2TlKWIA",
  • "scope": "read write"
}

SSO Auth0

Retrieves the list of organizations available to the given user.

Retrieves the list of organizations available to the given user.

Authorizations:
konnectAccessTokenpersonalAccessTokensystemAccountAccessTokenclientTokenserviceAccessTokenbearerAuth

Responses

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "data": [
    ]
}

Register a new organization with an Auth0 authenticated user.

Create a new organization with Auth0 authentication. The Auth0 user will be the organization owner.

Authorizations:
konnectAccessTokenpersonalAccessTokensystemAccountAccessTokenclientTokenserviceAccessTokenbearerAuth
Request Body schema: application/json
organization_name
required
string
default_region
required
string

Responses

Request samples

Content type
application/json
{
  • "organization_name": "string",
  • "default_region": "string"
}

Response samples

Content type
application/json
{
  • "organization_id": "string",
  • "login_path": "string"
}

Organization Lifecycle

Sets the deletion configs for a specifed organization.

Sets the deletion configs for a specified organization. The retention period is the number of days an organization can remain in the inactive state before being permanently deleted.

Authorizations:
konnectAccessTokenpersonalAccessTokensystemAccountAccessTokenclientTokenserviceAccessTokenbearerAuth
path Parameters
organizationId
required
string <uuid>
Example: d32d905a-ed33-46a3-a093-d8f536af9a8a

The ID of the organization being patched.

Request Body schema: application/json

The request schema to set an organization's retention period.

retention_period_days
integer [ 1 .. 365 ]

The retention period in days.

Responses

Request samples

Content type
application/json
{
  • "retention_period_days": 90
}

Response samples

Content type
application/json
{
  • "retention_period_days": 90
}

Sets a new state for an organization.

Sets a new state for an organization and creates an organization state history record. An organization can be set to active or inactive.

Authorizations:
konnectAccessTokenpersonalAccessTokensystemAccountAccessTokenclientTokenserviceAccessTokenbearerAuth
Request Body schema: application/json

The request schema to set an organization's state.

state
required
string
Enum: "active" "inactive" "deleting" "deleted"

The state of the organization to set.

reason
string

The reason for the state change.

changed_by
string

The uuid of the konger who modified the state.

Responses

Request samples

Content type
application/json
Example
{
  • "state": "inactive",
  • "reason": "invoice overdue (30 days)",
  • "changed_by": "00uerwcs8eC4ifanR256"
}

Response samples

Content type
application/json
{
  • "id": "d99c041a-c7cf-46a2-bf3a-44bb5f75400e",
  • "state": "active",
  • "reason": "invoice overdue (30 days)",
  • "service": "kadmin",
  • "changed_by": "00uerwcs8eC4ifanR256",
  • "created_at": "2023-01-18T11:35:45.130Z"
}

Returns the state history of an organization.

Returns the state history of an organization sorted in reverse chronological order. Possible states include active, inactive, deleting, and deleted. An organization state will be transitioned to the deleting state if the organization remains inactive for 90 days. After deletion is complete, the state will be transitioned to the final deleted state.

Authorizations:
konnectAccessTokenpersonalAccessTokensystemAccountAccessTokenclientTokenserviceAccessTokenbearerAuth

Responses

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "data": [
    ]
}