Zabbix Host Groups API

Host group management

OpenAPI Specification

zabbix-host-groups-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Zabbix Actions Host Groups API
  description: The Zabbix API is a JSON-RPC 2.0 HTTP API for programmatically retrieving and modifying the configuration of Zabbix and accessing historical monitoring data. The API is shipped as part of the Zabbix web frontend and accessible at /zabbix/api_jsonrpc.php.
  version: '7.0'
  contact:
    name: Zabbix Support
    url: https://www.zabbix.com/support
  license:
    name: GNU GPL v2
    url: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
  x-logo:
    url: https://www.zabbix.com/assets/img/logo/zabbix_logo.png
servers:
- url: https://{host}/zabbix/api_jsonrpc.php
  description: Zabbix Server JSON-RPC Endpoint
  variables:
    host:
      description: Your Zabbix server hostname
      default: localhost
tags:
- name: Host Groups
  description: Host group management
paths:
  /hostgroup.get:
    post:
      operationId: hostgroup-get
      summary: Get Host Groups
      description: Returns a list of host groups based on the given parameters.
      tags:
      - Host Groups
      security:
      - ApiToken: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
      responses:
        '200':
          description: List of host groups
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonRpcArrayResponse'
      x-rpc-method: hostgroup.get
  /hostgroup.create:
    post:
      operationId: hostgroup-create
      summary: Create Host Group
      description: Creates one or more new host groups in Zabbix.
      tags:
      - Host Groups
      security:
      - ApiToken: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
      responses:
        '200':
          description: Created host group IDs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JsonRpcIdsResponse'
      x-rpc-method: hostgroup.create
components:
  schemas:
    JsonRpcArrayResponse:
      type: object
      properties:
        jsonrpc:
          type: string
        id:
          type: integer
        result:
          type: array
          items:
            type: object
        error:
          $ref: '#/components/schemas/JsonRpcError'
    JsonRpcError:
      type: object
      properties:
        code:
          type: integer
          description: Error code
        message:
          type: string
          description: Short error description
        data:
          type: string
          description: Detailed error message
    JsonRpcIdsResponse:
      type: object
      properties:
        jsonrpc:
          type: string
        id:
          type: integer
        result:
          type: object
          properties:
            hostids:
              type: array
              items:
                type: string
            groupids:
              type: array
              items:
                type: string
            itemids:
              type: array
              items:
                type: string
            triggerids:
              type: array
              items:
                type: string
            eventids:
              type: array
              items:
                type: string
            actionids:
              type: array
              items:
                type: string
            userids:
              type: array
              items:
                type: string
        error:
          $ref: '#/components/schemas/JsonRpcError'
    JsonRpcRequest:
      type: object
      required:
      - jsonrpc
      - method
      - id
      properties:
        jsonrpc:
          type: string
          enum:
          - '2.0'
          description: JSON-RPC protocol version
        method:
          type: string
          description: The API method to call (e.g., host.get, user.login)
        params:
          oneOf:
          - type: object
          - type: array
          description: Method parameters
        id:
          type: integer
          description: Request identifier for correlating responses
        auth:
          type: string
          nullable: true
          description: Authentication token (deprecated in Zabbix 5.4+; use Authorization header)
  securitySchemes:
    ApiToken:
      type: apiKey
      in: header
      name: Authorization
      description: Zabbix API token obtained via user.login. Pass as "Bearer {token}" in the Authorization header (Zabbix 5.4+), or in the auth field of the JSON-RPC request body.