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

# Update a deploy policy

> Change one deploy policy, named by the id list_deploy_policies reports. Only the fields you send change. Sending service renames the service the policy gates, which is what the page's own form does. The freeze is set and lifted with set_deploy_freeze and clear_deploy_freeze, and the audited override is not available over MCP.



## OpenAPI

````yaml /api-reference/openapi.json put /deploy_policies/{id}
openapi: 3.1.0
info:
  description: >-
    A resource-shaped endpoint onto the same tool surface the MCP server
    (/api/mcp) reaches. Every gate, refusal and audit row a caller sees here is
    the exact one the MCP endpoint answers for the same tool. Authenticated with
    an API key holding the api:admin scope, or the read-only api:config_read
    scope for GET alone.
  title: SRE Agent configuration API
  version: 1.0.0
servers:
  - url: https://sreagent.app/api/v1/config
security:
  - apiKey: []
tags:
  - name: ai_providers
  - name: ai_settings
  - name: alert_mutes
  - name: alert_routes
  - name: aws_external_id
  - name: certificate_monitors
  - name: change_notifications
  - name: compliance_periods
  - name: connectors
  - name: data_sources
  - name: deploy_policies
  - name: export
  - name: github_settings
  - name: image_targets
  - name: notification_settings
  - name: organization_settings
  - name: outbound_configs
  - name: outbound_rules
  - name: overseer_settings
  - name: prompt_templates
  - name: repo_settings
  - name: service_bindings
  - name: slack
  - name: slis
  - name: slos
  - name: status_page_components
  - name: status_page_incidents
  - name: status_page_settings
  - name: synthetic_checks
  - name: team_members
  - name: teams
  - name: ticket_import_rules
  - name: ticket_integrations
paths:
  /deploy_policies/{id}:
    put:
      tags:
        - deploy_policies
      summary: Update a deploy policy
      description: >-
        Change one deploy policy, named by the id list_deploy_policies reports.
        Only the fields you send change. Sending service renames the service the
        policy gates, which is what the page's own form does. The freeze is set
        and lifted with set_deploy_freeze and clear_deploy_freeze, and the
        audited override is not available over MCP.
      operationId: update_deploy_policy
      parameters:
        - description: The resource's id.
          in: path
          name: id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                burn_rate_block_enabled:
                  description: >-
                    Hold a deploy while an SLO is burning its budget fast. On by
                    default. Switched off, the gate still reports what it would
                    have held for, as an advisory.
                  type: boolean
                enabled:
                  description: >-
                    Whether the gate reads this policy at all. It resolves only
                    enabled policies, so a disabled one gates nothing and the
                    service falls back to the defaults.
                  type: boolean
                error_budget_threshold:
                  description: >-
                    Hold a deploy while less than this percent of an SLO's error
                    budget is left, 0 to 100. Defaults to 10, and 0 switches the
                    budget block off.
                  type: number
                incident_block_enabled:
                  description: >-
                    Hold a deploy while a critical incident affecting the
                    service is open. On by default, and switched off it becomes
                    an advisory in the same way.
                  type: boolean
                service:
                  description: >-
                    The service whose deploys this policy gates, spelled as the
                    deploy events and the gate API name it. One policy per
                    service in an organization.
                  type: string
              required: []
              type: object
        required: false
      responses:
        '200':
          description: Updated.
        '201':
          description: Created (an upsert resource's PUT on a missing row).
        '404':
          description: No such resource.
        '412':
          description: If-Match named a version of the row that is no longer current.
        '422':
          description: The tool refused the request's shape or content.
        default:
          description: The request failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Error:
      type: object
      description: The body of every failed request.
      properties:
        error:
          type: string
          description: >-
            A short machine-readable code such as forbidden, conflict or
            read_only_key.
        message:
          type: string
          description: A sentence that says what to change.
      required:
        - error
        - message
      additionalProperties: true
  securitySchemes:
    apiKey:
      description: >-
        An sre_ak_* API key holding the api:admin scope (or api:config_read,
        which every write refuses with read_only_key).
      scheme: bearer
      type: http

````

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