Weidmüller Time API

API for time settings and time state of u-OS

Operations 4

GET /time/config Get time configuration #
PUT /time/config Replace time configuration #
GET /time/state Get current time state #
GET /time/timezones List available timezones #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/weidmueller:weidmueller-time-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

weidmueller-time-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Weidmueller Time API
  version: 1.5.0-next
  contact:
    name: Weidmüller
  license:
    name: MIT
    identifier: MIT
  description: 'Operations tagged time across 2 of this provider''s published API definitions: administration-openapi.yaml, weidmueller-administration-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: /u-os-adm/api/v1
tags:
- name: Time
  description: API for time settings and time state of u-OS
paths:
  /time/config:
    get:
      tags:
      - Time
      summary: Get time configuration
      description: 'Returns the current time configuration including NTP servers and timezone.

        If `method` is `NTP` and `ntp_servers` is empty, the default fallback servers will be used for NTP synchronization

        (`time1.google.com`, `time2.google.com`, `time3.google.com`, `time4.google.com`).'
      operationId: get_time_config
      responses:
        '200':
          description: Current time configuration
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimeConfig'
        default:
          description: Common HTTP Error codes may be thrown by this method, such as 400, 401, 403, 404, 412, 422 or 500. See body for detailed error info.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpErrorPayload'
      security:
      - OAuth2:
        - u-os-adm.time.readonly
      - OAuth2:
        - u-os-adm.time.readwrite
    put:
      tags:
      - Time
      summary: Replace time configuration
      description: 'Changes take effect immediately:

        - The timezone is applied system-wide.

        - When `method` is `MANUAL`, the system clock is set immediately to the given `date_time`.

        - When `method` is `NTP`, and if `ntp_servers` is empty, the default fallback servers will be used for NTP synchronization

        (`time1.google.com`, `time2.google.com`, `time3.google.com`, `time4.google.com`).


        Available timezones can be queried via `GET /time/timezones`.'
      operationId: set_time_config
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TimeConfig'
        required: true
      responses:
        '200':
          description: Time configuration replaced successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimeConfig'
        default:
          description: Common HTTP Error codes may be thrown by this method, such as 400, 401, 403, 404, 412, 422 or 500. See body for detailed error info.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpErrorPayload'
      security:
      - OAuth2:
        - u-os-adm.time.readwrite
    servers:
    - url: /u-os-adm/api/v1
  /time/state:
    get:
      tags:
      - Time
      summary: Get current time state
      description: Returns the current time state of the system, including the current date and time.
      operationId: get_time_state
      responses:
        '200':
          description: Current time state
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TimeStateResponse'
        default:
          description: Common HTTP Error codes may be thrown by this method, such as 400, 401, 403, 404, 412, 422 or 500. See body for detailed error info.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpErrorPayload'
      security:
      - OAuth2:
        - u-os-adm.time.readonly
      - OAuth2:
        - u-os-adm.time.readwrite
    servers:
    - url: /u-os-adm/api/v1
  /time/timezones:
    get:
      tags:
      - Time
      summary: List available timezones
      description: Returns all supported IANA timezones with base and currently active seasonal offsets.
      operationId: list_timezones
      responses:
        '200':
          description: List of supported timezones
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTimezonesResponse'
        default:
          description: Common HTTP Error codes may be thrown by this method, such as 400, 401, 403, 404, 412, 422 or 500. See body for detailed error info.
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpErrorPayload'
      security:
      - OAuth2:
        - u-os-adm.time.readonly
      - OAuth2:
        - u-os-adm.time.readwrite
    servers:
    - url: /u-os-adm/api/v1
