Skip to main content
organizationId
string
required
Unique identifier for a given organization.
A successful response returns the following fields:
users
array
required
A list of users.
curl --request POST \
  --url https://api.turnkey.com/public/v1/query/list_users \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header "X-Stamp: <string> (see Authorizations)" \
  --data '{
    "organizationId": "<string>"
}'
import { Turnkey } from "@turnkey/sdk-server";

const turnkeyClient = new Turnkey({
  apiBaseUrl: "https://api.turnkey.com",
  apiPublicKey: process.env.API_PUBLIC_KEY!,
  apiPrivateKey: process.env.API_PRIVATE_KEY!,
  defaultOrganizationId: process.env.ORGANIZATION_ID!,
});

const response = await turnkeyClient.apiClient().getUsers({
  organizationId: "<string> (Unique identifier for a given organization.)"
});
{
  "users": [
    {
      "userId": "<string>",
      "userName": "<string>",
      "userEmail": "<string>",
      "userPhoneNumber": "<string>",
      "authenticators": [
        {
          "transports": [
            "<AUTHENTICATOR_TRANSPORT_BLE>"
          ],
          "attestationType": "<string>",
          "aaguid": "<string>",
          "credentialId": "<string>",
          "model": "<string>",
          "credential": {
            "publicKey": "<string>",
            "type": "<CREDENTIAL_TYPE_WEBAUTHN_AUTHENTICATOR>",
            "sessionProfileId": "<string>"
          },
          "authenticatorId": "<string>",
          "authenticatorName": "<string>",
          "createdAt": {
            "seconds": "<string>",
            "nanos": "<string>"
          },
          "updatedAt": {
            "seconds": "<string>",
            "nanos": "<string>"
          }
        }
      ],
      "apiKeys": [
        {
          "credential": {
            "publicKey": "<string>",
            "type": "<CREDENTIAL_TYPE_WEBAUTHN_AUTHENTICATOR>",
            "sessionProfileId": "<string>"
          },
          "apiKeyId": "<string>",
          "apiKeyName": "<string>",
          "createdAt": {
            "seconds": "<string>",
            "nanos": "<string>"
          },
          "updatedAt": {
            "seconds": "<string>",
            "nanos": "<string>"
          },
          "expirationSeconds": "<string>"
        }
      ],
      "userTags": [
        "<string>"
      ],
      "oauthProviders": [
        {
          "providerId": "<string>",
          "providerName": "<string>",
          "issuer": "<string>",
          "audience": "<string>",
          "subject": "<string>",
          "createdAt": {
            "seconds": "<string>",
            "nanos": "<string>"
          },
          "updatedAt": {
            "seconds": "<string>",
            "nanos": "<string>"
          }
        }
      ],
      "createdAt": {
        "seconds": "<string>",
        "nanos": "<string>"
      },
      "updatedAt": {
        "seconds": "<string>",
        "nanos": "<string>"
      },
      "mfaPolicies": [
        {
          "mfaPolicyId": "<string>",
          "mfaPolicyName": "<string>",
          "condition": "<string>",
          "requiredAuthenticationMethods": [
            {
              "any": [
                {
                  "type": "<AUTHENTICATION_TYPE_EMAIL_OTP>",
                  "id": "<string>"
                }
              ]
            }
          ],
          "order": "<number>",
          "notes": "<string>",
          "createdAt": {
            "seconds": "<string>",
            "nanos": "<string>"
          },
          "updatedAt": {
            "seconds": "<string>",
            "nanos": "<string>"
          }
        }
      ]
    }
  ]
}