# proxbox-api v0.0.7.post1

v0.0.7.post1 — Settings auth fix & sync correctness

| Field |Value |
| --- | --- |
| Canonical URL | https://emersonfelipesp.com/proxbox-api/releases/v0.0.7.post1 |
| GitHub URL | https://github.com/emersonfelipesp/proxbox-api/releases/tag/v0.0.7.post1 |
| Tag | v0.0.7.post1 |
| State | stable |
| Author | emersonfelipesp |
| Created | 2026-04-17 18:15 UTC |
| Published | 2026-04-17 18:17 UTC |
| Target | main |
| Synced | 2026-08-25 18:36 UTC |
| Assets | 0 |

## Release notes

## What's Changed

### Bug Fixes

- **fix(settings_client):** Replace hand-rolled `Authorization` header with `authorization_header_value()` from `netbox_sdk.config`. The old code produced `nbt <key>:<secret>` for v2 tokens instead of the correct `Bearer nbt_<key>.<secret>`, causing every v2-token request to be treated as anonymous and rejected with 403 by NetBox. ([#45](https://github.com/emersonfelipesp/proxbox-api/issues/45))
- **fix(replications):** Use `base_query=` keyword argument in `rest_list_paginated_async` call — previously the wrong keyword `query=` was silently ignored, so active-replication filtering never applied.
- **fix(backups):** Allow `compute_backup_payload` to look up Proxmox storage without a `cluster_name` — prevents KeyError when cluster name is absent.
- **fix(vm_network):** Use `primary_ip4_id` filter in `_clear_primary_ip_on_parent` to correctly target the VM's primary IP assignment.
- **fix(tests):** Fix `test_mark_stale_replications` fake to capture `base_query=` instead of `query=`, matching the real `rest_list_paginated_async` signature (the test was always asserting `None`).

### Chores

- Pin `proxmox-sdk` to `0.0.2.post3`.
- Commit pending schema updates, tag normalization fix, and Proxmox 9.1 generated artifacts.

### Root Cause (issue [#45](https://github.com/emersonfelipesp/proxbox-api/issues/45))

Two independent bugs caused HTTP 403 on `GET /api/plugins/proxbox/settings/`:

1. **This repo** — `settings_client.py` built the v2 auth header incorrectly (`nbt <key>:<secret>` instead of `Bearer nbt_<key>.<secret>`). NetBox parsed it as anonymous and returned 403.
2. **netbox-proxbox** — `ProxboxPluginSettingsViewSet` required an explicit `view_proxboxpluginsettings` object permission that standard API tokens don't carry. Fixed in [netbox-proxbox v0.0.11.post1](https://github.com/emersonfelipesp/netbox-proxbox/releases/tag/v0.0.11.post1).

Both fixes together restore automatic token exchange between the plugin and the backend.

## Assets

No binary assets attached.

Source archives:

| Format |URL |
| --- | --- |
| zip | https://api.github.com/repos/emersonfelipesp/proxbox-api/zipball/v0.0.7.post1 |
| tar.gz | https://api.github.com/repos/emersonfelipesp/proxbox-api/tarball/v0.0.7.post1 |