dotCMS System Configuration API

System configuration and company settings

Operations 23

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /api/config/deleteEndpoint Delete a push publishing endpoint (legacy) · Delete endpoint #
Ask an LLM
“How do I remove a push publishing endpoint through the older config API?”
“Can I delete a receiving server endpoint I no longer publish to?”
Tell an agent destructive · confirm first
Delete push publishing endpoint {endPoint} using the legacy config API.
Remove endpoint {endPoint} as admin {user} with password {password}.
POST /api/config/deleteEnvironment Delete a publishing environment (legacy) · Delete environment #
Ask an LLM
“Can I delete a whole push publishing environment?”
“Which older config endpoint removes a publishing environment by name?”
Tell an agent destructive · confirm first
Delete publishing environment {environment} using the legacy config API.
Remove environment {environment} as admin {user} with password {password}.
POST /api/config/regenerateKey Regenerate the company key (legacy endpoint) · Regenerate key #
Ask an LLM
“Is there an older config endpoint for rotating the company security key?”
“Can I regenerate the company key without the v1 configuration API?”
Tell an agent destructive · confirm first
Regenerate the company security key through the legacy config endpoint.
Rotate the company key using the old /api/config route.
POST /api/config/saveCompanyAuthTypeInfo Set the login auth type (legacy) · Save company auth type info #
Ask an LLM
“Can the older config API switch logins between email address and user ID?”
“Which legacy call changes the company authentication type?”
Tell an agent
Set the company login auth type to {authType} with the legacy config API.
As admin {user} with password {password}, change the login method to {authType} via the old config route.
POST /api/config/saveCompanyBasicInfo Save company basic info (legacy) · Save company basic info #
Ask an LLM
“Can I update the company's street address and city through the older config API?”
“Which legacy call saves the portal URL, mail domain and company email?”
Tell an agent
Set the company portal URL to {portalURL} and email to {emailAddress} using the legacy config API.
Update the company address to {street}, {city}, {state} through the old config route.
POST /api/config/saveCompanyLocaleInfo Save company language and time zone (legacy) · Save company locale info #
Ask an LLM
“Can the legacy config API change the system's default time zone?”
“Which older endpoint sets the company default language?”
Tell an agent
Set the company time zone to {timeZoneId} with the legacy config API.
Change the company language to {languageId} and time zone to {timeZoneId} through the old config route.
GET /api/v1/configuration/branding Get company branding and settings · Get company configuration #
Ask an LLM
“What branding colors and logos is my dotCMS instance currently using?”
“Can I read the full company configuration, including authentication settings, in one call?”
Tell an agent
Get the company configuration with branding and authentication settings.
Show me the current portal URL, logos and brand colors.
PUT /api/v1/configuration/branding Update company branding and basic info · Save company basic info and branding #
Ask an LLM
“How do I change the primary and secondary brand colors of the admin UI?”
“Does setting a navigation bar logo need an Enterprise license?”
Tell an agent
Set the brand colors to primary {primaryColor} and secondary {secondaryColor}, portal URL {portalURL}, email {emailAddress}.
Use {loginScreenLogo} as the login screen logo, keeping portal {portalURL}, email {emailAddress} and colors {primaryColor}/{secondaryColor}.
POST /api/v1/configuration/_regenerateKey Regenerate the company security key · Regenerate company security key #
Ask an LLM
“Can I rotate the company security key and get the SHA-256 digest of the new one?”
“Is regenerating the company key reversible?”
Tell an agent destructive · confirm first
Regenerate the company security key and return its SHA-256 digest.
Rotate the company key via the v1 configuration API.
PUT /api/v1/configuration/authentication Set how users log in · Save company authentication type #
Ask an LLM
“Can users sign in with their email address instead of a user ID?”
“Which login methods can the company authentication type be set to?”
Tell an agent
Set the company authentication type to {authType}.
Switch user login to use {authType} as the identifier.
PUT /api/v1/configuration/locale Set the default language and time zone · Save company locale info #
Ask an LLM
“How do I change the system's default time zone?”
“Can I set the default language for the whole company?”
Tell an agent
Set the default language to {languageId} and time zone to {timeZoneId}.
Change the system locale to time zone {timeZoneId} with language {languageId}.
GET /api/v1/appconfiguration Get the app configuration for the UI · List 5 #
Ask an LLM
“What app-level configuration does the admin UI load at startup?”
“Can I fetch the application configuration bundle in one request?”
Tell an agent
Get the application configuration.
Load the app configuration the admin UI uses.
GET /api/v1/configuration/config Read whitelisted configuration values · Retrieve whitelisted configuration values #
Ask an LLM
“Can I read specific configuration keys, like feature flags, by name?”
“Why are some config keys missing from the response when I request them?”
Tell an agent
Get the whitelisted configuration values for keys {keys}.
Check which of the feature flags {keys} are turned on.
GET /api/v1/configuration List system configuration settings · List 6 #
Ask an LLM
“Which system configuration settings are currently in effect?”
“Can I dump the whole configuration map the configuration resource exposes?”
Tell an agent
List the system configuration settings.
Show me every configuration entry from the configuration resource.
PUT /api/v1/configuration Save system configuration settings · Set #
Ask an LLM
“Can I write back a set of configuration settings in one request?”
“Which call saves changes to the general configuration map?”
Tell an agent
Save my changes to the system configuration settings.
Write the updated configuration map back to the server.
POST /api/v1/configuration/_validateCompanyEmail Validate the company sender email · Validate email #
Ask an LLM
“How can I check that the company sender address works before saving it?”
“Can I validate a 'Name ' sender string for outgoing mail?”
Tell an agent
Validate {senderAndEmail} as the company sender email.
Test whether sender {senderAndEmail} can be used for system mail.
GET /api/v1/system-table/{key} Get a system table entry · Get 4 #
Ask an LLM
“What value is stored under a given key in the system table?”
“Can I read one system table setting by its key?”
Tell an agent
Get the system table value for key {key}.
Look up system table entry {key}.
DELETE /api/v1/system-table/{key} Delete a system table entry by path key · Delete 9 #
Ask an LLM
“How do I remove a key from the system table when the key is URL-safe?”
“Can I delete one system table entry by putting its key in the URL?”
Tell an agent destructive · confirm first
Delete system table key {key}.
Remove entry {key} from the system table using the key in the path.
DELETE /api/v1/system-table/_delete Delete a system table entry via _delete · Delete with key #
Ask an LLM
“Is there a system table delete route that doesn't take the key in the URL path?”
“Which endpoint deletes a system table entry with the key sent in the request body?”
Tell an agent destructive · confirm first
Delete a system table entry through the _delete endpoint, sending the key in the body.
Remove a system table key using the _delete route rather than a key in the path.
GET /api/v1/system-table List all system table entries · Get all 2 #
Ask an LLM
“What keys and values are stored in the system table?”
“Can I see every system table entry at once?”
Tell an agent
List every entry in the system table.
Dump all system table keys with their values.
PUT /api/v1/system-table Update an existing system table entry · Updates an existing system table entry #
Ask an LLM
“Does updating a system table key fail if the key doesn't exist yet?”
“Is a system table update applied across every node in the cluster?”
Tell an agent
Update existing system table key {key} to {value}.
Change the value of system table entry {key} to {value} cluster wide, failing if it is missing.
POST /api/v1/system-table Save or create a system table entry · Saves or updates a system table entry #
Ask an LLM
“How do I add a new key to the system table?”
“Can I upsert a system table value so it's created if missing?”
Tell an agent
Save system table key {key} with value {value}, creating it if needed.
Upsert {value} under system table key {key}.

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/dotcms:dotcms-system-configuration-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

