Skip to content

Uplinkr REST API Overview

Uplinkr API Mascot

The Uplinkr API exposes a focused HTTP layer for the core Uplinkr resources:

  • Projects
  • Probes
  • Global settings

All endpoints are versioned and use JSON request and response bodies.


By default, all routes are served below:

/api/v1

The prefix can be changed with:

Terminal window
UPLINKR_API_ROUTE_PREFIX=api/v1

API key authentication is enabled by default.

Send the configured API key in the request header:

X-Uplinkr-Api-Key: replace-me-with-a-long-random-key

If Bearer token support is enabled, the same key can also be sent as:

Authorization: Bearer replace-me-with-a-long-random-key

When authentication fails, the API returns:

{
"message": "Unauthorized"
}

with status code 401.


Successful responses use a small, predictable structure:

  • data contains the main resource or collection
  • meta contains optional metadata such as count, message, or created

Example:

{
"data": [],
"meta": {
"count": 0
}
}

MethodEndpointDescription
GET/projectsList all projects
POST/projectsCreate a new project
GET/projects/{project}Return one project
PATCH/projects/{project}Update a project
DELETE/projects/{project}Archive and delete a project
MethodEndpointDescription
GET/probesList probes across all projects
POST/probesCreate a probe using the project field in the payload
GET/projects/{project}/probesList probes for one project
POST/projects/{project}/probesCreate a probe below one project
GET/projects/{project}/probes/{probeId}Return one probe
PATCH/projects/{project}/probes/{probeId}Update one probe
DELETE/projects/{project}/probes/{probeId}Delete one probe
MethodEndpointDescription
GET/settings/iam-aliveReturn current I’m alive settings
PATCH/settings/iam-aliveUpdate I’m alive settings

  • The API is intentionally small and mirrors the CLI-first design of Uplinkr.
  • Project and probe operations use the underlying Uplinkr handlers directly.
  • Probe identifiers are generated from the project, HTTP method, and URL.