> ## Documentation Index
> Fetch the complete documentation index at: https://qovery-docs-karpenter-stable-toleration-and-metrics-profiles.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# List platform templates

> Returns the published platform templates available to the organization. Each template contains its layers, components, and the configuration fields that the Console can render. When clusterMode and cloudProvider are supplied together, component field constraints are narrowed to the effective choices for that cluster context.



## OpenAPI

````yaml /api-reference/openapi.yaml get /organization/{organizationId}/platformTemplate
openapi: 3.0.0
info:
  version: 1.0.4
  title: Qovery API
  description: >
    - Qovery is the fastest way to deploy your full-stack apps on any Cloud
    provider.

    - ℹ️ The API is stable and still in development.
  contact:
    name: Qovery Product Team
    url: https://www.qovery.com
    email: support+api+documentation@qovery.com
  x-logo:
    url: https://console.qovery.com/assets/logos/logo-white.svg
    altText: Qovery
servers:
  - url: https://api.qovery.com
security:
  - bearerAuth: []
  - ApiKeyAuth: []
tags:
  - name: Account
  - name: Account Info
  - name: IPs
  - name: Alert Receivers
  - name: Alert Rules
  - name: Admin
  - name: ArgoCD
  - name: Agentic Workflows
  - name: Application
  - name: Application Actions
  - name: Application Configuration
  - name: Application Database
  - name: Application Deployment Restriction
  - name: Application Deployment History
  - name: Application Environment Variable
  - name: Application Logs
  - name: Application Main Calls
  - name: Application Secret
  - name: Application Annotations Group
  - name: Applications
  - name: AutoscalingPolicy
  - name: Container
  - name: Container Actions
  - name: Container Configuration
  - name: Container Database
  - name: Container Deployment History
  - name: Container Environment Variable
  - name: Container Logs
  - name: Container Main Calls
  - name: Container Registry
  - name: Container Secret
  - name: Container Annotations Group
  - name: Containers
  - name: Deployment Stage Main Calls
  - name: Job
  - name: Job Actions
  - name: Job Configuration
  - name: Job Database
  - name: Job Deployment Restriction
  - name: Job Deployment History
  - name: Job Environment Variable
  - name: Job Logs
  - name: Job Main Calls
  - name: Job Registry
  - name: Job Secret
  - name: Job Annotations Group
  - name: Jobs
  - name: KedaTriggerAuthentication
  - name: Helm
  - name: Helm Actions
  - name: Helm Configuration
  - name: Helm Database
  - name: Helm Deployment Restriction
  - name: Helm Deployment History
  - name: Helm Logs
  - name: Helm Main Calls
  - name: Helm Repository
  - name: Helms
  - name: Backups
  - name: Billing
  - name: Blueprint Catalog
  - name: Cloud Provider
  - name: Cloud Provider Credentials
  - name: Clusters
  - name: Cluster Deployment History
  - name: Cluster Operator
  - name: Platform Configuration
  - name: Custom Domain
  - name: Container Custom Domain
  - name: LLM Providers
  - name: MCP Servers
  - name: Database
  - name: Database Actions
  - name: Database Application
  - name: Database Container
  - name: Database Deployment History
  - name: Database Main Calls
  - name: Database Annotations Group
  - name: Databases
  - name: Environment
  - name: Environment Actions
  - name: Environment Deployment History
  - name: Environment Deployment Rule
  - name: Environment Logs
  - name: Environment Main Calls
  - name: Environment Secret
  - name: Environment Variable
  - name: Environments
  - name: Git
  - name: Github App
  - name: Git repositories
  - name: Members
  - name: Organization
  - name: Organization Account Git Repositories
  - name: Organization Cluster Lock
  - name: Organization Main Calls
  - name: Organization Custom Role
  - name: Organization Event
  - name: Organization Api Token
  - name: Organization Policy Api Token
  - name: Organization Webhook
  - name: Organization Annotations Group
  - name: Organization Labels Group
  - name: Organization Enterprise Connection
  - name: Project
  - name: Project Deployment Rule
  - name: Project Environment Variable
  - name: Project Main Calls
  - name: Project Secret
  - name: Projects
  - name: Referral & Rewards
  - name: Secret Manager Access
  - name: Terraforms
  - name: Terraform Main Calls
  - name: Terraform Resources
  - name: Terraform Deployment History
  - name: Terraform Deployment Restriction
  - name: Container Registries
  - name: Helm Repositories
  - name: User Sign Up
  - name: Variable Main Calls
  - name: Helm Custom Domain
  - name: Lifecycle Template Main Calls
  - name: Blueprint Main Calls
