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

# Recreate profile

> Recreate profile with another profile template (for other cases use detail API)



## OpenAPI

````yaml /api-reference/services_documented/ddos_protection_api.yaml patch /security/iaas/v2/profiles/{id}/recreate
openapi: 3.1.0
info:
  title: Gcore OpenAPI – DDoS Protection 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-15T06:37:28.230198+00:00'
servers:
  - url: https://api.gcore.com
security:
  - APIKey: []
tags:
  - name: Event Logs
    x-displayName: Event Logs
  - name: BGP announces
    x-displayName: BGP announces
  - name: Protected Networks
    x-displayName: Protected Networks
  - name: Protection Profiles
    x-displayName: Protection Profiles
  - name: Protection Templates
    x-displayName: Protection Templates
  - name: Security Templates
    x-displayName: Security Templates
  - name: Profiles
    x-displayName: Profiles
paths:
  /security/iaas/v2/profiles/{id}/recreate:
    patch:
      tags:
        - Profiles
      summary: Recreate profile
      description: >-
        Recreate profile with another profile template (for other cases use
        detail API)
      operationId: v2_profiles_recreate_partial_update
      parameters:
        - in: path
          name: id
          schema:
            type: integer
          required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedClientUpdateProfileTemplate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedClientUpdateProfileTemplate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedClientUpdateProfileTemplate'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientProfileReadV2'
          description: ''
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Profile not found
      deprecated: true
components:
  schemas:
    PatchedClientUpdateProfileTemplate:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        profile_template:
          type: integer
          example: 1
          examples:
            - 1
            - 2
        ip_address:
          type: string
          maxLength: 50
          description: Required for Universal template only. Optional for all others.
        fields:
          type: array
          items:
            $ref: '#/components/schemas/ClientProfileField'
          writeOnly: true
        site:
          type: string
          description: Region where the protection profiles will be deployed
          example: ED
          examples:
            - ED
            - DC3
    ClientProfileReadV2:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        profile_template:
          $ref: '#/components/schemas/ClientProfileTemplate'
        ip_address:
          type: string
          example: 10.32.5.12
          examples:
            - 10.32.5.12
            - 195.23.43.64
          maxLength: 50
        fields:
          type: array
          items:
            $ref: '#/components/schemas/ClientProfileField'
          readOnly: true
        site:
          type: string
          description: Region where the protection profiles will be deployed
          example: ED
          examples:
            - ED
            - DC3
        options:
          allOf:
            - $ref: '#/components/schemas/ProfileV1Options'
          readOnly: true
        protocols:
          type: array
          items:
            type: object
            additionalProperties: {}
          readOnly: true
        status:
          type: object
          additionalProperties: {}
          readOnly: true
        plan:
          type: string
          readOnly: true
      required:
        - fields
        - id
        - options
        - plan
        - profile_template
        - protocols
        - site
        - status
    ClientProfileField:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          readOnly: true
        description:
          type: string
          readOnly: true
        field_type:
          type: string
          readOnly: true
        required:
          type: boolean
          readOnly: true
        default:
          type: string
          readOnly: true
        field_value:
          anyOf:
            - type: string
            - type: number
            - type: integer
            - type: boolean
            - type: object
            - type: array
          additionalProperties: {}
          nullable: true
          examples:
            - - 12
              - 54
              - 43
            - key: value
            - value
        base_field:
          type: integer
          example: 1
          examples:
            - 1
            - 2
        validation_schema:
          type: object
          additionalProperties: {}
          readOnly: true
      required:
        - base_field
        - default
        - description
        - field_type
        - id
        - name
        - required
        - validation_schema
    ClientProfileTemplate:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 100
        description:
          type: string
        fields:
          type: array
          items:
            $ref: '#/components/schemas/ClientProfileTemplateField'
          readOnly: true
        base_template:
          type: integer
          nullable: true
        version:
          type: string
          format: uuid
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        template_sifter:
          type: string
          nullable: true
      required:
        - created
        - fields
        - id
        - name
        - version
    ProfileV1Options:
      type: object
      properties:
        bgp:
          type: boolean
        active:
          type: boolean
        price:
          type: string
          format: decimal
          pattern: ^-?\d{0,6}(?:\.\d{0,2})?$
          readOnly: true
      required:
        - active
        - bgp
        - price
    ClientProfileTemplateField:
      type: object
      properties:
        id:
          type: integer
          readOnly: true
        name:
          type: string
          maxLength: 30
        description:
          type: string
          maxLength: 255
        field_type:
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/FieldTypeEnum'
            - $ref: '#/components/schemas/NullEnum'
        required:
          type: boolean
        default:
          type: string
          nullable: true
          maxLength: 100
        validation_schema:
          type: object
          additionalProperties: {}
      required:
        - id
        - name
    FieldTypeEnum:
      enum:
        - int
        - bool
        - str
      type: string
      description: |-
        - `int` - Int
        - `bool` - Bool
        - `str` - Str
    NullEnum:
      enum:
        - null
  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

````