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

# Get profile templates

> Get list of profile templates. Profile template is used as a template to create profile. Client receives only common and created for him profile templates.



## OpenAPI

````yaml /api-reference/services_documented/ddos_protection_api.yaml get /security/iaas/profile-templates
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-07T20:33:46.548242+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/profile-templates:
    get:
      tags:
        - Security Templates
      summary: Get profile templates
      description: >-
        Get list of profile templates. Profile template is used as a template to
        create profile. Client receives only common and created for him profile
        templates.
      operationId: profile_templates_list
      responses:
        '200':
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ClientProfileTemplate'
          description: ''
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      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
            )
            client_profile_templates = client.security.profile_templates.list()
            print(client_profile_templates)
        - 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/option\"\n)\n\nfunc main() {\n\tclient := gcore.NewClient(\n\t\toption.WithAPIKey(\"My API Key\"),\n\t)\n\tclientProfileTemplates, err := client.Security.ProfileTemplates.List(context.TODO())\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", clientProfileTemplates)\n}\n"
components:
  schemas:
    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
    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

````