• Быстрый старт
    • Доступ и токен
  • СУЩНОСТИ
    • Страницы
      • Markdown
      • Аналитика страниц
    • Фреймы
      • Блоки
      • Бинды data-op-bind
      • Повторитель onpress/repeat
      • Сборка и копии
      • Фреймы в Markdown
      • Фреймы с данными
      • Готовые фреймы
    • Данные
    • Медиа
  • УСТРОЙСТВО САЙТА
    • Сайты
    • Настройки сайта
    • Меню
    • Языки и переводы
    • Стили и оформление
  • УПРАВЛЕНИЕ
    • Домены
    • Соцсети и контакты
    • SEO
    • Аналитика
    • Кэш
    • Дашборд и вход
    • Пользователи и профиль
    • Сайдбар документации
    • Ошибки и проблемы
  • КЕЙСЫ
    • Создание сайтов
    • Работа с контентом
    • Фреймы и данные
    • Настройка сайта
    • Перевод страницы
  • ПРИЛОЖЕНИЯ
    • Приложения
      • Закрытый доступ
      • Данные приложения
      • Внешние данные
      • Демо
    • Быстрый старт
    • Доступ и токен
  • СУЩНОСТИ
    • Страницы
    • Фреймы
    • Данные
    • Медиа
  • УСТРОЙСТВО САЙТА
    • Сайты
    • Настройки сайта
    • Меню
    • Языки и переводы
    • Стили и оформление
  • УПРАВЛЕНИЕ
    • Домены
    • Соцсети и контакты
    • SEO
    • Аналитика
    • Кэш
    • Дашборд и вход
    • Пользователи и профиль
    • Сайдбар документации
    • Ошибки и проблемы
    • Редиректы
    • Кредиты и автоматизация
    • Входящие
    • Кросспостинг
OnPress OnPress
  • Документация
  • Контакты
Войти
Обзор Справочник API
    • Быстрый старт
    • Доступ и токен
  • СУЩНОСТИ
    • Страницы
      • Markdown
      • Аналитика страниц
    • Фреймы
      • Блоки
      • Бинды data-op-bind
      • Повторитель onpress/repeat
      • Сборка и копии
      • Фреймы в Markdown
      • Фреймы с данными
      • Готовые фреймы
    • Данные
    • Медиа
  • УСТРОЙСТВО САЙТА
    • Сайты
    • Настройки сайта
    • Меню
    • Языки и переводы
    • Стили и оформление
  • УПРАВЛЕНИЕ
    • Домены
    • Соцсети и контакты
    • SEO
    • Аналитика
    • Кэш
    • Дашборд и вход
    • Пользователи и профиль
    • Сайдбар документации
    • Ошибки и проблемы
  • КЕЙСЫ
    • Создание сайтов
    • Работа с контентом
    • Фреймы и данные
    • Настройка сайта
    • Перевод страницы
  • ПРИЛОЖЕНИЯ
    • Приложения
      • Закрытый доступ
      • Данные приложения
      • Внешние данные
      • Демо
    • Быстрый старт
    • Доступ и токен
  • СУЩНОСТИ
    • Страницы
    • Фреймы
    • Данные
    • Медиа
  • УСТРОЙСТВО САЙТА
    • Сайты
    • Настройки сайта
    • Меню
    • Языки и переводы
    • Стили и оформление
  • УПРАВЛЕНИЕ
    • Домены
    • Соцсети и контакты
    • SEO
    • Аналитика
    • Кэш
    • Дашборд и вход
    • Пользователи и профиль
    • Сайдбар документации
    • Ошибки и проблемы
    • Редиректы
    • Кредиты и автоматизация
    • Входящие
    • Кросспостинг
Управление
Markdown
Открыть в ИИ
  • Открыть в ChatGPT
  • Открыть в Claude
  • Открыть в Gemini
  • Открыть в Perplexity
  • Открыть в Grok
  • Открыть в DeepSeek

Пользователи и профиль

В v2 у сайта одна роль — администратор этого сайта. Добавить человека на сайт — значит сделать его администратором; ролей «редактор» или «читатель» в API нет.

Пользователи сайта

Ручки под $API/site/$SITE/users; доступны администратору этого сайта.

Список

curl -s -H "Authorization: Bearer $OP_TOKEN" "$API/site/$SITE/users" | jq '{total, users: [.users[] | {id, invite_id, email, name, status, added_at, last_login_at}]}'
{
  "total": 2,
  "users": [
    { "id": 42, "invite_id": null, "email": "anna@example.com", "name": "Anna", "status": "active", "added_at": "2026-09-22T18:14:41.000Z", "last_login_at": "2026-09-25T09:02:10.000Z" },
    { "id": null, "invite_id": 12, "email": "new@example.com", "name": "Новый человек", "status": "invited", "added_at": "2026-09-25T20:25:37.000Z", "last_login_at": null }
  ]
}

Строка двух видов, форма одна:

ПолеСмысл
statusactive — человек сети, состоящий на сайте; invited — приглашённая почта, учётной записи ещё нет
idid пользователя; у приглашения null
invite_idid приглашения; у человека null
email, name, avatarпочта, отображаемое имя, аватар Gravatar
added_atкогда добавлен на сайт (у давних — дата регистрации), у приглашения — когда приглашён
last_login_atпоследний вход; отсчёт начат 22.09.2026, у входивших раньше null
invited_byкто пригласил (у приглашения)

