Browse Source
- Authentication endpoints (register, login) - Vault operations (get, create, update, delete items) - Organization API (create, invite users) - Emergency access endpoints - Admin API overview - Rate limiting configuration - Webhook events Community contribution to help developers integrate with Vaultwarden API.pull/7075/head
1 changed files with 156 additions and 0 deletions
@ -0,0 +1,156 @@ |
|||
# Vaultwarden API Integration Guide |
|||
|
|||
## Overview |
|||
|
|||
Vaultwarden implements the Bitwarden Client API. This guide covers the main endpoints for integration. |
|||
|
|||
## Authentication |
|||
|
|||
### Register |
|||
|
|||
```http |
|||
POST /api/accounts/register |
|||
Content-Type: application/json |
|||
|
|||
{ |
|||
"email": "user@example.com", |
|||
"password": "master_password_hash", |
|||
"passwordHint": "optional hint", |
|||
"name": "User Name", |
|||
"keys": { |
|||
"encryptedPrivateKey": "...", |
|||
"publicKey": "..." |
|||
} |
|||
} |
|||
``` |
|||
|
|||
### Login |
|||
|
|||
```http |
|||
POST /identity/connect/token |
|||
Content-Type: application/x-www-form-urlencoded |
|||
|
|||
grant_type=password&username=user@example.com&password=...&scope=api offline_access&client_id=web&client_secret=... |
|||
``` |
|||
|
|||
## Vault Operations |
|||
|
|||
### Get Vault |
|||
|
|||
```http |
|||
GET /api/sync |
|||
Authorization: Bearer <access_token> |
|||
``` |
|||
|
|||
### Create Item |
|||
|
|||
```http |
|||
POST /api/ciphers |
|||
Content-Type: application/json |
|||
Authorization: Bearer <access_token> |
|||
|
|||
{ |
|||
"type": 1, |
|||
"name": "Login Item Name", |
|||
"login": { |
|||
"username": "user", |
|||
"password": "encrypted_password", |
|||
"uri": "https://example.com" |
|||
}, |
|||
"favorite": false, |
|||
"organizationId": null |
|||
} |
|||
``` |
|||
|
|||
### Update Item |
|||
|
|||
```http |
|||
PUT /api/ciphers/:id |
|||
Content-Type: application/json |
|||
Authorization: Bearer <access_token> |
|||
|
|||
{ |
|||
"id": "uuid", |
|||
"type": 1, |
|||
"name": "Updated Name", |
|||
"login": {...}, |
|||
"revisionDate": "2026-04-10T00:00:00Z" |
|||
} |
|||
``` |
|||
|
|||
### Delete Item |
|||
|
|||
```http |
|||
POST /api/ciphers/:id/delete |
|||
Authorization: Bearer <access_token> |
|||
``` |
|||
|
|||
## Organization API |
|||
|
|||
### Create Organization |
|||
|
|||
```http |
|||
POST /api/organizations |
|||
Authorization: Bearer <access_token> |
|||
|
|||
{ |
|||
"name": "My Org", |
|||
"billingEmail": "admin@example.com", |
|||
"planType": 0 |
|||
} |
|||
``` |
|||
|
|||
### Invite User |
|||
|
|||
```http |
|||
POST /api/organizations/:id/users |
|||
Authorization: Bearer <access_token> |
|||
|
|||
{ |
|||
"emails": ["user@example.com"], |
|||
"type": 0 |
|||
} |
|||
``` |
|||
|
|||
## Emergency Access |
|||
|
|||
### Grant Emergency Access |
|||
|
|||
```http |
|||
POST /api/emergency-access/:id/grant |
|||
Authorization: Bearer <access_token> |
|||
``` |
|||
|
|||
## Admin API |
|||
|
|||
Enable with `ADMIN_TOKEN` environment variable. |
|||
|
|||
```http |
|||
GET /admin |
|||
Authorization: Bearer <admin_token> |
|||
``` |
|||
|
|||
## Rate Limiting |
|||
|
|||
Default limits: |
|||
- Login: 5 requests per IP per 5 minutes |
|||
- API: 100 requests per IP per minute |
|||
|
|||
Configure via `RATE_LIMIT_*` environment variables. |
|||
|
|||
## Webhooks |
|||
|
|||
Configure `WEBHOOK_URL` and `WEBHOOK_EVENTS` to receive events: |
|||
|
|||
```json |
|||
{ |
|||
"event": "cipher.create", |
|||
"userId": "uuid", |
|||
"organizationId": "uuid", |
|||
"timestamp": "2026-04-10T00:00:00Z" |
|||
} |
|||
``` |
|||
|
|||
--- |
|||
|
|||
*Community contribution - not official documentation* |
|||
Loading…
Reference in new issue