> In order to access the admin API endpoints you need to identify yourself. If you are using the `insecure` authentication method, you may use [basic authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) to identify yourself.
### Create a new tag
`POST https://unleash.host.com/api/admin/tags`
Creates a new tag without connecting it to any other object, can be helpful to build an autocomplete list.
**Body**
```json
{
"value": "MyTag",
"type": "simple"
}
```
### Notes
-`type` must exist in tag-types
### List tags
`GET https://unleash.host.com/api/admin/tags`
This endpoint is the one all admin UIs should use to fetch all available tags from the _unleash_server_. The response returns all tags.
Used to fetch all types the server knows about. This endpoint is the one all admin UI should use to fetch all available tag types from the _unleash-server_. The response returns all tag types. Any server will have _at least_ one configured tag type (the `simple` type). A tag type will be a map of `type`, `description`, `icon`
**Example response:**
```json
{
"version": 1,
"tagTypes": [
{
"name": "simple",
"description": "Arbitrary tags. Used to simplify filtering of features",
Used to fetch details about a specific tag-type. This is mostly provided to make it easy to debug the API and should not be used by the client implementations.
Used to register a new tag type. This endpoint should be used to inform the server about a new type of tags.
**Body:**
```json
{
"name": "tagtype",
"description": "Purpose of tag type",
"icon": "Either an URL to icon or a simple prefix string for tag"
}
```
**Notes:**
- if `name` is not unique, will return 409 CONFLICT, if you'd like to update an existing tag through admin-api look at [Update tag type](#Update-tag-type).
Returns 201-CREATED if the tag type was created successfully