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

# Get Container Template

> Gets a container template within an application.



## OpenAPI

````yaml https://api-mc.opsbunny.net/docs/public/swagger.json get /apps/{appId}/containers/{containerId}
openapi: 3.0.4
info:
  title: Public API
  description: 'Public API endpoints for user consumption. Release version: v1.9.36.0'
  version: '1.0'
servers:
  - url: https://api.bunny.net/mc
security:
  - AccessKey: []
paths:
  /apps/{appId}/containers/{containerId}:
    get:
      tags:
        - Containers
      summary: Get Container Template
      description: Gets a container template within an application.
      operationId: GetApplicationContainerTemplate
      parameters:
        - name: appId
          in: path
          description: The ID of the application
          required: true
          schema:
            type: string
        - name: containerId
          in: path
          description: The ID of the container template
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Container template retrieved successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContainerTemplate'
        '401':
          description: User is unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Application or container template not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetails'
        '500':
          description: Unexpected server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetails'
components:
  schemas:
    ContainerTemplate:
      required:
        - endpoints
        - entryPoint
        - environmentVariables
        - id
        - image
        - imageDigest
        - imageName
        - imageNamespace
        - imagePullPolicy
        - imageRegistryId
        - imageTag
        - name
        - packageId
        - probes
        - volumeMounts
      type: object
      properties:
        id:
          minLength: 1
          type: string
        name:
          minLength: 1
          type: string
        packageId:
          minLength: 1
          type: string
        image:
          minLength: 1
          type: string
        imageName:
          minLength: 1
          type: string
        imageNamespace:
          minLength: 1
          type: string
        imageTag:
          minLength: 1
          type: string
        imageRegistryId:
          minLength: 1
          type: string
        imageDigest:
          minLength: 1
          type: string
        imagePullPolicy:
          $ref: '#/components/schemas/ImagePullPolicy'
        entryPoint:
          $ref: '#/components/schemas/ContainerEntryPoint'
        probes:
          $ref: '#/components/schemas/ContainerProbes'
        environmentVariables:
          type: array
          items:
            $ref: '#/components/schemas/EnvironmentVariable'
        endpoints:
          type: array
          items:
            $ref: '#/components/schemas/ContainerEndpoint'
        volumeMounts:
          type: array
          items:
            $ref: '#/components/schemas/ContainerVolumeMount'
      additionalProperties: false
      description: Container template model
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: {}
    ErrorDetails:
      type: object
      properties:
        title:
          type: string
          description: A short, human-readable summary of the problem type.
          readOnly: true
        status:
          type: integer
          description: The HTTP status code.
          format: int32
          readOnly: true
        detail:
          type: string
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          nullable: true
          readOnly: true
        instance:
          type: string
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem.
          nullable: true
          readOnly: true
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ValidationError'
          description: Additional validation errors for field-specific issues.
          nullable: true
          readOnly: true
        id:
          type: string
          description: >-
            The application ID, returned as an RFC 7807 extension field when
            relevant (e.g. partial save errors).

            Matches the "id" field from successful create response for
            consistency.
          nullable: true
          readOnly: true
      additionalProperties: false
      description: RFC 7807 Problem Details response model.
    ImagePullPolicy:
      enum:
        - always
        - ifNotPresent
      type: string
    ContainerEntryPoint:
      type: object
      properties:
        command:
          type: string
          nullable: true
        commandArray:
          type: array
          items:
            type: string
          nullable: true
        arguments:
          type: string
          nullable: true
        argumentsArray:
          type: array
          items:
            type: string
          nullable: true
        workingDirectory:
          type: string
          nullable: true
      additionalProperties: false
    ContainerProbes:
      type: object
      properties:
        startup:
          $ref: '#/components/schemas/ContainerProbe'
        readiness:
          $ref: '#/components/schemas/ContainerProbe'
        liveness:
          $ref: '#/components/schemas/ContainerProbe'
      additionalProperties: false
    EnvironmentVariable:
      required:
        - name
      type: object
      properties:
        name:
          minLength: 1
          type: string
        value:
          type: string
      additionalProperties: false
    ContainerEndpoint:
      required:
        - displayName
        - isSslEnabled
        - portMappings
        - publicHost
        - pullZoneId
        - type
      type: object
      properties:
        displayName:
          minLength: 1
          type: string
        publicHost:
          minLength: 1
          type: string
        type:
          $ref: '#/components/schemas/EndpointType'
        isSslEnabled:
          type: boolean
        pullZoneId:
          minLength: 1
          type: string
        portMappings:
          type: array
          items:
            $ref: '#/components/schemas/EndpointPortMapping'
        stickySessions:
          $ref: '#/components/schemas/EndpointStickySession'
        internalIpAddresses:
          type: array
          items:
            $ref: '#/components/schemas/EndpointInternalIp'
          nullable: true
        publicIpAddresses:
          type: array
          items:
            $ref: '#/components/schemas/EndpointInternalIp'
          nullable: true
      additionalProperties: false
      description: Container endpoint model
    ContainerVolumeMount:
      required:
        - mountPath
        - name
      type: object
      properties:
        name:
          minLength: 1
          type: string
        mountPath:
          minLength: 1
          type: string
      additionalProperties: false
    ValidationError:
      required:
        - message
      type: object
      properties:
        field:
          type: string
          nullable: true
        message:
          type: string
      additionalProperties: false
    ContainerProbe:
      type: object
      properties:
        initialDelaySeconds:
          maximum: 3600
          minimum: 1
          type: integer
          format: int32
          default: 10
          nullable: true
        periodSeconds:
          maximum: 3600
          minimum: 1
          type: integer
          format: int32
          default: 10
          nullable: true
        timeoutSeconds:
          maximum: 3600
          minimum: 1
          type: integer
          format: int32
          default: 7
          nullable: true
        failureThreshold:
          maximum: 1000
          minimum: 1
          type: integer
          format: int32
          default: 3
          nullable: true
        successThreshold:
          maximum: 1000
          minimum: 1
          type: integer
          format: int32
          default: 1
          nullable: true
        httpGet:
          $ref: '#/components/schemas/HttpGetProbe'
        tcpSocket:
          $ref: '#/components/schemas/TcpSocketProbe'
        grpc:
          $ref: '#/components/schemas/GrpcProbe'
      additionalProperties: false
    EndpointType:
      enum:
        - cdn
        - anycast
        - publicIp
      type: string
    EndpointPortMapping:
      required:
        - containerPort
        - exposedPort
        - protocols
      type: object
      properties:
        containerPort:
          type: integer
          format: int32
        exposedPort:
          type: integer
          format: int32
        protocols:
          type: array
          items:
            $ref: '#/components/schemas/ProtocolV3'
      additionalProperties: false
    EndpointStickySession:
      required:
        - cookieName
        - enabled
        - sessionHeaders
      type: object
      properties:
        enabled:
          type: boolean
        sessionHeaders:
          type: array
          items:
            type: string
        cookieName:
          minLength: 1
          type: string
      additionalProperties: false
    EndpointInternalIp:
      required:
        - address
        - region
      type: object
      properties:
        address:
          minLength: 1
          type: string
        region:
          minLength: 1
          type: string
      additionalProperties: false
    HttpGetProbe:
      type: object
      properties:
        request:
          $ref: '#/components/schemas/HttpGetProbeRequestDetails'
        response:
          $ref: '#/components/schemas/HttpGetProbeResponseDetails'
      additionalProperties: false
    TcpSocketProbe:
      type: object
      properties:
        request:
          $ref: '#/components/schemas/TcpSocketProbeRequestDetails'
      additionalProperties: false
    GrpcProbe:
      type: object
      properties:
        request:
          $ref: '#/components/schemas/GrpcProbeRequestDetails'
      additionalProperties: false
    ProtocolV3:
      enum:
        - tcp
        - udp
        - sctp
      type: string
    HttpGetProbeRequestDetails:
      type: object
      properties:
        path:
          type: string
        portNumber:
          maximum: 65535
          minimum: 1
          type: integer
          format: int32
      additionalProperties: false
    HttpGetProbeResponseDetails:
      type: object
      properties:
        expectedStatusCode:
          $ref: '#/components/schemas/HttpStatusCode'
      additionalProperties: false
    TcpSocketProbeRequestDetails:
      type: object
      properties:
        portNumber:
          maximum: 65535
          minimum: 1
          type: integer
          format: int32
      additionalProperties: false
    GrpcProbeRequestDetails:
      type: object
      properties:
        portNumber:
          maximum: 65535
          minimum: 1
          type: integer
          format: int32
        serviceName:
          type: string
          description: >-
            If this is not specified, the default behavior is to probe the
            server's overall health status.
          nullable: true
      additionalProperties: false
    HttpStatusCode:
      enum:
        - continue
        - switchingProtocols
        - processing
        - earlyHints
        - ok
        - created
        - accepted
        - nonAuthoritativeInformation
        - noContent
        - resetContent
        - partialContent
        - multiStatus
        - alreadyReported
        - imUsed
        - multipleChoices
        - movedPermanently
        - found
        - seeOther
        - notModified
        - useProxy
        - unused
        - temporaryRedirect
        - permanentRedirect
        - badRequest
        - unauthorized
        - paymentRequired
        - forbidden
        - notFound
        - methodNotAllowed
        - notAcceptable
        - proxyAuthenticationRequired
        - requestTimeout
        - conflict
        - gone
        - lengthRequired
        - preconditionFailed
        - requestEntityTooLarge
        - requestUriTooLong
        - unsupportedMediaType
        - requestedRangeNotSatisfiable
        - expectationFailed
        - misdirectedRequest
        - unprocessableEntity
        - locked
        - failedDependency
        - upgradeRequired
        - preconditionRequired
        - tooManyRequests
        - requestHeaderFieldsTooLarge
        - unavailableForLegalReasons
        - internalServerError
        - notImplemented
        - badGateway
        - serviceUnavailable
        - gatewayTimeout
        - httpVersionNotSupported
        - variantAlsoNegotiates
        - insufficientStorage
        - loopDetected
        - notExtended
        - networkAuthenticationRequired
      type: string
  securitySchemes:
    AccessKey:
      type: apiKey
      description: Please enter a valid personal API key.
      name: AccessKey
      in: header

````