# Workspace

> The Workspace object in the Guv API.

## Fields

| Field | Type | Description |
| --- | --- | --- |
| `id` * | string |  |
| `slug` * | string |  |
| `name` * | string |  |
| `plan` * | [WorkspacePlan](/docs/api/objects/workspace-plan/) |  |
| `status` * | `active`, `trial_expired`, `suspended`, `closing` |  |
| `role` | [Role](/docs/api/objects/role/) |  |
| `billing_email` | string (email) or null |  |
| `default_residency` | [Residency](/docs/api/objects/residency/) |  |
| `require_passkeys` | boolean | Members must have a passkey (always true from public launch). |
| `trial_ends_at` | string (date-time) or null |  |
| `limits` | object | Plan limits in force. |
| `member_count` | integer |  |
| `created_at` * | string (date-time) |  |
| `updated_at` | string (date-time) |  |

\* always present

## Example

```json
{
  "id": "ws_01jbx2m9k7q4r8t5v6w3y0z1ws",
  "slug": "primecarers",
  "name": "Primecarers",
  "plan": "pro",
  "status": "active",
  "role": "owner",
  "billing_email": "accounts@primecarers.co.uk",
  "default_residency": "uk-only",
  "require_passkeys": true,
  "trial_ends_at": null,
  "limits": {
    "max_vcpu_per_service": 32,
    "max_memory_mb_per_service": 65536,
    "max_replicas": 20,
    "max_custom_domains_per_service": 20,
    "max_volume_gb": 250,
    "log_retention_days": 30,
    "concurrent_builds": 10
  },
  "member_count": 3,
  "created_at": "2026-10-22T09:00:00Z",
  "updated_at": "2026-10-22T09:00:00Z"
}
```

## Used by

- [Create a workspace](/docs/api/workspaces/#create-a-workspace)
- [Get a workspace](/docs/api/workspaces/#get-a-workspace)
- [Update a workspace](/docs/api/workspaces/#update-a-workspace)
