Dell OpenManage Enterprise API

REST API for centralized management of Dell EMC servers, chassis, and storage. OpenManage Enterprise provides a comprehensive console for discovery, inventory, monitoring, alerting, jobs, configuration templates, firmware compliance baselines, and reporting across Dell PowerEdge infrastructure at scale.

OpenAPI Specification

dell-servers-openmanage-enterprise-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Dell Servers Dell OpenManage Enterprise API
  description: >-
    RESTful API for centralized management of Dell EMC servers, chassis, and
    storage through the OpenManage Enterprise console. Provides discovery,
    inventory, monitoring, alerting, firmware updates, configuration compliance,
    and lifecycle management of Dell PowerEdge infrastructure at scale. The API
    delivers JSON responses over HTTPS and follows OData v4 conventions.
  version: '4.0'
  contact:
    name: Dell Technologies Support
    url: https://www.dell.com/support
  termsOfService: https://i.dell.com/sites/csdocuments/Legal_Docs/en/us/api-terms-of-use_en.pdf
externalDocs:
  description: OpenManage Enterprise RESTful API Guide
  url: https://www.dell.com/support/manuals/en-us/dell-openmanage-enterprise/ome_p_api_guide/overview?guid=guid-fc1c0585-795c-41fe-9957-977678be554f&lang=en-us
servers:
  - url: https://{ome-server}/api
    description: OpenManage Enterprise API Server
    variables:
      ome-server:
        description: Hostname or IP address of the OpenManage Enterprise appliance
        default: ome-server.example.com
tags:
  - name: Alerts
    description: Alert monitoring, acknowledgment, and management
  - name: Application Settings
    description: Console configuration including network, time, and proxy settings
  - name: Configuration
    description: Server configuration templates and compliance baselines
  - name: Devices
    description: Device inventory, status, and hardware details for managed servers
  - name: Discovery
    description: Network discovery configuration and job management
  - name: Firmware
    description: Firmware catalog management, compliance, and update operations
  - name: Groups
    description: Device group management for organizing servers and infrastructure
  - name: Jobs
    description: Job creation, scheduling, and status tracking
  - name: Reports
    description: Report definitions and execution
  - name: Sessions
    description: Authentication and session management
security:
  - sessionAuth: []
