---
title: "Create a hub"
description: "Creates an Asset Hub hub with a name, an access type, and an optional description."
contentType: "api-reference"
url: "https://developer.mindtickle.com/docs/asset-hub/hubs/create-a-hub/"
---

## Prerequisites

1. [Authentication and setup](/docs/getting-started/authentication-and-setup/): A valid access token.

## Endpoint

```http
POST /api/assethub/v2/hub
```

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 |
| --- | --- | --- | --- |
| `hub_name` | string | Required | Name of the hub. Maximum 50 characters. Cannot contain `/`, `\`, or `.`. |
| `access_type` | string | Required | Hub access setting. `HUB_ACCESS_PUBLIC` or `HUB_ACCESS_RESTRICTED`. |
| `description` | string | Optional | Description of the hub. Maximum 1,000 characters, excluding HTML tags. |
| `user_id` | string | Required | ID of the user performing the operation. Must have the `HUB_MANAGEMENT` permission. |

### Request example

```json
{
  "hub_name": "Team Hub",
  "access_type": "HUB_ACCESS_RESTRICTED",
  "description": "This is a private hub for my team",
  "user_id": "123456789abcd101"
}
```

## Response

| Field | Type | Description |
| --- | --- | --- |
| `hub_id` | string | Unique ID of the created hub. |
| `hub_name` | string | Name of the created hub. |
| `access_type` | string | Access setting of the hub. |
| `description` | string | Description of the hub. |
| `request_id` | string | Unique ID for the request. |

### Response example

```json
{
  "hub_id": "123456789012345102",
  "hub_name": "Team Hub",
  "access_type": "HUB_ACCESS_RESTRICTED",
  "description": "This is a private hub for my team",
  "request_id": "req_101"
}
```

## Notes

- **Usage:** This endpoint supports large-scale setups, such as onboarding multiple hubs for different business units or geographies.
- **Access types:** `HUB_ACCESS_PUBLIC` is a public hub that everyone can access. `HUB_ACCESS_RESTRICTED` is a restricted hub that only selected users can access.
- **Limits:** Hub name 50 characters. Hub description 1,000 characters.
- **Validation:** The request fails if the name contains `/`, `\`, or `.`, or if a hub with the same name already exists.
- **Permissions:** The user in `user_id` must have the `HUB_MANAGEMENT` permission.

## Related

- [Manage hub collaborators](/docs/asset-hub/hubs/manage-hub-collaborators/): Set collaborator permissions after creating the hub.
- [Manage user access for restricted hubs](/docs/asset-hub/hubs/manage-user-access-for-restricted-hubs/): Share access with individual users on a restricted hub.
- [List active hubs](/docs/asset-hub/hubs/list-active-hubs/): Confirm the hub exists.
