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 Organization

Get details about 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
{
  • "organizationData": {
    }
}

Create Sub-Organization

Create a new Sub-Organization

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_CREATE_SUB_ORGANIZATION_V3"
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 (v1CreateSubOrganizationIntentV3)

Responses

Request samples

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

Response samples

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

Update Allowable Origins

Update the allowable origins for credentials and requests

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_UPDATE_ALLOWED_ORIGINS"
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 (v1UpdateAllowedOriginsIntent)

Responses

Request samples

Content type
application/json
{
  • "type": "ACTIVITY_TYPE_UPDATE_ALLOWED_ORIGINS",
  • "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 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 (v1UpdateRootQuorumIntent)

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 (v1CreateInvitationsIntent)

Responses

Request samples

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

Response samples

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

Delete Invitation

Delete an existing Invitation

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_DELETE_INVITATION"
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 (v1DeleteInvitationIntent)

Responses

Request samples

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

Response samples

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

Policies

Policies allow for deep customization of the security of your Organization. They can be used to grant permissions or restrict usage of Users and Private Keys. The Policy Engine analyzes all of your Policies on each request to determine whether an Activity is allowed.

See Policy Overview for more information

Get Policy

Get details about a Policy

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

Unique identifier for a given Organization.

policyId
required
string

Unique identifier for a given Policy.

Responses

Request samples

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

Response samples

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

List Policies

List all Policies within 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
{
  • "policies": [
    ]
}

Create Policy

Create a new Policy

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_CREATE_POLICY_V3"
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 (v1CreatePolicyIntentV3)

Responses

Request samples

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

Response samples

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

Delete Policy

Delete an existing Policy

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_DELETE_POLICY"
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 (v1DeletePolicyIntent)

Responses

Request samples

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

Response samples

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

Update Policy

Update an existing Policy

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_UPDATE_POLICY"
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 (v1UpdatePolicyIntent)

Responses

Request samples

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

Response samples

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

Private Keys

Private Keys are cryptographic public / private key pairs that can be used for cryptocurrency needs or more generalized encryption. Think of Private Keys as your own programmable wallet. Turnkey securely holds all Private Key materials for you, but only you can access them.

Get Private Key

Get details about a Private Key

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

Unique identifier for a given Organization.

privateKeyId
required
string

Unique identifier for a given Private Key.

Responses

Request samples

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

Response samples

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

List Private Keys

List all Private Keys within 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
{
  • "privateKeys": [
    ]
}

Create Private Keys

Create new Private Keys

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_CREATE_PRIVATE_KEYS_V2"
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 (v1CreatePrivateKeysIntentV2)

Responses

Request samples

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

Response samples

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

Sign Raw Payload

Sign a raw payload with a Private Key

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_SIGN_RAW_PAYLOAD"
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 (v1SignRawPayloadIntent)

Responses

Request samples

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

Response samples

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

Sign Transaction

Sign a transaction with a Private Key

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_SIGN_TRANSACTION"
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 (v1SignTransactionIntent)

Responses

Request samples

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

Response samples

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

Private Key Tags

Private Key Tags allow you to easily group and permission Private Keys through Policies.

Create Private Key Tag

Create a private key tag and add it to private keys.

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_CREATE_PRIVATE_KEY_TAG"
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 (v1CreatePrivateKeyTagIntent)

Responses

Request samples

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

Response samples

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

Update Private Key Tag

Update human-readable name or associated private keys. Note that this activity is atomic: all of the updates will succeed at once, or all of them will fail.

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_UPDATE_PRIVATE_KEY_TAG"
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 (v1UpdatePrivateKeyTagIntent)

Responses

Request samples

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

Response samples

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

Users

Users are responsible for any action taken within an Organization. They can have ApiKey or Auuthenticator credentials, allowing you to onboard teammates to the Organization, or create API-only Users to run as part of your infrastructure.

Get User

Get details about a User

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

Unique identifier for a given Organization.

userId
required
string

Unique identifier for a given User.

Responses

Request samples

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

Response samples

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

List Users

List all Users within 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
{
  • "users": [
    ]
}

Create API-only Users

Create API-only Users in an existing Organization

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_CREATE_API_ONLY_USERS"
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 (v1CreateApiOnlyUsersIntent)

Responses

Request samples

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

Response samples

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

Create Users

Create Users in an existing Organization

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_CREATE_USERS_V2"
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 (v1CreateUsersIntentV2)

Responses

Request samples

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

Response samples

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

Update User

Update a User in an existing Organization

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_UPDATE_USER"
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 (v1UpdateUserIntent)

Responses

Request samples

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

Response samples

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

User Tags

User Key Tags allow you to easily group and permission Users through Policies.

Create User Tag

Create a user tag and add it to users.

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_CREATE_USER_TAG"
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 (v1CreateUserTagIntent)

Responses

Request samples

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

Response samples

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

Update User Tag

Update human-readable name or associated users. Note that this activity is atomic: all of the updates will succeed at once, or all of them will fail.

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_UPDATE_USER_TAG"
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 (v1UpdateUserTagIntent)

Responses

Request samples

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

Response samples

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

Authenticators

Authenticators are WebAuthN hardware devices, such as a Macbook TouchID or Yubikey, that can be used to authenticate requests.

Get Authenticator

Get details about an authenticator

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

Unique identifier for a given Organization.

authenticatorId
required
string

Unique identifier for a given Authenticator.

Responses

Request samples

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

Response samples

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

Get Authenticators

Get details about authenticators for a user

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

Unique identifier for a given Organization.

userId
required
string

Unique identifier for a given User.

Responses

Request samples

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

Response samples

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

Create Authenticators

Create Authenticators to authenticate requests to Turnkey

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_CREATE_AUTHENTICATORS_V2"
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 (v1CreateAuthenticatorsIntentV2)

Responses

Request samples

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

Response samples

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

Delete Authenticators

Remove authenticators from a User

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_DELETE_AUTHENTICATORS"
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 (v1DeleteAuthenticatorsIntent)

Responses

Request samples

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

Response samples

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

API Keys

API Keys are used to authenticate requests

See our CLI for instructions on generating API Keys

Create API Keys

Add api keys to an existing User

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_CREATE_API_KEYS"
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 (v1CreateApiKeysIntent)

Responses

Request samples

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

Response samples

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

Delete API Keys

Remove api keys from a User

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_DELETE_API_KEYS"
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 (v1DeleteApiKeysIntent)

Responses

Request samples

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

Response samples

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

Who am I?

Who am I?

Get basic information about your current API or WebAuthN user and their organization. Affords Sub-Organization look ups via Parent Organization for WebAuthN users.

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

Unique identifier for a given Organization. If the request is being made by a WebAuthN user and their Sub-Organization ID is unknown, this can be the Parent Organization ID; using the Sub-Organization ID when possible is preferred due to performance reasons.

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "organizationId": "string",
  • "organizationName": "string",
  • "userId": "string",
  • "username": "string"
}