paths:
  /SessionService/Sessions:
    post:
      operationId: createSession
      summary: Dell Servers Create an authentication session
      description: >-
        Authenticates with the OpenManage Enterprise console using username and
        password credentials. Returns a session token in the X-Auth-Token
        response header that must be included in all subsequent API requests.
      tags:
        - Sessions
      security: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - UserName
                - Password
                - SessionType
              properties:
                UserName:
                  type: string
                  description: OME console username
                Password:
                  type: string
                  description: OME console password
                SessionType:
                  type: string
                  description: Type of session to create
                  enum:
                    - API
      responses:
        '201':
          description: Session created successfully
          headers:
            X-Auth-Token:
              description: Session authentication token for subsequent requests
              schema:
                type: string
        '401':
          description: Authentication failed - invalid credentials
  /DeviceService/Devices:
    get:
      operationId: listDevices
      summary: Dell Servers List managed devices
      description: >-
        Retrieves the collection of devices managed by OpenManage Enterprise
        including servers, chassis, storage, and network devices. Supports
        OData query parameters for filtering, sorting, and pagination.
      tags:
        - Devices
      parameters:
        - name: $top
          in: query
          description: Maximum number of devices to return
          schema:
            type: integer
            default: 25
        - name: $skip
          in: query
          description: Number of devices to skip for pagination
          schema:
            type: integer
            default: 0
        - name: $filter
          in: query
          description: >-
            OData filter expression to narrow results. Common filters include
            Type eq 1000 for servers, Type eq 2000 for chassis.
          schema:
            type: string
        - name: $orderby
          in: query
          description: Property name to sort results by
          schema:
            type: string
      responses:
        '200':
          description: Collection of managed devices
          content:
            application/json:
              schema:
                type: object
                properties:
                  '@odata.count':
                    type: integer
                    description: Total number of matching devices
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/Device'
        '401':
          description: Unauthorized - invalid or expired session token
  /DeviceService/Devices({DeviceId}):
    get:
      operationId: getDevice
      summary: Dell Servers Get a managed device
      description: >-
        Retrieves detailed information about a specific managed device including
        hardware inventory, connection status, health, firmware versions, and
        assigned groups.
      tags:
        - Devices
      parameters:
        - $ref: '#/components/parameters/DeviceId'
      responses:
        '200':
          description: Device details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Device'
        '401':
          description: Unauthorized - invalid or expired session token
        '404':
          description: Device not found
  /DeviceService/Devices({DeviceId})/InventoryDetails:
    get:
      operationId: getDeviceInventory
      summary: Dell Servers Get device inventory details
      description: >-
        Retrieves the detailed hardware inventory for a specific device including
        processor, memory, storage, network adapter, firmware, and software
        inventory components.
      tags:
        - Devices
      parameters:
        - $ref: '#/components/parameters/DeviceId'
      responses:
        '200':
          description: Device inventory details
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/InventoryDetail'
        '401':
          description: Unauthorized - invalid or expired session token
        '404':
          description: Device not found
  /GroupService/Groups:
    get:
      operationId: listGroups
      summary: Dell Servers List device groups
      description: >-
        Retrieves the collection of device groups configured in OpenManage
        Enterprise, including built-in system groups and user-created custom
        groups. Groups are used to organize devices for monitoring, reporting,
        and applying policies.
      tags:
        - Groups
      parameters:
        - name: $filter
          in: query
          description: OData filter expression to narrow results
          schema:
            type: string
      responses:
        '200':
          description: Collection of device groups
          content:
            application/json:
              schema:
                type: object
                properties:
                  '@odata.count':
                    type: integer
                    description: Total number of groups
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/Group'
        '401':
          description: Unauthorized - invalid or expired session token
  /GroupService/Groups({GroupId})/Devices:
    get:
      operationId: listGroupDevices
      summary: Dell Servers List devices in a group
      description: >-
        Retrieves the collection of devices that are members of the specified
        group. Supports OData query parameters for filtering and pagination.
      tags:
        - Groups
      parameters:
        - $ref: '#/components/parameters/GroupId'
      responses:
        '200':
          description: Collection of devices in the group
          content:
            application/json:
              schema:
                type: object
                properties:
                  '@odata.count':
                    type: integer
                    description: Total devices in group
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/Device'
        '401':
          description: Unauthorized - invalid or expired session token
        '404':
          description: Group not found
  /DiscoveryConfigService/DiscoveryConfigGroups:
    get:
      operationId: listDiscoveryConfigs
      summary: Dell Servers List discovery configurations
      description: >-
        Retrieves the collection of discovery configuration groups that define
        target ranges, protocols, and credentials used for device discovery.
      tags:
        - Discovery
      responses:
        '200':
          description: Collection of discovery configurations
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/DiscoveryConfigGroup'
        '401':
          description: Unauthorized - invalid or expired session token
    post:
      operationId: createDiscoveryConfig
      summary: Dell Servers Create a discovery configuration
      description: >-
        Creates a new discovery configuration group that defines network ranges,
        protocols, and credentials for discovering devices. When executed, the
        discovery job scans the specified ranges and adds discovered devices to
        the managed inventory.
      tags:
        - Discovery
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DiscoveryConfigGroup'
      responses:
        '201':
          description: Discovery configuration created
        '400':
          description: Invalid discovery configuration parameters
        '401':
          description: Unauthorized - invalid or expired session token
  /DiscoveryConfigService/Jobs:
    get:
      operationId: listDiscoveryJobs
      summary: Dell Servers List discovery jobs
      description: >-
        Retrieves the collection of discovery job instances showing status,
        progress, and results for discovery operations.
      tags:
        - Discovery
      responses:
        '200':
          description: Collection of discovery jobs
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/Job'
        '401':
          description: Unauthorized - invalid or expired session token
  /AlertService/Alerts:
    get:
      operationId: listAlerts
      summary: Dell Servers List alerts
      description: >-
        Retrieves the collection of alerts generated by managed devices. Alerts
        include hardware faults, threshold violations, configuration changes,
        and audit events. Supports OData filtering and pagination.
      tags:
        - Alerts
      parameters:
        - name: $top
          in: query
          description: Maximum number of alerts to return
          schema:
            type: integer
            default: 25
        - name: $skip
          in: query
          description: Number of alerts to skip for pagination
          schema:
            type: integer
            default: 0
        - name: $filter
          in: query
          description: OData filter expression for alert criteria
          schema:
            type: string
        - name: $orderby
          in: query
          description: Property name to sort results by
          schema:
            type: string
      responses:
        '200':
          description: Collection of alerts
          content:
            application/json:
              schema:
                type: object
                properties:
                  '@odata.count':
                    type: integer
                    description: Total number of matching alerts
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/Alert'
        '401':
          description: Unauthorized - invalid or expired session token
  /AlertService/Alerts({AlertId}):
    get:
      operationId: getAlert
      summary: Dell Servers Get an alert
      description: >-
        Retrieves detailed information about a specific alert including the
        source device, severity, category, message, and recommended actions.
      tags:
        - Alerts
      parameters:
        - $ref: '#/components/parameters/AlertId'
      responses:
        '200':
          description: Alert details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Alert'
        '401':
          description: Unauthorized - invalid or expired session token
        '404':
          description: Alert not found
  /JobService/Jobs:
    get:
      operationId: listJobs
      summary: Dell Servers List jobs
      description: >-
        Retrieves the collection of jobs in OpenManage Enterprise including
        discovery, firmware update, configuration, and report jobs. Supports
        OData filtering by job type and status.
      tags:
        - Jobs
      parameters:
        - name: $filter
          in: query
          description: OData filter expression for job criteria
          schema:
            type: string
      responses:
        '200':
          description: Collection of jobs
          content:
            application/json:
              schema:
                type: object
                properties:
                  '@odata.count':
                    type: integer
                    description: Total number of matching jobs
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/Job'
        '401':
          description: Unauthorized - invalid or expired session token
    post:
      operationId: createJob
      summary: Dell Servers Create a job
      description: >-
        Creates a new job for executing operations such as firmware updates,
        configuration deployment, or inventory refresh on targeted devices.
      tags:
        - Jobs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JobRequest'
      responses:
        '201':
          description: Job created successfully
        '400':
          description: Invalid job parameters
        '401':
          description: Unauthorized - invalid or expired session token
  /JobService/Jobs({JobId}):
    get:
      operationId: getJob
      summary: Dell Servers Get a job
      description: >-
        Retrieves the status and details of a specific job including progress
        percentage, execution history, and any error messages.
      tags:
        - Jobs
      parameters:
        - $ref: '#/components/parameters/JobId'
      responses:
        '200':
          description: Job details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Job'
        '401':
          description: Unauthorized - invalid or expired session token
        '404':
          description: Job not found
  /UpdateService/Catalogs:
    get:
      operationId: listFirmwareCatalogs
      summary: Dell Servers List firmware catalogs
      description: >-
        Retrieves the collection of firmware catalogs registered in OpenManage
        Enterprise. Catalogs contain firmware packages from Dell support sites
        or custom repositories used for compliance checking and updates.
      tags:
        - Firmware
      responses:
        '200':
          description: Collection of firmware catalogs
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/FirmwareCatalog'
        '401':
          description: Unauthorized - invalid or expired session token
  /UpdateService/Actions/UpdateService.GetBaselines:
    post:
      operationId: getFirmwareBaselines
      summary: Dell Servers Get firmware compliance baselines
      description: >-
        Retrieves firmware compliance baselines that define the expected firmware
        versions for devices. Baselines are used to check device compliance and
        identify devices needing firmware updates.
      tags:
        - Firmware
      responses:
        '200':
          description: Firmware compliance baselines
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/FirmwareBaseline'
        '401':
          description: Unauthorized - invalid or expired session token
  /TemplateService/Templates:
    get:
      operationId: listConfigurationTemplates
      summary: Dell Servers List configuration templates
      description: >-
        Retrieves the collection of server configuration templates that define
        desired BIOS, RAID, network, and iDRAC settings. Templates can be
        deployed to one or more servers for consistent configuration.
      tags:
        - Configuration
      responses:
        '200':
          description: Collection of configuration templates
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/ConfigTemplate'
        '401':
          description: Unauthorized - invalid or expired session token
  /ReportService/ReportDefs:
    get:
      operationId: listReportDefinitions
      summary: Dell Servers List report definitions
      description: >-
        Retrieves the collection of report definitions available in OpenManage
        Enterprise. Report definitions specify the query criteria, columns, and
        filters for generating reports on managed devices.
      tags:
        - Reports
      responses:
        '200':
          description: Collection of report definitions
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/ReportDefinition'
        '401':
          description: Unauthorized - invalid or expired session token
  /ApplicationService/Network:
    get:
      operationId: getNetworkConfiguration
      summary: Dell Servers Get appliance network configuration
      description: >-
        Retrieves the network configuration of the OpenManage Enterprise
        appliance including IP address, subnet mask, gateway, DNS, and NTP
        settings.
      tags:
        - Application Settings
      responses:
        '200':
          description: Network configuration details
          content:
            application/json:
              schema:
                type: object
                description: Appliance network configuration
        '401':
          description: Unauthorized - invalid or expired session token
