> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qoder.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get a template

> Retrieve a Forward template by ID.

`GET /api/v1/forward/templates/{template_id}`

Returns the complete template object, including agent configuration and session defaults.

## Headers

| Header          | Required | Description    |
| --------------- | -------- | -------------- |
| `Authorization` | Yes      | `Bearer <PAT>` |

## Path parameters

| Parameter     | Type   | Required | Description          |
| ------------- | ------ | -------- | -------------------- |
| `template_id` | string | Yes      | Forward Template ID. |

## Example request

```bash theme={null}
curl -s -X GET 'https://api.qoder.com/api/v1/forward/templates/tmpl_support' \
  -H "Authorization: Bearer $QODER_PAT"
```

## Example response

**HTTP 200 OK**

```json theme={null}
{
  "type": "template",
  "id": "tmpl_support",
  "name": "Support assistant",
  "description": "Handles pre-sales and after-sales support",
  "status": "active",
  "model": "ultimate",
  "system": "You are a helpful support assistant.",
  "tools": [],
  "mcp_servers": [],
  "skills": [],
  "multiagent": null,
  "environment_id": "env_support",
  "vault_ids": ["vault_crm"],
  "files": {},
  "environment_variables": {
    "BASE_MODE": "support"
  },
  "metadata": {},
  "created_at": "2026-06-18T10:00:00Z",
  "updated_at": "2026-06-18T10:00:00Z"
}
```

## Response fields

| Field            | Type   | Description             |
| ---------------- | ------ | ----------------------- |
| `type`           | string | Always `template`.      |
| `id`             | string | Template ID.            |
| `name`           | string | Template name.          |
| `status`         | string | `active` or `archived`. |
| `model`          | string | Model identifier.       |
| `system`         | string | System prompt.          |
| `environment_id` | string | Default Environment ID. |
| `metadata`       | object | Custom metadata.        |

## Errors

| HTTP | Type                   | Trigger                                                  |
| ---- | ---------------------- | -------------------------------------------------------- |
| 401  | `authentication_error` | PAT invalid or expired.                                  |
| 403  | `permission_error`     | Not authorized for this resource.                        |
| 404  | `not_found_error`      | Template does not exist or is not visible to the caller. |

## Notes

* Archived templates can still be retrieved by ID.
* Runtime-only Qoder Cloud Agents fields are not added to this response.

## Related

<CardGroup cols={2}>
  <Card title="Update a template" icon="pencil" href="/cloud-agents/api/forward/templates/update" />

  <Card title="Archive a template" icon="archive" href="/cloud-agents/api/forward/templates/archive" />
</CardGroup>
