NetPulse Looking Glass

Your Company Name

Network Diagnostics

Select which upstream provider to source the test from

Enter an IPv4/IPv6 address, hostname, or CIDR prefix

What is 18 + 16?

Network Overview

Core Router 1

Model: MX304

Location: DC1 - Primary

JunOS: 23.2R1

Connections

  • IX DE-CIX
  • TRANSIT Cogent Transit AS174
  • TRANSIT Lumen Transit AS3356

Core Router 2

Model: MX304

Location: DC2 - Secondary

JunOS: 23.2R1

Connections

  • IX AMS-IX
  • TRANSIT NTT Transit AS2914

Customer API Documentation

The NetPulse Looking Glass API provides programmatic access to network diagnostics.

Authentication

All API requests require authentication via Bearer token:

Authorization: Bearer YOUR_API_KEY

Rate Limiting

API requests are rate-limited per API key. Check response headers:

  • X-RateLimit-Limit - Requests allowed per minute
  • X-RateLimit-Remaining - Requests remaining in window
  • X-RateLimit-Reset - Seconds until limit resets

Endpoints

GET /api/v1/routers

List all available routers.

Response:

{
  "success": true,
  "data": [
    {
      "slug": "core1",
      "name": "Core Router 1",
      "location": "DC1 - Primary",
      "model": "MX304"
    }
  ]
}

GET /api/v1/connections

List connections for a router.

Parameters:

  • router (required) - Router slug

Example:

GET /api/v1/connections?router=core1

GET /api/v1/ping

Execute ICMP ping from a router through a specific upstream.

Parameters:

  • target (required) - IP address or hostname
  • router (required) - Router slug
  • connection (required) - Connection ID

Example:

GET /api/v1/ping?target=8.8.8.8&router=core1&connection=1

Response:

{
  "success": true,
  "data": {
    "target": "8.8.8.8",
    "router": "Core Router 1",
    "connection": "Cogent Transit",
    "source_ip": "203.0.113.1",
    "command": "ping 8.8.8.8 source 203.0.113.1 count 5",
    "output": "PING 8.8.8.8: 56 data bytes\n...",
    "duration_ms": 1523
  }
}

GET /api/v1/traceroute

Execute traceroute from a router through a specific upstream.

Parameters:

  • target (required) - IP address or hostname
  • router (required) - Router slug
  • connection (required) - Connection ID
  • as_lookup (optional) - Include AS number lookup (true/false)

Example:

GET /api/v1/traceroute?target=google.com&router=core1&connection=1&as_lookup=true

GET /api/v1/aspath

Get BGP AS path information from BIRD route-server.

Parameters:

  • target (required) - IP address or prefix
  • router (optional) - Router slug (defaults to first available)

Example:

GET /api/v1/aspath?target=8.8.8.0/24

GET /api/v1/aspath/all-routers

Get BGP AS path from all routers (consolidated view).

Parameters:

  • target (required) - IP address or prefix

Example:

GET /api/v1/aspath/all-routers?target=8.8.8.0/24

Error Responses

All errors return a JSON object with an error field:

{
  "error": "Invalid or missing API key"
}

HTTP Status Codes:

  • 200 - Success
  • 400 - Bad request (invalid parameters)
  • 401 - Unauthorized (invalid API key)
  • 429 - Rate limit exceeded
  • 500 - Server error

Request an API Key

Contact noc@example.com to request API access.