---
title: "Прочитать собственную настройку установки"
method: GET
path: "/api/v1/app/config"
tags: ["App runtime"]
---

# Прочитать собственную настройку установки

`GET /api/v1/app/config`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/app/config`
- Auth: HTTP bearer

Чем кабинет настроил это приложение. Значения вводит кабинет, а не приложение: записи через внешний контур нет вовсе — иначе приложение могло бы переставить адрес, по которому кабинет думает, что оно ходит.

Значение СЕКРЕТА этот ответ не несёт: у него виден признак «задан» и время правки. За самим значением рантайм идёт краткосрочной выдачей, и каждая такая выдача остаётся в журнале установки. Раскрытие решает строка хранилища, а не сегодняшнее объявление: версия, переобъявившая вчерашний секрет обычной настройкой, показать его не заставляет.

Значения, которых сегодняшняя версия уже не просит, приходят с declared=false: они лежат в базе, и приложение видит их, чтобы понять, что настройка досталась от прошлой версии. Список missing — обязательные поля без значения: приложение с непустым списком не сломано, оно не настроено, и это разговор с кабинетом, а не ошибка рантайма.

Людей кабинета ответ не называет: кто именно ввёл значение — вопрос владельца установки, а не приложения.

## Headers

- `X-Tenant` string, required

## Response `200`

Сохранённые значения и незаполненные обязательные поля

- AppRuntimeConfig
  - `values` AppRuntimeConfigValue[], required
    - `key` string, required
    - `secret` boolean, required: Как значение ХРАНИТСЯ. Истина означает, что value пуст и остаётся пустым: за значением идут краткосрочной выдачей
    - `declared` boolean, required: Просит ли эту настройку версия, которая стоит сейчас; ложь означает значение от прошлой версии
    - `set` boolean, required: Значение задано
    - `value` string: Значение ОБЫЧНОЙ настройки. У секрета отсутствует всегда
    - `updated_at` string, date-time
  - `missing` string[], required: Обязательные поля манифеста без значения. Непустой список означает «не настроено», а не «сломано»

## Other responses

- `400`: Кабинет не назван в заголовке X-Tenant
- `401`: Сессия, ключ или кабинет не подтверждены
- `403`: Текущая роль не имеет требуемого права

---

[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/3c60ded179f2?raw)
