Skip to main content
GET
List application environment secrets

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

authorization
string | null
x-ankra-organisation-id
string | null

Path Parameters

application_id
string
required

Query Parameters

environment_id
string<uuid>

Select an owned canonical application environment, including a planned environment. A legacy cluster ID is accepted only when it identifies one complete environment, or an unassigned legacy cluster. Mixed or partial aliases return 409; refresh and select the canonical ID. Empty or repeated values are refused. Omit only for shared catalogue management or application-wide apply.

Response

Successful Response

An application's environment-secret surface: the Secrets the generated manifests read, the keys that have a value, the keys still missing one, whether Ankra could establish that at all, and whether the values that are stored have reached what is running.

secret_name
string
required

The application's own Kubernetes Secret ("-env"). It is the primary name; secret_names is what a deploy actually seals.

secret_names
string[]
required

The Kubernetes Secrets the deploy renders these keys into. A monorepo's component Deployments each read a Secret named after themselves, so this carries one per component that reads one; every other application carries exactly secret_name. Empty when the manifests read none of them - including whenever requirements_state is "unknown", where it is not a claim about the application at all.

secrets
ApplicationEnvSecretItem · object[]
required
missing_keys
string[]
required

Keys the manifests read that have no value yet. Read requirements_state first: an empty list means "nothing is missing" only under "known".

requirements_state
enum<string>
required

Whether the application's committed manifests could be read for the keys they take from the Secrets Ankra fills: "known" when they were, so missing_keys is exhaustive; "unknown" when no manifest is recorded yet, or when they read an env Secret this application's catalogue does not fill (unfilled_secrets names it). Under "unknown", missing_keys and each item's required flag are not claims about the application.

Available options:
known,
unknown
unfilled_secrets
string[]
required

The env-shaped Secrets the manifests read that are none of this application's - the diagnosis behind an "unknown" requirements_state. Recognition is by the "-env" convention alone, because an unresolved component Secret and a Secret the repository manages itself are the same string: a self-managed "-env" is therefore listed here and holds the application at "unknown". That is the deliberate direction - Ankra declines to certify a key list it cannot verify rather than reporting a monorepo as needing nothing, which is the defect requirements_state exists to end.

revision
string
required

Revision of the returned effective catalogue, derived from key names and write timestamps. Deployment configuration and runtime readiness are separate observations.

apply_state
enum<string>
required

The rolled-up answer: "applied" when every deployment carries the current values, "pending" when at least one does not, "unknown" when none is pending but at least one was never recorded, and "not_deployed" when the application is not deployed anywhere yet.

Available options:
applied,
pending,
unknown,
not_deployed
deployments
ApplicationEnvSecretDeployment · object[]
required

The same answer per deployment.

optional_missing_keys
string[]

Keys the manifests read only through optional secretKeyRefs that have no value yet. The workload starts without them, with whatever they enable left off. Same requirements_state caveat as missing_keys.

keys
ApplicationEnvSecretKey · object[]

Every key of the application's environment contract: each key the manifests read from the Secrets Ankra fills, required or optional, plus each stored key no manifest reads. Required keys first, then optional, then unreferenced (or unknown), each group in key order. Carries no value. Under requirements_state "unknown" the list is not exhaustive: the required and optional roles are references actually seen, but keys the scan could not read are absent.

environment_id
string<uuid>

The selected environment (cluster) identity; absent for the legacy shared catalogue.

tearing_down_count
integer

Scoped installations currently being removed. Omitted when zero or for the legacy shared view.

Required range: x >= 0