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

# Update load balancer L7 policy

> Updates only provided fields; omitted ones stay unchanged.



## OpenAPI

````yaml /api-reference/services_documented/cloud_api.yaml patch /cloud/v1/l7policies/{project_id}/{region_id}/{l7policy_id}
openapi: 3.1.0
info:
  title: Gcore OpenAPI – Cloud API
  description: >-
    This OpenAPI is an aggregated OpenAPI specification that unifies all Gcore
    products into a single file. It covers Cloud, CDN, DNS, WAAP, DDoS
    Protection, Object Storage, Streaming, and FastEdge services.
  version: '2026-05-07T20:33:46.548242+00:00'
servers:
  - url: https://api.gcore.com
security:
  - APIKey: []
tags:
  - name: Bare Metal
    x-displayName: Bare Metal
  - name: Container as a Service
    x-displayName: Container as a Service
  - name: Cost Reports
    x-displayName: Cost Reports
  - name: DDoS Protection
    x-displayName: DDoS Protection
  - name: Everywhere Inference
    x-displayName: Everywhere Inference
  - name: Everywhere Inference Apps
    x-displayName: Everywhere Inference Apps
  - name: File Shares
    x-displayName: File Shares
  - name: Floating IPs
    x-displayName: Floating IPs
  - name: Function as a Service
    x-displayName: Function as a Service
  - name: GPU Bare Metal
    x-displayName: GPU Bare Metal
  - name: GPU Virtual
    x-displayName: GPU Virtual
  - name: IP Ranges
    x-displayName: IP Ranges
  - name: Images
    x-displayName: Images
  - name: Instances
    x-displayName: Instances
  - name: Load Balancers
    x-displayName: Load Balancers
  - name: Logging
    x-displayName: Logging
  - name: Managed Kubernetes
    x-displayName: Managed Kubernetes
  - name: Managed PostgreSQL
    x-displayName: Managed PostgreSQL
  - name: Networks
    x-displayName: Networks
  - name: Placement Groups
    x-displayName: Placement Groups
  - name: Projects
    x-displayName: Projects
  - name: Quotas
    x-displayName: Quotas
  - name: Regions
    x-displayName: Regions
  - name: Registry
    x-displayName: Registry
  - name: Reservations
    x-displayName: Reservations
  - name: Reserved IPs
    x-displayName: Reserved IPs
  - name: Routers
    x-displayName: Routers
  - name: SSH Keys
    x-displayName: SSH Keys
  - name: Secrets
    x-displayName: Secrets
  - name: Security Groups
    x-displayName: Security Groups
  - name: Snapshot Schedules
    x-displayName: Snapshot Schedules
  - name: Snapshots
    x-displayName: Snapshots
  - name: Tasks
    x-displayName: Tasks
  - name: User Actions
    x-displayName: User Actions
  - name: User Role Assignments
    x-displayName: User Role Assignments
  - name: Volumes
    x-displayName: Volumes
