curl -sS -X PUT "https://gateway.orbit/api/v1/vault" \
--cacert /path/to/orbit-root-ca.pem \
-H 'Accept: application/json' \
-H 'X-Orbit-Request-Id: 9d6b1e5c-4a3f-4a1b-9f0e-6d2c3f5a7b81' \
-H 'Content-Type: application/json' \
-d '{"url": "example", "client_id": "example", "client_secret": "example", "master_password": "example", "organization": "example", "collection": "example"}'
{
"data": {
"configured": true,
"url": "<string>",
"email": "<string>",
"organization": {
"id": "<string>",
"name": "<string>"
},
"collection": {
"id": "<string>",
"name": "<string>"
},
"items": 123,
"pending": 123,
"skipped": [
{
"source": "<string>",
"slug": "<string>",
"username": "<string>",
"reason": "incomplete"
}
],
"last_synced_at": "<string>",
"last_error": {
"code": "<string>",
"message": "<string>"
}
},
"meta": {
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}Set up Vaultwarden
Logs in to Vaultwarden with the account API key, unlocks it with the master password, finds the organization and collection by name or ID, and checks that the account can write to the collection. Only then stores the values, encrypted. url must be an HTTPS origin on a .orbit host, and the Gateway trusts only the Orbit root CA; another origin returns validation.failed (422). Returns vault.login_failed, vault.kdf_unsupported, vault.organization_missing, vault.collection_missing, or vault.collection_read_only (422), and vault.items_published (409) for another organization or collection while items are published. No response or Activity entry returns the client secret or the master password, but this tool takes them as arguments, so they reach the caller transcript; the CLI reads them from files.
curl -sS -X PUT "https://gateway.orbit/api/v1/vault" \
--cacert /path/to/orbit-root-ca.pem \
-H 'Accept: application/json' \
-H 'X-Orbit-Request-Id: 9d6b1e5c-4a3f-4a1b-9f0e-6d2c3f5a7b81' \
-H 'Content-Type: application/json' \
-d '{"url": "example", "client_id": "example", "client_secret": "example", "master_password": "example", "organization": "example", "collection": "example"}'
{
"data": {
"configured": true,
"url": "<string>",
"email": "<string>",
"organization": {
"id": "<string>",
"name": "<string>"
},
"collection": {
"id": "<string>",
"name": "<string>"
},
"items": 123,
"pending": 123,
"skipped": [
{
"source": "<string>",
"slug": "<string>",
"username": "<string>",
"reason": "incomplete"
}
],
"last_synced_at": "<string>",
"last_error": {
"code": "<string>",
"message": "<string>"
}
},
"meta": {
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {},
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}Body
Vaultwarden origin, for example https://vault.orbit
2048The client_id of the Gateway account personal API key
25510241024Organization name or ID
255Collection name or ID in that organization
255