---
title: "Get template"
method: GET
path: "/api/v1/templates/{template_id}"
tags: ["Templates"]
---

# Get template

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

## Request

- Base URL: `https://api.studio.kaitoi.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.studio.kaitoi.io/api/v1/templates/{template_id}`
- Auth: HTTP bearer

Returns public metadata for one user-owned template, including active endpoint summaries when the template has app-ready endpoints.

## Path parameters

- `template_id` string, required

## Headers

- `authorization` string, nullable

## Response `200`

Template metadata.

- PublicTemplateDetail
  - `templateId` string, required: Stable template identifier.
  - `name` string, required: Template display name.
  - `description` string, nullable: Template description.
  - `tags` string[]: Template tags.
  - `category` string, nullable: Template category.
  - `source` 'user': Template source exposed in this API slice.
  - `hasData` boolean: Whether the template is backed by a bundled data template.
  - `nodeCount` integer: Number of nodes in the template graph.
  - `createdAt` string, date-time, nullable: Template creation timestamp.
  - `updatedAt` string, date-time, nullable: Template update timestamp.
  - `hasEndpoint` boolean, required: True when this template has at least one active endpoint.
  - `endpoints` PublicTemplateEndpointSummary[]: Active endpoint summaries for this template.
    - `endpointId` string, required: Stable template endpoint identifier.
    - `templateId` string, required: Template identifier this endpoint runs.
    - `name` string, required: Endpoint display name.
    - `description` string, nullable: Endpoint description.
    - `inputCount` integer, required: Number of exposed inputs.
    - `outputCount` integer, required: Number of exposed outputs.
    - `apiKeyPrefix` string, nullable: Non-secret prefix of the endpoint API key, useful for humans identifying the key.
    - `createdAt` string, date-time, nullable: Endpoint creation timestamp.
    - `updatedAt` string, date-time, nullable: Endpoint update timestamp.
    - `lastCalled` string, date-time, nullable: Most recent invocation timestamp, when available.
    - `callCount` integer: Number of recorded endpoint calls.
    - `isActive` boolean: Whether this endpoint currently accepts external calls.

## Other responses

- `401`: Missing, malformed, expired, or revoked bearer token.
- `403`: The API key lacks the required scope or account capability.
- `404`: The template does not exist or is not owned by this user.
- `422`: Validation Error
- `429`: The client or API key exceeded the REST API rate limit.
- `503`: The shared REST API rate limiter is temporarily unavailable.

---

[API](https://skmtc.dev/kaitoi/apis/kaitoi-rest-api.md) · [All operations](https://skmtc.dev/kaitoi/apis/kaitoi-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kaitoi/apis/kaitoi-rest-api/revisions/239a74aa2c64?raw)
