API Reference for the Kaleido Platform (1.0)

Download OpenAPI specification:Download

As a business network full stack platform, Kaleido provides a complete set of API for administrators, network operators and DApps developers.

The administrative endpoints provide full lifecycle operations around platform resources (consortia, environment, nodes, services, etc.) Each participating organization can use the API to fully automate the DevOps pipeline. Most of the resources are scoped to the organization that the logged in user is associated with. Some resources like consortia and environments support decentralized governance.

In a decentralized consortium, no single participant can delete the consortium until all but one participants have left the consortium.

In a decentrallized environment, no single participant can delete the environment until all but one participants have deleted their resources (nodes, services) inside the environment.

Deployment Regions

Kaleido is available in multiple regions. When a user resource like nodes or services is provisioned, a deployment region is determined based on a number of factors. This means the resource may be in a different region than the Kaleido console (the web UI). As such, when calling a Kaleido API, make sure to use the correct hostname for the region that the resource was provisioned in.

To select a region, click a specific method dropdown (as shown below) to see the API endpoints for that method for different regions. To see some example requests using cURL, check out Understanding the Kaleido API

method dropdown example

Query parameters

Most GET endpoint support Mongo query strings.

Resources And Services

The API is organized around the Platform Resources and Services. Platform resources include the foundation components to start a business network, such as consortia, environments, services, integration, etc. Kaleido has a large catalog of services, each providing their own developer-facing API. Each service API is displayed in their own category after the Platform Resources.

Authentication

bearer_token

Kaleido API for platform resources are authenticated using the Bearer token in the Authorization HTTP header. The token can either be the API Key created in the Kaleido user's account, or the JWT token issued to the user's browser as a cookie after logging in. The JWT token is set to expire in one hour.

Security scheme type: HTTP
HTTP Authorization Scheme bearer

API Keys

Organization-specific administrative tokens that allow for resource CRUD operations via the Kaleido API. Similar to application credentials, API Keys are onetime-viewable strings and are not stored by the Kaleido backend. These endpoints do not support API Key generation and can only be used to retrieve or edit existing keys.

Get info about the API Keys

Authorizations:

Responses

200

API Keys Retrieved

500

Internal Error

get /apikeys

AWS US API base endpoint

https://console.kaleido.io/api/v1/apikeys

AWS EU API base endpoint

https://console-eu.kaleido.io/api/v1/apikeys

AWS Sydney API base endpoint

https://console-ap.kaleido.io/api/v1/apikeys

AWS Seoul API base endpoint

https://console-ko.kaleido.io/api/v1/apikeys

Azure US API base endpoint

https://console-us1.kaleido.io/api/v1/apikeys

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create a new API Key

Authorizations:
Request Body schema: application/json
name
string

User defined name for API Key

org_id
required
string

Responses

200

API Key Updated

201

API Key Created

404

Application Credential Not Found

500

Internal Error

post /apikeys

AWS US API base endpoint

https://console.kaleido.io/api/v1/apikeys

AWS EU API base endpoint

https://console-eu.kaleido.io/api/v1/apikeys

AWS Sydney API base endpoint

https://console-ap.kaleido.io/api/v1/apikeys

AWS Seoul API base endpoint

https://console-ko.kaleido.io/api/v1/apikeys

Azure US API base endpoint

https://console-us1.kaleido.io/api/v1/apikeys

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string",
  • "org_id": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "_id": "string",
  • "_revision": "string",
  • "created_at": "string",
  • "updated_at": "string",
  • "name": "string",
  • "org_id": "string"
}

Get a specific API Key

Authorizations:
path Parameters
apikey_id
required
string

Responses

200

API Key Retrieved

404

Application Credential Not Found

500

Internal Error

get /apikeys/{apikey_id}

AWS US API base endpoint

https://console.kaleido.io/api/v1/apikeys/{apikey_id}

AWS EU API base endpoint

https://console-eu.kaleido.io/api/v1/apikeys/{apikey_id}

AWS Sydney API base endpoint

https://console-ap.kaleido.io/api/v1/apikeys/{apikey_id}

AWS Seoul API base endpoint

https://console-ko.kaleido.io/api/v1/apikeys/{apikey_id}

Azure US API base endpoint

https://console-us1.kaleido.io/api/v1/apikeys/{apikey_id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "_id": "string",
  • "_revision": "string",
  • "created_at": "string",
  • "updated_at": "string",
  • "name": "string",
  • "org_id": "string"
}

Update an API Key

Authorizations:
path Parameters
apikey_id
required
string
Request Body schema: application/json
name
string

User defined name for API Key

Responses

200

API Key Updated

201

API Key Created

404

Application Credential Not Found

500

Internal Error

patch /apikeys/{apikey_id}

AWS US API base endpoint

https://console.kaleido.io/api/v1/apikeys/{apikey_id}

