Skip to main content

API Reference (1.0)

Review our API Introduction to get started.

Organizations

An Organization is the highest level of hierarchy in Turnkey. It can contain many Users, Private Keys, and Policies managed by a Root Quorum. The Root Quorum consists of a set of Users with a consensus threshold. This consensus threshold must be reached by Quorum members in order for any actions to take place.

See Root Quorum for more information

Get Configs

Get quorum settings and features for an organization

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
organizationId
required
string

Unique identifier for a given Organization.

Responses

Request samples

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

Response samples

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

Get Suborgs

Get all suborg IDs associated given a parent org ID and an optional filter.

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
organizationId
required
string

Unique identifier for the parent Organization. This is used to find sub-organizations within it.

filterType
string

Specifies the type of filter to apply, i.e 'CREDENTIAL_ID', 'NAME', 'USERNAME', 'EMAIL', 'OIDC_TOKEN' or 'PUBLIC_KEY'

filterValue
string

The value of the filter to apply for the specified type. For example, a specific email or name string.

object (Pagination)

Responses

Request samples

Content type
application/json
{
  • "organizationId": "string",
  • "filterType": "string",
  • "filterValue": "string",
  • "paginationOptions": {
    }
}

Response samples

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

Create Sub-Organization

Create a new Sub-Organization

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_CREATE_SUB_ORGANIZATION_V7"
timestampMs
required
string

Timestamp (in milliseconds) of the request, used to verify liveness of user requests.

organizationId
required
string

Unique identifier for a given Organization.

required
object (CreateSubOrganizationIntentV7)

Responses

Request samples

Content type
application/json
{
  • "type": "ACTIVITY_TYPE_CREATE_SUB_ORGANIZATION_V7",
  • "timestampMs": "string",
  • "organizationId": "string",
  • "parameters": {
    }
}

Response samples

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

Delete Sub Organization

Deletes a sub organization

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_DELETE_SUB_ORGANIZATION"
timestampMs
required
string

Timestamp (in milliseconds) of the request, used to verify liveness of user requests.

organizationId
required
string

Unique identifier for a given Organization.

required
object (DeleteSubOrganizationIntent)

Responses

Request samples

Content type
application/json
{
  • "type": "ACTIVITY_TYPE_DELETE_SUB_ORGANIZATION",
  • "timestampMs": "string",
  • "organizationId": "string",
  • "parameters": {
    }
}

Response samples

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

Update Root Quorum

Set the threshold and members of the root quorum. This activity must be approved by the current root quorum.

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_UPDATE_ROOT_QUORUM"
timestampMs
required
string

Timestamp (in milliseconds) of the request, used to verify liveness of user requests.

organizationId
required
string

Unique identifier for a given Organization.

required
object (UpdateRootQuorumIntent)

Responses

Request samples

Content type
application/json
{
  • "type": "ACTIVITY_TYPE_UPDATE_ROOT_QUORUM",
  • "timestampMs": "string",
  • "organizationId": "string",
  • "parameters": {
    }
}

Response samples

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

Invitations

Invitations allow you to invite Users into your Organization via email. Alternatively, Users can be added directly without an Invitation if their ApiKey or Authenticator credentials are known ahead of time.

See Users for more information

Create Invitations

Create Invitations to join an existing Organization

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_CREATE_INVITATIONS"
timestampMs
required
string

Timestamp (in milliseconds) of the request, used to verify liveness of user requests.

organizationId
required
string

Unique identifier for a given Organization.

required
object (CreateInvitationsIntent)

Responses

Request samples

Content type
application/json
{
  • "type": "ACTIVITY_TYPE_CREATE_INVITATIONS",
  • "timestampMs": "string",
  • "organizationId": "string",
  • "parameters": {
    }
}

Response samples

Content type
application/json
{
  • "activity": {