> ## Documentation Index
> Fetch the complete documentation index at: https://docs.parmanasystems.com/llms.txt
> Use this file to discover all available pages before exploring further.

# parmana.models.caller

Parmana caller identity and public key responses.

Hand-maintained: these are the response bodies of GET /callers/me
(packages/api/src/routes/callers-me.ts) and GET /keys/\{keyId}
(packages/api/src/routes/keys.ts), not named exports of @parmana/shared, so
python/scripts/generate\_models.ts cannot generate them.

## CallerIdentity Objects

```python theme={null}
@dataclass(frozen=True)
class CallerIdentity()
```

Who the API key belongs to and what it may do.

#### allowed\_principal\_ids

Principal IDs this key may name in a request's `authority.principalId`.
Only its own caller ID unless the key lists others.

#### allowed\_capabilities

Capabilities this key may request. Empty means none.

#### unrestricted\_capabilities

True when `allowed_capabilities` contains "\*".

## PublicKeyInfo Objects

```python theme={null}
@dataclass(frozen=True)
class PublicKeyInfo()
```

A signing public key of the deployment.

#### pem

SPKI PEM. Pass it to the offline verifiers in `parmana.crypto`.

#### jwk

The same key as a JSON Web Key, when the algorithm has a JWK form.
