---
metadata:
  - name: generator
    content: Diplodoc Platform v5.63.0
alternate:
  - ru/operations/api-start
  - href: ru/operations/api-start.md
    type: text/markdown
    title: Markdown version
csp:
  - script-src:
      - https://mc.yandex.ru
    img-src:
      - https://mc.yandex.ru
    connect-src:
      - https://mc.yandex.ru
      - wss://mc.yandex.ru
    child-src:
      - 'blob:'
      - https://mc.yandex.ru
    frame-src:
      - 'blob:'
      - https://mc.yandex.ru
    frame-ancestors:
      - 'blob:'
      - https://mc.yandex.ru
canonical: ru/operations/api-start.html
vcsPath: ru/operations/api-start.md
---
# Работа с Public API в DataLens On-premises





DataLens предоставляет API для автоматизации операций с дашбордами, чартами, датасетами и подключениями.

Public API — это набор методов, аналогичный тем, что используются в веб-интерфейсе DataLens. API описывается OpenAPI-спецификацией.

* Swagger: `http://<хост_on-premises>/api/docs/swagger`
* Методы: `http://<хост_on-premises>/rpc/<название_метода>`

Чтобы начать использовать DataLens API:

1. Администратор должен завести [сервисный аккаунт](../security/manage-service-accounts.md#create).
1. Администратор создает [приватный ключ](../security/manage-service-accounts.md#add-key) для сервисного аккаунта.
1. Приватным ключом пользователь подписывает JWT-токен. Максимальное время жизни токена — 10 минут.

    ```bash
    import jwt from 'jsonwebtoken';

    const signClientJwt = (
        saId: string,
        keyId: string,
        privateKey: string,
    ) => {
        const now = Math.floor(Date.now() / 1000);
        const payload = {
            iss: <service-account-id>,
            iat: now,
            exp: now + 300,
        };
        return jwt.sign(payload, <private-key>, {algorithm: 'PS256', keyid: <private-key-id>});
    };
    ```

    Где:
    * `<service-account-id>` — идентификатор сервисного аккаунта;
    * `<private-key-id>` — идентификатор приватного ключа;
    * `<private-key>` — приватный ключ.

1. Пользователь вызывает метод `http://<хост_on-premises>/rpc/exchangeServiceAccountToken`, в котором обменивает JWT-токен на токен для доступа к API. Метод возвращает токен, который можно использовать для вызова других методов API.
