# GET /templates

> List the RemakeCV templates visible to a given consultant, with their IDs and which one is the company default. Visibility is per user, so the list differs between consultants.

Source: https://www.remakecv.com/help/api-reference/endpoints/list-templates
Last updated: 2026-08-21

---
`GET /templates` lists the RemakeCV templates a specific consultant can use, returning each template's `id`, `name` and whether it is the company default. It requires `acting_user_email` because template visibility can be scoped to particular users, so the list differs between consultants.

## Request

`GET /templates` · **Authentication required**

- `acting_user_email` _string_ (required) — 
Email of the consultant whose visible templates you want. Required — visibility is per user.

```bash
curl "https://app.remakecv.com/api/public/v1/templates?acting_user_email=consultant@agency.com" \
  -H "Authorization: Bearer $REMAKECV_API_KEY"
```

## Response

```json
{
  "data": [
    { "id": "42", "name": "Agency Standard", "is_default": true },
    { "id": "43", "name": "Acme Corp — client branded", "is_default": false },
    { "id": "44", "name": "Agency Standard — anonymised", "is_default": false }
  ],
  "pagination": null,
  "error": null
}
```

- `id` _string | integer_ — 
Pass this as `template_id` to [`POST /cvs/process`](https://www.remakecv.com/help/api-reference/endpoints/process-a-cv.md).

- `is_default` _boolean_ — 
The default template **in the web app**.

> **Warning:** 
`is_default` is **not** what the API falls back to when you omit `template_id`. The API uses a separate public-API setting, which is unset for most companies and then falls back to the literal string `default`. If you want a specific template used when `template_id` is omitted, email support@remakecv.com — there is no self-serve control for it.

> **Tip:** 
Fetch templates once at startup and cache them rather than calling this before every CV. Templates change rarely, and each call spends one of your 30 requests per minute.

## Why is the list different for different users?

Because template visibility can be scoped. A client-branded variant is normally restricted to the team working that account, so a consultant outside it will not see it.

In practice most companies see identical lists: filtering applies only to non-admin users who have an explicit visibility entry. Administrators always see everything.

If a template you expect is missing, check the acting user's visibility rather than assuming the template is gone. See [template variants](https://www.remakecv.com/help/templates-and-branding/template-variants.md).

## Errors

| Status | Code | Cause |
|---|---|---|
| `400` | `acting_user_required` | `acting_user_email` not supplied |
| `401` | `invalid_api_key` | Key invalid, revoked or expired |
| `403` | `api_disabled` | Public API not enabled |
| `404` | `acting_user_invalid` | Acting user is not a member of this company |
| `429` | `rate_limit_exceeded` | Over the rate limit |

## Frequently asked questions

### Why does acting_user_email change the results?

Template visibility can be restricted to specific users — client-branded variants in particular. The list reflects what that consultant can actually select.

### What if I omit template_id when processing?

A separate public-API default is used, which is not the is_default template shown here and is unset for most companies. Pass template_id explicitly to be sure.