components:
  schemas:
    NtpRuntimeState:
      type: object
      required:
      - ntp_synchronized
      - link_ntp_servers
      - current_server
      properties:
        current_server:
          type: string
          description: 'The NTP server currently used for time synchronisation.

            The NTP servers are used in the following order if a server is unavailable: `link_servers` (DHCP) > configured servers > fallback server.

            If no server is currently being used for synchronisation, this entry is empty.'
        link_ntp_servers:
          type: array
          items:
            type: string
          description: 'NTP servers provided by network link configuration (DHCP).

            These are runtime-discovered servers and are independent from `ntp_servers` in `/time/config`.'
        ntp_synchronized:
          type: boolean
          description: Whether the system clock is currently synchronized via NTP.
    NtpSettings:
      type: object
      description: NTP-specific settings used when `method` is `NTP`.
      required:
      - method
      - ntp_servers
      properties:
        method:
          type: string
          enum:
          - NTP
        ntp_servers:
          type: array
          items:
            type: string
          description: 'Statically configured NTP server hostnames or IP addresses.

            This list can be empty when no static servers are configured.

            In that case default fallback servers will be used:

            `time1.google.com`, `time2.google.com`, `time3.google.com`, `time4.google.com`.'
          example:
          - pool.ntp.org
          - time.google.com
    ManualTimeSettings:
      type: object
      description: Manual time settings used when `method` is `MANUAL`.
      required:
      - method
      - date_time
      properties:
        date_time:
          type: string
          format: date-time
          description: RFC 3339 datetime string in UTC, e.g. `"2026-01-15T12:00:00Z"`.
          example: 2026-01-15 12:00:00+00:00
        method:
          type: string
          enum:
          - MANUAL
    HttpErrorPayload:
      type: object
      description: 'Common error payload structure for HTTP responses.


        Based on [RFC 9457](https://datatracker.ietf.org/doc/html/rfc9457)'
      required:
      - type
      - title
      - status
      properties:
        detail:
          type:
          - string
          - 'null'
          description: Optional details about the error
          example: 'Low Level OS Error #1234'
        instance:
          type:
          - string
          - 'null'
          format: uri-reference
          description: A human-readable explanation specific to this occurrence of the problem
          example: null
        status:
          type: integer
          format: int32
          description: The HTTP status code generated by the origin server for this occurrence of the problem
          example: 500
          maximum: 599
          minimum: 100
        title:
          type: string
          description: Human-readable error message.
          example: Something went wrong in the backend.
        type:
          type: string
          format: uri-reference
          description: 'A URI reference that identifies the problem type


            The last part of the URI is always a `ErrorId`'
          example: /u-os-adm/api/v1/errors/set-security-settings
    TimeConfig:
      type: object
      description: Time configuration for `GET /time/config` and `PUT /time/config`.
      required:
      - timezone
      - source
      properties:
        source:
          $ref: '#/components/schemas/TimeConfigSource'
        timezone:
          type: string
          description: 'IANA timezone name to apply to the system, e.g. `"Europe/Berlin"`.

            DST transitions are handled automatically based on the IANA rules for the given timezone.

            The full list of accepted values is available via `GET /time/timezones`.

            This timezone controls local time representation (including DST) used by the system and API responses.'
          example: Europe/Berlin
    TimeStateResponse:
      type: object
      required:
      - local_time
      properties:
        local_time:
          type: string
          format: date-time
          description: Current local time in the configured timezone, RFC 3339 formatted with UTC offset.
          example: 2026-01-15 12:00:00+02:00
        ntp:
          oneOf:
          - type: 'null'
          - $ref: '#/components/schemas/NtpRuntimeState'
            description: Runtime NTP status details (present only when NTP is configured).
      example:
        local_time: 2026-01-15 12:00:00+02:00
        ntp:
          current_server: time1.google.com
          link_ntp_servers:
          - time1.google.com
          - time2.google.com
          ntp_synchronized: true
    ListTimezonesResponse:
      type: object
      required:
      - items
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/TimezoneItem'
    TimezoneItem:
      type: object
      description: A single timezone entry with base and currently active seasonal offsets.
      required:
      - name
      - base_offset
      - actual_offset
      properties:
        actual_offset:
          type: integer
          format: int32
          description: 'Currently applicable UTC offset in minutes for this timezone.

            This is the offset that is used now and can differ from `base_offset` due to seasonal timezone rules.'
          example: 60
        base_offset:
          type: integer
          format: int32
          description: 'Standard UTC offset in minutes (without DST), e.g. `60` for UTC+01:00 or `-300` for UTC-05:00.

            This is the fixed base offset defined by the timezone rules.

            The currently used offset is returned in `actual_offset`.'
          example: 60
        name:
          type: string
          description: IANA timezone name, e.g. `"Europe/Berlin"`.
          example: Europe/Berlin
    TimeConfigSource:
      oneOf:
      - $ref: '#/components/schemas/NtpSettings'
      - $ref: '#/components/schemas/ManualTimeSettings'
      description: Discriminates between NTP and manual time synchronization methods.
      examples:
      - method: NTP
        ntp_servers:
        - pool.ntp.org
        - time.google.com
      discriminator:
        propertyName: method
        mapping:
          MANUAL: '#/components/schemas/ManualTimeSettings'
          NTP: '#/components/schemas/NtpSettings'
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: /oauth2/token
          scopes:
            u-os-adm.firewall.readonly: Read access for firewall endpoints
            u-os-adm.firewall.readwrite: Read and write access for firewall endpoints
            u-os-adm.logging.readonly: Read access for logging endpoints
            u-os-adm.network.readonly: Read access for network endpoints
            u-os-adm.network.readwrite: Read and write access for network endpoints
            u-os-adm.realtime.readonly: Read access for realtime endpoints
            u-os-adm.realtime.readwrite: Read and write access for realtime endpoints
            u-os-adm.recovery.readwrite: Read and write access for recovery endpoints
            u-os-adm.security.readonly: Read access for security endpoints
            u-os-adm.security.readwrite: Read and write access for security endpoints
            u-os-adm.serial-interfaces.readonly: Read access for serial interface configuration endpoints
            u-os-adm.serial-interfaces.readwrite: Read and write access for serial interface configuration endpoints
            u-os-adm.syslog.readonly: Read access for syslog endpoints
            u-os-adm.syslog.readwrite: Read and write access for syslog endpoints
            u-os-adm.system.readonly: Read access for system endpoints
            u-os-adm.system.readwrite: Read and write access for system endpoints
            u-os-adm.time.readonly: Read access for time settings endpoints
            u-os-adm.time.readwrite: Read and write access for time settings endpoints
            u-os-adm.update.readonly: Read access for update endpoints
            u-os-adm.update.readwrite: Read and write access for update endpoints
      description: The HTTP API uses the OAuth2 client credentials flow.
x-refined-from:
- administration-openapi.yaml
- weidmueller-administration-openapi.yml