API Reference for the Rotate Signers Service (1.0)

Download OpenAPI specification:Download

The Rotating Signers service can be configured to have different target signers count, rotation size, and rotation interval. It also allows for the rotation algorithm to be configurable, although currently the only supported algorithm is "oldest-first", meaning the signers that have been active the longest will be voted out in the next rotation. We welcome feedback on the need for other algorithms.

The Rotating Signers service can be activated, to start the timer on the rotator, and deactivated, to stop the rotations.

Client applications can query for the current set of signers that are active, and future set of signers that are expected to be rotated in.

rotatesigners

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

Configurations

Returns the latest service configuration

Authorizations:
path Parameters
service_id
required
string

Responses

200

Configuration Retrieved

get /rotatesigners/{service_id}/configuration

AWS US API base endpoint

https://console.kaleido.io/api/v1/rotatesigners/{service_id}/configuration

AWS EU API base endpoint

https://console-eu.kaleido.io/api/v1/rotatesigners/{service_id}/configuration

AWS Sydney API base endpoint

https://console-ap.kaleido.io/api/v1/rotatesigners/{service_id}/configuration

AWS Seoul API base endpoint

https://console-ko.kaleido.io/api/v1/rotatesigners/{service_id}/configuration

Azure US API base endpoint

https://console-us1.kaleido.io/api/v1/rotatesigners/{service_id}/configuration

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "targetSignerCount": 4,
  • "rotationInterval": 5,
  • "rotationSize": 1,
  • "rotationAlgorithm": "oldest-first"
}

Configure the Rotating Signers service for various runtime parameters

Authorizations:
path Parameters
service_id
required
string
Request Body schema: application/json
targetSignerCount
integer [ 4 .. 20 ]
Default: 4

The number of signers that should be active in each rotation

rotationInterval
integer >= 5
Default: 5

The length of period, in minutes, between signer rotations

rotationSize
integer
Default: 1

The number of signers from the active set that should be rotated out and the equal amount should be voted in

rotationAlgorithm
string
Value: "oldest-first"

The algorithm used to decide which signers to vote out and which signers to vote in during each rotation

Responses

200

Configuration Updated

patch /rotatesigners/{service_id}/configuration

AWS US API base endpoint

https://console.kaleido.io/api/v1/rotatesigners/{service_id}/configuration

AWS EU API base endpoint

https://console-eu.kaleido.io/api/v1/rotatesigners/{service_id}/configuration

AWS Sydney API base endpoint

https://console-ap.kaleido.io/api/v1/rotatesigners/{service_id}/configuration

AWS Seoul API base endpoint

https://console-ko.kaleido.io/api/v1/rotatesigners/{service_id}/configuration

Azure US API base endpoint

https://console-us1.kaleido.io/api/v1/rotatesigners/{service_id}/configuration

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "targetSignerCount": 4,
  • "rotationInterval": 5,
  • "rotationSize": 1,
  • "rotationAlgorithm": "oldest-first"
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "targetSignerCount": 4,
  • "rotationInterval": 5,
  • "rotationSize": 1,
  • "rotationAlgorithm": "oldest-first"
}

Activation

Activates the rotator to start the rotations on the configured interval

Authorizations:
path Parameters
service_id
required
string

Responses

200

Rotator activated

post /rotatesigners/{service_id}/activate

AWS US API base endpoint

https://console.kaleido.io/api/v1/rotatesigners/{service_id}/activate

AWS EU API base endpoint

https://console-eu.kaleido.io/api/v1/rotatesigners/{service_id}/activate

AWS Sydney API base endpoint

https://console-ap.kaleido.io/api/v1/rotatesigners/{service_id}/activate

AWS Seoul API base endpoint

https://console-ko.kaleido.io/api/v1/rotatesigners/{service_id}/activate

Azure US API base endpoint

https://console-us1.kaleido.io/api/v1/rotatesigners/{service_id}/activate

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "success": true
}

De-activates the rotator to stop the rotations

Authorizations:
path Parameters
service_id
required
string

Responses

200

Rotator de-activated

post /rotatesigners/{service_id}/deactivate

AWS US API base endpoint

https://console.kaleido.io/api/v1/rotatesigners/{service_id}/deactivate

AWS EU API base endpoint

https://console-eu.kaleido.io/api/v1/rotatesigners/{service_id}/deactivate

AWS Sydney API base endpoint

https://console-ap.kaleido.io/api/v1/rotatesigners/{service_id}/deactivate

AWS Seoul API base endpoint

https://console-ko.kaleido.io/api/v1/rotatesigners/{service_id}/deactivate

Azure US API base endpoint

https://console-us1.kaleido.io/api/v1/rotatesigners/{service_id}/deactivate

Response samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "success": true
}

Status

Returns the current signers that are actively participating in the blockchain consensus

Authorizations:
path Parameters
service_id
required
string

Responses

200

Signers Retrieved

get /rotatesigners/{service_id}/currentSigners

AWS US API base endpoint

https://console.kaleido.io/api/v1/rotatesigners/{service_id}/currentSigners

AWS EU API base endpoint

https://console-eu.kaleido.io/api/v1/rotatesigners/{service_id}/currentSigners

AWS Sydney API base endpoint

https://console-ap.kaleido.io/api/v1/rotatesigners/{service_id}/currentSigners

AWS Seoul API base endpoint

https://console-ko.kaleido.io/api/v1/rotatesigners/{service_id}/currentSigners

Azure US API base endpoint

https://console-us1.kaleido.io/api/v1/rotatesigners/{service_id}/currentSigners

Response samples

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

Returns the list of signers that are expected to be rotated in during future rotations

Authorizations:
path Parameters
service_id
required
string

Responses

200

Signers Retrieved

get /rotatesigners/{service_id}/nextSigners

AWS US API base endpoint

https://console.kaleido.io/api/v1/rotatesigners/{service_id}/nextSigners

AWS EU API base endpoint

https://console-eu.kaleido.io/api/v1/rotatesigners/{service_id}/nextSigners

AWS Sydney API base endpoint

https://console-ap.kaleido.io/api/v1/rotatesigners/{service_id}/nextSigners

AWS Seoul API base endpoint

https://console-ko.kaleido.io/api/v1/rotatesigners/{service_id}/nextSigners

Azure US API base endpoint

https://console-us1.kaleido.io/api/v1/rotatesigners/{service_id}/nextSigners

Response samples

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