Password Pusher API v2
BETAВичерпна документація REST API для інтеграції Password Pusher у ваші робочі процеси, програми та інструменти.
Бета-версія: API v2 наразі знаходиться в бета-версії. Хоча ми доклали всіх зусиль для забезпечення стабільності, до фінального релізу можуть бути внесені суттєві зміни. Ми будемо раді вашим відгукам!
Огляд
Password Pusher API v2 надає RESTful інтерфейс для створення, отримання та управління безпечними запитами на підбір паролів. Всі кінцеві точки API повертають відповіді у форматі JSON і використовують стандартні коди стану HTTP.
Аутентифікація за токеном пред'явника
Безпечний доступ до API з автентифікацією на основі токенів
Тільки JSON-відповіді
Послідовний формат JSON на всіх кінцевих точках
ВІДПОЧИВАЮЧИЙ ДИЗАЙН
Інтуїтивно зрозумілі кінцеві точки 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 мають префікс with:
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.languages - Мови, що підтримуються у списку слів для парольних фраз
accounts.enabled - Чи доступний список робочих просторів за адресою /api/v2/workspaces (застарілий шлях /api/v2/accounts є псевдонімом)
pushes.enabled - Створення та управління пушами через API
pushes.email_auto_dispatch - Чи може цей екземпляр надсилати секретні посилання електронною поштою під час створення. Лише перевірка наявності функції — скористайтеся параметром create notify_recipients, щоб відмовитися від автоматичної розсилки, при цьому все одно вказавши notify_emails_to для автентифікованих одержувачів.
pushes.file_attachments.enabled - Прикріплені файли на пушах
pushes.file_attachments.requires_authentication - Файлові вкладення потребують автентифікації
requests.enabled - Створення та управління запитами через API
requests.email_auto_dispatch - Чи може цей екземпляр надсилати секретні посилання електронною поштою під час створення. Лише перевірка наявності функції — скористайтеся параметром create 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. Для полів, які не вказано, застосовуються діючі значення за замовчуванням політики.
| Параметр | Type | Опис |
|---|---|---|
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
}'
Приклад: Створення та отримання push-повідомлення
# 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 10, 2026