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

> ## Agent Instructions
> Cerebrium's documentation MCP server is available at https://cerebrium.ai/docs/mcp for searching and querying these docs directly. Install the Cerebrium agent skill with `npx skills add https://cerebrium.ai/docs`. Append .md to any docs page URL to fetch that page as plain Markdown. API keys and authentication tokens are created in the Cerebrium dashboard at https://dashboard.cerebrium.ai.

# Get Execution Time Metrics

> Retrieve run execution time percentiles for an app.



## OpenAPI

````yaml https://s3.eu-west-1.amazonaws.com/www.cerebrium.ai/openapi_spec.json get /v2/projects/{project_id}/apps/{app_id}/metrics/run-execution-time
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}/metrics/run-execution-time:
    get:
      tags:
        - Metrics
      summary: Get Execution Time Metrics
      description: Retrieve run execution time percentiles for an app.
      operationId: getAppRunExecutionTimeMetrics
      parameters:
        - name: project_id
          in: path
          required: true
          schema:
            type: string
        - name: app_id
          in: path
          required: true
          schema:
            type: string
        - name: start
          in: query
          required: true
          description: Start of the time range as an RFC 3339 timestamp
          schema:
            type: string
        - name: end
          in: query
          required: true
          description: >-
            End of the time range as an RFC 3339 timestamp (must not be before
            start)
          schema:
            type: string
        - name: container_id
          in: query
          required: false
          description: Filter metrics to a specific container
          schema:
            type: string
        - name: resolution
          in: query
          required: false
          description: >-
            Data resolution ('medium' or 'high' for more data points; defaults
            to standard)
          schema:
            type: string
      responses:
        '200':
          description: >-
            Run execution time percentile metrics for the app as a time series
            over the requested time range.
          content:
            application/json:
              schema:
                properties:
                  data:
                    description: >-
                      Metrics payload containing 'time_series' (array of
                      datapoints with 'timestamp' in Unix seconds and 'p50' /
                      'p90' / 'p99' execution times in seconds), 'total_runs'
                      (total run count in the range), and 'start_date' /
                      'end_date' (RFC 3339 range bounds).
                    type: object
                  status:
                    description: >-
                      Result status of the metrics query ('success' when data
                      was retrieved).
                    type: string
                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).

````