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

# Get Container Config Suggestions

> Gets recommended configuration for a container image including endpoint configurations and environment variables.



## OpenAPI

````yaml https://api-mc.opsbunny.net/docs/public/swagger.json post /registries/config-suggestions
openapi: 3.0.4
info:
  title: Public API
  description: 'Public API endpoints for user consumption. Release version: v1.11.0.2'
  version: '1.0'
servers:
  - url: https://api.bunny.net/mc
security:
  - AccessKey: []
paths:
  /registries/config-suggestions:
    post:
      tags:
        - ContainerRegistries
      summary: Get Container Config Suggestions
      description: >-
        Gets recommended configuration for a container image including endpoint
        configurations and environment variables.
      operationId: GetContainerConfigSuggestions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetContainerConfigSuggestionsRequest'
          text/json:
            schema:
              $ref: '#/components/schemas/GetContainerConfigSuggestionsRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/GetContainerConfigSuggestionsRequest'
      responses:
        '200':
          description: Configuration suggestions were successfully retrieved.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContainerConfigSuggestions'
        '401':
          description: User is unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '422':
          description: Unprocessable entity.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetails'
        '500':
          description: Unexpected server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDetails'
components:
  schemas:
    GetContainerConfigSuggestionsRequest:
      required:
        - imageName
        - imageNamespace
        - registryId
        - tag
      type: object
      properties:
        registryId:
          minLength: 1
          type: string
          description: >-
            The registry identifier. Can be "dockerhub", "github", or a private
            registry ID.
        imageName:
          maxLength: 100
          minLength: 1
          type: string
        imageNamespace:
          maxLength: 100
          minLength: 1
          type: string
        tag:
          maxLength: 100
          minLength: 1
          type: string
      additionalProperties: false
    ContainerConfigSuggestions:
      type: object
      properties:
        endpointSuggestions:
          type: array
          items:
            $ref: '#/components/schemas/EndpointRequest'
        environmentVariablesSuggestions:
          type: array
          items:
            $ref: '#/components/schemas/EnvironmentVariableSuggestion'
        volumeSuggestions:
          type: array
          items:
            $ref: '#/components/schemas/VolumeSuggestion'
        probeSuggestions:
          $ref: '#/components/schemas/ContainerProbes'
        digest:
          type: string
          description: >-
            The digest of the image's manifest for the supported platform, to
            pin the tag to.
          nullable: true
        appName:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        instructions:
          type: string
          nullable: true
        documentationPending:
          type: boolean
          description: >-
            The image's documentation (AppName, Description, Instructions,
            documented variables) is still being generated:

            ask again in a few seconds for it.
        registryUrl:
          type: string
          nullable: true
        sourceUrl:
          type: string
          description: >-
            The image's source code, from its org.opencontainers.image.source
            label.
          nullable: true
        documentationUrl:
          type: string
          description: >-
            The image's documentation, from its
            org.opencontainers.image.documentation label.
          nullable: true
      additionalProperties: false
    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.
    EndpointRequest:
      required:
        - displayName
      type: object
      properties:
        displayName:
          maxLength: 50
          minLength: 1
          type: string
        cdn:
          $ref: '#/components/schemas/CdnEndpointRequest'
        anycast:
          $ref: '#/components/schemas/AnycastEndpointRequest'
      additionalProperties: false
    EnvironmentVariableSuggestion:
      type: object
      properties:
        name:
          type: string
        defaultValue:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        required:
          type: boolean
        source:
          $ref: '#/components/schemas/EnvironmentVariableSuggestionSource'
      additionalProperties: false
    VolumeSuggestion:
      type: object
      properties:
        containerPath:
          type: string
        suggestedVolumeName:
          type: string
      additionalProperties: false
    ContainerProbes:
      type: object
      properties:
        startup:
          $ref: '#/components/schemas/ContainerProbe'
        readiness:
          $ref: '#/components/schemas/ContainerProbe'
        liveness:
          $ref: '#/components/schemas/ContainerProbe'
      additionalProperties: false
    ValidationError:
      required:
        - message
      type: object
      properties:
        field:
          type: string
          nullable: true
        message:
          type: string
      additionalProperties: false
    CdnEndpointRequest:
      type: object
      properties:
        isSslEnabled:
          type: boolean
        stickySessions:
          $ref: '#/components/schemas/StickySessionSettings'
        pullZoneId:
          type: integer
          format: int32
          nullable: true
        portMappings:
          maxItems: 1
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/ContainerPortMappingRequest'
      additionalProperties: false
    AnycastEndpointRequest:
      required:
        - portMappings
        - type
      type: object
      properties:
        type:
          $ref: '#/components/schemas/AnycastIpProtocolVersion'
        portMappings:
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/ContainerPortMappingRequest'
      additionalProperties: false
    EnvironmentVariableSuggestionSource:
      enum:
        - image
        - documentation
      type: string
    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
    StickySessionSettings:
      required:
        - sessionHeaders
      type: object
      properties:
        enabled:
          type: boolean
        sessionHeaders:
          maxItems: 3
          minItems: 1
          type: array
          items:
            type: string
        cookieName:
          type: string
      additionalProperties: false
    ContainerPortMappingRequest:
      required:
        - containerPort
      type: object
      properties:
        containerPort:
          maximum: 65535
          minimum: 1
          type: integer
          format: int32
        exposedPort:
          maximum: 65535
          minimum: 1
          type: integer
          format: int32
          nullable: true
        protocols:
          type: array
          items:
            $ref: '#/components/schemas/Protocol'
      additionalProperties: false
    AnycastIpProtocolVersion:
      enum:
        - iPv4
      type: string
    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
    Protocol:
      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

````

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