Nagios Submission API

Submit passive check results and external commands.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

nagios-submission-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Nagios XI REST Config Submission API
  description: 'Built-in REST API for Nagios XI, the commercial enterprise distribution of

    Nagios. The API is split into three sections: Objects (read-only backend for

    hosts, services, contacts, host groups, etc.), Config (admin-only writes for

    hosts and services), and System (admin-only commands such as apply

    configuration, scheduled downtime, status). Responses are returned as JSON

    when `pretty=1` or by default. Authentication uses a per-user Nagios XI API

    key passed via the `apikey` query parameter.

    '
  version: v1
  contact:
    name: Nagios Enterprises
    url: https://www.nagios.com/products/nagios-xi/
  license:
    name: Nagios XI Commercial License
    url: https://www.nagios.com/legal/agreements/
servers:
- url: https://{nagiosXiHost}/nagiosxi/api/v1
  description: Self-hosted Nagios XI instance
  variables:
    nagiosXiHost:
      default: nagios.example.com
      description: Hostname or IP address of the Nagios XI server
security:
- ApiKeyQuery: []
- ApiKeyHeader: []
tags:
- name: Submission
  description: Submit passive check results and external commands.
paths:
  /:
    post:
      tags:
      - Submission
      summary: Submit NRDP Payload
      description: 'Submit a `checkresults` payload (`cmd=submitcheck`) or a Nagios external

        command (`cmd=submitcmd`). The body can be `application/x-www-form-urlencoded`

        with an XML/JSON `XMLDATA`/`JSONDATA` field.

        '
      operationId: submitNrdp
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - token
              - cmd
              properties:
                token:
                  type: string
                  description: NRDP authentication token.
                cmd:
                  type: string
                  enum:
                  - submitcheck
                  - submitcmd
                XMLDATA:
                  type: string
                  description: 'XML payload, root `<checkresults>` containing one or more

                    `<checkresult type="host|service">` elements with

                    `<hostname>`, `<servicename>`, `<state>`, `<output>` children.

                    '
                JSONDATA:
                  type: string
                  description: 'JSON string equivalent of XMLDATA — e.g.

                    `{"checkresults":[{"checkresult":{"type":"service",...}}]}`.

                    '
                command:
                  type: string
                  description: External command string when `cmd=submitcmd`.
      responses:
        '200':
          description: Submission result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NrdpResponse'
components:
  schemas:
    NrdpResponse:
      type: object
      properties:
        status:
          type: integer
          description: 0 on success
          non-zero on error.: null
        message:
          type: string
        meta:
          type: object
          properties:
            output:
              type: string
  securitySchemes:
    ApiKeyQuery:
      type: apiKey
      in: query
      name: apikey
    ApiKeyHeader:
      type: apiKey
      in: header
      name: X-API-KEY