paths:
  /cloud/v1/l7policies/{project_id}/{region_id}/{l7policy_id}:
    patch:
      tags:
        - Load Balancers
      summary: Update load balancer L7 policy
      description: Updates only provided fields; omitted ones stay unchanged.
      operationId: L7PolicyInstanceViewSet.patch
      parameters:
        - in: path
          name: project_id
          required: true
          description: Project ID
          schema:
            description: Project ID
            example: 1
            examples:
              - 1
            title: Project Id
            type: integer
        - in: path
          name: region_id
          required: true
          description: Region ID
          schema:
            description: Region ID
            example: 1
            examples:
              - 1
            title: Region Id
            type: integer
        - in: path
          name: l7policy_id
          required: true
          description: L7 policy ID
          schema:
            description: L7 policy ID
            example: 023f2e34-7806-443b-bfae-16c324569a3d
            examples:
              - 023f2e34-7806-443b-bfae-16c324569a3d
            title: L7Policy Id
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateL7PolicySerializer'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskIDsSerializer'
      x-codeSamples:
        - lang: Python
          source: |-
            import os
            from gcore import Gcore

            client = Gcore(
                api_key=os.environ.get("GCORE_API_KEY"),  # This is the default and can be omitted
            )
            task_id_list = client.cloud.load_balancers.l7_policies.update(
                l7policy_id="023f2e34-7806-443b-bfae-16c324569a3d",
                project_id=1,
                region_id=1,
                action="REDIRECT_TO_URL",
                redirect_url="https://www.example.com",
            )
            print(task_id_list.tasks)
        - lang: Go
          source: "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/G-Core/gcore-go\"\n\t\"github.com/G-Core/gcore-go/cloud\"\n\t\"github.com/G-Core/gcore-go/option\"\n)\n\nfunc main() {\n\tclient := gcore.NewClient(\n\t\toption.WithAPIKey(\"My API Key\"),\n\t)\n\ttaskIDList, err := client.Cloud.LoadBalancers.L7Policies.Update(\n\t\tcontext.TODO(),\n\t\t\"023f2e34-7806-443b-bfae-16c324569a3d\",\n\t\tcloud.LoadBalancerL7PolicyUpdateParams{\n\t\t\tProjectID: gcore.Int(1),\n\t\t\tRegionID:  gcore.Int(1),\n\t\t\tOfRedirectToURL: &cloud.LoadBalancerL7PolicyUpdateParamsBodyRedirectToURL{\n\t\t\t\tRedirectURL: \"https://www.example.com\",\n\t\t\t},\n\t\t},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", taskIDList.Tasks)\n}\n"