components:
  securitySchemes:
    sessionAuth:
      type: apiKey
      in: header
      name: X-Auth-Token
      description: >-
        Session token obtained from the POST /SessionService/Sessions endpoint.
        Must be included in the X-Auth-Token header of all authenticated
        requests.
  parameters:
    DeviceId:
      name: DeviceId
      in: path
      required: true
      description: Unique identifier for a managed device
      schema:
        type: integer
    GroupId:
      name: GroupId
      in: path
      required: true
      description: Unique identifier for a device group
      schema:
        type: integer
    AlertId:
      name: AlertId
      in: path
      required: true
      description: Unique identifier for an alert
      schema:
        type: integer
    JobId:
      name: JobId
      in: path
      required: true
      description: Unique identifier for a job
      schema:
        type: integer
  schemas:
    Device:
      type: object
      description: A managed device in OpenManage Enterprise
      properties:
        Id:
          type: integer
          description: Unique device identifier
        Type:
          type: integer
          description: >-
            Device type code. Common values are 1000 for servers, 2000 for
            chassis, 3000 for storage, and 4000 for network devices.
        Identifier:
          type: string
          description: Device service tag or serial number
        DeviceServiceTag:
          type: string
          description: Dell service tag for the device
        ChassisServiceTag:
          type: string
          description: Service tag of the chassis containing this device
        Model:
          type: string
          description: Device model name
        DeviceName:
          type: string
          description: User-assigned or auto-discovered device name
        IpAddress:
          type: string
          description: Management IP address of the device
        ManagedState:
          type: integer
          description: >-
            Device management state. 3000 indicates managed, 5000 indicates
            monitored.
        Status:
          type: integer
          description: >-
            Device health status code. 1000 is normal, 2000 is unknown,
            3000 is warning, 4000 is critical, 5000 is informational.
        ConnectionState:
          type: boolean
          description: Whether the device is currently reachable
        PowerState:
          type: integer
          description: >-
            Power state code. 17 is powered on, 18 is powered off,
            20 is power cycling.
        FirmwareVersion:
          type: string
          description: Primary firmware version
        LastInventoryTime:
          type: string
          format: date-time
          description: Timestamp of the last inventory collection
        LastStatusTime:
          type: string
          format: date-time
          description: Timestamp of the last status check
    InventoryDetail:
      type: object
      description: Hardware inventory component details
      properties:
        InventoryType:
          type: string
          description: >-
            Type of inventory component such as cpuInformation, memoryInformation,
            storageInformation, nicInformation, or firmwareInformation
        InventoryInfo:
          type: array
          description: Array of inventory items for this component type
          items:
            type: object
            additionalProperties: true
    Group:
      type: object
      description: A device group for organizing managed infrastructure
      properties:
        Id:
          type: integer
          description: Unique group identifier
        Name:
          type: string
          description: Group name
        Description:
          type: string
          description: Group description
        MembershipTypeId:
          type: integer
          description: >-
            Group membership type. 12 is static, 24 is dynamic query-based.
        ParentId:
          type: integer
          description: Parent group identifier for nested groups
        CreatedBy:
          type: string
          description: User who created the group
        CreationTime:
          type: string
          format: date-time
          description: Timestamp when the group was created
        DefinitionId:
          type: integer
          description: Group definition identifier
        Visible:
          type: boolean
          description: Whether the group is visible in the UI
    DiscoveryConfigGroup:
      type: object
      description: Discovery configuration group defining targets and credentials
      properties:
        DiscoveryConfigGroupId:
          type: integer
          description: Unique discovery configuration identifier
        DiscoveryConfigGroupName:
          type: string
          description: Name of the discovery configuration
        DiscoveryConfigModels:
          type: array
          description: Array of discovery targets with protocol settings
          items:
            type: object
            properties:
              DiscoveryConfigTargets:
                type: array
                description: Target IP ranges or hostnames
                items:
                  type: object
                  properties:
                    NetworkAddressDetail:
                      type: string
                      description: IP address, range, or CIDR notation
              ConnectionProfileId:
                type: integer
                description: Connection profile with credentials
              DeviceType:
                type: array
                description: Device types to discover
                items:
                  type: integer
        Schedule:
          type: object
          description: Discovery schedule configuration
          properties:
            RunNow:
              type: boolean
              description: Execute discovery immediately
            Cron:
              type: string
              description: Cron expression for recurring discovery
    Alert:
      type: object
      description: An alert generated by a managed device
      properties:
        Id:
          type: integer
          description: Unique alert identifier
        AlertDeviceId:
          type: integer
          description: Device that generated the alert
        AlertDeviceName:
          type: string
          description: Name of the device that generated the alert
        AlertDeviceIpAddress:
          type: string
          description: IP address of the device
        SeverityType:
          type: integer
          description: >-
            Alert severity code. 1 is informational, 2 is normal,
            4 is warning, 8 is critical, 16 is unknown.
        StatusType:
          type: integer
          description: >-
            Alert acknowledgment status. 1000 is new, 2000 is acknowledged.
        CategoryName:
          type: string
          description: Alert category name
        SubCategoryName:
          type: string
          description: Alert subcategory name
        Message:
          type: string
          description: Alert message text
        TimeStamp:
          type: string
          format: date-time
          description: Timestamp when the alert was generated
        RecommendedAction:
          type: string
          description: Recommended action to resolve the alert
    Job:
      type: object
      description: An asynchronous job in OpenManage Enterprise
      properties:
        Id:
          type: integer
          description: Unique job identifier
        JobName:
          type: string
          description: Job name
        JobDescription:
          type: string
          description: Job description
        JobType:
          type: object
          description: Job type information
          properties:
            Id:
              type: integer
              description: Job type identifier
            Name:
              type: string
              description: Job type name
        LastRunStatus:
          type: object
          description: Status of the last job execution
          properties:
            Id:
              type: integer
              description: Status code
            Name:
              type: string
              description: Status description
        JobStatus:
          type: object
          description: Current job status
          properties:
            Id:
              type: integer
              description: Status code
            Name:
              type: string
              description: Status description
        PercentComplete:
          type: integer
          description: Job completion percentage
          minimum: 0
          maximum: 100
        StartTime:
          type: string
          format: date-time
          description: Job start timestamp
        EndTime:
          type: string
          format: date-time
          description: Job completion timestamp
    JobRequest:
      type: object
      description: Request body for creating a new job
      required:
        - JobName
        - JobDescription
        - Targets
      properties:
        JobName:
          type: string
          description: Name for the new job
        JobDescription:
          type: string
          description: Description of the job
        Schedule:
          type: string
          description: Cron expression for scheduling or RunNow
        Targets:
          type: array
          description: Target devices or groups for the job
          items:
            type: object
            properties:
              Id:
                type: integer
                description: Target device or group identifier
              Data:
                type: string
                description: Additional target data
              TargetType:
                type: object
                properties:
                  Id:
                    type: integer
                    description: Target type identifier
                  Name:
                    type: string
                    description: Target type name
    FirmwareCatalog:
      type: object
      description: A firmware catalog for compliance and updates
      properties:
        Id:
          type: integer
          description: Unique catalog identifier
        Filename:
          type: string
          description: Catalog filename
        SourcePath:
          type: string
          description: Source location of the catalog
        Repository:
          type: object
          description: Repository details
          properties:
            Name:
              type: string
              description: Repository name
            RepositoryType:
              type: string
              description: Repository type
        Status:
          type: string
          description: Catalog status
        TaskId:
          type: integer
          description: Associated task identifier
    FirmwareBaseline:
      type: object
      description: A firmware compliance baseline
      properties:
        Id:
          type: integer
          description: Unique baseline identifier
        Name:
          type: string
          description: Baseline name
        Description:
          type: string
          description: Baseline description
        CatalogId:
          type: integer
          description: Associated firmware catalog identifier
        ComplianceSummary:
          type: object
          description: Summary of compliance status
          properties:
            ComplianceStatus:
              type: string
              description: Overall compliance status
            NumberOfCritical:
              type: integer
              description: Number of critical non-compliant components
            NumberOfWarning:
              type: integer
              description: Number of warning non-compliant components
            NumberOfNormal:
              type: integer
              description: Number of compliant components
    ConfigTemplate:
      type: object
      description: A server con

# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/dell-servers/refs/heads/main/openapi/dell-servers-openmanage-enterprise-openapi.yml