> ## 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.

# Get Hook Logs

> Returns the warm hook and start hook execution logs for a replica.



## OpenAPI

````yaml /openapi.json get /v1/replica/{id}/hooks
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: Terminal
    description: Manage interactive terminal sessions in active workspaces
  - name: Preview
    description: Manage public preview URLs for workspace ports
  - name: Profile
    description: Read and update the authenticated user's profile
  - name: Credentials
    description: >-
      Manage coding-agent credentials for an organization or the authenticated
      user
  - name: Google Search Console
    description: >-
      Read Search Console properties, performance, sitemaps, and URL inspection
      results through a connected Google account
  - name: Slack
    description: Route Slack threads to Replicas workspaces
  - name: Automation
    description: >-
      Create and manage automations that trigger replicas on a schedule or in
      response to events
  - name: Downloads
    description: Download Replicas applications
  - name: Analytics
    description: >-
      Read aggregated activity and usage metrics for your organization: compute
      minutes, workspaces created by source, and pull request throughput over a
      time range.
  - name: Presence
    description: >-
      Read and report ephemeral member presence: who is online, where they are
      (environment or workspace), and whether they are typing. Presence is
      backed by short-lived keys rather than the database and broadcast to other
      members over the events stream.
paths:
  /v1/replica/{id}/hooks:
    get:
      tags:
        - Replica
      summary: Get Hook Logs
      description: Returns the warm hook and start hook execution logs for a replica.
      operationId: getReplicaHooks
      parameters:
        - name: id
          in: path
          description: The unique identifier of the replica
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HooksResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '502':
          $ref: '#/components/responses/BadGateway'
components:
  schemas:
    HooksResponse:
      type: object
      description: Hook execution logs for a replica
      properties:
        warm_hooks:
          type: object
          properties:
            logs:
              type: array
              items:
                $ref: '#/components/schemas/WarmHookLogEntry'
          required:
            - logs
        start_hooks:
          type: object
          properties:
            logs:
              type: array
              items:
                $ref: '#/components/schemas/StartHookLogEntry'
          required:
            - logs
      required:
        - warm_hooks
        - start_hooks
    WarmHookLogEntry:
      type: object
      description: >-
        A warm hook execution log entry. Note: fields use camelCase as they are
        passed through from the engine.
      properties:
        hookType:
          type: string
          description: Type of hook
          enum:
            - global
            - repository
        hookName:
          type: string
          description: Name of the hook
        hookScript:
          type: string
          description: Script that was executed
        output:
          type: string
          description: >-
            Hook execution output. When `outputTruncated` is true, this is a
            preview of up to ~100,000 characters of the full stored log; the
            complete log can be retrieved via the dashboard full-log endpoint.
        outputTruncated:
          type: boolean
          description: Whether `output` has been truncated to a preview.
        outputTotalChars:
          type: integer
          description: >-
            Total character length of the full stored log (regardless of whether
            `output` is truncated).
        exitCode:
          type: integer
          description: Exit code of the hook
        timedOut:
          type: boolean
          description: Whether the hook timed out
        executedAt:
          type: string
          format: date-time
          description: When the hook was executed
      required:
        - hookType
        - hookName
        - hookScript
        - output
        - outputTruncated
        - outputTotalChars
        - exitCode
        - timedOut
        - executedAt
    StartHookLogEntry:
      type: object
      description: >-
        A start hook execution log entry. Note: fields use camelCase as they are
        passed through from the engine.
      properties:
        hookType:
          type: string
          description: >-
            Type of start hook. `environment` is the workspace-level start hook
            configured on the environment; `repository` is a per-repo start hook
            from replicas.json/yaml.
          enum:
            - environment
            - repository
        hookName:
          type: string
          description: >-
            Identifier for the hook. For `repository` hooks this is the
            repository name; for the `environment` hook it is the literal string
            `environment`.
        repoName:
          type: string
          description: >-
            Deprecated: use `hookName` instead. Equals `hookName` for repository
            hooks and the literal `environment` for the environment hook.
        hookCommands:
          type: array
          items:
            type: string
          description: Commands that were executed
        output:
          type: string
          description: >-
            Hook execution output. When `outputTruncated` is true, this is a
            preview of up to ~100,000 characters of the full stored log; the
            complete log can be retrieved via the dashboard full-log endpoint.
        outputTruncated:
          type: boolean
          description: Whether `output` has been truncated to a preview.
        outputTotalChars:
          type: integer
          description: >-
            Total character length of the full stored log (regardless of whether
            `output` is truncated).
        exitCode:
          type: integer
          description: Exit code of the hook
        timedOut:
          type: boolean
          description: Whether the hook timed out
        executedAt:
          type: string
          format: date-time
          description: When the hook was executed
      required:
        - hookType
        - hookName
        - repoName
        - hookCommands
        - output
        - outputTruncated
        - outputTotalChars
        - exitCode
        - timedOut
        - executedAt
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message
        details:
          type:
            - string
            - 'null'
          description: Additional error details
      required:
        - error
  responses:
    Unauthorized:
      description: Unauthorized - Invalid or missing API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    InternalServerError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadGateway:
      description: >-
        Bad gateway - The workspace is unreachable or returned an invalid
        response
      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 Organization → Settings → API Keys.

````