Activities

Activities encapsulate all the possible actions that can be taken with Turnkey. Some examples include adding a new user, creating a private key, and signing a transaction.

Activities that modify your Organization are processed asynchronously. To confirm processing is complete and retrieve the Activity results, these activities must be polled until that status has been updated to a finalized state: COMPLETED when the activity is successful or FAILED when the activity has failed

Get Activity

Get details about an Activity

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

Unique identifier for a given Organization.

activityId
required
string

Unique identifier for a given Activity object.

Responses

Request samples

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

Response samples

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

List Activities

List all Activities within an Organization

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

Unique identifier for a given Organization.

filterByStatus
Array of strings (v1ActivityStatus)
Items Enum: "ACTIVITY_STATUS_CREATED" "ACTIVITY_STATUS_PENDING" "ACTIVITY_STATUS_COMPLETED" "ACTIVITY_STATUS_FAILED" "ACTIVITY_STATUS_CONSENSUS_NEEDED" "ACTIVITY_STATUS_REJECTED"

Array of Activity Statuses filtering which Activities will be listed in the response.

object (v1Pagination)
filterByType
Array of strings (v1ActivityType)
Items Enum: "ACTIVITY_TYPE_CREATE_API_KEYS" "ACTIVITY_TYPE_CREATE_USERS" "ACTIVITY_TYPE_CREATE_PRIVATE_KEYS" "ACTIVITY_TYPE_SIGN_RAW_PAYLOAD" "ACTIVITY_TYPE_CREATE_INVITATIONS" "ACTIVITY_TYPE_ACCEPT_INVITATION" "ACTIVITY_TYPE_CREATE_POLICY" "ACTIVITY_TYPE_DISABLE_PRIVATE_KEY" "ACTIVITY_TYPE_DELETE_USERS" "ACTIVITY_TYPE_DELETE_API_KEYS" "ACTIVITY_TYPE_DELETE_INVITATION" "ACTIVITY_TYPE_DELETE_ORGANIZATION" "ACTIVITY_TYPE_DELETE_POLICY" "ACTIVITY_TYPE_CREATE_USER_TAG" "ACTIVITY_TYPE_DELETE_USER_TAGS" "ACTIVITY_TYPE_CREATE_ORGANIZATION" "ACTIVITY_TYPE_SIGN_TRANSACTION" "ACTIVITY_TYPE_APPROVE_ACTIVITY" "ACTIVITY_TYPE_REJECT_ACTIVITY" "ACTIVITY_TYPE_DELETE_AUTHENTICATORS" "ACTIVITY_TYPE_CREATE_AUTHENTICATORS" "ACTIVITY_TYPE_CREATE_PRIVATE_KEY_TAG" "ACTIVITY_TYPE_DELETE_PRIVATE_KEY_TAGS" "ACTIVITY_TYPE_SET_PAYMENT_METHOD" "ACTIVITY_TYPE_ACTIVATE_BILLING_TIER" "ACTIVITY_TYPE_DELETE_PAYMENT_METHOD" "ACTIVITY_TYPE_CREATE_POLICY_V2" "ACTIVITY_TYPE_CREATE_POLICY_V3" "ACTIVITY_TYPE_CREATE_API_ONLY_USERS" "ACTIVITY_TYPE_UPDATE_ROOT_QUORUM" "ACTIVITY_TYPE_UPDATE_USER_TAG" "ACTIVITY_TYPE_UPDATE_PRIVATE_KEY_TAG" "ACTIVITY_TYPE_CREATE_AUTHENTICATORS_V2" "ACTIVITY_TYPE_CREATE_ORGANIZATION_V2" "ACTIVITY_TYPE_CREATE_USERS_V2" "ACTIVITY_TYPE_ACCEPT_INVITATION_V2" "ACTIVITY_TYPE_CREATE_SUB_ORGANIZATION" "ACTIVITY_TYPE_CREATE_SUB_ORGANIZATION_V2" "ACTIVITY_TYPE_UPDATE_ALLOWED_ORIGINS" "ACTIVITY_TYPE_CREATE_PRIVATE_KEYS_V2" "ACTIVITY_TYPE_UPDATE_USER" "ACTIVITY_TYPE_UPDATE_POLICY" "ACTIVITY_TYPE_SET_PAYMENT_METHOD_V2" "ACTIVITY_TYPE_CREATE_SUB_ORGANIZATION_V3"

Array of Activity Types filtering which Activities will be listed in the response.

Responses

Request samples

Content type
application/json
{
  • "organizationId": "string",
  • "filterByStatus": [
    ],
  • "paginationOptions": {
    },
  • "filterByType": [
    ]
}

Response samples

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

Consensus

Policies can enforce consensus requirements for Activities. For example, adding a new user requires two admins to approve the request.

Activities that have been proposed, but don't yet meet the Consesnsus requirements will have the status: REQUIRES_CONSENSUS. Activities in this state can be approved or rejected using the unique fingerprint generated when an Activity is created.

Approve Activity

Approve an Activity

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_APPROVE_ACTIVITY"
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 (v1ApproveActivityIntent)

Responses

Request samples

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

Response samples

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

Reject Activity

Reject an Activity

Authorizations:
ApiKeyAuthAuthenticatorAuth
Request Body schema: application/json
type
required
string
Value: "ACTIVITY_TYPE_REJECT_ACTIVITY"
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 (v1RejectActivityIntent)

Responses

Request samples

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

Response samples

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