---
title: "Create attributes"
description: "Creates attributes under an existing attribute category, such as Americas under Region."
contentType: "api-reference"
url: "https://developer.mindtickle.com/docs/asset-hub/asset-taxonomy/create-attributes/"
---

## Prerequisites

1. [Authentication and setup](/docs/getting-started/authentication-and-setup/): A valid access token.
2. [Create attribute categories](/docs/asset-hub/asset-taxonomy/create-attribute-categories/): The attribute category must exist.

## Endpoint

```http
POST /api/assethub/v2/attribute_categories/attributes
```

Base URL: the standard REST host for your region. See [Base URLs](/docs/getting-started/authentication-and-setup/#base-urls).

Headers: `Authorization: Bearer ACCESS_TOKEN`, `Content-Type: application/json`.

## Request

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `categories` | array | Required | Array of category objects containing attributes. Maximum 5 categories per request. |
| `categories[].category_id` | string | Required | ID of the existing category. |
| `categories[].attributes` | string[] | Required | List of attribute names to create. Maximum 200 attributes per category. |
| `user_id` | string | Required | ID of the user performing the operation. Must have the `ATTRIBUTE_MANAGEMENT` permission. |

### Request example

```json
{
  "categories": [
    {
      "category_id": "123456789012345101",
      "attributes": ["APAC", "EMEA", "Americas"]
    },
    {
      "category_id": "123456789012345102",
      "attributes": ["Asset Hub", "Call AI", "DSR"]
    }
  ],
  "user_id": "123456789abcd103"
}
```

## Response

| Field | Type | Description |
| --- | --- | --- |
| `request_id` | string | Unique ID for the request. |
| `attributes[].attribute_id` | string | Unique ID of the created attribute. |
| `attributes[].attribute_name` | string | Name of the created attribute. |
| `attributes[].category_id` | string | ID of the category the attribute belongs to. |
| `failed` | array | List of attributes that could not be created. |

### Response example

This partial example illustrates response fields for one category. It is not the complete result of the request above.

```json
{
  "request_id": "req_101",
  "attributes": [
    { "attribute_id": "123456789012345104", "attribute_name": "APAC", "category_id": "123456789012345101" },
    { "attribute_id": "123456789012345105", "attribute_name": "EMEA", "category_id": "123456789012345101" },
    { "attribute_id": "123456789012345106", "attribute_name": "Americas", "category_id": "123456789012345101" }
  ],
  "failed": []
}
```

## Notes

- **Limits:** Maximum 5 attribute categories per request. Maximum 200 attributes per category. Attribute names are limited to 65 characters.
- **Validation:** Attribute names must be unique within the category.
- **Validation:** Attribute names cannot contain `/`, `\`, or `.`.

## Related

- [Create assets](/docs/asset-hub/assets/create-assets/): Tag an asset with the attribute IDs this endpoint returns.
- [Delete attributes](/docs/asset-hub/asset-taxonomy/delete-attributes/): Delete attributes that are no longer needed.
