# Capsule

A capsule: the recipe for a short-lived Linux sandbox (packages, users, mounted file systems and secrets, and commands to run at start). Starting it gives you a run to send commands to. Each deploy that changes it adds a version.

**Kind:** an object, used in responses.

## Fields

Every field is present in a response; empty ones are `null`.

| Field | Type | Description |
|---|---|---|
| `versions` | [`CapsuleVersion`](https://docs.maitento.com/reference/types/capsule-version.md)`[]` | Every version of the capsule, oldest first. |
| `name` | `string` | The capsule's name, unique within its namespace. |
| `userCreatedById` | `uuid` | The id of the user who created it. A call made with an API key is recorded as the key's user. |
| `namespaceId` | `uuid` | The id of the namespace it belongs to. |
| `tenantId` | `uuid` | The id of the tenant it belongs to. |
| `id` | `uuid` | The unique id. Use it in `by-id` routes and wherever another object refers to this one. |
| `dateCreated` | `datetime` | When it was created, in UTC. |
| `dateUpdated` | `datetime` | When it was last changed, in UTC. |

## Example

```json
{
  "versions": [
    {
      "template": "...",
      "additionalPackages": [],
      "users": [],
      "virtualFileSystemMounts": [],
      "secretMounts": [],
      "startupCommands": [],
      "autoTerminateAfterStartupCommands": false,
      "maximumDuration": "00:05:00",
      "version": 0,
      "date": "2026-10-26T12:00:00.0000000Z",
      "isDisabled": false
    }
  ],
  "name": "...",
  "userCreatedById": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
  "namespaceId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
  "tenantId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
  "id": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
  "dateCreated": "2026-10-26T12:00:00.0000000Z",
  "dateUpdated": "2026-10-26T12:00:00.0000000Z"
}
```

## Where it's used

- [`capsules.getByName`](https://docs.maitento.com/reference/api/capsules.md) (`GET /namespaces/{namespaceName}/capsules/by-name/{name}`)
- [`capsules.get`](https://docs.maitento.com/reference/api/capsules.md) (`GET /capsules/by-id/{id}`)
- [`capsules.list`](https://docs.maitento.com/reference/api/capsules.md) (`GET /capsules`)
- [`capsules.list`](https://docs.maitento.com/reference/api/capsules.md) (`GET /namespaces/{namespaceName}/capsules`)
- Inside [`BuildEntityOfCapsule`](https://docs.maitento.com/reference/types/build-entity-of-capsule.md)
