openapi: 3.2.0 info: title: dotCMS REST Administration API version: '3' description: System administration and management tools servers: - url: / description: dotCMS Server tags: - name: Administration description: System administration and management tools paths: /api/restexample/layout/{params}: get: tags: - Administration operationId: getLayout_2 parameters: - name: params in: path required: true schema: pattern: .* type: string responses: default: description: default response content: text/html: {} summary: Get layout 2 x-summary-source: derived /api/restexample/test/{params}: get: tags: - Administration operationId: loadJson parameters: - name: params in: path required: true schema: pattern: .* type: string responses: default: description: default response content: application/json: {} summary: Load json x-summary-source: derived /api/util/encodeQueryParamValue/{params}: get: tags: - Administration operationId: getLoggedInUser parameters: - name: params in: path required: true schema: pattern: .* type: string responses: default: description: default response content: application/json: {} summary: Get logged in user x-summary-source: derived /api/ws/v1/system/events: get: tags: - Administration operationId: getEvents parameters: - name: lastcallback in: query schema: type: integer format: int64 responses: default: description: default response content: application/json: {} application/javascript: {} summary: Get events x-summary-source: derived /api/ws/v1/system/syncevents: get: tags: - Administration operationId: getSyncEvents parameters: - name: lastcallback in: query schema: type: integer format: int64 responses: default: description: default response content: application/json: {} application/javascript: {} summary: Get sync events x-summary-source: derived /api/v1/jvm: get: tags: - Administration operationId: getJvmInfo responses: default: description: default response content: application/octet-stream: {} application/json: {} summary: Get jvm info x-summary-source: derived /api/v1/toolgroups/{layoutId}/_addtouser: put: tags: - Administration operationId: addToolGroupToUser parameters: - name: layoutId in: path required: true schema: type: string - name: userid in: query schema: type: string responses: default: description: default response content: application/json: {} application/javascript: {} summary: Add tool group to user x-summary-source: derived /api/v1/toolgroups/{layoutId}/_removefromuser: put: tags: - Administration operationId: deleteToolGroupFromUser parameters: - name: layoutId in: path required: true schema: type: string - name: userid in: query schema: type: string responses: default: description: default response content: application/json: {} application/javascript: {} summary: Delete tool group from user x-summary-source: derived /api/v1/toolgroups/{layoutId}/_userHasLayout: get: tags: - Administration operationId: userHasLayout parameters: - name: layoutId in: path required: true schema: type: string - name: userid in: query schema: type: string responses: default: description: default response content: application/json: {} application/javascript: {} summary: User has layout x-summary-source: derived /api/v1/telemetry/stats: get: tags: - Administration summary: Retrieves dotCMS usage data description: Collects telemetry metrics based on the specified profile. Defaults to FULL profile to return all available metrics. Use MINIMAL profile for dashboard (faster, ~10 metrics) or FULL for complete data (~100+ metrics). Set bypassCache=true to force fresh metric computation bypassing cache. operationId: getData parameters: - name: metricNames in: query description: Comma-separated list of specific metric names to retrieve. If not specified, all metrics matching the profile will be returned. schema: type: string - name: profile in: query description: 'Profile type to use for metric collection. Options: MINIMAL (10-15 core metrics, <5s), STANDARD (~50 metrics, <15s), FULL (all 100+ metrics). Defaults to FULL for API access.' schema: type: string - name: bypassCache in: query description: Bypass cache to force fresh metric computation. Use for diagnostics to see actual database query times. Defaults to false (use cache if available). schema: type: boolean default: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/ResponseEntityMetricsSnapshotView' components: schemas: Pagination: type: object properties: currentPage: type: integer format: int32 perPage: type: integer format: int32 totalEntries: type: integer format: int64 MetricTiming: type: object properties: metricName: type: string durationMs: type: integer format: int64 cacheHit: type: boolean computationMs: type: integer format: int64 timedOut: type: boolean slow: type: boolean MessageEntity: type: object properties: message: type: string ResponseEntityMetricsSnapshotView: type: object properties: errors: type: array items: $ref: '#/components/schemas/ErrorEntity' entity: $ref: '#/components/schemas/MetricsSnapshot' 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' MetricCalculationError: type: object properties: name: type: string description: type: string category: type: string enum: - DIFFERENTIATING_FEATURES - PAID_FEATURES - PLATFORM_SPECIFIC_CUSTOMIZATION - SOPHISTICATED_CONTENT_ARCHITECTURE - POSITIVE_USER_EXPERIENCE - PLATFORM_SPECIFIC_DEVELOPMENT - RECENT_ACTIVITY - HISTORY_LEGACY_DEPRECATED_FEATURES feature: type: string enum: - CONTENTLETS - LANGUAGES - CONTENT_TYPES - SITES - URL_MAPS - WORKFLOW - USERS - SITE_SEARCH - IMAGE_API - LAYOUT - CONTENT_TYPE_FIELDS - AI - EXPERIMENTS error: type: string type: $ref: '#/components/schemas/Metric' MetricsSnapshot: type: object properties: stats: type: array items: $ref: '#/components/schemas/MetricValue' errors: type: array items: $ref: '#/components/schemas/MetricCalculationError' timings: type: array items: $ref: '#/components/schemas/MetricTiming' notNumericMetricValues: type: array items: $ref: '#/components/schemas/MetricValue' Metric: type: object properties: name: type: string description: type: string category: type: string enum: - DIFFERENTIATING_FEATURES - PAID_FEATURES - PLATFORM_SPECIFIC_CUSTOMIZATION - SOPHISTICATED_CONTENT_ARCHITECTURE - POSITIVE_USER_EXPERIENCE - PLATFORM_SPECIFIC_DEVELOPMENT - RECENT_ACTIVITY - HISTORY_LEGACY_DEPRECATED_FEATURES feature: type: string enum: - CONTENTLETS - LANGUAGES - CONTENT_TYPES - SITES - URL_MAPS - WORKFLOW - USERS - SITE_SEARCH - IMAGE_API - LAYOUT - CONTENT_TYPE_FIELDS - AI - EXPERIMENTS MetricValue: type: object properties: name: type: string description: type: string category: type: string enum: - DIFFERENTIATING_FEATURES - PAID_FEATURES - PLATFORM_SPECIFIC_CUSTOMIZATION - SOPHISTICATED_CONTENT_ARCHITECTURE - POSITIVE_USER_EXPERIENCE - PLATFORM_SPECIFIC_DEVELOPMENT - RECENT_ACTIVITY - HISTORY_LEGACY_DEPRECATED_FEATURES feature: type: string enum: - CONTENTLETS - LANGUAGES - CONTENT_TYPES - SITES - URL_MAPS - WORKFLOW - USERS - SITE_SEARCH - IMAGE_API - LAYOUT - CONTENT_TYPE_FIELDS - AI - EXPERIMENTS value: type: object ErrorEntity: type: object properties: errorCode: type: string message: type: string fieldName: type: string