Developer reference
arkgo API
Create and look up short links from any of our systems. Base URL: https://arkgo.net. All responses are JSON and CORS is enabled, so browser and server callers both work.
Authentication
Every request needs an API key sent as a bearer token. Keys are created by an admin on the API keys page in the dashboard and are shown once — store them as a secret in the calling app, never in client-side code. Revoked keys stop working immediately.
Authorization: Bearer arkgo_xxxxxxxxxxxxxxxxxxxxxxxxEndpoints
/api/public/linksCreate a short link. Returns 201 with the new link, or 409 if the slug is already taken.
| Field | Type | Notes |
|---|---|---|
| destination_url | string, required | The full URL the short link points at. |
| slug | string, optional | Custom short code (letters, numbers, . _ ~ -). Auto-generated if omitted. |
| domain | string, optional | Short-link host, e.g. arkgo.link. Defaults to the primary domain. |
| title | string, optional | Label shown in the dashboard. |
| tags | string[], optional | Tags for filtering in the dashboard. |
| expires_at | ISO date-time, optional | After this time the link stops resolving. |
| click_limit | integer, optional | Link stops resolving after this many clicks. |
curl -X POST https://arkgo.net/api/public/links \
-H "Authorization: Bearer $ARKGO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"destination_url": "https://arkassist.co.uk/support",
"slug": "support",
"title": "Support page",
"tags": ["website"]
}'{
"id": "8f0c...",
"slug": "support",
"short_url": "https://arkgo.link/support",
"destination_url": "https://arkassist.co.uk/support",
"qr_url": "https://arkgo.link/support?qr=1",
"created_at": "2026-08-31T14:22:10.412Z"
}/api/public/linksList the 100 most recent links, newest first. Add ?slug=support to look up one link.
curl "https://arkgo.net/api/public/links?slug=support" \
-H "Authorization: Bearer $ARKGO_API_KEY"{
"links": [
{
"id": "8f0c...",
"slug": "support",
"destination_url": "https://arkassist.co.uk/support",
"title": "Support page",
"tags": ["website"],
"click_count": 42,
"is_active": true,
"created_at": "2026-08-31T14:22:10.412Z",
"short_url": "https://arkgo.link/support"
}
]
}QR codes
Every link has a QR view at https://arkgo.link/<slug>?qr=1. Scans made through it are counted separately from ordinary clicks, so you can tell print traffic apart from web traffic. Branded PNG and SVG downloads are available in the dashboard.
Errors
400 — invalid JSON body or field validation failed (details included).
401 — missing, unknown or revoked API key.
409 — that slug is already in use.
{ "error": "That slug is already in use" }