dotcms-system-configuration-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: dotCMS REST System Configuration API
  version: '3'
  description: System configuration and company settings
servers:
- url: /
  description: dotCMS Server
tags:
- name: System Configuration
  description: System configuration and company settings
paths:
  /api/config/deleteEndpoint:
    post:
      tags:
      - System Configuration
      operationId: deleteEndpoint
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                user:
                  type: string
                password:
                  type: string
                endPoint:
                  type: string
                type:
                  type: string
                callback:
                  type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
      deprecated: true
      summary: Delete endpoint
      x-summary-source: derived
  /api/config/deleteEnvironment:
    post:
      tags:
      - System Configuration
      operationId: deleteEnvironment
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                user:
                  type: string
                password:
                  type: string
                environment:
                  type: string
                type:
                  type: string
                callback:
                  type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
      summary: Delete environment
      x-summary-source: derived
  /api/config/regenerateKey:
    post:
      tags:
      - System Configuration
      operationId: regenerateKey
      responses:
        default:
          description: default response
          content:
            application/json: {}
      summary: Regenerate key
      x-summary-source: derived
  /api/config/saveCompanyAuthTypeInfo:
    post:
      tags:
      - System Configuration
      operationId: saveCompanyAuthTypeInfo
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                user:
                  type: string
                password:
                  type: string
                authType:
                  type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
      summary: Save company auth type info
      x-summary-source: derived
  /api/config/saveCompanyBasicInfo:
    post:
      tags:
      - System Configuration
      operationId: saveCompanyBasicInfo
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                user:
                  type: string
                password:
                  type: string
                portalURL:
                  type: string
                mx:
                  type: string
                emailAddress:
                  type: string
                size:
                  type: string
                type:
                  type: string
                street:
                  type: string
                homeURL:
                  type: string
                city:
                  type: string
                state:
                  type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
      summary: Save company basic info
      x-summary-source: derived
  /api/config/saveCompanyLocaleInfo:
    post:
      tags:
      - System Configuration
      operationId: saveCompanyLocaleInfo
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                user:
                  type: string
                password:
                  type: string
                languageId:
                  type: string
                timeZoneId:
                  type: string
      responses:
        default:
          description: default response
          content:
            application/json: {}
      summary: Save company locale info
      x-summary-source: derived
  /api/config/saveCompanyLogo:
    post:
      tags:
      - System Configuration
      operationId: saveCompanyLogo
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                user:
                  type: string
                password:
                  type: string
                logoFile:
                  $ref: '#/components/schemas/FormDataContentDisposition'
      responses:
        default:
          description: default response
          content:
            text/html: {}
      deprecated: true
      summary: Save company logo
      x-summary-source: derived
  /api/v1/configuration/branding:
    get:
      tags:
      - System Configuration
      summary: Get company configuration
      description: Returns the full company configuration including branding, authentication settings, and metadata for the admin editing UI.
      operationId: getCompanyConfig
      responses:
        '200':
          description: Company configuration retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityCompanyConfigView'
        '401':
          description: Unauthorized - authentication required
          content:
            application/json: {}
        '403':
          description: Forbidden - CMS Administrator role required
          content:
            application/json: {}
    put:
      tags:
      - System Configuration
      summary: Save company basic info and branding
      description: Updates the company's portal URL, email address, branding colors, logos, and background image. Navigation bar logo requires Enterprise license.
      operationId: saveBasicInfo
      requestBody:
        description: Company basic info and branding settings
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyBasicInfoForm'
        required: true
      responses:
        '200':
          description: Company basic info updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityCompanyConfigView'
        '400':
          description: Bad request - invalid parameters
          content:
            application/json: {}
        '401':
          description: Unauthorized - authentication required
          content:
            application/json: {}
        '403':
          description: Forbidden - CMS Administrator role required
          content:
            application/json: {}
  /api/v1/configuration/_regenerateKey:
    post:
      tags:
      - System Configuration
      summary: Regenerate company security key
      description: Regenerates the company's security key and returns the SHA-256 digest of the new key. This operation cannot be undone.
      operationId: regenerateKey_1
      responses:
        '200':
          description: Security key regenerated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityStringView'
        '401':
          description: Unauthorized - authentication required
          content:
            application/json: {}
        '403':
          description: Forbidden - CMS Administrator role required
          content:
            application/json: {}
  /api/v1/configuration/authentication:
    put:
      tags:
      - System Configuration
      summary: Save company authentication type
      description: Updates the authentication method used for user login. Accepts 'emailAddress' or 'userId'.
      operationId: saveAuthType
      requestBody:
        description: Authentication type setting
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyAuthTypeForm'
        required: true
      responses:
        '200':
          description: Authentication type updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityCompanyConfigView'
        '400':
          description: Bad request - invalid auth type
          content:
            application/json: {}
        '401':
          description: Unauthorized - authentication required
          content:
            application/json: {}
        '403':
          description: Forbidden - CMS Administrator role required
          content:
            application/json: {}
  /api/v1/configuration/locale:
    put:
      tags:
      - System Configuration
      summary: Save company locale info
      description: Updates the locale (language and timezone) for the current company. This sets the default language and timezone for the system.
      operationId: saveLocaleInfo
      requestBody:
        description: Locale settings to apply
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyLocaleForm'
        required: true
      responses:
        '200':
          description: Locale settings updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityCompanyConfigView'
        '400':
          description: Invalid locale parameters (e.g. invalid timezone)
          content:
            application/json: {}
        '401':
          description: Unauthorized - authentication required
          content:
            application/json: {}
        '403':
          description: Forbidden - CMS Administrator role required
          content:
            application/json: {}
  /api/v1/appconfiguration:
    get:
      tags:
      - System Configuration
      operationId: list_5
      responses:
        default:
          description: default response
          content:
            application/json: {}
            application/javascript: {}
      summary: List 5
      x-summary-source: derived
  /api/v1/configuration/config:
    get:
      tags:
      - System Configuration
      summary: Retrieve whitelisted configuration values
      description: Returns a map of configuration key to value for each requested key that is present in the server whitelist. Boolean feature-flag keys (those in BOOLEAN_FEATURE_FLAGS) are normalised to the lowercase strings "true" or "false" regardless of how they are stored in the properties file; undefined flags return the sentinel string "NOT_FOUND". Keys prefixed with "number:" return an Integer, "list:" returns an array of strings, "boolean:" returns a native JSON boolean. All other whitelisted keys return their raw string value. Keys not on the whitelist are silently excluded.
      operationId: getConfigVariables
      parameters:
      - name: keys
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Map of key to configuration value
          content:
            application/json:
              schema:
                type: object
                description: 'Map of configuration key to value. Value type depends on the key: normalised string "true"/"false" for boolean feature flags, "NOT_FOUND" for undefined flags, Integer for number:-prefixed keys, array for list:-prefixed keys, native boolean for boolean:-prefixed keys, raw string otherwise.'
                example:
                  FEATURE_FLAG_EXPERIMENTS: 'true'
                  EMAIL_SYSTEM_ADDRESS: admin@example.com
                  FEATURE_FLAG_UVE_STYLE_EDITOR: NOT_FOUND
        '401':
          description: User is not authenticated
  /api/v1/configuration:
    get:
      tags:
      - System Configuration
      operationId: list_6
      responses:
        default:
          description: default response
          content:
            application/json: {}
            application/javascript: {}
      summary: List 6
      x-summary-source: derived
    put:
      tags:
      - System Configuration
      operationId: set
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties:
                type: string
      responses:
        default:
          description: default response
          content:
            '*/*': {}
      summary: Set
      x-summary-source: derived
  /api/v1/configuration/_validateCompanyEmail:
    post:
      tags:
      - System Configuration
      operationId: validateEmail
      requestBody:
        content:
          '*/*':
            schema:
              $ref: '#/components/schemas/CompanyEmailForm'
      responses:
        default:
          description: default response
          content:
            application/json: {}
            application/javascript: {}
      summary: Validate email
      x-summary-source: derived
  /api/v1/system-table/{key}:
    get:
      tags:
      - System Configuration
      operationId: get_4
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityStringView'
            application/javascript:
              schema:
                $ref: '#/components/schemas/ResponseEntityStringView'
      summary: Get 4
      x-summary-source: derived
    delete:
      tags:
      - System Configuration
      operationId: delete_9
      parameters:
      - name: key
        in: path
        required: true
        schema:
          type: string
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityStringView'
            application/javascript:
              schema:
                $ref: '#/components/schemas/ResponseEntityStringView'
      summary: Delete 9
      x-summary-source: derived
  /api/v1/system-table/_delete:
    delete:
      tags:
      - System Configuration
      operationId: deleteWithKey
      requestBody:
        content:
          application/json:
            schema:
              type: object
              additionalProperties:
                type: string
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityStringView'
            application/javascript:
              schema:
                $ref: '#/components/schemas/ResponseEntityStringView'
      summary: Delete with key
      x-summary-source: derived
  /api/v1/system-table:
    get:
      tags:
      - System Configuration
      operationId: getAll_2
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityViewMapStringString'
            application/javascript:
              schema:
                $ref: '#/components/schemas/ResponseEntityViewMapStringString'
      summary: Get all 2
      x-summary-source: derived
    put:
      tags:
      - System Configuration
      summary: Updates an existing system table entry
      description: 'Updates the value of an existing key in the system table, or returns a 404 if the key does not exist. The change is applied cluster wide: every node is notified and re-resolves the key, so the request does not need to be repeated against each node.'
      operationId: update_8
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KeyValueForm'
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityStringView'
            application/javascript:
              schema:
                $ref: '#/components/schemas/ResponseEntityStringView'
    post:
      tags:
      - System Configuration
      summary: Saves or updates a system table entry
      description: 'Saves or updates the value of a key in the system table. The change is applied cluster wide: every node is notified and re-resolves the key, so the request does not need to be repeated against each node.'
      operationId: save
      requestBody:
        content:
          '*/*':
            schema:
              $ref: '#/components/schemas/KeyValueForm'
      responses:
        default:
          description: default response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseEntityStringView'
            application/javascript:
              schema:
                $ref: '#/components/schemas/ResponseEntityStringView'
