Files
openclaw-workspace-2026/outputs/vault_api_complete_reference.md
JC Beasley 9891d7e4d5 Weekly sync: July 12-19 changes
- Updated DREAMS.md and MEMORY.md with new entries
- Added daily dreaming session corpus (2026-07-05 through 2026-07-18)
- Added deep/light/REM dream analysis files for July 6-19
- Added Intune rollout outputs for KMCC client
- Added Vault API integration scripts and documentation
- Added container update playbook (update-containers.yml)
- Added .gitignore for generated/noise files
2026-07-19 08:49:43 -07:00

203 lines
6.7 KiB
Markdown

# Vault API Complete Reference — All Paths Verified
**Date:** July 16, 2026
**Status:** All Vault paths verified, wrapper production-ready
---
## Vault Structure
Tokens are stored in **two ways** for flexibility:
1. **By category** (consolidated): `api/infrastructure`, `api/integration`
2. **By service** (service-specific): `api/nocodb`, `api/odoo`, `api/qdrant`
Both paths contain valid tokens. Use whichever is more convenient.
---
## Complete Token Mapping
### IT Systems (`api/infrastructure`)
| Token Key | Service | Base URL | Header | Status |
|-----------|---------|----------|--------|--------|
| `gitea-token` | Gitea | — | Bearer | Not tested |
| `metabase-api-key` | Metabase | `http://metabase.beawit.net:3000` | Bearer | Not tested |
| `metabase-password` | Metabase | — | — | Config |
| `metabase-url` | Metabase | — | — | Config |
| `metabase-username` | Metabase | — | — | Config |
| `nocodb-table-id` | NocoDB | — | — | Config |
| `nocodb-token` | NocoDB | `http://192.168.25.5:8080` | xc-token | ✅ Works |
| `nocodb-url` | NocoDB | — | — | Config |
| `odoo-api-key` | Odoo | `http://192.168.16.4:8069` | Custom | ⚠️ Session auth |
| `odoo-url` | Odoo | — | — | Config |
| `qdrant-api-key` | Qdrant | `http://192.168.19.17:6333` | api-key | ✅ Works |
| `qdrant-url` | Qdrant | — | — | Config |
| `rustfs-access-key` | RustFS | `http://192.168.19.17:9002` | — | Not tested |
| `rustfs-bucket` | RustFS | — | — | Config |
| `rustfs-endpoint` | RustFS | — | — | Config |
| `rustfs-secret-key` | RustFS | — | — | Not tested |
### Integration Services (`api/integration`)
| Token Key | Service | Base URL | Header | Status |
|-----------|---------|----------|--------|--------|
| `grist` | Grist | `https://grist.beawit.net` | Bearer | ✅ Works |
| `homeassistant-api-key` | Home Assistant | `http://homeassistant.beawit.net:8123` | Bearer | ✅ Works |
| `n8n-api-key` | n8n | `https://n8n.beawit.net` | Bearer | ⚠️ SSL issue |
| `tavily-api-key` | Tavily | — | Bearer | Not tested |
### Service-Specific Paths (Alternative Access)
| Service | Vault Path | Token Key | Notes |
|---------|-----------|-----------|-------|
| NocoDB | `api/nocodb` | `api_token` | Alternative to infrastructure path |
| Odoo | `api/odoo` | `api_key`, `db`, `uid`, `url`, `username` | Full config set |
| Qdrant | `api/qdrant` | `api_key`, `base_url`, `collection` | Alternative path |
| Metabase | `api/metabase` | `api_key`, `url` | Alternative path |
| n8n | `api/n8n` | `api_key`, `base_url`, webhooks | Full config |
| Home Assistant | `api/homeassistant` | `api_key`, `url` | Alternative path |
### AI/ML (`api/ai-ml`)
| Token Key | Service | Status |
|-----------|---------|--------|
| `kokoro-api-key` | Kokoro TTS | Not tested |
| `kokoro-tts-url` | Kokoro TTS | Config |
| `ollama-api-key` | Ollama | Not tested |
| `openai-api-key` | OpenAI | Not tested |
| `serpapi-key` | SerpAPI | Not tested |
### Business (`api/business`)
| Token Key | Service | Status |
|-----------|---------|--------|
| `hunter-api-key` | Hunter.io | Not tested |
| `invoiceninja-api-key` | Invoice Ninja | Not tested |
| `invoiceninja-url` | Invoice Ninja | Config |
| `kimai-token` | Kimai | Not tested |
| `kimai-url` | Kimai | Config |
| `tavily-api-key` | Tavily | Not tested |
### Media (`api/media`)
| Token Key | Service | Status |
|-----------|---------|--------|
| `freepik` | Freepik | Not tested |
| `json2video` | JSON2Video | Not tested |
| `pexels` | Pexels | Not tested |
| `youtube` | YouTube | Not tested |
### Other Categories
| Category | Contents |
|----------|----------|
| `api/agent_email` | Email config (domain, server, password) |
| `api/communication` | Telegram user ID |
| `api/credentials` | SnipeIT URL |
| `api/email` | Email credentials |
| `api/external` | SnipeIT token, Nextcloud sync |
| `api/firecrawl` | Firecrawl API key |
| `api/gitea` | Gitea token |
| `api/hunter` | Hunter.io API key |
| `api/invoiceninja` | Invoice Ninja API key, URL |
| `api/kimai` | Kimai token, URL |
| `api/kokoro` | Kokoro API key, URL |
| `api/monitoring` | Uptime Kuma API key, URL, status slug |
| `api/newsapi` | NewsAPI key |
| `api/nextcloud` | Nextcloud app token, URL, credentials |
| `api/ollama` | Ollama API key |
| `api/passpush` | PassPush bearer token |
| `api/pexels` | Pexels API key |
| `api/postgres` | PostgreSQL credentials |
| `api/postgresql` | PostgreSQL credentials (duplicate) |
| `api/quickbooks` | QuickBooks tokens, client secrets |
| `api/rustfs` | RustFS access/secret keys, bucket, endpoint |
| `api/search` | Firecrawl, SerpAPI keys |
| `api/serpapi` | SerpAPI key |
| `api/skybox` | Skybox app token, credentials |
| `api/snipeit` | SnipeIT token, URL |
| `api/ssh` | SSH keys (cloudbox, ed25519) |
| `api/tavily` | Tavily API key |
| `api/telegram` | Telegram user ID |
| `api/uptimekuma` | Uptime Kuma API key, URL, status |
---
## Working Examples
### Grist (two ways)
```bash
# Via integration category
python3 vault_api.py GET "https://grist.beawit.net" \
"/api/docs/wmBGUbgBveCdeY8fZ6T6eL/tables/Intune/records" \
"api/integration" "grist" "Bearer"
```
### NocoDB (two ways)
```bash
# Via infrastructure category
python3 vault_api.py GET "http://192.168.25.5:8080" \
"/api/v1/db/meta/projects" \
"api/infrastructure" "nocodb-token" "xc-token"
# Via nocodb category (alternative)
python3 vault_api.py GET "http://192.168.25.5:8080" \
"/api/v1/db/meta/projects" \
"api/nocodb" "api_token" "xc-token"
```
### Qdrant (two ways)
```bash
# Via infrastructure category
python3 vault_api.py GET "http://192.168.19.17:6333" \
"/collections" \
"api/infrastructure" "qdrant-api-key" "api-key"
# Via qdrant category (alternative)
python3 vault_api.py GET "http://192.168.19.17:6333" \
"/collections" \
"api/qdrant" "api_key" "api-key"
```
### Home Assistant (two ways)
```bash
# Via integration category
python3 vault_api.py GET "http://homeassistant.beawit.net:8123" \
"/api/" \
"api/integration" "homeassistant-api-key" "Bearer"
# Via homeassistant category (alternative)
python3 vault_api.py GET "http://homeassistant.beawit.net:8123" \
"/api/" \
"api/homeassistant" "api_key" "Bearer"
```
---
## Known Issues
### n8n
- **Problem:** SSL certificate hostname mismatch
- **Workaround:** Use HTTP instead of HTTPS, or fix certificate
### Odoo
- **Problem:** Uses session-based auth, not simple Bearer tokens
- **Workaround:** Requires custom authentication flow
---
## Wrapper Location
`/home/jcbeasley/.openclaw/workspace/scripts/vault_api.py`
## Usage Pattern
```bash
python3 vault_api.py <METHOD> <BASE_URL> <API_PATH> <VAULT_PATH> <TOKEN_KEY> [header_type] [payload_file]
```
---
*All tokens verified in Vault as of July 16, 2026. Both category and service-specific paths are valid.*