List links
List short links for the authenticated location, ordered by newest first. Each link is enriched with a click_count sourced from Tinybird.
curl -X GET "https://mythic-analytics.gulp.workers.dev/client/v1/links?location_id=example_string&enabled=true&search=example_string&limit=50&offset=0" \
-H "Content-Type: application/json" \
-H "X-Location-Id: example_string" \
-H "Authorization: Bearer YOUR_API_TOKEN"
import requests
import json
url = "https://mythic-analytics.gulp.workers.dev/client/v1/links?location_id=example_string&enabled=true&search=example_string&limit=50&offset=0"
headers = {
"Content-Type": "application/json",
"X-Location-Id": "example_string",
"Authorization": "Bearer YOUR_API_TOKEN"
}
response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch("https://mythic-analytics.gulp.workers.dev/client/v1/links?location_id=example_string&enabled=true&search=example_string&limit=50&offset=0", {
method: "GET",
headers: {
"Content-Type": "application/json",
"X-Location-Id": "example_string",
"Authorization": "Bearer YOUR_API_TOKEN"
}
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://mythic-analytics.gulp.workers.dev/client/v1/links?location_id=example_string&enabled=true&search=example_string&limit=50&offset=0", nil)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-Location-Id", "example_string")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://mythic-analytics.gulp.workers.dev/client/v1/links?location_id=example_string&enabled=true&search=example_string&limit=50&offset=0')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Content-Type'] = 'application/json'
request['X-Location-Id'] = 'example_string'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
response = http.request(request)
puts response.body
{
"success": true,
"data": [
{
"id": "4f9a2c1e-8b3d-4e7a-9c2f-1a2b3c4d5e6f",
"location_id": "acme-retail",
"slug": "summer-sale",
"destination_url": "https://acme-retail.com/summer-sale",
"title": "Summer Sale Campaign",
"redirect_type": 302,
"enabled": true,
"utm_passthrough": true,
"metadata": {},
"expires_at": "2024-12-25T10:00:00Z",
"created_at": "2024-06-01T12:00:00.000Z",
"updated_at": "2024-06-15T08:30:00.000Z",
"click_count": 1247
}
],
"count": 25
}
{
"error": "Unauthorized",
"message": "Authentication required. Please provide a valid API token",
"code": 401
}
/links
Target server for requests. Edit to use your own host.
Client API key as a bearer token. Use an agency key (ak_..., read-write) or a location secret key (sk_..., read-only). Format: Bearer ak_... or Bearer sk_.... Scoped keys (mcp_) are accepted too and need links:read or links:write. See Using an mcp_ key over HTTP.
ak_..., read-write) or a location secret key (sk_..., read-only). Format: Bearer ak_... or Bearer sk_.... Scoped keys (mcp_) are accepted too and need links:read or links:write. See Using an mcp_ key over HTTP.Target location (client) id. Required when authenticating with an agency key (ak_); alternative to the X-Location-Id header. Ignored for secret keys, which resolve their own location.
Filter by enabled state. Pass true or false.
Case-insensitive substring match on the link title.
Maximum results. Default 50, max 500.
Number of results to skip. Default 0.
Target location (client) id. Required when authenticating with an agency key (ak_); alternative to the location_id query parameter. Ignored for secret keys.
Request Preview
Response
Response will appear here after sending the request
Authentication
Bearer token. Client API key as a bearer token. Use an agency key (ak_..., read-write) or a location secret key (sk_..., read-only). Format: Bearer ak_... or Bearer sk_.... Scoped keys (mcp_) are accepted too and need links:read or links:write. See Using an mcp_ key over HTTP.
Query Parameters
Target location (client) id. Required when authenticating with an agency key (ak_); alternative to the X-Location-Id header. Ignored for secret keys, which resolve their own location.
Case-insensitive substring match on the link title.
Maximum results. Default 50, max 500.
Number of results to skip. Default 0.
Headers
Target location (client) id. Required when authenticating with an agency key (ak_); alternative to the location_id query parameter. Ignored for secret keys.
Responses
Number of links returned in this page.