Constructors

Methods

  • Substitutes site placeholder in URL

    Parameters

    • url: string
    • site: string = 'default'

    Returns string

  • Makes a request with site substitution and UniFi OS fallback

    Type Parameters

    • T

    Parameters

    • config: any
    • site: string = 'default'

    Returns Promise<T>

  • Custom API request

    Allows making custom API requests to any UniFi Controller endpoint. This is useful for accessing endpoints that may not have dedicated methods or for testing new API functionality.

    Parameters

    • path: string

      Required API path (must start with '/')

    • method: "GET" | "DELETE" | "POST" | "PUT" | "PATCH" = 'GET'

      HTTP method (default: 'GET')

    • Optional payload: any

      Request payload for POST/PUT/PATCH requests

    • returnType: "boolean" | "array" = 'array'

      Expected return type format (default: 'array')

    • site: string = 'default'

      Site identifier (default: 'default')

    • Optional options: {
          signal?: AbortSignal;
      }

      Optional request configuration

      • Optional signal?: AbortSignal

        Optional AbortSignal to cancel the request

    Returns Promise<any>

    Promise resolving to the API response

    Throws

    When path doesn't start with '/'

    Throws

    When the API request fails

    Example

    // GET request
    const result = await utilityAPI.custom_api_request('/api/s/default/stat/device');

    // POST request with payload
    const result = await utilityAPI.custom_api_request(
    '/api/s/default/cmd/stamgr',
    'POST',
    { cmd: 'authorize-guest', mac: 'aa:bb:cc:dd:ee:ff', minutes: 60 }
    );

    // Custom endpoint with boolean return
    const success = await utilityAPI.custom_api_request(
    '/api/s/default/cmd/devmgr',
    'POST',
    { cmd: 'restart', mac: 'aa:bb:cc:dd:ee:ff' },
    'boolean'
    );

    See

    UniFiClient.customApiRequest for the main client wrapper

    PHP: custom_api_request($path, $method = 'GET', $payload = null, $return = 'array')