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

# Save Warm Hook

> Persists and activates the supplied script as the warm hook for the environment without running a test. Use this when you want to save quickly without waiting for a sandbox to spin up.



## OpenAPI

````yaml /openapi.json post /v1/environments/{environmentId}/warm-hooks/save
openapi: 3.1.0
info:
  title: Replica API
  version: 2.0.0
  description: >-
    The Replica API allows you to programmatically manage cloud workspaces for
    AI agents. Use this API to manage environments (the org-scoped primitive
    workspaces are created from — including variables, files, skills, MCPs, warm
    hooks, start hooks, and warm pools), create and manage replicas, send
    messages, manage chats, stream events, read connected repositories and
    repository sets, and configure automations.
servers:
  - url: https://api.tryreplicas.com
    description: Production API
security:
  - apiKey: []
tags:
  - name: Environments
    description: >-
      Manage environments — the primitive that workspaces are created from.
      Variables, files, skills, MCPs, warm-hooks, and warm-pools are all scoped
      to an environment. Every organization has a singleton Global environment
      whose values apply to every workspace. Personal environments are scoped to
      the authenticated user and can be standalone or source-backed by a team
      environment.
  - name: Repository
    description: >-
      Read repositories and repository sets connected to your organization.
      Repositories are the underlying GitHub-connection layer; bind them to an
      environment to use them in workspaces.
  - name: Replica
    description: Manage replicas (workspaces) for AI agents
  - name: Preview
    description: Manage public preview URLs for workspace ports
  - name: Automation
    description: >-
      Create and manage automations that trigger replicas on a schedule or in
      response to events
paths:
  /v1/environments/{environmentId}/warm-hooks/save:
    post:
      tags:
        - Environments
      summary: Save Warm Hook
      description: >-
        Persists and activates the supplied script as the warm hook for the
        environment without running a test. Use this when you want to save
        quickly without waiting for a sandbox to spin up.
      operationId: saveEnvironmentWarmHook
      parameters:
        - name: environmentId
          in: path
          required: true
          description: Environment UUID, or the literal string `global`.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SaveWarmHookRequest'
      responses:
        '201':
          description: Warm hook saved and activated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SaveWarmHookResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    SaveWarmHookRequest:
      type: object
      properties:
        content:
          type: string
          description: Shell script to persist and activate
      required:
        - content
    SaveWarmHookResponse:
      type: object
      properties:
        warm_hook:
          $ref: '#/components/schemas/WarmHookRecord'
      required:
        - warm_hook
    WarmHookRecord:
      type: object
      description: >-
        A warm hook — the shell script that runs while pre-warming workspaces
        for an environment.
      properties:
        id:
          type: string
          format: uuid
        organization_id:
          type: string
          format: uuid
        environment_id:
          type: string
          format: uuid
        version:
          type: integer
          description: Monotonic version (newer scripts have higher versions)
        content:
          type: string
          description: Shell script content
        is_active:
          type: boolean
          description: Whether this version is the active one for the environment
        created_at:
          type: string
          format: date-time
      required:
        - id
        - organization_id
        - environment_id
        - version
        - content
        - is_active
        - created_at
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message
        details:
          type:
            - string
            - 'null'
          description: Additional error details
      required:
        - error
  responses:
    BadRequest:
      description: Bad request - Missing or invalid parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Unauthorized - Invalid or missing API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    InternalServerError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: >-
        API key authentication. Obtain your API key from the Replicas dashboard
        under Settings > API Keys.

````