# CategoryCreate

Allows you to create a new category and set its position within the existing category hierarchy. After you have created a category, you can use the CategorySetPermissions action to specify which role can access this category.

NOTE: This is an administrative action that can be sent only by users that belong to an authorization role that allows the `Admin` standard role, or which enables the action explicitly. See Authorization Roles Configuration Parameters.

You must set at least one of Category and Name. By default, Name is the category name, and Category is the ID. However, if you do not set Name, IDOL Server uses the value of the Category parameter as the category name, and randomly generates an ID for the category.

You can train a category when you create it. This action accepts the same training action parameters as the CategorySetTraining action. When you train the category in this way, the Category component builds the category immediately.

NOTE: If you want to create a Simple category, you must set training by using the CategorySetTraining action. In this case, you must not set training in the `CategoryCreate` action.

If your training information is not valid, or if an error occurs during training, the `CategoryCreate` action returns the new category ID with a success message, but the error string contains a warning to show that the creation step was successful, but training was not.

NOTE: By default, new categories give full access to role members and non-members (so that anyone can view, edit, or delete it).

A category cannot have the same name as another category with the same immediate parent category.

## Example

    http://12.3.4.56:9000/action=CategoryCreate&Category=Botanics

This action creates the `Botanics` category in IDOL Server. The new category is a child of the root category, which has the ID `0`.

## Required Parameters

You must set at least one of the following parameters.

Parameter | Description
--- | ---
Category | The ID of the category to create.
Name | The name of the category to create.

## Optional Parameters

This action accepts the following optional parameters.

Parameter | Description
--- | ---
Boolean | A Boolean expression used to train the category.
DatabaseMatch | The databases that contain documents to use to train the category.
Directory | A directory that contains documents to use to train the category.
DocID | The document IDs of documents to use to train the category.
DocRef | The references of documents to use to train the category.
FastBuild | Whether to use a quick method to generate category terms and weights for the category. If you set FastBuild to `True`, you must provide training in the StateID parameter. You cannot provide any additional types of training.
FieldText | A field restriction to use to train the category.
FromCategory | The IDs of categories to use to train the category.
Parent | The ID of the parent category of the new category.
ReferenceToCategory | The ID of a category to reference the new category to.
StateID | The state ID of the set of documents to use to train or retrain the category.
Training | Text to use to train the category.
URL | URLs to use to train the category.
UserName | The name of the user that sends the action.

This action accepts the following standard ACI action parameters.

Parameter | Description
--- | ---
ActionID | A string to use to identify an ACI action.
EncryptResponse | Encrypt the output.
FileName | The file to write output to.
ForceTemplateRefresh | Forces the server to load the template from disk.
Output | Writes output to a file.
ResponseFormat | The format of the action output.
Template | The template to use for the action output.
TemplateParamCSVs | A list of variables to use for the specified template.

_FT_HTML5_bannerTitle.htm