curl --request POST \
  --url https://api.turnkey.com/public/v1/submit/create_sub_organization \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header "X-Stamp: <string> (see Authorizations)" \
  --data '{
    "type": "ACTIVITY_TYPE_CREATE_SUB_ORGANIZATION_V7",
    "timestampMs": "<string> (e.g. 1746736509954)",
    "organizationId": "<string> (Your Organization ID)",
    "parameters": {
        "subOrganizationName": "<string>",
        "rootUsers": [
            {
                "userName": "<string>",
                "userEmail": "<string>",
                "userPhoneNumber": "<string>",
                "apiKeys": [
                    {
                        "apiKeyName": "<string>",
                        "publicKey": "<string>",
                        "curveType": "<API_KEY_CURVE_P256>",
                        "expirationSeconds": "<string>"
                    }
                ],
                "authenticators": [
                    {
                        "authenticatorName": "<string>",
                        "challenge": "<string>",
                        "attestation": {
                            "credentialId": "<string>",
                            "clientDataJson": "<string>",
                            "attestationObject": "<string>",
                            "transports": [
                                "<AUTHENTICATOR_TRANSPORT_BLE>"
                            ]
                        }
                    }
                ],
                "oauthProviders": [
                    {
                        "providerName": "<string>",
                        "oidcToken": "<string>"
                    }
                ]
            }
        ],
        "rootQuorumThreshold": "<number>",
        "wallet": {
            "walletName": "<string>",
            "accounts": [
                {
                    "curve": "<CURVE_SECP256K1>",
                    "pathFormat": "<PATH_FORMAT_BIP32>",
                    "path": "<string>",
                    "addressFormat": "<ADDRESS_FORMAT_UNCOMPRESSED>"
                }
            ],
            "mnemonicLength": "<number>"
        },
        "disableEmailRecovery": "<boolean>",
        "disableEmailAuth": "<boolean>",
        "disableSmsAuth": "<boolean>",
        "disableOtpEmailAuth": "<boolean>"
    }
}'
{
  "activity": {
    "id": "<activity-id>",
    "status": "ACTIVITY_STATUS_COMPLETED",
    "type": "ACTIVITY_TYPE_CREATE_SUB_ORGANIZATION_V7",
    "organizationId": "<organization-id>",
    "timestampMs": "<timestamp> (e.g. 1746736509954)",
    "result": {
      "activity": {
        "id": "<string>",
        "organizationId": "<string>",
        "status": "<string>",
        "type": "<string>",
        "intent": {
          "createSubOrganizationIntentV7": {
            "subOrganizationName": "<string>",
            "rootUsers": [
              {
                "userName": "<string>",
                "userEmail": "<string>",
                "userPhoneNumber": "<string>",
                "apiKeys": [
                  {
                    "apiKeyName": "<string>",
                    "publicKey": "<string>",
                    "curveType": "<API_KEY_CURVE_P256>",
                    "expirationSeconds": "<string>"
                  }
                ],
                "authenticators": [
                  {
                    "authenticatorName": "<string>",
                    "challenge": "<string>",
                    "attestation": {
                      "credentialId": "<string>",
                      "clientDataJson": "<string>",
                      "attestationObject": "<string>",
                      "transports": [
                        "<AUTHENTICATOR_TRANSPORT_BLE>"
                      ]
                    }
                  }
                ],
                "oauthProviders": [
                  {
                    "providerName": "<string>",
                    "oidcToken": "<string>"
                  }
                ]
              }
            ],
            "rootQuorumThreshold": "<number>",
            "wallet": {
              "walletName": "<string>",
              "accounts": [
                {
                  "curve": "<CURVE_SECP256K1>",
                  "pathFormat": "<PATH_FORMAT_BIP32>",
                  "path": "<string>",
                  "addressFormat": "<ADDRESS_FORMAT_UNCOMPRESSED>"
                }
              ],
              "mnemonicLength": "<number>"
            },
            "disableEmailRecovery": "<boolean>",
            "disableEmailAuth": "<boolean>",
            "disableSmsAuth": "<boolean>",
            "disableOtpEmailAuth": "<boolean>"
          }
        },
        "result": {
          "createSubOrganizationResultV7": {
            "subOrganizationId": "<string>",
            "wallet": {
              "walletId": "<string>",
              "addresses": [
                "<string>"
              ]
            },
            "rootUserIds": [
              "<string>"
            ]
          }
        },
        "votes": "<array>",
        "fingerprint": "<string>",
        "canApprove": "<boolean>",
        "canReject": "<boolean>",
        "createdAt": "<string>",
        "updatedAt": "<string>"
      }
    }
  }
}
POST
/
public
/
v1
/
submit
/
create_sub_organization

Authorizations

X-Stamp
string
required
Cryptographically signed (stamped) request to be passed in as a header. For more info, see here.

