# List provider and virtual tag keys

Source: https://docs.levelfour.ai/api-reference/tags/get-tags-keys


## GET /api/v1/tags/keys

### Authentication

Send `Authorization: Bearer <token>`.

### Parameters

- `origin` (query, one of `virtual`, `provider`, nullable)
- `provider` (query, one of `aws`, `gcp`, nullable)
- `search` (query, string, nullable)
- `start` (query, date string, nullable)
- `end` (query, date string, nullable)

### Responses

#### 200: Successful Response

- `success` (boolean, default `true`)
- `timestamp` (date-time string)
- `data` (array of object, required)
  - `id` (string, required)
  - `name` (string, required)
  - `origin` (one of `virtual`, `provider`, required)
  - `description` (string, required)
  - `providers` (array of one of `aws`, `gcp`, `digitalocean`, required)
  - `value_count` (integer, required)
  - `resource_count` (integer, required)
  - `spend` (number, required)
  - `spend_share_pct` (number, required)
  - `status` (one of `active`, `reprocessing`, `error`, nullable)
  - `shares_provider_key` (boolean, default `false`)
  - `values` (array of object)
    - `id` (string, required)
    - `name` (string, required)

#### Errors

- `400`: Bad Request
- `401`: Authentication Error
- `403`: Authorization Error
- `404`: Not Found
- `409`: Conflict
- `422`: Validation Error
- `429`: Rate Limit Exceeded
- `500`: Internal Server Error

Body of `400`, `401`, `403`, `404`, `409`, `422`, `429`, `500`:

- `success` (`false`, required)
- `error` (object, required)
  - `code` (string, required)
  - `message` (string, required)
  - `details` (any)
- `timestamp` (date-time string, required)
