> ## Documentation Index
> Fetch the complete documentation index at: https://cerebrium-mintlify-5834c333.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Modify App

> Update the configuration or metadata of a specific app.



## OpenAPI

````yaml https://s3.eu-west-1.amazonaws.com/www.cerebrium.ai/openapi_spec.json patch /v2/projects/{project_id}/apps/{app_id}
openapi: 3.0.0
info:
  title: Cerebrium REST API
  description: >-
    REST API for interacting with Cerebrium. This API is mainly used by the
    Cerebrium CLI client, please run `pip install cerebrium` to install it.
  version: 1.0.0
  license:
    name: Proprietary
    url: https://www.cerebrium.ai/terms-of-service
servers:
  - url: https://rest.cerebrium.ai
security: []
paths:
  /v2/projects/{project_id}/apps/{app_id}:
    patch:
      tags:
        - Apps
      summary: Modify App
      description: Update the configuration or metadata of a specific app.
      operationId: updateApp
      parameters:
        - name: project_id
          in: path
          required: true
          schema:
            type: string
        - name: app_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                cerebrium_toml:
                  description: Verbatim contents of the cerebrium.toml configuration file.
                  type: string
                compute:
                  description: >-
                    Compute type(s) for the app, in priority order. A single
                    value or a list of up to 5. Valid values: ADA_L4, ADA_L40,
                    AMPERE_A10, AMPERE_A100_40GB, AMPERE_A100_80GB, HOPPER_H100,
                    HOPPER_H200, BLACKWELL_B200, BLACKWELL_RTX6000, CPU, INF2,
                    TRN1, TURING_T4.
                  type: array
                computeTier:
                  description: >-
                    Compute tier for the app. Valid values: interruptible,
                    protected.
                  type: string
                containerRuntime:
                  description: 'Container runtime version. Valid values: v1, v2.'
                  type: string
                cooldownPeriodSeconds:
                  description: >-
                    Cooldown period in seconds before an idle replica scales
                    down. Range: 1-3600.
                  type: integer
                cpu:
                  description: Number of CPU cores to allocate, as a string value.
                  type: string
                deploymentInitializationTimeout:
                  description: >-
                    Maximum time in seconds to wait for a deployment to
                    initialize. Range: 60-900.
                  type: integer
                disableAuth:
                  description: Disable authentication on the app endpoint.
                  type: boolean
                entrypoint:
                  description: Command to start a custom runtime app, as a list of strings.
                  type: array
                evaluationIntervalSeconds:
                  description: >-
                    Interval in seconds between autoscaling evaluations. Range:
                    6-300.
                  type: integer
                gpuCount:
                  description: 'Number of GPUs allocated. Range: 0-8.'
                  type: integer
                healthcheckEndpoint:
                  description: >-
                    HTTP endpoint used to check that a custom runtime app is
                    healthy.
                  type: string
                loadBalancingAlgorithm:
                  description: >-
                    Load balancing algorithm. Valid values: round-robin,
                    first-available, min-connections, random-choice-2.
                  type: string
                maxReplicaCount:
                  description: 'Maximum number of replicas. Range: 1-2000.'
                  type: integer
                memory:
                  description: Memory allocation in GB, as a string value.
                  type: string
                minReplicaCount:
                  description: 'Minimum number of replicas. Range: 0-2000.'
                  type: integer
                port:
                  description: 'Port the app listens on. Range: 0-65535.'
                  type: integer
                readycheckEndpoint:
                  description: >-
                    HTTP endpoint used to check that a custom runtime app is
                    ready to receive traffic.
                  type: string
                replicaConcurrency:
                  description: 'Maximum concurrent requests per replica. Range: 1-1000000.'
                  type: integer
                responseGracePeriodSeconds:
                  description: >-
                    Grace period in seconds for in-flight requests when a
                    replica stops. Range: 16-43200.
                  type: integer
                rollOutDurationSeconds:
                  description: >-
                    Duration in seconds over which to roll out a new version.
                    Range: 1-21600.
                  type: integer
                runtime:
                  description: 'App runtime. Valid values: cortex, custom.'
                  type: string
                scalingBuffer:
                  description: >-
                    Number of extra replicas to keep available beyond current
                    demand. Must be >= 0.
                  type: integer
                scalingMetric:
                  description: >-
                    Metric used for autoscaling. Valid values: cpu_utilization,
                    memory_utilization, requests_per_second,
                    concurrency_utilization.
                  type: string
                scalingTarget:
                  description: Target value for the scaling metric. Must be > 0.
                  type: integer
              type: object
      responses:
        '200':
          description: Confirmation that the app update was accepted.
          content:
            application/json:
              schema:
                properties:
                  app:
                    description: >-
                      The app configuration after the update is applied,
                      including appId, projectId, hardware, cpu, memory,
                      gpuCount, scaling settings, runtime settings, and region.
                    type: object
                  message:
                    description: Status message for the update.
                    type: string
                  self:
                    description: URL of the updated app resource.
                    type: string
                  success:
                    description: Whether the update request was accepted.
                    type: boolean
                type: object
        '400':
          description: >-
            Bad request. The request was malformed or contained invalid
            parameters.
          content:
            application/json:
              schema:
                properties:
                  message:
                    description: Human-readable description of the error.
                    type: string
                type: object
        '401':
          description: >-
            Unauthorized. The Authorization header is missing or the token is
            invalid.
          content:
            application/json:
              schema:
                properties:
                  message:
                    description: Human-readable description of the error.
                    type: string
                type: object
      security:
        - BearerAuth: []
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Service Account Token authentication. To authenticate API requests:


        1. **Create a Service Account Token:**
           - Go to the [Cerebrium Dashboard](https://dashboard.cerebrium.ai/) and open the **API Keys** page
           - Click **Create Service Account**, name it (e.g., "GitHub Actions CI/CD"), choose an expiry date, and click **Create**
           - **Copy the token** generated for the desired service account

        2. **Use the Token:**
           Include the service account token in the Authorization header of API requests:
           `Authorization: Bearer <your-service-account-token>`

        3. **Best Practices:**
           - Create separate service accounts for different environments (dev, staging, prod)
           - Store tokens securely as secrets in consuming applications or workflows
           - Set appropriate expiry dates and rotate tokens regularly
           - Never commit tokens to source control

        For CI/CD integration examples, see the [CI/CD
        documentation](https://docs.cerebrium.ai/cerebrium/deployments/ci-cd).

````