# List the values a deployment needs in a project

GET

/v1/deployments/{deploymentId}/values

```sh
curl --request GET \
  --url https://example.com/v1/deployments/example/values \
  --header 'Authorization: Bearer <token>'
```

Every value the deployment needs set in the project before it serves there: each tool’s secrets and env values with no default, a model key for each agent version it ships or carries, and the pack service’s own env. Each is read where a run in that project reads it, under the env the runtime serves: `foundAt` says where it’s set, and `problem` why it isn’t ready. Names only, never a value. In the deployment’s own project, a value is found wherever it’s set. In another project, the one a promotion would take it to, a tool’s secret counts only at a scope the caller administers, as a promotion by the caller would record it, so the list says what that promotion’s check would say. Needs what listing secrets in that project needs (`admin` on it), `read` on the project the deployment serves, and `read` on the tenant, as every deployments route does.

## Authorizations

- **[bearerAuth](https://docs.kindgi.com/reference/api.md#bearerauth)**

## Parameters

### Path Parameters

**deploymentId**

required

string

\>= 1 characters

Deployment id assigned by the ledger at register time.

### Query Parameters

**projectId**

string format: uuid

The project the values are needed in. Default: the deployment’s own project (the tenant’s Default project for a tenant-wide deployment).

## Responses

### 200

The values, names only.

application/json

object

**data**

required

Every value the deployment needs in the project: each tool’s secrets and env values (in the deployment’s order), then each model key by provider, then the pack service’s env.

Array\<object>

object

**name**

required

The secret’s or env value’s name; for a model key, the key’s secret name, or `any provider` when none is registered.

string

**kind**

required

`secret`, `env`, `model-key` or `pack-env`; a later runtime may add kinds, so treat an unknown one as a value not yet named.

string

**neededBy**

required

object

**type**

required

`tool`, `agent`, `provider` or `pack`; a later runtime may add kinds, so treat an unknown one as a need not yet named.

string

**id**

required

string

**version**

string

**foundAt**

Where a run finds it, when it is set: the project, else its org, else the tenant.

string

Allowed values: project org tenant

**problem**

Why it isn’t ready; absent when it is. One of a fixed list; a later runtime may add problems, so treat an unknown one as a reason not yet named. `missing`: set nowhere a run looks. `secret-not-yet`: a pack env name set only as a secret, which isn’t given into a pack service’s environment yet. `ambiguous`: a pack env name set both as a secret and as a plain value. `revoked`: a tool’s secret revoked where it’s recorded, or a model key revoked where a run looks first (a run refuses rather than read a wider one). `no-provider`: an agent that runs on any provider (it names none, or names one that isn’t registered), with no provider registered in the tenant, so a run has none to call.

string

##### Example

```json
{
  "data": [
    {
      "foundAt": "project"
    }
  ]
}
```

### 400

A `projectId` that isn’t a project id, or none for a deployment whose project this runtime doesn’t record (`bad-input`).

application/json

object

**error**

required

object

**code**

required

Stable machine-readable discriminant. Values match domain error codes (see `docs/API-ROUTE-CONVENTIONS.md` §4.3).

string

**message**

required

string

**details**

Optional, kind-specific.

object

**_key_**

additional properties

any

**requestId**

required

Server-assigned request id; also echoed via `X-Request-Id` header.

string

##### Examplegenerated

```json
{
  "error": {
    "code": "example",
    "message": "example",
    "details": {},
    "requestId": "example"
  }
}
```

### 401

Missing / malformed / expired / revoked bearer token.

application/json

object

**error**

required

object

**code**

required

Stable machine-readable discriminant. Values match domain error codes (see `docs/API-ROUTE-CONVENTIONS.md` §4.3).

string

**message**

required

string

**details**

Optional, kind-specific.

object

**_key_**

additional properties

any

**requestId**

required

Server-assigned request id; also echoed via `X-Request-Id` header.

string

##### Examplegenerated

```json
{
  "error": {
    "code": "example",
    "message": "example",
    "details": {},
    "requestId": "example"
  }
}
```

### 403

No `admin` on the project, or no `read` on the tenant.

application/json

object

**error**

required

object

**code**

required

Stable machine-readable discriminant. Values match domain error codes (see `docs/API-ROUTE-CONVENTIONS.md` §4.3).

string

**message**

required

string

**details**

Optional, kind-specific.

object

**_key_**

additional properties

any

**requestId**

required

Server-assigned request id; also echoed via `X-Request-Id` header.

string

##### Examplegenerated

```json
{
  "error": {
    "code": "example",
    "message": "example",
    "details": {},
    "requestId": "example"
  }
}
```

### 404

No deployment with that id under this tenant, or one in a project the caller doesn’t read (`deployment-not-found`), or `projectId` names no project of this tenant (`project-not-found`).

application/json

object

**error**

required

object

**code**

required

Stable machine-readable discriminant. Values match domain error codes (see `docs/API-ROUTE-CONVENTIONS.md` §4.3).

string

**message**

required

string

**details**

Optional, kind-specific.

object

**_key_**

additional properties

any

**requestId**

required

Server-assigned request id; also echoed via `X-Request-Id` header.

string

##### Examplegenerated

```json
{
  "error": {
    "code": "example",
    "message": "example",
    "details": {},
    "requestId": "example"
  }
}
```

## See also

- [`GET /v1/deployments/{deploymentId}`: Fetch a signed deployment record](https://docs.kindgi.com/reference/api/operations/deploymentsget.md)
- [`GET /v1/deployments/{deploymentId}/pack-env`: Show where each name a deployment's pack declares is set](https://docs.kindgi.com/reference/api/operations/deploymentspackenv.md)
- [`POST /v1/deployments/{deploymentId}/secrets`: Sync secrets against a deployment](https://docs.kindgi.com/reference/api/operations/deploymentssyncsecrets.md)
- [`POST /v1/deployments/{deploymentId}/promotions`: Promote a deployment to the next environment](https://docs.kindgi.com/reference/api/operations/deploymentspromote.md)
- [Kindgi 0.1.10](https://docs.kindgi.com/releases/0.1.10.md)
- [Error code `bad-input`](https://docs.kindgi.com/reference/errors.md#bad-input)
- [Error code `deployment-not-found`](https://docs.kindgi.com/reference/errors.md#deployment-not-found)
- [Error code `project-not-found`](https://docs.kindgi.com/reference/errors.md#project-not-found)
- [Every error code](https://docs.kindgi.com/reference/errors.md)
