List user-defined type names (UDTs)

Tables with the Data API are currently in public preview. Development is ongoing, and the features and functionality are subject to change. Astra DB Serverless, and the use of such, is subject to the DataStax Preview Terms.

Gets the names of the user-defined types (UDTs) in a keyspace.

Ready to write code? See the examples for this method to get started. If you are new to the Data API, check out the quickstart.

Result

  • Python

  • TypeScript

  • Java

  • curl

Returns the names of the user-defined types as an unordered list of strings.

Returns a promise that resolves to the names of the user-defined types names as an unordered list of strings.

Returns the names of the user-defined types as an unordered list of strings.

Returns the names of the user-defined types as an unordered list of strings in the status.types field of the response.

Example response:

{
  "status": {
    "types": [
      "address",
      "social_media"
    ]
  }
}

Parameters

  • Python

  • TypeScript

  • Java

  • curl

Use the list_type_names method, which belongs to the astrapy.Database class.

Method signature
list_type_names(
  *,
  keyspace: str,
  table_admin_timeout_ms: int,
  request_timeout_ms: int,
  timeout_ms: int,
) -> list[str]
Name Type Summary

keyspace

str

Optional. The keyspace to inspect.

Default: The database’s working keyspace.

table_admin_timeout_ms

int

A timeout, in milliseconds, for the underlying HTTP request. If not provided, the Database setting is used. This parameter is aliased as request_timeout_ms and timeout_ms for convenience.

Use the listTypes method, which belongs to the Db class.

Method signature
async listTypes(
  options?: {
    nameOnly: true,
    keyspace?: string,
    timeout?: number | TimeoutDescriptor,
  },
): string[]
Name Type Summary

options

ListTypesOptions

Optional. The options for this operation. See Properties of options for more details.

Properties of options
Name Type Summary

nameOnly

false

Optional. Must be true to return only the user defined type names. Otherwise, additional metadata about the user defined types is returned.

keyspace

string

Optional. The keyspace to inspect.

Default: The database’s working keyspace.

timeout

number | TimeoutDescriptor

Optional. A timeout to impose on the underlying API request.

Use the listTypeNames method, which belongs to the com.datastax.astra.client.databases.Database class.

Method signature
List<String> listTypeNames()
List<String> listTypes(ListTypesOptions options)
Name Type Summary

options

ListTypesOptions

Optional. The options for this operation, including the keyspace and timeouts.

Use the listTypes command.

Command signature
curl -sS -L -X POST "API_ENDPOINT/api/json/v1/KEYSPACE_NAME" \
--header "Token: APPLICATION_TOKEN" \
--header "Content-Type: application/json" \
--data '{
  "listTypes": {
    "options": {
      "explain": false
    }
  }
}'
Name Type Summary

options.explain

false

Must be false to return only the names of the user-defined types. Otherwise, additional metadata about the user-defined types is returned.

Examples

The following examples demonstrate how to list names of the user-defined types in a keyspace.

  • Python

  • TypeScript

  • Java

  • curl

from astrapy import DataAPIClient

# Get a database
client = DataAPIClient("APPLICATION_TOKEN")
database = client.get_database("API_ENDPOINT")

# List type names
result = database.list_type_names()
print(result)
import { DataAPIClient } from "@datastax/astra-db-ts";

// Get a database
const client = new DataAPIClient("APPLICATION_TOKEN");
const database = client.db("API_ENDPOINT");

// List type names
(async function () {
  const result = await database.listTypes({ nameOnly: true });

  console.log(result);
})();
import com.datastax.astra.client.DataAPIClient;
import com.datastax.astra.client.databases.Database;
import java.util.List;

public class Example {

  public static void main(String[] args) {
    // Get a database
    Database database = new DataAPIClient("APPLICATION_TOKEN").getDatabase("API_ENDPOINT");

    // List type names
    List<String> result = database.listTypeNames();

    System.out.println(result);
  }
}
curl -sS -L -X POST "API_ENDPOINT/api/json/v1/KEYSPACE_NAME" \
  --header "Token: APPLICATION_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{
  "listTypes": {
    "options": {
      "explain": false
    }
  }
}'

Client reference

  • Python

  • TypeScript

  • Java

  • curl

For more information, see the client reference.

For more information, see the client reference.

For more information, see the client reference.

Client reference documentation is not applicable for HTTP.

Was this helpful?

Give Feedback

How can we improve the documentation?

© 2025 DataStax, an IBM Company | Privacy policy | Terms of use | Manage Privacy Choices

Apache, Apache Cassandra, Cassandra, Apache Tomcat, Tomcat, Apache Lucene, Apache Solr, Apache Hadoop, Hadoop, Apache Pulsar, Pulsar, Apache Spark, Spark, Apache TinkerPop, TinkerPop, Apache Kafka and Kafka are either registered trademarks or trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries. Kubernetes is the registered trademark of the Linux Foundation.

General Inquiries: +1 (650) 389-6000, info@datastax.com