# Vault

A **vault** holds [credentials](/concepts/personal-access-tokens) (API keys, OAuth tokens). Create a vault, fill it with credentials, attach it to a pod for agents to access.

## Create a vault

```ts
const { data: vault } = await client.vault.create({
  body: { name: "production" },
})
```

## Attach to a pod

```ts
await client.pod.vault.add({
  path: { id: podId },
  body: { vaultId: vault.id, priority: 0 },
})
```

## Create a credential

```ts
await client.credential.create({
  path: { vaultId: vault.id },
  body: {
    name: "stripe-secret",
    auth: {
      type: "api_key",
      apiKey: "sk_live_...",
    },
  },
})
```

## Related

- **[Environments](/concepts/environments)** — runtime config, not secrets.
- **API reference:** [Vault](/api-reference#tag/vault), [Credentials](/api-reference#tag/credential)