Password Pusher API v2
BETAИсчерпывающая документация по REST API для интеграции Password Pusher в ваши рабочие процессы, приложения и инструменты.
Уведомление о бета-версии: API v2 в настоящее время находится в стадии бета-версии. Мы приложили все усилия для обеспечения стабильности, но до финального релиза возможны изменения. Мы приветствуем ваши отзывы!
Обзор
Password Pusher API v2 предоставляет REST-интерфейс для создания, получения и управления безопасными запросами паролей. Все конечные точки API возвращают ответы в формате JSON и используют стандартные коды состояния HTTP.
Аутентификация с помощью токена носителя
Защищенный доступ к API с помощью аутентификации на основе токенов
Ответы только в формате JSON
Согласованный формат JSON для всех конечных точек
RESTful Design
Интуитивно понятные конечные точки REST, соответствующие лучшим практикам
Нажатия и запросы
Поддержка односторонних толчков и двусторонних запросов
Генератор паролей
Создание паролей, парольных фраз и PIN-кодов с помощью запроса POST на /api/v2/generate
В API v2 используется аутентификация с помощью маркера Bearer. Чтобы пройти аутентификацию, включите свой API-токен в поле Authorization заголовок:
Authorization: Bearer YOUR_API_TOKEN
Получение API-токена
- Войдите в свою учетную запись Password Pusher
- Перейдите на страницу с токенами API
- Сгенерируйте токен API
- Скопируйте токен и используйте его в своих запросах к API
Примечание: Некоторые конечные точки (например, получение push-уведомления или запроса, а также генерация пароля) доступны в анонимном режиме. Для создания запросов, доступа к журналам аудита и управления коллекциями требуется аутентификация. Включайте токен Bearer в запросы на генерацию, если требуется соблюдение политики рабочей среды, требующей входа в систему.
Все конечные точки API имеют префикс:
https://eu.pwpush.com/api/v2
Доступность в бета-версии
API v2 в настоящее время находится в стадии бета-версии и доступен на pwpush.com и самостоятельной редакции Pro. API будет добавлен в версию с открытым исходным кодом после выхода из бета-версии.
Для экземпляров, размещаемых на собственном хостинге, используйте свой собственный домен. Базовый URL-адрес, показанный выше, отражает текущий хост, к которому вы обращаетесь.
GET /api/v2/version
Возвращает текущую версию API, сведения о приложении и хэш возможностей, описывающий, какие возможности включены в данном экземпляре.
Пример запроса
curl -X GET https://eu.pwpush.com/api/v2/version
Пример ответа
{
"application_version": "2.1.0",
"api_version": "2.1",
"edition": "commercial",
"features": {
"anonymous_access": true,
"api_token_authentication": true,
"password_generator": {
"enabled": true,
"languages": ["de", "en", "es", "fr", "it"]
},
"accounts": {
"enabled": true
},
"pushes": {
"enabled": true,
"email_auto_dispatch": true,
"file_attachments": {
"enabled": true,
"requires_authentication": true
}
},
"requests": {
"enabled": true,
"email_auto_dispatch": true,
"file_attachments": {
"enabled": true,
"requires_authentication": true
}
}
}
}
Особенности Хаш
анонимный_доступ - Разрешено ли анонимное использование API
api_token_authentication - Поддержка аутентификации с помощью маркера носителя
password_generator.enabled - Включена ли функция генерации паролей, парольных фраз и PIN-кодов
password_generator.языки - Языки, поддерживаемые в списке парольных фраз
учетные записи.включено - Доступен ли список рабочих пространств по адресу /api/v2/workspaces (старый путь /api/v2/accounts является псевдонимом)
pushes.enabled - Создание и управление пушами через API
pushes.email_auto_dispatch - Может ли данный экземпляр отправлять секретные ссылки по электронной почте при создании. Только для определения возможностей — используйте параметр `notify_recipients` при создании, чтобы отключить автоматическую рассылку, но при этом по-прежнему указывать `notify_emails_to` для авторизованных получателей.
pushes.file_attachments.enabled - Вложение файлов при нажатии кнопки
pushes.file_attachments.requires_authentication - Вложения файлов требуют проверки подлинности
requests.enabled - Создание и управление запросами через API
requests.email_auto_dispatch - Может ли данный экземпляр отправлять секретные ссылки по электронной почте при создании. Только для определения возможностей — используйте параметр `notify_recipients` при создании, чтобы отключить автоматическую рассылку, но при этом по-прежнему указывать `notify_emails_to` для авторизованных получателей.
requests.file_attachments.enabled - Вложения файлов в ответы на запросы
requests.file_attachments.requires_authentication - Вложения файлов требуют проверки подлинности
POST /api/v2/generate
Создает один или несколько паролей, парольных фраз или PIN-кодов. Аутентификация не является обязательной. Для анонимных запросов применяется политика основной рабочей среды (или глобальная политика на собственном хостинге). Отправьте токен Bearer, чтобы использовать политику рабочей среды, в которой выполнен вход, в том числе на пользовательских доменах.
Если настройка генератора отключена в соответствии с политикой, переопределения параметров игнорируются, и учитывается только значение.
Если генерация пароля отключена, API возвращает код 403 «Запрещен».
Ограничение на количество запросов составляет 30 запросов в минуту на один IP-адрес или одного авторизованного пользователя.
Тело запроса (JSON)
Отправляйте параметры в корневом узле объекта JSON. Для пропущенных полей используются значения по умолчанию, установленные в действующей политике.
| Параметр | Тип | Описание |
|---|---|---|
workspace_id
необязательный
|
string | Рабочая область, в которой выполнена аутентификация, для применения политики. Также допускается передача параметра account_id. Возвращает код 401, если вызывающий пользователь не является участником данной рабочей области. |
type
необязательный
|
string | пароль, парольная фраза или PIN-код |
count
необязательный
|
integer (1-10) | Количество значений для генерации |
language
необязательный
|
string | Список паролей: en, es, fr, de или it |
word_count
необязательный
|
integer (3-10) | Количество слов в парольной фразе |
separator
необязательный
|
string | Строка, вставленная между словами парольной фразы |
capitalize
необязательный
|
boolean | Каждое слово в парольной фразе следует писать с заглавной буквы |
number
необязательный
|
boolean | Добавление цифр к парольной фразе |
symbol
необязательный
|
boolean | Добавить символ к парольной фразе |
length
необязательный
|
integer | Длина пароля (4–128) или длина PIN-кода (4–12) |
uppercase
необязательный
|
boolean | Включайте в пароли заглавные буквы |
lowercase
необязательный
|
boolean | Включайте в пароли строчные буквы |
digits
необязательный
|
boolean | Используйте цифры в паролях |
symbols
необязательный
|
boolean | Включайте символы в пароли |
avoid_ambiguous
необязательный
|
boolean | Исключите неоднозначные символы, такие как 0, O, l и 1 |
min_digits
необязательный
|
integer | Минимальное количество символов в пароле |
min_symbols
необязательный
|
integer | Минимальное количество символов в пароле |
charset
необязательный
|
string | Настройка символов: ASCII, латиница, кириллица или греческий алфавит. Любое другое значение рассматривается как набор пользовательских символов. |
Поля ответа
| Поле | Описание |
|---|---|
type |
пароль, парольная фраза или PIN-код |
language |
Параметр для парольных фраз. Список слов, использованный для генерации результата. |
entropy_bits |
В ответе возвращена расчетная прочность. См. энтропия как показатель надежности пароля. |
results |
Массив сгенерированных строк |
Пример запроса
curl -X POST https://eu.pwpush.com/api/v2/generate \
-H "Content-Type: application/json" \
-d '{
"type": "passphrase",
"language": "en",
"word_count": 4,
"count": 2
}'
Пример ответа
{
"type": "passphrase",
"language": "en",
"entropy_bits": 51.7,
"results": ["Correct-Horse-Battery-Staple42", "River-Garden-Lantern-Anchor17"]
}
Пример пароля
curl -X POST https://eu.pwpush.com/api/v2/generate \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type": "password",
"length": 20,
"symbols": true
}'
Пример: Создание и извлечение нажатия
# Create a push
curl -X POST https://eu.pwpush.com/api/v2/pushes \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"push": {
"payload": "MySecretPassword123",
"expire_after_duration": 6,
"expire_after_views": 3
}
}'
# Retrieve the push
curl -X GET https://eu.pwpush.com/api/v2/pushes/fkwjfvhall92
Пример: Создание запроса и ответ на него
# Create a request
curl -X POST https://eu.pwpush.com/api/v2/requests \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"request": {
"request": "Please provide the API key",
"close_after_duration": 8
}
}'
# Respond to the request
curl -X PATCH https://eu.pwpush.com/api/v2/requests/orpw2wkg00vpn0a/respond \
-H "Content-Type: application/json" \
-d '{
"request": {
"response": "The API key is: sk_live_1234567890"
}
}'
Запросы государств
API использует стандартные коды состояния HTTP:
200 OK
Запрос успешно выполнен
201 Created
Созданный ресурс
400 Bad Request
Недопустимые параметры
422 Unprocessable Entity
Ошибки проверки или недопустимые данные запроса
401 Unauthorized
Требуется аутентификация
403 Forbidden
Доступ запрещен
404 Not Found
Ресурс не найден
Ограничение скорости применяется для защиты API от злоупотреблений и обеспечения справедливого использования для всех пользователей. Ограничения скорости применяются для каждого IP-адреса и зависят от типа запроса и конечной точки.
Количество запросов GET к журналу аудита ограничено 15 запросами в минуту на один IP-адрес, с пиковым ограничением в 5 запросов за 10 секунд, а также 30 запросами в минуту на одного авторизованного пользователя или API-токен.
Предельные тарифы Ответы
Если запрос превышает лимит скорости, API возвращает сообщение 429 Too Many Requests код состояния с Retry-After заголовок, указывающий, когда можно повторить запрос.
Лучшие практики
- Реализуйте экспоненциальный откат при получении ответа 429
- Уважайте
Retry-Afterзначение заголовка - Кэшируйте ответы, когда это необходимо, чтобы сократить количество обращений к API
- По возможности выполняйте пакетные операции вместо того, чтобы делать много отдельных запросов
- Контролируйте использование API вашего приложения, чтобы избежать превышения лимитов
Примечание: Ограничения тарифов призваны предотвратить злоупотребления и в то же время разрешить законное использование. Если вы постоянно сталкиваетесь с ограничениями скорости, подумайте об оптимизации интеграции или обратитесь в службу поддержки для обсуждения вашего случая использования.
Последнее обновление: October 25, 2026