Skip to content

Probe a CPE device by MAC address. Runs ICMP ping, reverse DNS lookup, OUI manufacturer lookup, and nmap OS/service scan concurrently. Looks up the device's last known IP from DHCP event history

POST
/api/devices/{mac}/probe

Auto-generated from server.go. Handler: s.diagnosticsHandler.ProbeDevice.

mac
required
string
/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/
Example
aa:bb:cc:dd:ee:ff

Full MAC address with colon or hyphen separators.

Optional ICMP / probe parameters. All fields are optional; omitted values fall back to the ProbeManager defaults (3 pings, 64-byte payload, OS default TTL, 2-second per-ping timeout, IPv4 protocol).

object
ping_count

Number of ICMP pings to send (default 3).

integer
ping_size

ICMP payload size in bytes (default 64).

integer
ping_ttl

ICMP TTL; 0 means “OS default”.

integer
ping_timeout_ms

Timeout per ping in milliseconds (default 2000).

integer
protocol_version

Ipv4 or ipv6 (default ipv4).

string

Successful response

Aggregate result of an on-demand device probe. Combines ICMP ping results, reverse DNS, OUI manufacturer lookup, and an nmap OS/service scan. Mirrors diagnostics.ProbeResult (internal/diagnostics/types.go).

Hand-lifted in Session 9 (no prior schema existed).

object
timestamp
required
string format: date-time
device_mac
required
string
target_ip
required
string
ping_alive
required
boolean
ping_rtt_avg_ms
required
number format: double
ping_rtt_min_ms
required
number format: double
ping_rtt_max_ms
required
number format: double
ping_loss_pct
required
number format: double
reverse_dns
required
Array<string>
manufacturer
required
string
nmap_os
required
string
nmap_os_accuracy
required
integer
open_ports
required
Array<object>

Information about a single open port, as reported by nmap. Mirrors diagnostics.PortInfo (internal/diagnostics/types.go).

object
port
required

TCP/UDP port number (0-65535).

integer
protocol
required

Tcp or udp

string
state
required

Nmap port state (open, closed, filtered, …)

string
service
required

Service name as detected by nmap.

string
version

Service version banner (optional).

string
nmap_available
required
boolean
execution_time_ms
required
integer format: int64
errors

Per-probe errors (DNS, ping, nmap). Omitted by the handler when empty (json:“errors,omitempty”).

Array<string>

The request body or parameters failed validation.

Standardised error envelope per RFC 7807. Many existing endpoints still return an older shape (e.g. {"error": "..."}). This schema documents the target shape; legacy endpoints will be migrated in Phase 70. Per D-21 the spec describes current behaviour without enforcing the migration here.

object
type

A URI reference that identifies the problem type.

string format: uri-reference
default: about:blank
title

A short human-readable summary of the problem.

string
status

The HTTP status code generated by the origin server.

integer format: int32
>= 100 <= 599
detail

A human-readable explanation specific to this occurrence.

string
instance

A URI reference that identifies the specific occurrence.

string format: uri-reference
error

Legacy error message field. Will be removed once handlers are migrated.

string
details

Legacy per-field error details. Will be removed once handlers are migrated.

object
key
additional properties
string
requestId

The request id middleware-assigned identifier for tracing.

string

Authentication is required or the supplied token is invalid.

Standardised error envelope per RFC 7807. Many existing endpoints still return an older shape (e.g. {"error": "..."}). This schema documents the target shape; legacy endpoints will be migrated in Phase 70. Per D-21 the spec describes current behaviour without enforcing the migration here.

object
type

A URI reference that identifies the problem type.

string format: uri-reference
default: about:blank
title

A short human-readable summary of the problem.

string
status

The HTTP status code generated by the origin server.

integer format: int32
>= 100 <= 599
detail

A human-readable explanation specific to this occurrence.

string
instance

A URI reference that identifies the specific occurrence.

string format: uri-reference
error

Legacy error message field. Will be removed once handlers are migrated.

string
details

Legacy per-field error details. Will be removed once handlers are migrated.

object
key
additional properties
string
requestId

The request id middleware-assigned identifier for tracing.

string

The requested resource was not found.

Standardised error envelope per RFC 7807. Many existing endpoints still return an older shape (e.g. {"error": "..."}). This schema documents the target shape; legacy endpoints will be migrated in Phase 70. Per D-21 the spec describes current behaviour without enforcing the migration here.

object
type

A URI reference that identifies the problem type.

string format: uri-reference
default: about:blank
title

A short human-readable summary of the problem.

string
status

The HTTP status code generated by the origin server.

integer format: int32
>= 100 <= 599
detail

A human-readable explanation specific to this occurrence.

string
instance

A URI reference that identifies the specific occurrence.

string format: uri-reference
error

Legacy error message field. Will be removed once handlers are migrated.

string
details

Legacy per-field error details. Will be removed once handlers are migrated.

object
key
additional properties
string
requestId

The request id middleware-assigned identifier for tracing.

string

Internal server error

Standardised error envelope per RFC 7807. Many existing endpoints still return an older shape (e.g. {"error": "..."}). This schema documents the target shape; legacy endpoints will be migrated in Phase 70. Per D-21 the spec describes current behaviour without enforcing the migration here.

object
type

A URI reference that identifies the problem type.

string format: uri-reference
default: about:blank
title

A short human-readable summary of the problem.

string
status

The HTTP status code generated by the origin server.

integer format: int32
>= 100 <= 599
detail

A human-readable explanation specific to this occurrence.

string
instance

A URI reference that identifies the specific occurrence.

string format: uri-reference
error

Legacy error message field. Will be removed once handlers are migrated.

string
details

Legacy per-field error details. Will be removed once handlers are migrated.

object
key
additional properties
string
requestId

The request id middleware-assigned identifier for tracing.

string