Сначала идут участники, затем приглашения.

Добавить

curl -s -X POST "$API/site/$SITE/users" \
  -H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' \
  -d '{"email": "new@example.com", "name": "Новый человек"}' | jq '{user: .user | {id, invite_id, status}, created, invited, already_member}'
{ "user": { "id": null, "invite_id": 12, "status": "invited" }, "created": true, "invited": true, "already_member": false }

Два исхода:

  • почта уже есть в сети — человек сразу становится администратором сайта: created: false, invited: false, в user его карточка;
  • почты в сети нет — создаётся только приглашение (201, created: true, invited: true). Ни учётной записи, ни пароля, ни письма. Как только человек войдёт с этой почтой любым способом (дашборд через Firebase, форма входа, регистрация), он получит роль администратора на всех пригласивших его сайтах, а приглашения закроются сами.

Письмо платформа не шлёт — сообщите человеку адрес дашборда сами: https://onpress.pro/dashboard/.

Отказы: 400 invalid_email (не адрес, длиннее 100 символов или запрещённый домен), 400 invalid_name, 409 already_member, 409 already_invited (в теле — карточка).

Снять с сайта

curl -s -X DELETE "$API/site/$SITE/users/42"       -H "Authorization: Bearer $OP_TOKEN" | jq .removed   # человек
curl -s -X DELETE "$API/site/$SITE/users/invite-12" -H "Authorization: Bearer $OP_TOKEN" | jq .removed   # приглашение

Человек снимается с сайта, но не удаляется из сети — он может состоять на других сайтах. Запреты: себя снять нельзя (409 cannot_remove_self), последнего администратора — нельзя (409 last_admin). Нет такого — 404 not_member или 404 invite_not_found; путь не id и не invite-<id> — 400 invalid_user_id.

Свой профиль

/me — сетевые ручки: префикса сайта нет, blog_id и заголовки выбора сайта не читаются. Каждый видит и правит только себя. Работают и с токеном, и с сессией дашборда.

curl -s -H "Authorization: Bearer $OP_TOKEN" "$API/me" | jq .
{
  "success": true,
  "user": {
    "id": 42,
    "name": "Anna",
    "email": "anna@example.com",
    "avatar": "https://secure.gravatar.com/avatar/…?s=96&d=mm&r=g",
    "registered": "2025-03-01T10:00:00.000Z",
    "last_login_at": "2026-09-25T09:02:10.000Z",
    "dashboard_lang": "ru"
  },
  "sites_count": 3,
  "api_token": { "prefix": "op_xxxxxxxx", "created_at": "2026-09-16T13:04:25.000Z", "last_used_at": "2026-09-25T20:11:36.000Z" }
}

sites_count — сколько живых сайтов вы администрируете. api_token — только префикс и даты, сам токен здесь не бывает никогда (его отдаёт GET /me/api-token); null — токена нет.

avatar — фото аккаунта Google, если вы входили через Google, иначе фото Telegram, иначе Gravatar по почте (серый силуэт, если на Gravatar картинки нет). Фото Google обновляется при каждом входе. Тот же адрес — в строках списка пользователей сайта.

Изменить

curl -s -X PATCH "$API/me" \
  -H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' \
  -d '{"name": "Анна", "dashboard_lang": "ru"}' | jq .user
ПолеПравило
nameотображаемое имя, не пустое, до 250 символов
emailадрес, свободный во всей сети (409 email_taken); меняется сразу, без письма-подтверждения
dashboard_langязык интерфейса дашборда: en или ru; "" — сбросить выбор (дашборд снова угадывает по браузеру). Это не язык сайта и не язык содержимого

Пустое тело — 400 nothing_to_update. Ответ — тот же вид, что у GET /me. Пароля в профиле нет: вход идёт через Firebase. Своей загрузки аватара нет.

Токен

# показать свой действующий токен
curl -s "$API/me/api-token" -H "Authorization: Bearer $OP_TOKEN" | jq -r .token

# выпустить заново: новый токен в поле token
curl -s -X POST "$API/me/api-token" -H "Authorization: Bearer $OP_TOKEN" | jq '{prefix: .api_token.prefix, token}'

# отозвать
curl -s -X DELETE "$API/me/api-token" -H "Authorization: Bearer $OP_TOKEN" | jq '{revoked, api_token}'

Показать можно токен, выпущенный с 1 октября 2026 года; более старый отвечает 409 token_not_recoverable — его нужно один раз выпустить заново. Перевыпуск убивает прежний токен сразу, отзыв оставляет без токена (revoked: true, если было что отзывать). В дашборде то же самое: меню пользователя → «Настройки» → «API-ключи» (https://onpress.pro/dashboard/settings/api), блоки «Токен API» и «Отзыв токена». Подробно про свойства токена — доступ.

arrow_backНазад
Дашборд и вход
Далееarrow_forward
Сайдбар документации
На этой странице
  • Пользователи сайта
    • Список
      • Добавить
        • Снять с сайта
      • Свой профиль
        • Изменить
          • Токен
        1. Главная
        2. Docs
        3. Документация OnPress v2
        4. Обзор
        5. Пользователи и профиль
        OnPress
        OnPress
        ИП Зуев И.В. ИНН: 360408359441
        info@onpress.pro
        © 2026
        политика конфиденциальности публичная оферта
        • visa
        • mastercard
        • sber
        • tpay