paths:
  /organization/{organizationId}/platformTemplate:
    get:
      tags:
        - Platform Configuration
      summary: List platform templates
      description: >-
        Returns the published platform templates available to the organization.
        Each template contains its layers, components, and the configuration
        fields that the Console can render. When clusterMode and cloudProvider
        are supplied together, component field constraints are narrowed to the
        effective choices for that cluster context.
      operationId: listPlatformTemplates
      parameters:
        - $ref: '#/components/parameters/organizationId'
        - name: clusterMode
          in: query
          required: false
          description: >-
            Cluster management mode. Must be supplied together with
            cloudProvider.
          schema:
            $ref: '#/components/schemas/PlatformClusterMode'
        - name: cloudProvider
          in: query
          required: false
          description: Cluster cloud provider. Must be supplied together with clusterMode.
          schema:
            $ref: '#/components/schemas/PlatformCloudVendor'
      responses:
        '200':
          description: Published platform template catalog
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PlatformTemplateCatalogResponse'
        '400':
          description: clusterMode and cloudProvider must be supplied together
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '500':
          description: The platform template catalog could not be loaded
        '503':
          description: A component configuration model is temporarily unavailable
components:
  parameters:
    organizationId:
      name: organizationId
      in: path
      description: Organization ID
      required: true
      schema:
        type: string
        format: uuid
  schemas:
    PlatformClusterMode:
      type: string
      enum:
        - QOVERY_MANAGED
        - CUSTOMER_MANAGED
    PlatformCloudVendor:
      type: string
      enum:
        - AWS
        - SCW
        - GCP
        - DO
        - AZURE
        - OVH
        - CIVO
        - HETZNER
        - ORACLE
        - IBM
        - UNKNOWN
    PlatformTemplateCatalogResponse:
      type: object
      required:
        - results
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/PlatformTemplateSummaryResponse'
    PlatformTemplateSummaryResponse:
      type: object
      required:
        - key
        - version
        - status
        - layers
      properties:
        key:
          type: string
        version:
          type: string
        status:
          $ref: '#/components/schemas/PlatformTemplateReleaseStatus'
        description:
          type: string
          nullable: true
        layers:
          type: array
          items:
            $ref: '#/components/schemas/PlatformTemplateLayerResponse'
    PlatformTemplateReleaseStatus:
      type: string
      enum:
        - DRAFT
        - PUBLISHED
        - DEPRECATED
    PlatformTemplateLayerResponse:
      type: object
      required:
        - key
        - mandatory
        - enabledByDefault
        - modes
        - componentKeys
        - components
      properties:
        key:
          type: string
        mandatory:
          type: boolean
        enabledByDefault:
          type: boolean
        modes:
          type: array
          items:
            $ref: '#/components/schemas/PlatformClusterMode'
        providers:
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/PlatformCloudVendor'
        componentKeys:
          type: array
          items:
            type: string
        components:
          type: array
          items:
            $ref: '#/components/schemas/PlatformTemplateComponentResponse'
        description:
          type: string
          nullable: true
    PlatformTemplateComponentResponse:
      type: object
      required:
        - key
        - kind
        - fields
      properties:
        key:
          type: string
        kind:
          $ref: '#/components/schemas/PlatformTemplateComponentKind'
        description:
          type: string
          nullable: true
        fields:
          type: array
          items:
            $ref: '#/components/schemas/FieldSchemaResponse'
        configurationSections:
          type: array
          description: >-
            Additional configuration sections displayed under this component.
            Its own configuration and cluster inputs remain available. Omitted
            or empty keeps the existing editor behavior; fields always remain
            declared on their owner.
          items:
            $ref: '#/components/schemas/PlatformConfigurationSectionResponse'
    PlatformTemplateComponentKind:
      type: string
      enum:
        - HELM
        - TERRAFORM
    FieldSchemaResponse:
      description: >-
        Generic catalog field descriptor matching the shared q-core field
        response. Scalar fields retain their existing shape; objects and arrays
        describe nested configuration without flattening its values. Blueprint
        keeps its existing BlueprintManifestVariableField response contract
        through a dedicated adapter.
      oneOf:
        - $ref: '#/components/schemas/ScalarFieldSchemaResponse'
        - $ref: '#/components/schemas/ObjectFieldSchemaResponse'
        - $ref: '#/components/schemas/ArrayFieldSchemaResponse'
      discriminator:
        propertyName: type
        mapping:
          string:
            $ref: '#/components/schemas/ScalarFieldSchemaResponse'
          number:
            $ref: '#/components/schemas/ScalarFieldSchemaResponse'
          bool:
            $ref: '#/components/schemas/ScalarFieldSchemaResponse'
          object:
            $ref: '#/components/schemas/ObjectFieldSchemaResponse'
          array:
            $ref: '#/components/schemas/ArrayFieldSchemaResponse'
    PlatformConfigurationSectionResponse:
      type: object
      description: >-
        Displays selected top-level fields of another component in the same
        layer. The source component remains the resolver, configuration binding
        and deployment owner. This declaration does not move data or change Helm
        releases.
      required:
        - sourceComponentKey
        - fieldKeys
      properties:
        sourceComponentKey:
          type: string
          description: Component key to use for resolve requests and stored configuration.
        fieldKeys:
          type: array
          minItems: 1
          description: >-
            Unique top-level source fields displayed here instead of in the
            source component editor.
          items:
            type: string
            minLength: 1
    ScalarFieldSchemaResponse:
      type: object
      description: >-
        Scalar catalog field descriptor, also used for platform cluster input
        requirements. FieldSchemaResponse is the union of scalar, object and
        array descriptors.
      required:
        - key
        - type
        - required
        - label
        - sensitive
        - constraints
      properties:
        key:
          type: string
        type:
          type: string
          description: Field type understood by the Console.
          enum:
            - string
            - number
            - bool
        required:
          type: boolean
        defaultValue:
          type: string
          nullable: true
        label:
          type: string
        description:
          type: string
          nullable: true
        sensitive:
          type: boolean
        constraints:
          $ref: '#/components/schemas/FieldSchemaConstraintsResponse'
        format:
          type: string
          description: >-
            Optional editor format for a string field, independent of its scalar
            type. kubernetes-resource-yaml selects a single Kubernetes YAML
            object editor. Unknown formats should fall back to the ordinary
            string editor.
          example: kubernetes-resource-yaml
        templates:
          type: array
          description: >-
            Optional starting texts for an explicit user choice, with unique IDs
            within the field. Present only with format. Never apply as defaults
            or overwrite a saved value. The format selects the editor even when
            templates are absent.
          items:
            $ref: '#/components/schemas/FieldTemplateResponse'
    ObjectFieldSchemaResponse:
      type: object
      required:
        - key
        - type
        - required
        - label
        - sensitive
        - fields
      properties:
        key:
          type: string
        type:
          type: string
          enum:
            - object
        required:
          type: boolean
        label:
          type: string
        description:
          type: string
          nullable: true
        sensitive:
          type: boolean
        fields:
          type: array
          description: Nested field descriptors for this object's properties.
          items:
            $ref: '#/components/schemas/FieldSchemaResponse'
    ArrayFieldSchemaResponse:
      type: object
      required:
        - key
        - type
        - required
        - label
        - sensitive
        - constraints
        - items
      properties:
        key:
          type: string
        type:
          type: string
          enum:
            - array
        required:
          type: boolean
        label:
          type: string
        description:
          type: string
          nullable: true
        sensitive:
          type: boolean
        constraints:
          $ref: '#/components/schemas/CollectionConstraintsResponse'
        items:
          $ref: '#/components/schemas/ArrayItemResponse'
        itemFields:
          type: array
          description: >-
            Evaluated field descriptors for each object item, in the same order
            as the configuration array. Use these row-specific descriptors when
            available; items.fields describes an object's fields before per-item
            evaluation. Omitted when unavailable, including scalar arrays. An
            evaluated empty object array has an empty itemFields array.
          items:
            type: array
            items:
              $ref: '#/components/schemas/FieldSchemaResponse'
    FieldSchemaConstraintsResponse:
      type: object
      description: Validation constraints attached to a catalog field descriptor.
      properties:
        allowedValues:
          type: array
          nullable: true
          items:
            type: string
        min:
          type: integer
          format: int64
          nullable: true
        max:
          type: integer
          format: int64
          nullable: true
        minLength:
          type: integer
          format: int64
          nullable: true
        maxLength:
          type: integer
          format: int64
          nullable: true
        pattern:
          type: string
          nullable: true
    FieldTemplateResponse:
      type: object
      description: >-
        A catalog-owned starting text for a field editor, not an applied
        default.
      required:
        - id
        - label
        - value
      properties:
        id:
          type: string
          minLength: 1
        label:
          type: string
          minLength: 1
        value:
          type: string
    CollectionConstraintsResponse:
      type: object
      required:
        - uniqueItems
      properties:
        minItems:
          type: integer
          format: int64
          nullable: true
        maxItems:
          type: integer
          format: int64
          nullable: true
        uniqueItems:
          type: boolean
    ArrayItemResponse:
      description: >-
        Descriptor for an array element. Elements are scalars or objects; an
        object's fields can themselves contain arrays.
      oneOf:
        - $ref: '#/components/schemas/ScalarArrayItemResponse'
        - $ref: '#/components/schemas/ObjectArrayItemResponse'
      discriminator:
        propertyName: type
        mapping:
          string:
            $ref: '#/components/schemas/ScalarArrayItemResponse'
          number:
            $ref: '#/components/schemas/ScalarArrayItemResponse'
          bool:
            $ref: '#/components/schemas/ScalarArrayItemResponse'
          object:
            $ref: '#/components/schemas/ObjectArrayItemResponse'
    ScalarArrayItemResponse:
      type: object
      required:
        - type
        - constraints
      properties:
        type:
          type: string
          enum:
            - string
            - number
            - bool
        constraints:
          $ref: '#/components/schemas/FieldSchemaConstraintsResponse'
    ObjectArrayItemResponse:
      type: object
      required:
        - type
        - fields
      properties:
        type:
          type: string
          enum:
            - object
        fields:
          type: array
          items:
            $ref: '#/components/schemas/FieldSchemaResponse'
  responses:
    '401':
      description: Access token is missing or invalid
    '403':
      description: Access forbidden
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        JWT tokens should be used with OIDC account (human to machine). JWT
        tokens used by the Qovery console to communicate with the API have a
        TTL. Curl Example ' curl https://console.qovery.com/organization -H
        "Authorization: Bearer $qovery_token" '
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Token API are generated by Qovery to manage machine to machine
        interaction and do not have a TTL. Curl Example ' curl
        https://console.qovery.com/organization -H "Authorization: Token
        $qovery_token" '

````