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

> ## Agent Instructions
> This is the Sevalla REST API reference. Base URL: https://api.sevalla.com/v3. Authenticate with an API key in the Authorization header as a Bearer token.
> The OpenAPI spec is at https://api.sevalla.com/v3/openapi.json. Concepts and dashboard guides are at https://docs.sevalla.com (index: https://docs.sevalla.com/llms.txt).
> To act on a Sevalla account from an AI agent, prefer the Sevalla MCP server (https://mcp.sevalla.com/mcp, see https://docs.sevalla.com/ai-agents/overview.md) or the Sevalla CLI (https://api-docs.sevalla.com/v3/cli.md).

# Get Dockerfile

> Retrieve one Dockerfile version of an application, with the Dockerfile, its .dockerignore and whether Sevalla generated it with Ingot or it came from your repository. Use it with the `dockerfile_id` of a deployment to see what that deployment was built from, or fetch two versions to compare them.



## OpenAPI

````yaml https://api.sevalla.com/v3/openapi.json get /applications/{id}/dockerfiles/{dockerfile_id}
openapi: 3.1.0
info:
  title: Sevalla API docs
  version: 1.0.0
servers:
  - url: https://api.sevalla.com/v3
security:
  - bearerAuth: []
paths:
  /applications/{id}/dockerfiles/{dockerfile_id}:
    get:
      tags:
        - Applications
      summary: Get Dockerfile
      description: >-
        Retrieve one Dockerfile version of an application, with the Dockerfile,
        its .dockerignore and whether Sevalla generated it with Ingot or it came
        from your repository. Use it with the `dockerfile_id` of a deployment to
        see what that deployment was built from, or fetch two versions to
        compare them.
      operationId: getApplicationDockerfileV3
      parameters:
        - schema:
            example: fb5e5168-4281-4bec-94c5-0d1584e9e657
            type: string
            format: uuid
            pattern: >-
              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
          in: path
          name: id
          required: true
          description: Application identifier
        - schema:
            example: fb5e5168-4281-4bec-94c5-0d1584e9e657
            type: string
            format: uuid
            pattern: >-
              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
          in: path
          name: dockerfile_id
          required: true
          description: >-
            Dockerfile identifier, as returned in `dockerfile_id` of a
            deployment
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                    pattern: >-
                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                    description: Unique identifier for the Dockerfile version
                    example: fb5e5168-4281-4bec-94c5-0d1584e9e657
                  app_id:
                    type: string
                    format: uuid
                    pattern: >-
                      ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
                    description: Identifier of the application the Dockerfile belongs to
                    example: fb5e5168-4281-4bec-94c5-0d1584e9e657
                  version:
                    type: integer
                    minimum: 1
                    maximum: 9007199254740991
                    description: >-
                      Version number of the Dockerfile within its application,
                      starting at 1. A new version is recorded only when a build
                      uses a Dockerfile, .dockerignore or source that differs
                      from the latest version. Otherwise the build reuses the
                      latest version and updates its `language`, `facts` and
                      `processes` to what Ingot detected, unless Ingot detected
                      nothing.
                    example: 3
                  source:
                    type: string
                    enum:
                      - ingot
                      - user
                    description: >-
                      Where the Dockerfile comes from: `ingot` - generated by
                      Sevalla with Ingot for an application built with `ingot`;
                      `user` - the Dockerfile from your repository, for an
                      application built with `dockerfile`
                    example: ingot
                  dockerfile:
                    type: string
                    description: Content of the Dockerfile
                    example: FROM node:22-slim AS build
                  dockerignore:
                    description: >-
                      Content of the .dockerignore the build used. For `user`
                      Dockerfiles this is `<Dockerfile>.dockerignore` next to
                      the Dockerfile, or else `.dockerignore` in the build
                      context, the same file Docker picks. Null when there is
                      none.
                    example: node_modules
                    type:
                      - string
                      - 'null'
                  ingot_version:
                    description: >-
                      Version of Ingot that first generated this Dockerfile.
                      When it differs from the previous version, the change may
                      come from an Ingot upgrade rather than from the
                      application. Null for `user` Dockerfiles.
                    example: v0.3.2
                    type:
                      - string
                      - 'null'
                  language:
                    description: >-
                      Language Ingot detected in the application source, such as
                      `node`, `python`, `php`, `go`, `ruby`, `rust`, `java`,
                      `dotnet`, `elixir`, `deno`, `gleam`, `zig`, `cpp`,
                      `static` (a static site) or `shell` (a start.sh script).
                      For `user` Dockerfiles it is detected from the repository
                      and does not come from your Dockerfile. Null when Ingot
                      could not detect the application, and for versions
                      recorded before this field existed.
                    example: php
                    type:
                      - string
                      - 'null'
                  facts:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          description: >-
                            What was detected, such as `framework`, `package
                            manager`, or the language name for its version
                          example: framework
                        value:
                          type: string
                          description: The detected value
                          example: Laravel
                        source:
                          description: >-
                            Where the value came from, usually a file in the
                            repository. `default` means nothing in the
                            repository set it and Ingot used its default.
                          example: composer.json
                          type: string
                      required:
                        - name
                        - value
                      additionalProperties: false
                    description: >-
                      What Ingot detected about the application, such as its
                      framework, runtime version and package manager, each with
                      the file it came from. For `ingot` Dockerfiles these are
                      the decisions listed in the Dockerfile header. Empty when
                      `language` is null.
                  processes:
                    type: array
                    items:
                      type: object
                      properties:
                        kind:
                          type: string
                          description: >-
                            Type of process: `worker` - a command that runs
                            continuously next to the web server; `job` - a
                            command that runs to completion before each
                            deployment
                          example: worker
                        name:
                          type: string
                          description: Short name of the process
                          example: queue
                        command:
                          type: string
                          description: Command to run from the same image
                          example: php artisan queue:work
                        reason:
                          type: string
                          description: What in the application calls for the process
                          example: app/Jobs/RecordVisit.php queues work
                      required:
                        - kind
                        - name
                        - command
                        - reason
                      additionalProperties: false
                    description: >-
                      Processes Ingot recommends running from the same image
                      besides the web process, such as queue workers, schedulers
                      or database migrations. These are suggestions and are not
                      created for you.
                  created_at:
                    type: string
                    format: date-time
                    pattern: >-
                      ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
                    description: >-
                      Timestamp when the Dockerfile version was first recorded,
                      in ISO 8601 format
                    example: '2025-01-30T00:00:00.000Z'
                required:
                  - id
                  - app_id
                  - version
                  - source
                  - dockerfile
                  - dockerignore
                  - ingot_version
                  - language
                  - facts
                  - processes
                  - created_at
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                    example: Unauthorized
                  status:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                    description: HTTP status code
                    example: 401
                  data:
                    type: object
                    properties:
                      code:
                        description: Error tracking code for support reference
                        example: err-abc-123
                        type: string
                      message:
                        description: Additional error details or instructions
                        example: >-
                          If you need assistance, please contact support and
                          provide this error code.
                        type: string
                    additionalProperties: false
                required:
                  - message
                  - status
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                    example: >-
                      This API key is missing the <RESOURCE>:<ACTION>
                      permission. Grant it to the key or use a key that has it.
                  status:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                    description: HTTP status code
                    example: 403
                  data:
                    type: object
                    properties:
                      code:
                        description: Error tracking code for support reference
                        example: err-abc-123
                        type: string
                      message:
                        description: Additional error details or instructions
                        example: >-
                          If you need assistance, please contact support and
                          provide this error code.
                        type: string
                    additionalProperties: false
                required:
                  - message
                  - status
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                    example: Not found
                  status:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                    description: HTTP status code
                    example: 404
                  data:
                    type: object
                    properties:
                      code:
                        description: Error tracking code for support reference
                        example: err-abc-123
                        type: string
                      message:
                        description: Additional error details or instructions
                        example: >-
                          If you need assistance, please contact support and
                          provide this error code.
                        type: string
                    additionalProperties: false
                required:
                  - message
                  - status
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                    example: Internal Server Error
                  status:
                    type: integer
                    minimum: -9007199254740991
                    maximum: 9007199254740991
                    description: HTTP status code
                    example: 500
                  data:
                    type: object
                    properties:
                      code:
                        description: Error tracking code for support reference
                        example: err-abc-123
                        type: string
                      message:
                        description: Additional error details or instructions
                        example: >-
                          If you need assistance, please contact support and
                          provide this error code.
                        type: string
                    additionalProperties: false
                required:
                  - message
                  - status
                additionalProperties: false
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        API key authentication. Pass your API key as a Bearer token in the
        Authorization header.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.