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., 1745474677465)",
    "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., 1745474677465)",
    "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>"
            ]
          }
        }
      }
    }
  }
}
POST
/
public
/
v1
/
submit
/
create_authenticators

Authorizations

X-Stamp
string
header
required

Body

type
enum<string>
required

Enum options: ACTIVITY_TYPE_CREATE_AUTHENTICATORS_V2

timestampMs
string
required

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

organizationId
string
required

Unique identifier for a given Organization.

parameters
object
required

parameters field

Response

A successful response returns the following fields:

activity
object
required

The activity object containing type, intent, and result

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., 1745474677465)",
    "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., 1745474677465)",
    "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>"
            ]
          }
        }
      }
    }
  }
}