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

# Create Base Image Hash

> Generate a SHA256 hash from dependency lists to determine if a base image rebuild is needed.



## OpenAPI

````yaml https://s3.eu-west-1.amazonaws.com/www.cerebrium.ai/openapi_spec.json post /v3/projects/{project_id}/apps/{app_id}/base-image
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
servers:
  - url: https://rest.cerebrium.ai
security: []
paths:
  /v3/projects/{project_id}/apps/{app_id}/base-image:
    post:
      tags:
        - Builds
      summary: Create Base Image Hash
      description: >-
        Generate a SHA256 hash from dependency lists to determine if a base
        image rebuild is needed.
      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:
                aptPackages:
                  description: List of apt packages
                  type: array
                baseImageUri:
                  description: Base image URI to include in hash
                  type: string
                condaPackages:
                  description: List of conda packages
                  type: array
                pipRequirements:
                  description: List of pip requirements
                  type: array
                preBuildCommands:
                  description: Base64 encoded pre-build commands
                  type: array
                shellCommands:
                  description: Base64 encoded shell commands
                  type: array
              type: object
      responses:
        '200':
          description: OK
      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).

````