components:
  schemas:
    CompanyEmailForm:
      type: object
      properties:
        senderAndEmail:
          type: string
    MessageEntity:
      type: object
      properties:
        message:
          type: string
    ResponseEntityStringView:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorEntity'
        entity:
          type: string
        messages:
          type: array
          items:
            $ref: '#/components/schemas/MessageEntity'
        i18nMessagesMap:
          type: object
          additionalProperties:
            type: string
        permissions:
          type: array
          items:
            type: string
        pagination:
          $ref: '#/components/schemas/Pagination'
    CompanyLocaleForm:
      required:
      - languageId
      - timeZoneId
      type: object
      properties:
        languageId:
          type: string
          description: Java locale string
          example: en_US
        timeZoneId:
          type: string
          description: Java TimeZone ID
          example: America/New_York
      description: Company locale settings (language and timezone)
    Pagination:
      type: object
      properties:
        currentPage:
          type: integer
          format: int32
        perPage:
          type: integer
          format: int32
        totalEntries:
          type: integer
          format: int64
    ResponseEntityViewMapStringString:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorEntity'
        entity:
          type: object
          additionalProperties:
            type: string
        messages:
          type: array
          items:
            $ref: '#/components/schemas/MessageEntity'
        i18nMessagesMap:
          type: object
          additionalProperties:
            type: string
        permissions:
          type: array
          items:
            type: string
        pagination:
          $ref: '#/components/schemas/Pagination'
    FormDataContentDisposition:
      type: object
      properties:
        type:
          type: string
        parameters:
          type: object
          additionalProperties:
            type: string
        fileName:
          type: string
        creationDate:
          type: string
          format: date-time
        modificationDate:
          type: string
          format: date-time
        readDate:
          type: string
          format: date-time
        size:
          type: integer
          format: int64
        name:
          type: string
    KeyValueForm:
      required:
      - key
      - value
      type: object
      properties:
        key:
          type: string
        value:
          type: string
    CompanyBasicInfoForm:
      required:
      - emailAddress
      - portalURL
      - primaryColor
      - secondaryColor
      type: object
      properties:
        portalURL:
          type: string
          description: Portal URL for the dotCMS instance
          example: http://localhost:8080
        emailAddress:
          type: string
          description: Company email address used as the system sender. Accepts plain email (e.g. 'admin@dotcms.com') or display name format (e.g. 'dotCMS Website <website@dotcms.com>'). The mx domain is derived from this value when mx is not provided.
          example: admin@dotcms.com
        mx:
          type: string
          description: Mail exchange domain (derived from emailAddress if not provided)
          example: dotcms.com
        primaryColor:
          type: string
          description: Primary branding color (hex)
          example: '#C336E5'
        secondaryColor:
          type: string
          description: Secondary branding color (hex)
          example: '#54428E'
        backgroundColor:
          type: string
          description: Background branding color (hex). Cleared if omitted.
          example: '#3C1361'
        backgroundImage:
          type: string
          description: Background image path (dotAsset path starting with /dA). Cleared if omitted.
          example: /dA/abc123/background.png
        loginScreenLogo:
          type: string
          description: Login screen logo path (dotAsset path starting with /dA). Cleared if omitted.
          example: /dA/abc123/logo.png
        navBarLogo:
          type: string
          description: Navigation bar logo path (dotAsset path starting with /dA, Enterprise only). Cleared if omitted.
          example: /dA/abc123/nav-logo.png
      description: Company basic information and branding settings
    ErrorEntity:
      type: object
      properties:
        errorCode:
          type: string
        message:
          type: string
        fieldName:
          type: string
    CompanyConfigView:
      required:
      - authType
      - companyId
      - companyName
      - emailAddress
      - mx
      - portalURL
      type: object
      properties:
        companyId:
          type: string
          description: Company identifier
          example: dotcms.org
        companyName:
          type: string
          description: Company display name
          example: dotcms.org
        portalURL:
          type: string
          description: Portal URL for the dotCMS instance
          example: http://localhost:8080
        emailAddress:
          type: string
          description: Company email address used as the system sender. May be a plain email or display name format (e.g. 'dotCMS Website <website@dotcms.com>')
          example: admin@dotcms.com
        mx:
          type: string
          description: Mail exchange domain for outgoing email
          example: dotcms.com
        primaryColor:
          type: string
          description: Primary branding color (hex)
          example: '#C336E5'
        secondaryColor:
          type: string
          description: Secondary branding color (hex)
          example: '#54428E'
        backgroundColor:
          type: string
          description: Background branding color (hex)
          example: '#3C1361'
        backgroundImage:
          type: string
          description: Background image path (dotAsset path starting with /dA)
          example: /dA/abc123/background.png
        loginScreenLogo:
          type: string
          description: Login screen logo path (dotAsset path starting with /dA)
          example: /dA/abc123/logo.png
        navBarLogo:
          type: string
          description: Navigation bar logo path (dotAsset path starting with /dA, Enterprise only)
          example: /dA/abc123/nav-logo.png
        authType:
          type: string
          description: 'Authentication type: ''emailAddress'' or ''userId'''
          example: emailAddress
          enum:
          - emailAddress
          - userId
        keyDigest:
          type: string
          description: SHA-256 digest of the company security key (read-only, admin only)
        languageId:
          type: string
          description: System default language as a Java locale string
          example: en_US
        timeZoneId:
          type: string
          description: System default timezone ID
          example: America/New_York
    ResponseEntityCompanyConfigView:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorEntity'
        entity:
          $ref: '#/components/schemas/CompanyConfigView'
        messages:
          type: array
          items:
            $ref: '#/components/schemas/MessageEntity'
        i18nMessagesMap:
          type: object
          additionalProperties:
            type: string
        permissions:
          type: array
          items:
            type: string
        pagination:
          $ref: '#/components/schemas/Pagination'
    CompanyAuthTypeForm:
      required:
      - authType
      type: object
      properties:
        authType:
          type: string
          description: 'Authentication type: ''emailAddress'' or ''userId'''
          example: emailAddress
          enum:
          - emailAddress
          - userId
          - emailAddress
          - userId
      description: Company authentication type setting