---
title: "Get Bucket Template"
method: GET
path: "/v1/templates/buckets/{template_id}"
tags: ["Templates", "Bucket Templates"]
---

# Get Bucket Template

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

## Request

- Base URL: `https://api.mixpeek.com`
- URL: `https://api.mixpeek.com/v1/templates/buckets/{template_id}`
- Auth: HTTP bearer and API key in header `X-Namespace`

Get bucket template details.

## Path parameters

- `template_id` string, required: Template ID

## Response `200`

Successful Response

- BaseTemplateModel: Base template model with common fields for all template types. This model is stored in MongoDB and supports three template scopes: - System: Mixpeek defaults (all orgs) - Organization: All users in the org - User: Only the creator
  - `template_id` string, required: Unique template identifier (e.g., 'tmpl_semantic_search')
  - `template_type` 'namespace' | 'retriever' | 'cluster' | 'collection' | 'bucket' | 'taxonomy' | 'scaffold', required: Types of resources that can be templated.
  - `mode` 'scaffold' | 'config' | 'clone' | 'manifest': Mode of template instantiation. scaffold: Create from pre-built preset - Creates: namespace + bucket + collection + retriever - Endpoint: POST /templates/scaffolds/{id}/instantiate - All resources empty, ready for data config: Copy resource configuration only - Creates: empty resource with same settings - Endpoint: POST /templates/{resource}/{id}/instantiate - No data copied clone: Copy resource with all data - Creates: full copy including vectors/embeddings - Endpoint: POST /namespaces/{id}/clone - For a config-only namespace copy, export a manifest and apply it manifest: A whole pipeline as a Mixpeek manifest - Creates: every resource the manifest declares (connections, buckets, syncs, collections, retrievers, alerts, triggers) - Endpoint: POST /manifest/apply with configuration["manifest"] - For templates that need more than extractors and indexes
  - `scope` 'system' | 'organization' | 'user' | 'public', required: Scope of template availability. system: Mixpeek-provided, available to all orgs organization: Private to org members user: Private to creator only public: User-created, discoverable by all orgs (marketplace)
  - `internal_id` string, required: Organization internal ID. For system templates, use 'system'. For org templates, use the actual internal_id.
  - `name` string, required: Human-readable template name
  - `description` string, required: Detailed description of the template's purpose
  - `category` string, nullable: Optional category for organizing templates
  - `configuration` object, required: Template-specific configuration (varies by template_type)
  - `tags` string[]: Tags for categorizing and filtering templates
  - `is_active` boolean: Whether this template is available for use
  - `is_public` boolean: Whether this template is publicly discoverable without authentication
  - `use_cases` string[]: List of common use cases for this template
  - `requirements` string[]: List of requirements (e.g., 'Requires text embeddings')
  - `created_by` string, nullable: User ID who created this template (for org templates)
  - `source_resource_id` string, nullable: ID of the resource this template was created from (for org templates)
  - `sample_namespace_id` string, nullable: Reference to a sample/golden namespace for this scaffold (used for Studio quickstart cloning)
  - `example_queries` string[]: Runnable example queries for this template's sample data; the first renders on the card
  - `whats_inside` string, nullable: One-sentence description of the sample corpus (what you get, with counts)
  - `materialize_estimate` string, nullable: Honest time estimate for sample data to become searchable after instantiate
  - `created_at` string, date-time: Timestamp when template was created
  - `updated_at` string, date-time: Timestamp when template was last updated

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `422`: Unprocessable Entity
- `429`: Too Many Requests
- `500`: Internal Server Error
- `503`: Service Unavailable

## Changes

- **2026-10-09** `61a175e8eb9a`: 1 warning, 5 info
  - removed the optional property `detail` from the response with the `422` status
  - added the non-success response with the status `429`
  - added the non-success response with the status `503`
  - added the optional property `success` to the response with the `422` status
  - …2 more
- **2026-09-16** `06a23e5a9062`: 1 warning
  - added the new `manifest` enum value to the `mode` response property for the response status `200`
- **2026-08-09** `5d4c905106b4`: 1 info
  - the endpoint scheme security `BearerAuth AND NamespaceHeader` was added to the API
- **2026-07-26** `7cb051533311`: 3 info
  - added the optional property `example_queries` to the response with the `200` status
  - added the optional property `materialize_estimate` to the response with the `200` status
  - added the optional property `whats_inside` to the response with the `200` status

[Operation history](https://skmtc.dev/mixpeek/apis/mixpeek-api/changes/v1/templates/buckets/:template_id/get.md)

---

[API](https://skmtc.dev/mixpeek/apis/mixpeek-api.md) - [All operations](https://skmtc.dev/mixpeek/apis/mixpeek-api/llms.txt) - [OpenAPI document](https://skmtc.dev/mixpeek/apis/mixpeek-api/revisions/790bc16455f6?raw)
