This article refers to SDK version v0.5.0. The current SDK version is N/A.
Plain dataclasses for the entities every resource method returns. Every entity keeps the original API payload in .raw, so a field the SDK hasn't typed yet is still reachable.
Node
| Field | Type |
|---|
id | str |
node_name | str |
status | Optional[Dict[str, Any]] |
cluster_id | Optional[str] |
raw | Dict[str, Any] |
NetworkInterface
One row of the Networking card's Interfaces section — a physical
Ethernet/WiFi/Mobile interface, or a VLAN, as returned by
client.nodes.network.get().
| Field | Type |
|---|
name | str |
type | str |
active | Optional[bool] |
raw | Dict[str, Any] |
NodeNetwork
The Networking card as a whole: every physical interface plus VPN and
Proxy state, as returned by client.nodes.network.get().
| Field | Type |
|---|
interfaces | List[NetworkInterface] |
vpn | List[Dict[str, Any]] |
proxy | List[Dict[str, Any]] |
raw | Dict[str, Any] |
Cluster
| Field | Type |
|---|
id | str |
name | str |
raw | Dict[str, Any] |
Application
| Field | Type |
|---|
id | str |
name | str |
raw | Dict[str, Any] |
MLModel
| Field | Type |
|---|
id | str |
name | str |
raw | Dict[str, Any] |
Config
A reusable, named config document from the Config Repository —
referenced by id (config_id) from a workload's/node's/cluster's own
App Config or Global Config, rather than being one itself.
| Field | Type |
|---|
id | str |
name | str |
config_type | str |
raw | Dict[str, Any] |
Group
| Field | Type |
|---|
id | str |
name | str |
node_ids | List[str] |
raw | Dict[str, Any] |
User
| Field | Type |
|---|
id | str |
email | str |
role | Optional[UserRole] |
enabled | Optional[bool] |
raw | Dict[str, Any] |
UserRole
Matches the labels Panel shows in the Organization view — not the
raw JWT/API claim names, which use a different, undocumented casing
(role_company_admin, etc.) for the same four levels.
Alert
| Field | Type |
|---|
id | str |
title | Optional[str] |
severity | Optional[int] |
active | Optional[bool] |
node_id | Optional[str] |
raw | Dict[str, Any] |
AlertEvent
| Field | Type |
|---|
id | str |
event_type | Optional[int] |
node_id | Optional[str] |
alert_id | Optional[str] |
raw | Dict[str, Any] |
Workload
A workload (deviceSpace): a Docker app, Marketplace app, or Model
deployed on a single node, or (when returned by
ClusterWorkloadsResource) across every node in a cluster — same
dataclass for both, since the cluster-level API mirrors the node-level
one. Unlike most entities, the API doesn't return its own top-level id —
it's the workload_id the caller already knows, kept here for
symmetry with the other dataclasses.
| Field | Type |
|---|
id | str |
raw | Dict[str, Any] |
GlobalSecret
A Barbara-managed node or cluster secret reference (name only — value
is never returned unencrypted unless the caller has permission and asks
for it). Shared by every workload on the node/cluster — distinct from a
Marketplace app's own App Secrets, and from Docker-native Swarm Secrets.
name is decoded from base64, matching Barbara's convention for
secret/credential names throughout the API.
| Field | Type |
|---|
id | str |
name | str |
raw | Dict[str, Any] |
DockerCredential
server/user are decoded from base64, matching Barbara's
convention for docker credential fields throughout the API. password
is deliberately not a field here — Panel never stores it once sent to
the node, so the API never returns it, under any role.
| Field | Type |
|---|
id | str |
server | Optional[str] |
user | Optional[str] |
raw | Dict[str, Any] |
ModelVersion
| Field | Type |
|---|
id | str |
name | str |
raw | Dict[str, Any] |
Page
Generic page wrapper for list endpoints.
| Field | Type |
|---|
items | List[Any] |
total | Optional[int] |
Fields and types above are generated from barbara-api-sdk 0.5.0 docstrings. If a new SDK release changes one, this page needs a re-sync — the surrounding prose does not update itself.