# Template

> The Template object in the Guv API.

## Fields

| Field | Type | Description |
| --- | --- | --- |
| `slug` * | string |  |
| `name` * | string |  |
| `summary` * | string |  |
| `description` | string |  |
| `tags` | array of string |  |
| `icon_url` | string (uri) or null |  |
| `repo` | object |  |
| `services` | array of object |  |
| `databases` | array of [DatabaseEngine](/docs/api/objects/database-engine/) |  |
| `estimated_monthly_cost` | [Money](/docs/api/objects/money/) |  |
| `variables` | array of object |  |
| `manifest` * | string | The template's guv.yaml. |
| `verified_at` | string (date-time) or null | Last nightly validate-and-deploy check. |

\* always present

## Example

```json
{
  "slug": "nextjs-postgres",
  "name": "Next.js + Postgres",
  "summary": "string",
  "description": "string",
  "tags": [
    "string"
  ],
  "icon_url": "https://guv.dev/",
  "repo": {
    "url": "https://guv.dev/",
    "path": "string"
  },
  "services": [
    {
      "name": "string",
      "kind": "string"
    }
  ],
  "databases": [
    "postgres"
  ],
  "estimated_monthly_cost": {
    "amount": "7.42",
    "currency": "GBP",
    "display": "£7.42"
  },
  "variables": [
    {
      "name": "string",
      "description": "string",
      "secret": false,
      "required": false,
      "generate": false
    }
  ],
  "manifest": "string",
  "verified_at": "2026-10-22T13:05:00Z"
}
```

## Used by

- [Get a template](/docs/api/templates/#get-a-template)