Body

type
enum<string>
required
Enum options: ACTIVITY_TYPE_CREATE_SUB_ORGANIZATION_V7
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

The parameters object containing the specific intent data for this activity.

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_sub_organization \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header "X-Stamp: <string> (see Authorizations)" \
  --data '{
    "type": "ACTIVITY_TYPE_CREATE_SUB_ORGANIZATION_V7",
    "timestampMs": "<string> (e.g. 1746736509954)",
    "organizationId": "<string> (Your Organization ID)",
    "parameters": {
        "subOrganizationName": "<string>",
        "rootUsers": [
            {
                "userName": "<string>",
                "userEmail": "<string>",
                "userPhoneNumber": "<string>",
                "apiKeys": [
                    {
                        "apiKeyName": "<string>",
                        "publicKey": "<string>",
                        "curveType": "<API_KEY_CURVE_P256>",
                        "expirationSeconds": "<string>"
                    }
                ],
                "authenticators": [
                    {
                        "authenticatorName": "<string>",
                        "challenge": "<string>",
                        "attestation": {
                            "credentialId": "<string>",
                            "clientDataJson": "<string>",
                            "attestationObject": "<string>",
                            "transports": [
                                "<AUTHENTICATOR_TRANSPORT_BLE>"
                            ]
                        }
                    }
                ],
                "oauthProviders": [
                    {
                        "providerName": "<string>",
                        "oidcToken": "<string>"
                    }
                ]
            }
        ],
        "rootQuorumThreshold": "<number>",
        "wallet": {
            "walletName": "<string>",
            "accounts": [
                {
                    "curve": "<CURVE_SECP256K1>",
                    "pathFormat": "<PATH_FORMAT_BIP32>",
                    "path": "<string>",
                    "addressFormat": "<ADDRESS_FORMAT_UNCOMPRESSED>"
                }
            ],
            "mnemonicLength": "<number>"
        },
        "disableEmailRecovery": "<boolean>",
        "disableEmailAuth": "<boolean>",
        "disableSmsAuth": "<boolean>",
        "disableOtpEmailAuth": "<boolean>"
    }
}'
{
  "activity": {
    "id": "<activity-id>",
    "status": "ACTIVITY_STATUS_COMPLETED",
    "type": "ACTIVITY_TYPE_CREATE_SUB_ORGANIZATION_V7",
    "organizationId": "<organization-id>",
    "timestampMs": "<timestamp> (e.g. 1746736509954)",
    "result": {
      "activity": {
        "id": "<string>",
        "organizationId": "<string>",
        "status": "<string>",
        "type": "<string>",
        "intent": {
          "createSubOrganizationIntentV7": {
            "subOrganizationName": "<string>",
            "rootUsers": [
              {
                "userName": "<string>",
                "userEmail": "<string>",
                "userPhoneNumber": "<string>",
                "apiKeys": [
                  {
                    "apiKeyName": "<string>",
                    "publicKey": "<string>",
                    "curveType": "<API_KEY_CURVE_P256>",
                    "expirationSeconds": "<string>"
                  }
                ],
                "authenticators": [
                  {
                    "authenticatorName": "<string>",
                    "challenge": "<string>",
                    "attestation": {
                      "credentialId": "<string>",
                      "clientDataJson": "<string>",
                      "attestationObject": "<string>",
                      "transports": [
                        "<AUTHENTICATOR_TRANSPORT_BLE>"
                      ]
                    }
                  }
                ],
                "oauthProviders": [
                  {
                    "providerName": "<string>",
                    "oidcToken": "<string>"
                  }
                ]
              }
            ],
            "rootQuorumThreshold": "<number>",
            "wallet": {
              "walletName": "<string>",
              "accounts": [
                {
                  "curve": "<CURVE_SECP256K1>",
                  "pathFormat": "<PATH_FORMAT_BIP32>",
                  "path": "<string>",
                  "addressFormat": "<ADDRESS_FORMAT_UNCOMPRESSED>"
                }
              ],
              "mnemonicLength": "<number>"
            },
            "disableEmailRecovery": "<boolean>",
            "disableEmailAuth": "<boolean>",
            "disableSmsAuth": "<boolean>",
            "disableOtpEmailAuth": "<boolean>"
          }
        },
        "result": {
          "createSubOrganizationResultV7": {
            "subOrganizationId": "<string>",
            "wallet": {
              "walletId": "<string>",
              "addresses": [
                "<string>"
              ]
            },
            "rootUserIds": [
              "<string>"
            ]
          }
        },
        "votes": "<array>",
        "fingerprint": "<string>",
        "canApprove": "<boolean>",
        "canReject": "<boolean>",
        "createdAt": "<string>",
        "updatedAt": "<string>"
      }
    }
  }
}