AWS EU API base endpoint

https://console-eu.kaleido.io/api/v1/apikeys/{apikey_id}

AWS Sydney API base endpoint

https://console-ap.kaleido.io/api/v1/apikeys/{apikey_id}

AWS Seoul API base endpoint

https://console-ko.kaleido.io/api/v1/apikeys/{apikey_id}

Azure US API base endpoint

https://console-us1.kaleido.io/api/v1/apikeys/{apikey_id}

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "name": "string"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "_id": "string",
  • "_revision": "string",
  • "created_at": "string",
  • "updated_at": "string",
  • "name": "string",
  • "org_id": "string"
}

Delete an API Key

Authorizations:
path Parameters
apikey_id
required
string

Responses

204

API Key Deleted

404

Application Credential Not Found

500

Internal Error

delete /apikeys/{apikey_id}

AWS US API base endpoint

https://console.kaleido.io/api/v1/apikeys/{apikey_id}

AWS EU API base endpoint

https://console-eu.kaleido.io/api/v1/apikeys/{apikey_id}

AWS Sydney API base endpoint

https://console-ap.kaleido.io/api/v1/apikeys/{apikey_id}

AWS Seoul API base endpoint

https://console-ko.kaleido.io/api/v1/apikeys/{apikey_id}

Azure US API base endpoint

https://console-us1.kaleido.io/api/v1/apikeys/{apikey_id}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "errorMessage": "string"
}

Application Credentials

A username/password pair securing external access to a node via basic access authentication. Credentials are bound to a consortia membership, are only applicable within the environment in which they are created and must be provisioned against the same membership ID of the targeted node or service in order for an authenticated connection to take place. The credential password is a onetime-viewable string and is not stored by the Kaleido backend.

Get the Application Credentials of a particular environment

Authorizations:
path Parameters
consortia_id
required
string
environment_id
required
string

Responses

200

Application Credentials Retrieved

500

Internal Error

get /consortia/{consortia_id}/environments/{environment_id}/appcreds

AWS US API base endpoint

https://console.kaleido.io/api/v1/consortia/{consortia_id}/environments/{environment_id}/appcreds

AWS EU API base endpoint

https://console-eu.kaleido.io/api/v1/consortia/{consortia_id}/environments/{environment_id}/appcreds

AWS Sydney API base endpoint

https://console-ap.kaleido.io/api/v1/consortia/{consortia_id}/environments/{environment_id}/appcreds

AWS Seoul API base endpoint

https://console-ko.kaleido.io/api/v1/consortia/{consortia_id}/environments/{environment_id}/appcreds

Azure US API base endpoint

https://console-us1.kaleido.io/api/v1/consortia/{consortia_id}/environments/{environment_id}/appcreds

Response samples

Content type
application/json
Copy
Expand all Collapse all
[
  • {
    }
]

Create new Application Credentials

Authorizations:
path Parameters
consortia_id
required
string
environment_id
required
string
Request Body schema: application/json
_id
string^[0-9a-z]{10}$
_revision
string
created_at
string

Auto-populated field denoting when a record is created

updated_at
string

Auto-populated field denoting when a record is updated

environment_id
string

Auto-generated key for the environment that owns this key

membership_id
required
string

Auto-generated key for the membership that owns this key

dapp_id
string

The DApp that owns this Key

name
string

User defined name for App Key

auth_type
string
Value: "app_creds"

The type of authentication associated with this key

hash
string

Internal storage used to validate an key (we do not store the whole key)

service_id
string

Auto-populated field. Indicates this app credential is used by provisioned service instances running in Kaleido to connect to the chain.

integration_id
string

Auto-populated field. Indicates this app credential is used by partner integrations to connect to the chain.

Responses

200

Application Credential Updated

201

Application Credential Created

404

Application Credential Not Found

500

Internal Error

post /consortia/{consortia_id}/environments/{environment_id}/appcreds

AWS US API base endpoint

https://console.kaleido.io/api/v1/consortia/{consortia_id}/environments/{environment_id}/appcreds

AWS EU API base endpoint

https://console-eu.kaleido.io/api/v1/consortia/{consortia_id}/environments/{environment_id}/appcreds

AWS Sydney API base endpoint

https://console-ap.kaleido.io/api/v1/consortia/{consortia_id}/environments/{environment_id}/appcreds

AWS Seoul API base endpoint

https://console-ko.kaleido.io/api/v1/consortia/{consortia_id}/environments/{environment_id}/appcreds

Azure US API base endpoint

https://console-us1.kaleido.io/api/v1/consortia/{consortia_id}/environments/{environment_id}/appcreds

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "_id": "string",
  • "_revision": "string",
  • "created_at": "string",
  • "updated_at": "string",
  • "environment_id": "string",
  • "membership_id": "string",
  • "dapp_id": "string",
  • "name": "string",