components:
  schemas:
    UpdateL7PolicySerializer:
      discriminator:
        mapping:
          REDIRECT_PREFIX:
            $ref: '#/components/schemas/UpdateL7PolicyRedirectPrefixSerializer'
          REDIRECT_TO_POOL:
            $ref: '#/components/schemas/UpdateL7PolicyRedirectToPoolSerializer'
          REDIRECT_TO_URL:
            $ref: '#/components/schemas/UpdateL7PolicyRedirectToUrlSerializer'
          REJECT:
            $ref: '#/components/schemas/UpdateL7PolicyRejectSerializer'
        propertyName: action
      oneOf:
        - $ref: '#/components/schemas/UpdateL7PolicyRedirectToUrlSerializer'
        - $ref: '#/components/schemas/UpdateL7PolicyRedirectPrefixSerializer'
        - $ref: '#/components/schemas/UpdateL7PolicyRedirectToPoolSerializer'
        - $ref: '#/components/schemas/UpdateL7PolicyRejectSerializer'
      title: UpdateL7PolicySerializer
    TaskIDsSerializer:
      properties:
        tasks:
          description: >-
            List of task IDs representing asynchronous operations. Use these IDs
            to monitor operation progress:

            - `GET /v1/tasks/{task_id}` - Check individual task status and
            details

            Poll task status until completion (`FINISHED`/`ERROR`) before
            proceeding with dependent operations.
          example:
            - d478ae29-dedc-4869-82f0-96104425f565
          examples:
            - - d478ae29-dedc-4869-82f0-96104425f565
          items:
            type: string
          title: Tasks
          type: array
      required:
        - tasks
      title: TaskIDsSerializer
      type: object
    UpdateL7PolicyRedirectPrefixSerializer:
      properties:
        action:
          const: REDIRECT_PREFIX
          description: Action
          example: REDIRECT_PREFIX
          examples:
            - REDIRECT_PREFIX
          title: Action
          type: string
        name:
          description: Human-readable name of the policy
          example: redirect-example.com
          examples:
            - redirect-example.com
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        position:
          description: The position of this policy on the listener
          example: 1
          examples:
            - 1
          exclusiveMinimum: 0
          title: Position
          type: integer
        redirect_http_code:
          default: 302
          description: >-
            Requests matching this policy will be redirected to the specified
            URL or Prefix URL with the HTTP response code. Valid options are
            301, 302, 303, 307, or 308. Default is 302.
          example: 301
          examples:
            - 301
            - 302
            - 303
            - 307
            - 308
          title: Redirect Http Code
          type: integer
        redirect_prefix:
          description: Requests matching this policy will be redirected to this Prefix URL.
          example: /api/v1/policies
          examples:
            - /api/v1/policies
          title: Redirect Prefix
          type: string
        tags:
          description: A list of simple strings assigned to the resource.
          example:
            - test_tag
          examples:
            - - test_tag
          items:
            type: string
          title: Tags
          type: array
      required:
        - action
        - redirect_prefix
      title: UpdateL7PolicyRedirectPrefixSerializer
      type: object
    UpdateL7PolicyRedirectToPoolSerializer:
      properties:
        action:
          const: REDIRECT_TO_POOL
          description: Action
          example: REDIRECT_TO_POOL
          examples:
            - REDIRECT_TO_POOL
          title: Action
          type: string
        name:
          description: Human-readable name of the policy
          example: redirect-example.com
          examples:
            - redirect-example.com
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        position:
          description: The position of this policy on the listener
          example: 1
          examples:
            - 1
          exclusiveMinimum: 0
          title: Position
          type: integer
        redirect_pool_id:
          description: >-
            Requests matching this policy will be redirected to the pool with
            this ID.
          example: 00000000-0000-4000-8000-000000000000
          examples:
            - 00000000-0000-4000-8000-000000000000
          title: Redirect Pool Id
          type: string
        tags:
          description: A list of simple strings assigned to the resource.
          example:
            - test_tag
          examples:
            - - test_tag
          items:
            type: string
          title: Tags
          type: array
      required:
        - action
        - redirect_pool_id
      title: UpdateL7PolicyRedirectToPoolSerializer
      type: object
    UpdateL7PolicyRedirectToUrlSerializer:
      properties:
        action:
          const: REDIRECT_TO_URL
          description: Action
          example: REDIRECT_TO_URL
          examples:
            - REDIRECT_TO_URL
          title: Action
          type: string
        name:
          description: Human-readable name of the policy
          example: redirect-example.com
          examples:
            - redirect-example.com
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        position:
          description: The position of this policy on the listener
          example: 1
          examples:
            - 1
          exclusiveMinimum: 0
          title: Position
          type: integer
        redirect_http_code:
          default: 302
          description: >-
            Requests matching this policy will be redirected to the specified
            URL or Prefix URL with the HTTP response code. Valid if action is
            `REDIRECT_TO_URL` or `REDIRECT_PREFIX`. Valid options are 301, 302,
            303, 307, or 308. Default is 302.
          example: 301
          examples:
            - 301
            - 302
            - 303
            - 307
            - 308
          title: Redirect Http Code
          type: integer
        redirect_url:
          description: >-
            Requests matching this policy will be redirected to this URL. Only
            valid if action is `REDIRECT_TO_URL`.
          example: https://www.example.com
          examples:
            - https://www.example.com
          title: Redirect Url
          type: string
        tags:
          description: A list of simple strings assigned to the resource.
          example:
            - test_tag
          examples:
            - - test_tag
          items:
            type: string
          title: Tags
          type: array
      required:
        - action
        - redirect_url
      title: UpdateL7PolicyRedirectToUrlSerializer
      type: object
    UpdateL7PolicyRejectSerializer:
      properties:
        action:
          const: REJECT
          description: Action
          example: REJECT
          examples:
            - REJECT
          title: Action
          type: string
        name:
          description: Human-readable name of the policy
          example: redirect-example.com
          examples:
            - redirect-example.com
          pattern: ^[a-zA-Z0-9][a-zA-Z 0-9._\-]{1,61}[a-zA-Z0-9._]$
          title: Name
          type: string
        position:
          description: The position of this policy on the listener
          example: 1
          examples:
            - 1
          exclusiveMinimum: 0
          title: Position
          type: integer
        tags:
          description: A list of simple strings assigned to the resource.
          example:
            - test_tag
          examples:
            - - test_tag
          items:
            type: string
          title: Tags
          type: array
      required:
        - action
      title: UpdateL7PolicyRejectSerializer
      type: object
  securitySchemes:
    APIKey:
      description: >-
        API key for authentication. Make sure to include the word `apikey`,
        followed by a single space and then your token.

        Example: `apikey 1234$abcdef`
      type: apiKey
      in: header
      name: Authorization

````