---
title: "Get Container Config Suggestions"
method: POST
path: "/registries/config-suggestions"
tags: ["ContainerRegistries"]
---

# Get Container Config Suggestions

`POST /registries/config-suggestions`

## Request

- Base URL: `https://api.bunny.net/mc`
- URL: `https://api.bunny.net/mc/registries/config-suggestions`
- Auth: API key in header `AccessKey`

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

## Request body

- GetContainerConfigSuggestionsRequest
  - `registryId` string, required: The registry identifier. Can be "dockerhub", "github", or a private registry ID.
  - `imageName` string, required
  - `imageNamespace` string, required
  - `tag` string, required

## Response `200`

Configuration suggestions were successfully retrieved.

- ContainerConfigSuggestions
  - `endpointSuggestions` EndpointRequest[]
    - `displayName` string, required
    - `cdn` CdnEndpointRequest
      - `isSslEnabled` boolean
      - `stickySessions` StickySessionSettings
        - `enabled` boolean
        - `sessionHeaders` string[], required
        - `cookieName` string
      - `pullZoneId` integer, nullable
      - `portMappings` ContainerPortMappingRequest[]
        - `containerPort` integer, required
        - `exposedPort` integer, nullable
        - `protocols` Protocol[]
    - `anycast` AnycastEndpointRequest
      - `type` 'iPv4', required
      - `portMappings` ContainerPortMappingRequest[], required
        - `containerPort` integer, required
        - `exposedPort` integer, nullable
        - `protocols` Protocol[]
  - `environmentVariablesSuggestions` EnvironmentVariableSuggestion[]
    - `name` string
    - `defaultValue` string, nullable
    - `description` string, nullable
    - `required` boolean
    - `source` 'image' | 'documentation'
  - `volumeSuggestions` VolumeSuggestion[]
    - `containerPath` string
    - `suggestedVolumeName` string
  - `probeSuggestions` ContainerProbes
    - `startup` ContainerProbe
      - `initialDelaySeconds` integer, nullable
      - `periodSeconds` integer, nullable
      - `timeoutSeconds` integer, nullable
      - `failureThreshold` integer, nullable
      - `successThreshold` integer, nullable
      - `httpGet` HttpGetProbe
        - `request` HttpGetProbeRequestDetails
          - `path` string
          - `portNumber` integer
        - `response` HttpGetProbeResponseDetails
          - `expectedStatusCode` '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'
      - `tcpSocket` TcpSocketProbe
        - `request` TcpSocketProbeRequestDetails
          - `portNumber` integer
      - `grpc` GrpcProbe
        - `request` GrpcProbeRequestDetails
          - `portNumber` integer
          - `serviceName` string, nullable: If this is not specified, the default behavior is to probe the server's overall health status.
    - `readiness` ContainerProbe
      - `initialDelaySeconds` integer, nullable
      - `periodSeconds` integer, nullable
      - `timeoutSeconds` integer, nullable
      - `failureThreshold` integer, nullable
      - `successThreshold` integer, nullable
      - `httpGet` HttpGetProbe
        - `request` HttpGetProbeRequestDetails
          - `path` string
          - `portNumber` integer
        - `response` HttpGetProbeResponseDetails
          - `expectedStatusCode` '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'
      - `tcpSocket` TcpSocketProbe
        - `request` TcpSocketProbeRequestDetails
          - `portNumber` integer
      - `grpc` GrpcProbe
        - `request` GrpcProbeRequestDetails
          - `portNumber` integer
          - `serviceName` string, nullable: If this is not specified, the default behavior is to probe the server's overall health status.
    - `liveness` ContainerProbe
      - `initialDelaySeconds` integer, nullable
      - `periodSeconds` integer, nullable
      - `timeoutSeconds` integer, nullable
      - `failureThreshold` integer, nullable
      - `successThreshold` integer, nullable
      - `httpGet` HttpGetProbe
        - `request` HttpGetProbeRequestDetails
          - `path` string
          - `portNumber` integer
        - `response` HttpGetProbeResponseDetails
          - `expectedStatusCode` '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'
      - `tcpSocket` TcpSocketProbe
        - `request` TcpSocketProbeRequestDetails
          - `portNumber` integer
      - `grpc` GrpcProbe
        - `request` GrpcProbeRequestDetails
          - `portNumber` integer
          - `serviceName` string, nullable: If this is not specified, the default behavior is to probe the server's overall health status.
  - `digest` string, nullable: The digest of the image's manifest for the supported platform, to pin the tag to.
  - `appName` string, nullable
  - `description` string, nullable
  - `instructions` string, nullable
  - `documentationPending` boolean: The image's documentation (AppName, Description, Instructions, documented variables) is still being generated: ask again in a few seconds for it.
  - `registryUrl` string, nullable
  - `sourceUrl` string, nullable: The image's source code, from its org.opencontainers.image.source label.
  - `documentationUrl` string, nullable: The image's documentation, from its org.opencontainers.image.documentation label.

## Other responses

- `401`: User is unauthorized.
- `422`: Unprocessable entity.
- `500`: Unexpected server error.

## Changes

- **2026-11-12** `7bb58a0591b0`: 6 info
  - added the optional property `digest` to the response with the `200` status
  - added the optional property `documentationPending` to the response with the `200` status
  - added the optional property `documentationUrl` to the response with the `200` status
  - added the optional property `environmentVariablesSuggestions/items/source` to the response with the `200` status
  - …2 more
- **2026-08-08** `0054dcaa32fb`: 1 info
  - added the optional property `volumeSuggestions` to the response with the `200` status
- **2026-04-26** `62fb48c758fb`: 7 warning, 11 info
  - added the new `iPv4` enum value to the `endpointSuggestions/items/anycast/type` response property for the response status `200`
  - added the new `sctp` enum value to the `endpointSuggestions/items/anycast/portMappings/items/protocols/items/` response property for the response status `200`
  - added the new `sctp` enum value to the `endpointSuggestions/items/cdn/portMappings/items/protocols/items/` response property for the response status `200`
  - added the new `tcp` enum value to the `endpointSuggestions/items/anycast/portMappings/items/protocols/items/` response property for the response status `200`
  - …14 more

[Operation history](https://skmtc.dev/bunny/apis/magic-containers-api/changes/registries/config-suggestions/post.md)

---

[API](https://skmtc.dev/bunny/apis/magic-containers-api.md) - [All operations](https://skmtc.dev/bunny/apis/magic-containers-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bunny/apis/magic-containers-api/revisions/7bb58a0591b0?raw)
