# Пространства

Пространства: отдельные рабочие области кабинета. У каждого свои кампании, аккаунты и контакты.

Базовый адрес: https://api.melioralab.io/v1. Ключ передается в заголовке `Authorization: Bearer mel_live_...`.

Маршруты:

- `GET /v1/workspaces`: Список пространств

## Объект Workspace

Пространство: отдельная рабочая область кабинета со своими кампаниями.

| Поле | Тип | Описание |
|---|---|---|
| `object` | string | Тип объекта, всегда `workspace`. |
| `id` | string (uuid) | Идентификатор пространства. |
| `name` | string | Название пространства. |
| `created_at` | string (date-time) или null | Когда пространство создано. Может быть `null` у старых пространств. |

Пример:

```json
{
  "object": "workspace",
  "id": "3f6a9d21-8b4c-4e7f-a102-5c9e8d7b6a43",
  "name": "Основное пространство",
  "created_at": "2026-09-01T12:00:00.000Z"
}
```

## Список пространств

`GET /v1/workspaces`

Пространства в охвате ключа, от старых к новым. Доступен ключу с любым набором прав.

Право: любое право чтения. Вес запроса: 1.

### Параметры

| Параметр | Где | Тип | Обязательный | Описание |
|---|---|---|---|---|
| `limit` | строка запроса | integer | нет | Сколько объектов вернуть на странице. От 1 до 100. По умолчанию `50`. |
| `cursor` | строка запроса | string | нет | Значение `next_cursor` из предыдущего ответа. Остальные фильтры должны совпадать с первым запросом. |

### Ответ

Список: `object`, `data`, `has_more`, `next_cursor`. Пагинация: https://docs.melioralab.io/md/pagination.md

### Особые ошибки

- `cursor_mismatch` (400): Курсор поврежден, выдан для другого маршрута или фильтров, либо права и охват ключа изменились.
- `scope_required` (403): Ключ не имеет права на это чтение. Для текстов нужен также включенный «Текст сообщений».
- `not_found` (404): Объект не найден или находится вне охвата ключа. Неизвестный путь тоже дает 404.
- `cursor_expired` (410): Срок курсора истек: 15 минут для списков, 30 суток для ленты событий.

Общие ошибки: https://docs.melioralab.io/md/errors.md

### Пример запроса

```bash
curl https://api.melioralab.io/v1/workspaces \
  -H "Authorization: Bearer $MELIORA_API_KEY"
```

### Пример ответа

```json
{
  "object": "list",
  "data": [
    {
      "object": "workspace",
      "id": "3f6a9d21-8b4c-4e7f-a102-5c9e8d7b6a43",
      "name": "Основное пространство",
      "created_at": "2026-09-01T12:00:00.000Z"
    },
    {
      "object": "workspace",
      "id": "7a2c5e81-3d9f-4b6a-8c40-1e5f7a9b2d68",
      "name": "Тестовые рассылки",
      "created_at": "2026-10-02T09:30:00.000Z"
    }
  ],
  "has_more": false,
  "next_cursor": null
}
```
