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

# Resume monitor

> Sets the monitor back to ACTIVE. Allowed from any status; the next scan sets CAPPED or NO_CREDITS again if it still applies. Resuming an active monitor returns it unchanged. See [Monitors](https://docs.galtea.ai/concepts/product/monitor).



## OpenAPI

````yaml https://api.galtea.ai/openapi.json post /monitors/{id}/resume
openapi: 3.0.0
info:
  version: 1.0.0
  title: Product Management Service API
  description: API documentation for Product Management Service
  contact:
    name: Galtea AI
servers:
  - url: https://api.galtea.ai
security:
  - bearerAuth: []
tags: []
externalDocs:
  description: Galtea Platform Documentation
  url: https://docs.galtea.ai
paths:
  /monitors/{id}/resume:
    post:
      tags:
        - monitors
      summary: Resume monitor
      description: >-
        Sets the monitor back to ACTIVE. Allowed from any status; the next scan
        sets CAPPED or NO_CREDITS again if it still applies. Resuming an active
        monitor returns it unchanged. See
        [Monitors](https://docs.galtea.ai/concepts/product/monitor).
      operationId: resumeMonitor
      parameters:
        - schema:
            type: string
            description: Monitor ID
            example: monitor_123
          required: true
          description: Monitor ID
          name: id
          in: path
      responses:
        '200':
          description: >-
            Monitor resumed successfully. The body holds only the monitor id
            when the read after the write fails; read the monitor by that id.
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/Monitor'
                  - $ref: '#/components/schemas/MonitorId'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearerAuth: []
components:
  schemas:
    Monitor:
      type: object
      properties:
        id:
          type: string
          example: monitor_123
        productId:
          type: string
          example: prod_123
        versionId:
          type: string
          nullable: true
          description: >-
            Optional version to narrow the monitor to. When null the monitor
            watches the whole product.
          example: version_123
        userId:
          type: string
          nullable: true
          example: user_123
        name:
          type: string
          example: Production quality watch
        metricGroupIds:
          type: array
          items:
            type: string
          description: >-
            The metric families (Metric.metricGroupId) picked directly on the
            monitor. The list may be empty when specificationIds is set. The
            families the monitor scores are in scoredMetricGroupIds. The monitor
            binds the family, not a specific revision, so revising a metric is
            picked up automatically without editing the monitor.
          example:
            - metricGroup_123
        specificationIds:
          type: array
          items:
            type: string
          description: >-
            The Specifications (Specification.id) bound to the monitor. The
            monitor also scores the metrics each one links, so a metric added to
            or removed from a Specification takes effect on the next scan. Only
            Policy and Capability Specifications can be bound.
          example:
            - specification_123
        scoredMetricGroupIds:
          type: array
          items:
            type: string
          description: >-
            Read-only. The metric families the monitor scores: metricGroupIds
            plus the families of its bound Specifications that can score
            production sessions.
          example:
            - metricGroup_123
        specificationIdsByMetricGroupId:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: >-
            Read-only. For each family a bound Specification brings, the ids of
            the bound Specifications that bring it.
          example:
            metricGroup_123:
              - specification_123
        samplingPercentage:
          type: number
          default: 10
          minimum: 0
          exclusiveMinimum: true
          maximum: 100
          description: >-
            Percentage of production sessions to evaluate (greater than 0, at
            most 100).
          example: 10
        monthlyCreditCap:
          type: integer
          nullable: true
          minimum: 1
          description: >-
            Optional monthly credit ceiling for this monitor. When set it must
            be a positive integer; it may exceed the organization monthly
            allocation (spend is clamped to the available balance). Null means
            uncapped.
          example: 500
        filterQuery:
          type: string
          nullable: true
          maxLength: 500
          description: >-
            Optional content gate. Comma-separated terms; a session matches when
            at least one turn whose chosen target (filterTarget) contains ANY
            term (case-insensitive). Only matching sessions are sampled and
            evaluated; other sessions are skipped, spending no credits. Max 500
            chars. Must be set together with filterTarget. Null means no content
            gate: every session that meets messageConditions is sampled.
          example: refund, cancel, chargeback
        filterTarget:
          type: string
          nullable: true
          enum:
            - INPUT
            - OUTPUT
            - EITHER
            - null
          description: >-
            Which side of a turn filterQuery is matched against: INPUT (the user
            turn), OUTPUT (the agent turn), or EITHER. Must be set together with
            filterQuery.
          example: EITHER
        excludeQuery:
          type: string
          nullable: true
          maxLength: 500
          description: >-
            Optional exclude gate. Comma-separated terms; a session is dropped
            when at least one turn whose chosen target (excludeTarget) contains
            ANY term (case-insensitive). Applied on top of filterQuery: a
            session passes the content gate only when it passes filterQuery (if
            set) AND is not hit by excludeQuery. Max 500 chars. Must be set
            together with excludeTarget. Null means exclude nothing.
          example: test, internal
        excludeTarget:
          type: string
          nullable: true
          enum:
            - INPUT
            - OUTPUT
            - EITHER
            - null
          description: >-
            Which side of a turn excludeQuery is matched against: INPUT (the
            user turn), OUTPUT (the agent turn), or EITHER. Must be set together
            with excludeQuery.
          example: EITHER
        messageConditions:
          type: array
          items:
            $ref: '#/components/schemas/MonitorMessageCondition'
          maxItems: 10
          description: >-
            Conditions on the number of messages in a session, joined by AND:
            the monitor scores a session only when every condition holds.
            Sessions that fail are skipped and spend no credits. An empty list
            turns the filter off.
          example:
            - count: messages
              operator: gt
              value: 1
        status:
          type: string
          enum:
            - ACTIVE
            - PAUSED
            - CAPPED
            - NO_CREDITS
            - FAILING
          default: ACTIVE
          description: >-
            Users may set ACTIVE or PAUSED; CAPPED and NO_CREDITS are system-set
            by the scanner, FAILING is reserved and never set yet, and all three
            are rejected on user writes.
          example: ACTIVE
        families:
          type: array
          items:
            $ref: '#/components/schemas/MonitorFamily'
          description: >-
            Read-only. Every family in scoredMetricGroupIds with its state, so a
            family that no longer scores stays visible and can be removed.
        createdAt:
          type: string
          format: date-time
        deletedAt:
          type: string
          format: date-time
          nullable: true
      required:
        - id
        - productId
        - versionId
        - userId
        - name
        - metricGroupIds
        - specificationIds
        - scoredMetricGroupIds
        - specificationIdsByMetricGroupId
        - samplingPercentage
        - monthlyCreditCap
        - filterQuery
        - filterTarget
        - excludeQuery
        - excludeTarget
        - messageConditions
        - status
        - families
        - createdAt
        - deletedAt
    MonitorId:
      type: object
      properties:
        id:
          type: string
          example: monitor_123
      required:
        - id
    Error:
      type: object
      properties:
        error:
          type: string
          example: Error type
        message:
          type: string
          example: Error message description
    MonitorMessageCondition:
      type: object
      properties:
        count:
          type: string
          enum:
            - messages
            - user_messages
          description: >-
            `messages` counts each non-empty turn input and each non-empty turn
            output; `user_messages` counts non-empty turn inputs only. An input
            of `{}`, `{"user_message": null}` or `{"user_message": ""}` and an
            output of `{}`, `{"assistant_message": null}` or
            `{"assistant_message": ""}` count as empty. A blank `user_message`
            or `assistant_message` beside another key counts.
          example: messages
        operator:
          type: string
          enum:
            - lt
            - lte
            - eq
            - gte
            - gt
          description: lt, lte, eq, gte, gt.
          example: gt
        value:
          type: integer
          minimum: 0
          maximum: 200
          example: 1
      required:
        - count
        - operator
        - value
    MonitorFamily:
      type: object
      properties:
        metricGroupId:
          type: string
          example: metricGroup_123
        name:
          type: string
          description: >-
            The name of the family's scored revision. For a DELETED family, the
            name of its newest revision, skipping an optimization attempt nobody
            applied while another revision is left, or the metricGroupId when no
            revision is left.
          example: Answer relevancy
        state:
          type: string
          enum:
            - ACTIVE
            - RETIRING
            - DISABLED
            - DELETED
          description: >-
            ACTIVE: its scored revision is active, so it scores (a self-hosted
            one, or a CLASSIFIER one while classifier metrics are off, still
            gets a SKIPPED evaluation on each session). RETIRING: still scores,
            but its metric or evaluator model is planned for retirement.
            DISABLED: scores nothing, because its metric or evaluator model is
            retired, or the gateway does not serve its evaluator model right
            now. DELETED: scores nothing, its scored revision was deleted.
          example: ACTIVE
        metricId:
          type: string
          nullable: true
          description: The revision the monitor scores. Null for a DELETED family.
          example: metric_123
      required:
        - metricGroupId
        - name
        - state
        - metricId
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        API key authorization. Pass your API key in the Authorization header as
        a Bearer token. Both new (`gsk_*`) and legacy (`gsk-`) API keys are
        accepted, e.g. `Authorization: Bearer gsk_...` or `Authorization: Bearer
        gsk-...`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.