Activities
- Overview
- Create API Keys
- Create Authenticators
- Create Invitations
- Create Oauth Providers
- Create Policies
- Create Policy
- Create Private Key Tag
- Create Private Keys
- Create Read Only Session
- Create Read Write Session
- Create Sub-Organization
- Create User Tag
- Create Users
- Create Wallet
- Create Wallet Accounts
- Delete API Keys
- Delete Authenticators
- Delete Invitation
- Delete Oauth Providers
- Delete Policy
- Delete Private Key Tags
- Delete Private Keys
- Delete Sub Organization
- Delete User Tags
- Delete Users
- Delete Wallets
- Export Private Key
- Export Wallet
- Export Wallet Account
- Import Private Key
- Import Wallet
- Init Email Recovery
- Init Import Private Key
- Init Import Wallet
- Init OTP auth
- Oauth
- OTP auth
- Perform Email Auth
- Recover a user
- Remove Organization Feature
- Set Organization Feature
- Sign Raw Payload
- Sign Raw Payloads
- Sign Transaction
- Update Policy
- Update Private Key Tag
- Update Root Quorum
- Update User
- Update User Tag
- Update Wallet
Queries
- Overview
- Get Activity
- Get API key
- Get API keys
- Get Authenticator
- Get Authenticators
- Get Configs
- Get Oauth providers
- Get Policy
- Get Private Key
- Get Suborgs
- Get User
- Get Verified Suborgs
- Get Wallet
- Get Wallet Account
- List Activities
- List Policies
- List Private Key Tags
- List Private Keys
- List User Tags
- List Users
- List Wallets
- List Wallets Accounts
- Who am I?
Create Authenticators
Create Authenticators to authenticate requests to Turnkey
curl --request POST \
--url https://api.turnkey.com/public/v1/submit/create_authenticators \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header "X-Stamp: <YOUR_API_KEY.YOUR_API_SECRET>" \
--data '{
"type": "ACTIVITY_TYPE_CREATE_AUTHENTICATORS_V2",
"timestampMs": "<string> (e.g. 1746736509954)",
"organizationId": "<string> (Your Organization ID)",
"parameters": {
"authenticators": [
{
"authenticatorName": "<string>",
"challenge": "<string>",
"attestation": {
"credentialId": "<string>",
"clientDataJson": "<string>",
"attestationObject": "<string>",
"transports": [
"<AUTHENTICATOR_TRANSPORT_BLE>"
]
}
}
],
"userId": "<string>"
}
}'
{
"activity": {
"id": "<activity-id>",
"status": "ACTIVITY_STATUS_COMPLETED",
"type": "ACTIVITY_TYPE_CREATE_AUTHENTICATORS_V2",
"organizationId": "<organization-id>",
"timestampMs": "<timestamp> (e.g. 1746736509954)",
"result": {
"activity": {
"type": "<string>",
"intent": {
"createAuthenticatorsIntent": {
"authenticators": [
{
"authenticatorName": "<string>",
"userId": "<string>",
"attestation": {
"id": "<string>",
"type": "<public-key>",
"rawId": "<string>",
"authenticatorAttachment": "<cross-platform>",
"response": {
"clientDataJson": "<string>",
"attestationObject": "<string>",
"transports": [
"<AUTHENTICATOR_TRANSPORT_BLE>"
],
"authenticatorAttachment": "<cross-platform>"
},
"clientExtensionResults": {
"appid": true,
"appidExclude": true,
"credProps": {
"rk": true
}
}
},
"challenge": "<string>"
}
],
"userId": "<string>"
}
},
"result": {
"createAuthenticatorsResult": {
"authenticatorIds": [
"<string_element>"
]
}
}
}
}
}
}
Authorizations
Body
Enum options: ACTIVITY_TYPE_CREATE_AUTHENTICATORS_V2
Timestamp (in milliseconds) of the request, used to verify liveness of user requests.
Unique identifier for a given Organization.
parameters field
Show details
Show details
A list of Authenticators.
Show item details
Show item details
attestation field
Show details
Show details
The cbor encoded then base64 url encoded id of the credential.
A base64 url encoded payload containing metadata about the signing context and the challenge.
A base64 url encoded payload containing authenticator data and any attestation the webauthn provider chooses.
Response
A successful response returns the following fields:
The activity object containing type, intent, and result
Show activity details
Show activity details
The intent of the activity
Show intent details
Show intent details
The createAuthenticatorsIntent object
Show createAuthenticatorsIntent details
Show createAuthenticatorsIntent details
A list of Authenticators.
Show authenticators details
Show authenticators details
Human-readable name for an Authenticator.
Unique identifier for a given User.
attestation field
Show attestation details
Show attestation details
type field
Enum options: public-key
rawId field
authenticatorAttachment field
Enum options: cross-platform
, platform
response field
Show response details
Show response details
clientDataJson field
attestationObject field
transports field
Show transports details
Show transports details
clientExtensionResults field
Show clientExtensionResults details
Show clientExtensionResults details
appid field
appidExclude field
The result of the activity
Show result details
Show result details
curl --request POST \
--url https://api.turnkey.com/public/v1/submit/create_authenticators \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header "X-Stamp: <YOUR_API_KEY.YOUR_API_SECRET>" \
--data '{
"type": "ACTIVITY_TYPE_CREATE_AUTHENTICATORS_V2",
"timestampMs": "<string> (e.g. 1746736509954)",
"organizationId": "<string> (Your Organization ID)",
"parameters": {
"authenticators": [
{
"authenticatorName": "<string>",
"challenge": "<string>",
"attestation": {
"credentialId": "<string>",
"clientDataJson": "<string>",
"attestationObject": "<string>",
"transports": [
"<AUTHENTICATOR_TRANSPORT_BLE>"
]
}
}
],
"userId": "<string>"
}
}'
{
"activity": {
"id": "<activity-id>",
"status": "ACTIVITY_STATUS_COMPLETED",
"type": "ACTIVITY_TYPE_CREATE_AUTHENTICATORS_V2",
"organizationId": "<organization-id>",
"timestampMs": "<timestamp> (e.g. 1746736509954)",
"result": {
"activity": {
"type": "<string>",
"intent": {
"createAuthenticatorsIntent": {
"authenticators": [
{
"authenticatorName": "<string>",
"userId": "<string>",
"attestation": {
"id": "<string>",
"type": "<public-key>",
"rawId": "<string>",
"authenticatorAttachment": "<cross-platform>",
"response": {
"clientDataJson": "<string>",
"attestationObject": "<string>",
"transports": [
"<AUTHENTICATOR_TRANSPORT_BLE>"
],
"authenticatorAttachment": "<cross-platform>"
},
"clientExtensionResults": {
"appid": true,
"appidExclude": true,
"credProps": {
"rk": true
}
}
},
"challenge": "<string>"
}
],
"userId": "<string>"
}
},
"result": {
"createAuthenticatorsResult": {
"authenticatorIds": [
"<string_element>"
]
}
}
}
}
}
}
Was this page helpful?
curl --request POST \
--url https://api.turnkey.com/public/v1/submit/create_authenticators \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header "X-Stamp: <YOUR_API_KEY.YOUR_API_SECRET>" \
--data '{
"type": "ACTIVITY_TYPE_CREATE_AUTHENTICATORS_V2",
"timestampMs": "<string> (e.g. 1746736509954)",
"organizationId": "<string> (Your Organization ID)",
"parameters": {
"authenticators": [
{
"authenticatorName": "<string>",
"challenge": "<string>",
"attestation": {
"credentialId": "<string>",
"clientDataJson": "<string>",
"attestationObject": "<string>",
"transports": [
"<AUTHENTICATOR_TRANSPORT_BLE>"
]
}
}
],
"userId": "<string>"
}
}'
{
"activity": {
"id": "<activity-id>",
"status": "ACTIVITY_STATUS_COMPLETED",
"type": "ACTIVITY_TYPE_CREATE_AUTHENTICATORS_V2",
"organizationId": "<organization-id>",
"timestampMs": "<timestamp> (e.g. 1746736509954)",
"result": {
"activity": {
"type": "<string>",
"intent": {
"createAuthenticatorsIntent": {
"authenticators": [
{
"authenticatorName": "<string>",
"userId": "<string>",
"attestation": {
"id": "<string>",
"type": "<public-key>",
"rawId": "<string>",
"authenticatorAttachment": "<cross-platform>",
"response": {
"clientDataJson": "<string>",
"attestationObject": "<string>",
"transports": [
"<AUTHENTICATOR_TRANSPORT_BLE>"
],
"authenticatorAttachment": "<cross-platform>"
},
"clientExtensionResults": {
"appid": true,
"appidExclude": true,
"credProps": {
"rk": true
}
}
},
"challenge": "<string>"
}
],
"userId": "<string>"
}
},
"result": {
"createAuthenticatorsResult": {
"authenticatorIds": [
"<string_element>"
]
}
}
}
}
}
}