Portainer Settings API

Manage Portainer settings

Operations 3

GET /settings Retrieve Portainer settings #
PUT /settings Update Portainer settings #
GET /settings/public Retrieve Portainer public settings #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/portainer-settings-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

portainer-settings-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: info@portainer.io
  description: Portainer API is an HTTP API served by Portainer.
  license:
    name: zlib
    url: https://github.com/portainer/portainer/blob/develop/LICENSE
  title: PortainerCE Settings API
  version: 2.39.1
servers:
- url: /api
tags:
- description: Manage Portainer settings
  name: Settings
paths:
  /settings:
    get:
      description: 'Retrieve Portainer settings.

        **Access policy**: administrator'
      operationId: SettingsInspect
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/portainer.Settings'
        '500':
          description: Server error
      security:
      - ApiKeyAuth: []
      - jwt: []
      summary: Retrieve Portainer settings
      tags:
      - Settings
    put:
      description: 'Update Portainer settings.

        **Access policy**: administrator'
      operationId: SettingsUpdate
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/portainer.Settings'
        '400':
          description: Invalid request
        '500':
          description: Server error
      security:
      - ApiKeyAuth: []
      - jwt: []
      summary: Update Portainer settings
      tags:
      - Settings
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/settings.settingsUpdatePayload'
        description: New settings
        required: true
  /settings/public:
    get:
      description: 'Retrieve public settings. Returns a small set of settings that are not reserved to administrators only.

        **Access policy**: public'
      operationId: SettingsPublic
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/settings.publicSettingsResponse'
        '500':
          description: Server error
      summary: Retrieve Portainer public settings
      tags:
      - Settings
