Generate a Bitwarden vault with 50 login items:
curl -X POST /api/vault/generate \
-H "Content-Type: application/json" \
-d '{"format": "bitwarden", "loginCount": 50}'/api/vaultAPI overview. Returns supported formats, endpoint info, and rate limit details.
/api/vault/formatsDetailed format capabilities. Returns each format's supported vault types, item types, organizational features, and output format.
/api/vault/generateGenerate vault data. Accepts JSON body with generation parameters. Returns the vault file as a download (JSON, CSV, or XML depending on format).
/api/configApplication configuration. Returns hosting provider info.
All parameters for POST /api/vault/generate. Only format is required.
| Parameter | Type | Default | Description |
|---|---|---|---|
| format | string | required | One of: bitwarden, lastpass, keeper, edge, keepassx, keepass2, password-depot |
| vaultType | string | "individual" | "individual" or "org" (org is Bitwarden only) |
| loginCount | number | 50 | Number of login items (0 - 10,000) |
| secureNoteCount | number | 0 | Number of secure notes (Bitwarden only, 0 - 10,000) |
| creditCardCount | number | 0 | Number of credit cards (Bitwarden only, 0 - 10,000) |
| identityCount | number | 0 | Number of identity items (Bitwarden only, 0 - 10,000) |
| language | string | "en" | Locale for generated data (see Supported Languages) |
| Parameter | Type | Default | Description |
|---|---|---|---|
| useRealUrls | boolean | false | Use real website URLs instead of generated ones |
| useEnterpriseUrls | boolean | false | Use enterprise/corporate URLs |
| enterpriseUrls | string[] | - | Custom list of enterprise URLs to use |
| Parameter | Type | Default | Description |
|---|---|---|---|
| useWeakPasswords | boolean | false | Include weak/common passwords in generated data |
| weakPasswordPercentage | number | 20 | Percentage of passwords that are weak (0 - 100) |
| reusePasswords | boolean | false | Simulate password reuse across entries |
| passwordReusePercentage | number | 10 | Percentage of passwords that are reused (0 - 100) |
| Parameter | Type | Default | Description |
|---|---|---|---|
| useCollections | boolean | false | Enable collections in the vault |
| collectionCount | number | 5 | Number of flat collections (max 100) |
| distributeItems | boolean | true | Distribute items across collections |
| useNestedCollections | boolean | false | Enable hierarchical nested collections |
| topLevelCollectionCount | number | 5 | Number of top-level collections when nested |
| collectionNestingDepth | number | 3 | Maximum nesting depth (max 10) |
| totalCollectionCount | number | 15 | Total number of collections when nested (max 100) |
| Format | Output | Vault Types | Item Types | Features |
|---|---|---|---|---|
| bitwarden | JSON | individual, org | login, secureNote, creditCard, identity | Folders, collections, nested collections |
| lastpass | CSV | individual | login | - |
| keeper | CSV | individual | login | Folders |
| edge | CSV | individual | login | - |
| keepassx | CSV | individual | login | - |
| keepass2 | XML | individual | login | Predefined groups |
| password-depot | CSV | individual | login | - |
| Endpoint | Limit |
|---|---|
| POST /api/vault/generate | 10 requests per minute |
| All other endpoints (GET) | 60 requests per minute |
Rate limit headers are included in all responses:
X-RateLimit-Limit – maximum requests allowedX-RateLimit-Remaining – requests remaining in windowX-RateLimit-Reset – window reset time (Unix seconds)The language parameter controls the locale used for generating names, addresses, and other fake data.
| Code | Language |
|---|---|
| en | English |
| es | Spanish |
| de | German |
| fr | French |
| it | Italian |
| pt | Portuguese |
| ru | Russian |
| ja | Japanese |
| zh | Chinese |
curl -X POST /api/vault/generate \
-H "Content-Type: application/json" \
-d '{
"format": "bitwarden",
"loginCount": 100,
"secureNoteCount": 10,
"creditCardCount": 5,
"identityCount": 5
}'curl -X POST /api/vault/generate \
-H "Content-Type: application/json" \
-d '{
"format": "lastpass",
"loginCount": 200,
"useRealUrls": true
}' -o lastpass_export.csvcurl -X POST /api/vault/generate \
-H "Content-Type: application/json" \
-d '{
"format": "bitwarden",
"vaultType": "org",
"loginCount": 500,
"secureNoteCount": 50,
"useCollections": true,
"useNestedCollections": true,
"topLevelCollectionCount": 5,
"collectionNestingDepth": 3,
"totalCollectionCount": 30,
"distributeItems": true,
"useWeakPasswords": true,
"weakPasswordPercentage": 15,
"reusePasswords": true,
"passwordReusePercentage": 25,
"language": "de"
}'Errors are returned as JSON with an error field:
{
"error": "Description of what went wrong"
}| Status | Meaning |
|---|---|
| 200 | Success – vault data returned |
| 400 | Validation error – invalid parameters, unsupported format, or constraint violation |
| 429 | Rate limit exceeded – wait and retry |
| 500 | Internal server error – unexpected failure during generation |