---
title: "Update profile"
method: PUT
path: "/security/iaas/v2/profiles/{id}"
tags: ["Profiles"]
---

# Update profile

`PUT /security/iaas/v2/profiles/{id}`

Update profile. Protection policies are updated at the same time as profile updated

## Path parameters

- `id` integer, required

## Request body

- ClientUpdateProfileTemplate
  - `id` integer, required
  - `profile_template` integer, required
  - `ip_address` string — Required for Universal template only. Optional for all others.
  - `fields` ClientProfileField[], required
    - `id` integer, required
    - `name` string, required
    - `description` string, required
    - `field_type` string, required
    - `required` boolean, required
    - `default` string, required
    - `field_value` unknown
    - `base_field` integer, required
    - `validation_schema` object, required
  - `site` string — Region where the protection profiles will be deployed

## Response `200`

- ClientProfileReadV2
  - `id` integer, required
  - `profile_template` ClientProfileTemplate, required
    - `id` integer, required
    - `name` string, required
    - `description` string
    - `fields` ClientProfileTemplateField[], required
      - `id` integer, required
      - `name` string, required
      - `description` string
      - `field_type` union
        - 'int' | 'bool' | 'str' — - `int` - Int - `bool` - Bool - `str` - Str
        - unknown
      - `required` boolean
      - `default` string, nullable
      - `validation_schema` object
    - `base_template` integer, nullable
    - `version` string, uuid, required
    - `created` string, date-time, required
    - `template_sifter` string, nullable
  - `ip_address` string
  - `fields` ClientProfileField[], required
    - `id` integer, required
    - `name` string, required
    - `description` string, required
    - `field_type` string, required
    - `required` boolean, required
    - `default` string, required
    - `field_value` unknown
    - `base_field` integer, required
    - `validation_schema` object, required
  - `site` string, required — Region where the protection profiles will be deployed
  - `options` ProfileV1Options, required
    - `bgp` boolean, required
    - `active` boolean, required
    - `price` string, decimal, required
  - `protocols` object[], required
  - `status` object, required
  - `plan` string, required

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Profile not found

---

[API](https://skmtc.dev/g-core/apis/gcore-openapi.md) · [All operations](https://skmtc.dev/g-core/apis/gcore-openapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/g-core/gcore-openapi/revisions/09e652815095/schema)