components:
  schemas:
    portainer.AuthenticationMethod:
      enum:
      - 0
      - 1
      - 2
      - 3
      type: integer
      x-enum-varnames:
      - _
      - AuthenticationInternal
      - AuthenticationLDAP
      - AuthenticationOAuth
    portainer.GlobalDeploymentOptions:
      properties:
        hideStacksFunctionality:
          example: false
          type: boolean
      type: object
    portainer.TLSConfiguration:
      properties:
        TLS:
          description: Use TLS
          example: true
          type: boolean
        TLSCACert:
          description: Path to the TLS CA certificate file
          example: /data/tls/ca.pem
          type: string
        TLSCert:
          description: Path to the TLS client certificate file
          example: /data/tls/cert.pem
          type: string
        TLSKey:
          description: Path to the TLS client key file
          example: /data/tls/key.pem
          type: string
        TLSSkipVerify:
          description: Skip the verification of the server TLS certificate
          example: false
          type: boolean
      type: object
    portainer.LDAPSearchSettings:
      properties:
        BaseDN:
          description: The distinguished name of the element from which the LDAP server will search for users
          example: dc=ldap,dc=domain,dc=tld
          type: string
        Filter:
          description: Optional LDAP search filter used to select user elements
          example: (objectClass=account)
          type: string
        UserNameAttribute:
          description: LDAP attribute which denotes the username
          example: uid
          type: string
      type: object
    settings.publicSettingsResponse:
      properties:
        AuthenticationMethod:
          allOf:
          - $ref: '#/components/schemas/portainer.AuthenticationMethod'
          description: 'Active authentication method for the Portainer instance. Valid values are: 1 for internal, 2 for LDAP, or 3 for oauth'
          example: 1
        Edge:
          properties:
            CheckinInterval:
              description: The check in interval for edge agent (in seconds) - used in non async mode [seconds]
              example: 60
              type: integer
            CommandInterval:
              description: The command list interval for edge agent - used in edge async mode [seconds]
              example: 60
              type: integer
            PingInterval:
              description: The ping interval for edge agent - used in edge async mode [seconds]
              example: 60
              type: integer
            SnapshotInterval:
              description: The snapshot interval for edge agent - used in edge async mode [seconds]
              example: 60
              type: integer
          type: object
        EnableEdgeComputeFeatures:
          description: Whether edge compute features are enabled
          example: true
          type: boolean
        Features:
          additionalProperties:
            type: boolean
          description: Supported feature flags
          type: object
        GlobalDeploymentOptions:
          allOf:
          - $ref: '#/components/schemas/portainer.GlobalDeploymentOptions'
          description: Deployment options for encouraging deployment as code
        IsAMTEnabled:
          description: Whether AMT is enabled
          type: boolean
        IsDockerDesktopExtension:
          example: false
          type: boolean
        KubeconfigExpiry:
          default: '0'
          description: The expiry of a Kubeconfig
          example: 24h
          type: string
        LogoURL:
          description: URL to a logo that will be displayed on the login page as well as on top of the sidebar. Will use default Portainer logo when value is empty string
          example: https://mycompany.mydomain.tld/logo.png
          type: string
        OAuthLoginURI:
          description: The URL used for oauth login
          example: https://gitlab.com/oauth
          type: string
        OAuthLogoutURI:
          description: The URL used for oauth logout
          example: https://gitlab.com/oauth/logout
          type: string
        RequiredPasswordLength:
          description: The minimum required length for a password of any user when using internal auth mode
          example: 1
          type: integer
        TeamSync:
          description: Whether team sync is enabled
          example: true
          type: boolean
      type: object
    portainer.Edge:
      properties:
        AsyncMode:
          description: Deprecated 2.18
          example: false
          type: boolean
        CommandInterval:
          description: The command list interval for edge agent - used in edge async mode (in seconds)
          example: 5
          type: integer
        PingInterval:
          description: The ping interval for edge agent - used in edge async mode (in seconds)
          example: 5
          type: integer
        SnapshotInterval:
          description: The snapshot interval for edge agent - used in edge async mode (in seconds)
          example: 5
          type: integer
      type: object
    portainer.Pair:
      properties:
        name:
          example: name
          type: string
        value:
          example: value
          type: string
      type: object
    oauth2.AuthStyle:
      enum:
      - 0
      - 1
      - 2
      type: integer
      x-enum-varnames:
      - AuthStyleAutoDetect
      - AuthStyleInParams
      - AuthStyleInHeader
    portainer.OAuthSettings:
      properties:
        AccessTokenURI:
          type: string
        AuthStyle:
          $ref: '#/components/schemas/oauth2.AuthStyle'
        AuthorizationURI:
          type: string
        ClientID:
          type: string
        ClientSecret:
          type: string
        DefaultTeamID:
          type: integer
        KubeSecretKey:
          items:
            type: integer
          type: array
        LogoutURI:
          type: string
        OAuthAutoCreateUsers:
          type: boolean
        RedirectURI:
          type: string
        ResourceURI:
          type: string
        SSO:
          type: boolean
        Scopes:
          type: string
        UserIdentifier:
          type: string
      type: object
    portainer.OpenAMTConfiguration:
      properties:
        certFileContent:
          type: string
        certFileName:
          type: string
        certFilePassword:
          type: string
        domainName:
          type: string
        enabled:
          type: boolean
        mpsPassword:
          type: string
        mpsServer:
          type: string
        mpsToken:
          description: retrieved from API
          type: string
        mpsUser:
          type: string
      type: object
    portainer.Settings:
      properties:
        AgentSecret:
          description: Container environment parameter AGENT_SECRET
          type: string
        AllowBindMountsForRegularUsers:
          type: boolean
        AllowContainerCapabilitiesForRegularUsers:
          type: boolean
        AllowDeviceMappingForRegularUsers:
          type: boolean
        AllowHostNamespaceForRegularUsers:
          type: boolean
        AllowPrivilegedModeForRegularUsers:
          type: boolean
        AllowStackManagementForRegularUsers:
          type: boolean
        AllowVolumeBrowserForRegularUsers:
          type: boolean
        AuthenticationMethod:
          allOf:
          - $ref: '#/components/schemas/portainer.AuthenticationMethod'
          description: 'Active authentication method for the Portainer instance. Valid values are: 1 for internal, 2 for LDAP, or 3 for oauth'
          example: 1
        BlackListedLabels:
          description: A list of label name & value that will be used to hide containers when querying containers
          items:
            $ref: '#/components/schemas/portainer.Pair'
          type: array
        DisplayDonationHeader:
          description: Deprecated fields
          type: boolean
        DisplayExternalContributors:
          type: boolean
        Edge:
          $ref: '#/components/schemas/portainer.Edge'
        EdgeAgentCheckinInterval:
          description: The default check in interval for edge agent (in seconds)
          example: 5
          type: integer
        EdgePortainerUrl:
          description: EdgePortainerURL is the URL that is exposed to edge agents
          type: string
        EnableEdgeComputeFeatures:
          description: Whether edge compute features are enabled
          type: boolean
        EnableHostManagementFeatures:
          description: Deprecated fields v26
          type: boolean
        EnforceEdgeID:
          description: EnforceEdgeID makes Portainer store the Edge ID instead of accepting anyone
          example: false
          type: boolean
        FeatureFlagSettings:
          additionalProperties:
            type: boolean
          type: object
        GlobalDeploymentOptions:
          allOf:
          - $ref: '#/components/schemas/portainer.GlobalDeploymentOptions'
          description: Deployment options for encouraging git ops workflows
        HelmRepositoryURL:
          description: Helm repository URL, defaults to "https://charts.bitnami.com/bitnami"
          example: https://charts.bitnami.com/bitnami
          type: string
        InternalAuthSettings:
          $ref: '#/components/schemas/portainer.InternalAuthSettings'
        IsDockerDesktopExtension:
          type: boolean
        KubeconfigExpiry:
          description: The expiry of a Kubeconfig
          example: 24h
          type: string
        KubectlShellImage:
          description: KubectlImage, defaults to portainer/kubectl-shell
          example: portainer/kubectl-shell
          type: string
        LDAPSettings:
          $ref: '#/components/schemas/portainer.LDAPSettings'
        LogoURL:
          description: URL to a logo that will be displayed on the login page as well as on top of the sidebar. Will use default Portainer logo when value is empty string
          example: https://mycompany.mydomain.tld/logo.png
          type: string
        OAuthSettings:
          $ref: '#/components/schemas/portainer.OAuthSettings'
        SnapshotInterval:
          description: The interval in which environment(endpoint) snapshots are created
          example: 5m
          type: string
        TemplatesURL:
          description: URL to the templates that will be displayed in the UI when navigating to App Templates
          example: https://raw.githubusercontent.com/portainer/templates/master/templates.json
          type: string
        TrustOnFirstConnect:
          description: TrustOnFirstConnect makes Portainer accepting edge agent connection by default
          example: false
          type: boolean
        UserSessionTimeout:
          description: The duration of a user session
          example: 5m
          type: string
        openAMTConfiguration:
          $ref: '#/components/schemas/portainer.OpenAMTConfiguration'
      type: object
    portainer.InternalAuthSettings:
      properties:
        RequiredPasswordLength:
          type: integer
      type: object
    portainer.LDAPGroupSearchSettings:
      properties:
        GroupAttribute:
          description: LDAP attribute which denotes the group membership
          example: member
          type: string
        GroupBaseDN:
          description: The distinguished name of the element from which the LDAP server will search for groups
          example: dc=ldap,dc=domain,dc=tld
          type: string
        GroupFilter:
          description: The LDAP search filter used to select group elements, optional
          example: (objectClass=account
          type: string
      type: object
    settings.settingsUpdatePayload:
      properties:
        AuthenticationMethod:
          description: 'Active authentication method for the Portainer instance. Valid values are: 1 for internal, 2 for LDAP, or 3 for oauth'
          example: 1
          type: integer
        BlackListedLabels:
          description: A list of label name & value that will be used to hide containers when querying containers
          items:
            $ref: '#/components/schemas/portainer.Pair'
          type: array
        EdgeAgentCheckinInterval:
          example: 5
          type: integer
        EdgePortainerURL:
          description: EdgePortainerURL is the URL that is exposed to edge agents
          type: string
        EnableEdgeComputeFeatures:
          description: Whether edge compute features are enabled
          example: true
          type: boolean
        EnforceEdgeID:
          description: EnforceEdgeID makes Portainer store the Edge ID instead of accepting anyone
          example: false
          type: boolean
        GlobalDeploymentOptions:
          allOf:
          - $ref: '#/components/schemas/portainer.GlobalDeploymentOptions'
          description: Deployment options for encouraging deployment as code
        HelmRepositoryURL:
          description: Helm repository URL
          example: https://charts.bitnami.com/bitnami
          type: string
        InternalAuthSettings:
          $ref: '#/components/schemas/portainer.InternalAuthSettings'
        KubeconfigExpiry:
          default: '0'
          description: The expiry of a Kubeconfig
          example: 24h
          type: string
        KubectlShellImage:
          description: Kubectl Shell Image
          example: portainer/kubectl-shell:latest
          type: string
        LDAPSettings:
          $ref: '#/components/schemas/portainer.LDAPSettings'
        LogoURL:
          description: URL to a logo that will be displayed on the login page as well as on top of the sidebar. Will use default Portainer logo when value is empty string
          example: https://mycompany.mydomain.tld/logo.png
          type: string
        OAuthSettings:
          $ref: '#/components/schemas/portainer.OAuthSettings'
        SnapshotInterval:
          description: The interval in which environment(endpoint) snapshots are created
          example: 5m
          type: string
        TemplatesURL:
          description: URL to the templates that will be displayed in the UI when navigating to App Templates
          example: https://raw.githubusercontent.com/portainer/templates/master/templates.json
          type: string
        TrustOnFirstConnect:
          description: TrustOnFirstConnect makes Portainer accepting edge agent connection by default
          example: false
          type: boolean
        UserSessionTimeout:
          description: The duration of a user session
          example: 5m
          type: string
      type: object
    portainer.LDAPSettings:
      properties:
        AnonymousMode:
          description: Enable this option if the server is configured for Anonymous access. When enabled, ReaderDN and Password will not be used
          example: true
          type: boolean
        AutoCreateUsers:
          description: Automatically provision users and assign them to matching LDAP group names
          example: true
          type: boolean
        GroupSearchSettings:
          items:
            $ref: '#/components/schemas/portainer.LDAPGroupSearchSettings'
          type: array
        Password:
          description: Password of the account that will be used to search users
          example: readonly-password
          type: string
        ReaderDN:
          description: Account that will be used to search for users
          example: cn=readonly-account,dc=ldap,dc=domain,dc=tld
          type: string
        SearchSettings:
          items:
            $ref: '#/components/schemas/portainer.LDAPSearchSettings'
          type: array
        StartTLS:
          description: Whether LDAP connection should use StartTLS
          example: true
          type: boolean
        TLSConfig:
          $ref: '#/components/schemas/portainer.TLSConfiguration'
        URL:
          description: URL or IP address of the LDAP server
          example: myldap.domain.tld:389
          type: string
      type: object
  securitySchemes:
    ApiKeyAuth:
      in: header
      name: X-API-KEY
      type: apiKey
    jwt:
      in: header
      name: Authorization
      type: apiKey