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

# list templates

> starter templates. copy a template's `systemInstruction`, `greeting` and `ttsConfig` into `POST /v1/agents` (with `source: "template"` and `templateSlug`) to start from it.



## OpenAPI

````yaml /openapi.json get /v1/agents/templates
openapi: 3.1.0
info:
  title: silk api
  version: 1.0.0
  description: >-
    rumik ai's speech api. synthesize speech with the expressive `muga` model,
    the faster `mulberry` model or the multilingual `mulberry-1.6` model over
    http or a streaming websocket session, run conversational voice agents over
    webrtc, a realtime pcm socket or the phone, and manage everything the agents
    playground does — agents, voices, variables, tools, phone numbers, sip
    trunks and outbound calls — with the same api key.
  contact:
    name: rumik ai
    url: https://rumik.ai
servers:
  - url: https://silk-api.rumik.ai
    description: production
security:
  - bearerAuth: []
tags:
  - name: speech
    description: text-to-speech over HTTP and WebSocket.
  - name: voice agents
    description: start calls with a deployed agent from your own app.
  - name: agents
    description: build, configure, deploy and inspect your agents.
  - name: calls
    description: place outbound phone calls and read call history.
  - name: voices
    description: the voices, languages and styles an agent may use.
  - name: variables
    description: account-wide `{name}` prompt variables and their defaults.
  - name: tools
    description: HTTP tools agents call before or during a call.
  - name: phone numbers
    description: 'numbers rented through rumik: search, rent, connect, release.'
  - name: sip trunks
    description: bring your own numbers over SIP.
paths:
  /v1/agents/templates:
    get:
      tags:
        - agents
      summary: list templates
      description: >-
        starter templates. copy a template's `systemInstruction`, `greeting` and
        `ttsConfig` into `POST /v1/agents` (with `source: "template"` and
        `templateSlug`) to start from it.
      operationId: listAgentTemplates
      responses:
        '200':
          description: ok.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentTemplateList'
        '401':
          description: >-
            `unauthorized` — key missing, malformed, unknown, revoked or
            expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                unauthorized:
                  value:
                    error: Invalid API key
                    code: unauthorized
        '403':
          description: '`forbidden_scope` — the key was created without the `agent` scope.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                forbidden_scope:
                  value:
                    error: This API key lacks the 'agent' scope
                    code: forbidden_scope
        '429':
          description: >-
            `rate_limited` — the key's per-minute budget is spent. `Retry-After`
            says how long to wait; the body carries `limit` and `current`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                rate_limited:
                  value:
                    error: Rate limit exceeded
                    code: rate_limited
                    limit: 100
                    current: 101
          headers:
            Retry-After:
              description: seconds to wait before retrying (per-key rate limit only).
              schema:
                type: integer
components:
  schemas:
    AgentTemplateList:
      properties:
        items:
          items:
            $ref: '#/components/schemas/AgentTemplate'
          type: array
        count:
          type: integer
      type: object
      required:
        - items
        - count
      title: AgentTemplateList
    Error:
      type: object
      properties:
        error:
          type: string
          description: human-readable error message.
        code:
          type: string
          description: machine-readable error code.
    AgentTemplate:
      properties:
        id:
          type: string
          format: uuid
        slug:
          type: string
          description: pass as `templateSlug` when creating from it.
        name:
          type: string
        description:
          anyOf:
            - type: string
            - type: 'null'
        systemInstruction:
          type: string
        greeting:
          type: string
        ttsConfig:
          $ref: '#/components/schemas/AgentTtsConfig'
        sortOrder:
          type: integer
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
      type: object
      required:
        - id
        - slug
        - name
        - systemInstruction
        - greeting
        - ttsConfig
        - sortOrder
        - createdAt
        - updatedAt
      title: AgentTemplate
    AgentTtsConfig:
      properties:
        model:
          type: string
          description: >-
            `muga` (expressive, Hinglish-first), `mulberry` (named voices,
            styleable) or `spider` (speech-to-speech; no phone calls).
        voice:
          type: string
          description: >-
            mulberry only: one of the named voices in `GET /v1/voices` (e.g.
            `Emma`). defaults to the first.
        description:
          type: string
          description: >-
            mulberry only: a one-sentence voice style — pick one of the presets
            in `GET /v1/voices`, or write your own.
        f0_up_key:
          type: number
          description: 'mulberry only: pitch shift in semitones (-12..12).'
        temperature:
          type: number
          description: sampling temperature (0.1–1.5).
        top_p:
          type: number
          description: nucleus sampling (0–1).
        top_k:
          type: integer
          description: top-k sampling.
        repetition_penalty:
          type: number
          description: repetition penalty.
        max_new_tokens:
          type: integer
          description: cap on generated tokens per utterance.
      additionalProperties: false
      type: object
      title: AgentTtsConfig
      description: the voice an agent speaks with.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        your rumik api key, e.g. `rk_live_...`. create one in the rumik
        dashboard.

````