---
title: "One template: what it creates, resources and first-login notes"
method: GET
path: "/templates/{templateId}"
tags: ["Templates"]
---

# One template: what it creates, resources and first-login notes

`GET /templates/{templateId}`

## Request

- Base URL: `https://hostingsurge.com/api/v1`
- URL: `https://hostingsurge.com/api/v1/templates/{templateId}`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `__Host-hs_session`

## Path parameters

- `templateId` string, required

## Response `200`

The template

- object
  - `id` string, required: stable id, e.g. "nextjs" or "n8n"
  - `name` string, required
  - `description` string, required
  - `kind` 'starter' | 'service' | 'wordpress' | 'repository', required
  - `category` 'frameworks' | 'cms' | 'ecommerce' | 'automation' | 'analytics' | 'monitoring' | 'backend' | 'communication' | 'productivity' | 'storage' | 'security', required
  - `tags` string[], required
  - `framework` 'nextjs' | 'vite' | 'astro' | 'remix' | 'nuxt' | 'sveltekit' | 'gatsby' | 'create-react-app' | 'angular' | 'vue' | 'svelte' | 'hugo' | 'docusaurus' | 'static' | 'node' | 'express' | 'nestjs' | 'fastify' | 'hono' | 'python' | 'php' | 'docker' | 'wordpress' | 'other', required: build framework of a starter; one-click apps report "docker", WordPress templates "wordpress"
  - `icon` object, required: a simple mark; no third-party logo files are served or hotlinked
    - `mark` string, required: one or two characters
    - `color` string, required: signature color (#rrggbb); rendered as a tinted tile
  - `resources` object, required: minimum the app needs to run well (all of its containers together)
    - `cpus` number, required
    - `memoryMb` integer, required
    - `diskGb` number, nullable, required
  - `creates` object[], required: what one click creates
    - `type` 'project' | 'repository' | 'app' | 'service' | 'database' | 'volume' | 'secret' | 'domain', required
    - `name` string, required
    - `detail` string, nullable, required
  - `postInstall` object, required
    - `adminPath` string, nullable, required: path of the first-login / admin page on the project URL
    - `adminSetup` 'none' | 'first-visit' | 'credentials' | 'default-credentials' | 'installer', required
    - `notes` string[], required: first-login instructions, in order
  - `docsUrl` string, nullable, required
  - `popular` boolean, required
  - `available` boolean, required: false: listed for discovery but cannot be deployed on this platform (see unavailableReason)
  - `unavailableReason` string, nullable, required
  - `repoUrl` string, nullable, required: repository templates only: the public Git repository that is deployed
  - `branch` string, nullable, required: repository templates only

## Other responses

- `400`: Invalid request (code invalid_request)
- `401`: Missing or invalid session/token (code unauthorized)
- `402`: The plan does not allow this template or another project (code limit_reached)
- `403`: Authenticated but not permitted (code forbidden)
- `404`: Not found or not visible to the caller (code not_found)
- `409`: Conflicting state (code conflict)
- `429`: Too many requests (code rate_limited); see Retry-After
- `501`: Templates or a feature they need are not configured on this server (code not_configured)
- `503`: The hosting engine or Git provider is unavailable (code provider_unavailable)

---

[API](https://skmtc.dev/hostingsurge/apis/hostingsurge-platform-api.md) · [All operations](https://skmtc.dev/hostingsurge/apis/hostingsurge-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hostingsurge/apis/hostingsurge-platform-api/revisions/4d08337cdff1?raw)
