systemd Resolution API

The Resolution API from systemd — 4 operation(s) for resolution.

Documentation

Specifications

Other Resources

OpenAPI Specification

systemd-resolution-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: systemd-hostnamed (org.freedesktop.hostname1) Boot Resolution API
  version: '1.0'
  summary: D-Bus API of systemd-hostnamed modeled as REST operations.
  description: 'Documentation/contract artifact for the `org.freedesktop.hostname1` D-Bus interface on the

    system bus. Manages the system hostname (static, transient, pretty), chassis type, deployment,

    location, icon name, and other machine info.

    '
  license:
    name: LGPL-2.1-or-later
    url: https://github.com/systemd/systemd/blob/main/LICENSES/LGPL-2.1-or-later.txt
servers:
- url: dbus://system/org.freedesktop.hostname1
tags:
- name: Resolution
paths:
  /resolve/hostname:
    post:
      tags:
      - Resolution
      operationId: ResolveHostname
      summary: Resolve A Hostname To Addresses
      description: Mirrors `ResolveHostname(ifindex, name, family, flags)`.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              properties:
                ifindex:
                  type: integer
                  default: 0
                name:
                  type: string
                family:
                  type: integer
                  description: AF_UNSPEC=0, AF_INET=2, AF_INET6=10
                  default: 0
                flags:
                  type: integer
                  default: 0
      responses:
        '200':
          description: Resolved addresses.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressList'
  /resolve/address:
    post:
      tags:
      - Resolution
      operationId: ResolveAddress
      summary: Resolve An Address To Hostnames
      description: Mirrors `ResolveAddress(ifindex, family, address, flags)`.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - family
              - address
              properties:
                ifindex:
                  type: integer
                  default: 0
                family:
                  type: integer
                address:
                  type: array
                  items:
                    type: integer
                flags:
                  type: integer
                  default: 0
      responses:
        '200':
          description: Resolved names.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    ifindex:
                      type: integer
                    name:
                      type: string
  /resolve/record:
    post:
      tags:
      - Resolution
      operationId: ResolveRecord
      summary: Resolve A Generic DNS Resource Record
      description: Mirrors `ResolveRecord(ifindex, name, class, type, flags)`.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              - class
              - type
              properties:
                ifindex:
                  type: integer
                  default: 0
                name:
                  type: string
                class:
                  type: integer
                  description: DNS class (1=IN).
                type:
                  type: integer
                  description: DNS RR type (1=A
                  28=AAAA: null
                  5=CNAME: null
                  16=TXT: null
                  33=SRV: null
                  '...).': null
                flags:
                  type: integer
                  default: 0
      responses:
        '200':
          description: Array of raw RRs.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
  /resolve/service:
    post:
      tags:
      - Resolution
      operationId: ResolveService
      summary: Resolve A DNS-SD/SRV Service
      description: Mirrors `ResolveService(ifindex, name, type, domain, family, flags)`.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                ifindex:
                  type: integer
                  default: 0
                name:
                  type: string
                type:
                  type: string
                domain:
                  type: string
                family:
                  type: integer
                  default: 0
                flags:
                  type: integer
                  default: 0
      responses:
        '200':
          description: Service records with TXT data.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
components:
  schemas:
    AddressList:
      type: array
      items:
        type: object
        properties:
          ifindex:
            type: integer
          family:
            type: integer
          address:
            type: array
            items:
              type: integer