Create a user-defined type (UDT) (HTTP)
|
For details about additional languages, see: |
Creates a user-defined type (UDT) to use in a table.
|
Ready to write code? See the examples for this method to get started. |
Result
Creates a user-defined type with the specified definition.
If the command succeeds, the response indicates the success.
Example response:
{
"status": {
"ok": 1
}
}
Signature
Use the createType command.
curl -sS -L -X POST "API_ENDPOINT/api/json/v1/KEYSPACE_NAME" \
--header "Token: APPLICATION_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"createType": {
"name": STRING,
"definition": {
"fields": {
FIELD_NAME: FIELD_TYPE,
FIELD_NAME: FIELD_TYPE
}
},
"options": {
"ifNotExists": BOOLEAN
}
}
}'
Parameters
| Name | Type | Summary |
|---|---|---|
|
|
The name of the new user-defined type. The name must be unique within the keyspace. |
|
|
Optional.
The definition for the new user-defined type. See Properties of See the examples for usage. |
|
|
Optional.
The options for this operation. See Properties of |
| Name | Type | Summary |
|---|---|---|
|
|
A JSON object that defines the fields of the user-defined type. Each key is a field name and each value is the field’s data type. You can use any supported data type, except for maps, lists, sets, or other user-defined types. |
| Name | Type | Summary |
|---|---|---|
|
|
Optional. Whether the command should silently succeed even if a user-defined type with the given name already exists in the keyspace and no new type was created. This option only checks type names. It does not check type definitions. Default: false |
Examples
The following examples demonstrate how to create a user-defined type.
Create a user-defined type
curl -sS -L -X POST "API_ENDPOINT/api/json/v1/KEYSPACE_NAME" \
--header "Token: APPLICATION_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"createType": {
"name": "member",
"definition": {
"fields": {
"name": "text",
"is_active": "boolean",
"date_joined": "date"
}
}
}
}'
Create a user-defined type only if the type does not exist
Use this option to silently do nothing if a user-defined type with the specified name already exists.
This option only checks type names. It doesn’t check the definition of any existing types.
curl -sS -L -X POST "API_ENDPOINT/api/json/v1/KEYSPACE_NAME" \
--header "Token: APPLICATION_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"createType": {
"name": "member",
"definition": {
"fields": {
"name": "text",
"is_active": "boolean",
"date_joined": "date"
}
},
"options": {
"ifNotExists": true
}
}
}'