Password Pusher API v2
BETADocumentación completa de la API REST para integrar Password Pusher en sus flujos de trabajo, aplicaciones y herramientas.
Aviso Beta: La API v2 está actualmente en fase beta. Aunque hemos hecho todo lo posible para garantizar la estabilidad, es posible que haya cambios de última hora antes de la versión final. Agradecemos sus comentarios
Descripción general
La Password Pusher API v2 proporciona una interfaz RESTful para crear, recuperar y gestionar solicitudes y envíos de contraseñas seguras. Todos los puntos finales de la API devuelven respuestas JSON y utilizan códigos de estado HTTP estándar.
Autenticación por token portador
Acceso seguro a la API con autenticación basada en token
Respuestas sólo JSON
Formato JSON coherente en todos los puntos finales
Diseño RESTful
Puntos finales REST intuitivos que siguen las mejores prácticas
Empujones y peticiones
Soporte para envíos unidireccionales y peticiones bidireccionales
Generador de contraseñas
Crea contraseñas, frases de acceso y PIN mediante el método POST en /api/v2/generate
La API v2 utiliza la autenticación por token de portador. Para autenticarse, incluya su token de API en el campo Authorization de cabeza:
Authorization: Bearer YOUR_API_TOKEN
Obtención del token de la API
- Acceda a su cuenta de Password Pusher
- Vaya a su página de tokens API
- Generar un token de API
- Copie el token y utilícelo en sus peticiones API
Nota: Se puede acceder de forma anónima a algunas acciones (como recuperar una notificación push o una solicitud, o generar una contraseña). Para crear solicitudes, acceder a los registros de auditoría y gestionar colecciones es necesario autenticarse. Incluye un token «Bearer» en las solicitudes de generación cuando necesites la política del espacio de trabajo con sesión iniciada.
Todos los puntos finales de la API llevan el prefijo :
https://us.pwpush.com/api/v2
Disponibilidad Beta
La API v2 se encuentra actualmente en fase beta y está disponible en pwpush.com y las ediciones Pro autoalojadas. La API se añadirá a la edición de código abierto cuando salga de la fase beta.
Para instancias autoalojadas, utilice su propio dominio. La URL base mostrada arriba refleja el host actual al que está accediendo.
GET /api/v2/version
Devuelve la versión actual de la API, los detalles de la aplicación y un hash de características que describe qué capacidades están habilitadas en esta instancia.
Ejemplo de solicitud
curl -X GET https://us.pwpush.com/api/v2/version
Ejemplo de respuesta
{
"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
}
}
}
}
Características Hash
acceso_anonimo - Si se permite el uso anónimo de la API
api_token_authentication - Autenticación mediante token de portador
password_generator.enabled - Si está activada la generación de contraseñas, frases de acceso y PIN
password_generator.idiomas - Idiomas de las listas de contraseñas compatibles
cuentas.activadas - Si el listado de espacios de trabajo está disponible en /api/v2/workspaces (la ruta heredada /api/v2/accounts es un alias)
pushes.enabled - Creación y gestión de push mediante API
pushes.email_auto_dispatch - Si esta instancia puede enviar por correo electrónico enlaces secretos al crear un elemento. Solo detección de características: utiliza el parámetro «notify_recipients» de la acción «create» para desactivar el envío automático, sin dejar de proporcionar «notify_emails_to» para los destinatarios autenticados.
pushes.file_attachments.enabled - Archivos adjuntos en los push
pushes.file_attachments.requires_authentication - Los archivos adjuntos requieren autenticación
requests.enabled - Creación y gestión de solicitudes mediante API
requests.email_auto_dispatch - Si esta instancia puede enviar por correo electrónico enlaces secretos al crear un elemento. Solo detección de características: utiliza el parámetro «notify_recipients» de la acción «create» para desactivar el envío automático, sin dejar de proporcionar «notify_emails_to» para los destinatarios autenticados.
requests.file_attachments.enabled - Archivos adjuntos en las respuestas a las solicitudes
requests.file_attachments.requires_authentication - Los archivos adjuntos requieren autenticación
POST /api/v2/generate
Crea una o varias contraseñas, frases de contraseña o PIN. La autenticación es opcional. Las solicitudes anónimas utilizan la política del espacio de trabajo principal (o la política global autohospedada). Envía un token «Bearer» para utilizar la política del espacio de trabajo con sesión iniciada, incluso en dominios personalizados.
Cuando la configuración del generador está desactivada por política, se ignoran las modificaciones de las opciones y solo se tiene en cuenta el recuento.
Si la generación de contraseñas está desactivada, la API devuelve el código de error 403 (Prohibido).
La generación está limitada a 30 solicitudes por minuto por dirección IP o usuario autenticado.
Cuerpo de la solicitud (JSON)
Envía los parámetros en la raíz del objeto JSON. Los campos omitidos se sustituyen por los valores predeterminados de la política vigente.
| Parámetro | Tipo | Descripción |
|---|---|---|
workspace_id
opcional
|
string | Espacio de trabajo autenticado desde el que se aplica la política. También admite «account_id». Devuelve el código de estado 401 si el solicitante no es miembro de ese espacio de trabajo. |
type
opcional
|
string | contraseña, frase de acceso o PIN |
count
opcional
|
integer (1-10) | Número de valores que se van a generar |
language
opcional
|
string | Lista de contraseñas: en, es, fr, de o it |
word_count
opcional
|
integer (3-10) | Número de palabras en una frase de contraseña |
separator
opcional
|
string | Cadena insertada entre las palabras de la frase de contraseña |
capitalize
opcional
|
boolean | Escribe cada palabra de la frase de contraseña con mayúscula inicial |
number
opcional
|
boolean | Añadir dígitos a una frase de contraseña |
symbol
opcional
|
boolean | Añadir un símbolo a una frase de contraseña |
length
opcional
|
integer | Longitud de la contraseña (4–128) o longitud del PIN (4–12) |
uppercase
opcional
|
boolean | Incluye mayúsculas en las contraseñas |
lowercase
opcional
|
boolean | Incluye letras minúsculas en las contraseñas |
digits
opcional
|
boolean | Incluye números en las contraseñas |
symbols
opcional
|
boolean | Incluye símbolos en las contraseñas |
avoid_ambiguous
opcional
|
boolean | Excluye los caracteres ambiguos, como 0, O, l y 1 |
min_digits
opcional
|
integer | Número mínimo de dígitos en una contraseña |
min_symbols
opcional
|
integer | Número mínimo de caracteres en una contraseña |
charset
opcional
|
string | Conjunto de caracteres predefinido: ASCII, latino, cirílico o griego. Cualquier otro valor se considera un conjunto de caracteres personalizado. |
Campos de respuesta
| Campo | Descripción |
|---|---|
type |
contraseña, frase de acceso o PIN |
language |
Presente para las frases de contraseña. La lista de palabras utilizada para generar el resultado. |
entropy_bits |
En la respuesta se ha devuelto la intensidad estimada. Véase la entropía como medida de la seguridad de una contraseña. |
results |
Matriz de cadenas generadas |
Ejemplo de solicitud
curl -X POST https://us.pwpush.com/api/v2/generate \
-H "Content-Type: application/json" \
-d '{
"type": "passphrase",
"language": "en",
"word_count": 4,
"count": 2
}'
Ejemplo de respuesta
{
"type": "passphrase",
"language": "en",
"entropy_bits": 51.7,
"results": ["Correct-Horse-Battery-Staple42", "River-Garden-Lantern-Anchor17"]
}
Ejemplo de contraseña
curl -X POST https://us.pwpush.com/api/v2/generate \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type": "password",
"length": 20,
"symbols": true
}'
Ejemplo: Crear y recuperar un Push
# Create a push
curl -X POST https://us.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://us.pwpush.com/api/v2/pushes/fkwjfvhall92
Ejemplo: Crear una solicitud y responder
# Create a request
curl -X POST https://us.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://us.pwpush.com/api/v2/requests/orpw2wkg00vpn0a/respond \
-H "Content-Type: application/json" \
-d '{
"request": {
"response": "The API key is: sk_live_1234567890"
}
}'
Solicitar Estados
La API utiliza códigos de estado HTTP estándar:
200 OK
Solicitud aceptada
201 Created
Recurso creado
400 Bad Request
Parámetros no válidos
422 Unprocessable Entity
Errores de validación o datos de solicitud no válidos
401 Unauthorized
Autenticación necesaria
403 Forbidden
Acceso denegado
404 Not Found
Recurso no encontrado
La limitación de tarifas se aplica para proteger la API de abusos y garantizar un uso justo para todos los usuarios. Los límites de velocidad se aplican por dirección IP y varían en función del tipo de solicitud y punto final.
Las solicitudes GET del registro de auditoría están limitadas a 15 solicitudes por minuto por dirección IP, con un límite de ráfaga de 5 solicitudes cada 10 segundos, y a 30 solicitudes por minuto por usuario autenticado o token de API.
Respuestas sobre límites de tarifa
Cuando una solicitud supera el límite de velocidad, la API devuelve un mensaje 429 Too Many Requests con un Retry-After que indica cuándo puede reintentar la solicitud.
Mejores prácticas
- Implemente el backoff exponencial cuando reciba una respuesta 429
- Respetar la
Retry-Aftervalor de cabecera - Almacenamiento en caché de las respuestas cuando proceda para reducir las llamadas a la API
- Operaciones por lotes siempre que sea posible en lugar de hacer muchas solicitudes individuales
- Supervise el uso de la API de su aplicación para evitar sobrepasar los límites
Nota: Los límites de tarifa están diseñados para evitar abusos y permitir un uso legítimo. Si te encuentras constantemente con límites de tarifa, considera la posibilidad de optimizar tu integración o de ponerte en contacto con el servicio de asistencia para analizar tu caso de uso.
Última actualización: October 25, 2026