---
title: "Получить личные подключения внешних календарей"
method: GET
path: "/api/v1/calendar/connectors"
tags: ["Calendar"]
---

# Получить личные подключения внешних календарей

`GET /api/v1/calendar/connectors`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/calendar/connectors`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Api-Key`
  - OAuth 2 (authorization code, authorization URL `https://erp.akeda.ru/oauth2/authorize`, token URL `https://erp.akeda.ru/oauth2/token`, scopes: `akeda:delegate`)
  - HTTP bearer

Секреты никогда не сериализуются; ответ содержит только has_credentials и безопасные метаданные провайдера.

## Headers

- `X-Tenant` string, required

## Response `200`

Коннекторы и возможности провайдеров

- CalendarConnectorPage
  - `count` integer, required
  - `results` CalendarConnector[], required
    - `id` string, uuid, required
    - `owner` integer, required
    - `owner_name` string, required
    - `provider` 'caldav' | 'icloud' | 'yandex' | 'google' | 'office365', required
    - `display_name` string, required
    - `account_email` string, required
    - `direction` 'both' | 'import' | 'export', required
    - `status` 'connected' | 'paused' | 'disconnected' | 'error', required
    - `calendar_url` string, required
    - `username` string, required
    - `has_credentials` boolean, required
    - `selected_calendars` CalendarExternalCalendar[], required
      - `id` string, required
      - `name` string, required
      - `url` string
      - `color` string
      - `enabled` boolean, required
      - `read_only` boolean
      - `writable` boolean
      - `export` boolean
    - `last_sync_at` string, nullable
    - `last_sync_status` string, required
    - `last_error` string, required: The provider's own words and nothing else. Empty when the failure was ours; last_error_code names it and the log carries the cause.
    - `last_error_code` '' | 'calendar.connector.internal' | 'calendar.connector.credentials_rejected' | 'calendar.connector.provider_declined' | 'calendar.connector.disconnected', required
    - `supports_import` boolean, required
    - `supports_export` boolean, required
    - `created_at` string, required
    - `updated_at` string, required
  - `items` CalendarConnector[], required
    - `id` string, uuid, required
    - `owner` integer, required
    - `owner_name` string, required
    - `provider` 'caldav' | 'icloud' | 'yandex' | 'google' | 'office365', required
    - `display_name` string, required
    - `account_email` string, required
    - `direction` 'both' | 'import' | 'export', required
    - `status` 'connected' | 'paused' | 'disconnected' | 'error', required
    - `calendar_url` string, required
    - `username` string, required
    - `has_credentials` boolean, required
    - `selected_calendars` CalendarExternalCalendar[], required
      - `id` string, required
      - `name` string, required
      - `url` string
      - `color` string
      - `enabled` boolean, required
      - `read_only` boolean
      - `writable` boolean
      - `export` boolean
    - `last_sync_at` string, nullable
    - `last_sync_status` string, required
    - `last_error` string, required: The provider's own words and nothing else. Empty when the failure was ours; last_error_code names it and the log carries the cause.
    - `last_error_code` '' | 'calendar.connector.internal' | 'calendar.connector.credentials_rejected' | 'calendar.connector.provider_declined' | 'calendar.connector.disconnected', required
    - `supports_import` boolean, required
    - `supports_export` boolean, required
    - `created_at` string, required
    - `updated_at` string, required
  - `providers` object, required

## Other responses

- `401`: Сессия, ключ или кабинет не подтверждены
- `403`: Текущая роль не имеет требуемого права
- `500`: Внутренняя ошибка без раскрытия server-only деталей

---

[API](https://skmtc.dev/akeda/apis/akeda-erp-client-api.md) · [All operations](https://skmtc.dev/akeda/apis/akeda-erp-client-api/llms.txt) · [OpenAPI document](https://skmtc.dev/akeda/apis/akeda-erp-client-api/revisions/a99574d597cc?raw)
