List links
Retrieve a paginated list of short links with optional filtering.
curl -X GET "https://api.mythic-analytics.com/api/v1/links?client_id=example_string&search=example_string&limit=42&offset=42" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN"
import requests
import json
url = "https://api.mythic-analytics.com/api/v1/links?client_id=example_string&search=example_string&limit=42&offset=42"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
response = requests.get(url, headers=headers)
print(response.json())
const response = await fetch("https://api.mythic-analytics.com/api/v1/links?client_id=example_string&search=example_string&limit=42&offset=42", {
method: "GET",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
)
func main() {
req, err := http.NewRequest("GET", "https://api.mythic-analytics.com/api/v1/links?client_id=example_string&search=example_string&limit=42&offset=42", nil)
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
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://api.mythic-analytics.com/api/v1/links?client_id=example_string&search=example_string&limit=42&offset=42')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
response = http.request(request)
puts response.body
{
"success": true,
"data": [
{
"id": "lnk_9xP3qLmN",
"destination_url": "https://acme-retail.com/summer-sale",
"short_url": "https://go.mythic-analytics.com/summer-sale",
"slug": "summer-sale",
"title": "Summer Sale Campaign",
"client_id": "acme-retail",
"clicks": 1247,
"tags": [
"example_string"
],
"has_password": false,
"expires_at": "2024-12-25T10:00:00Z",
"metadata": {},
"created_at": "2024-06-01T12:00:00.000Z",
"updated_at": "2024-06-15T08:30:00.000Z"
}
],
"count": 25
}
{
"error": "Unauthorized",
"message": "Authentication required. Please provide a valid API token",
"code": 401
}
GET
/links
GET
Bearer Token
Bearer Tokenstring
RequiredAdmin API key as bearer token. Format: Bearer YOUR_ADMIN_KEY
Admin API key as bearer token. Format:
Bearer YOUR_ADMIN_KEYAPI Key (query: admin_key)
admin_keystring
RequiredAlternative to the Authorization header for server-to-server scenarios.
Alternative to the Authorization header for server-to-server scenarios.
query
client_idstring
Filter by client identifier.
query
searchstring
Search on slug or title.
query
limitinteger
Maximum results per page. Default 50, max 500.
Max: 500
query
offsetinteger
Number of results to skip. Default 0.
Request Preview
Response
Response will appear here after sending the request
Authentication
header
Authorizationstring
RequiredBearer token. Admin API key as bearer token. Format: Bearer YOUR_ADMIN_KEY
query
admin_keystring
RequiredAPI Key for authentication. Alternative to the Authorization header for server-to-server scenarios.
Query Parameters
client_idstring
Filter by client identifier.
searchstring
Search on slug or title.
limitinteger
Maximum results per page. Default 50, max 500.
offsetinteger
Number of results to skip. Default 0.
Responses
successboolean
dataarray
idstring
destination_urlstring
short_urlstring
slugstring
titlestring
client_idstring
clicksinteger
tagsstring[]
has_passwordboolean
expires_atstring
metadataobject
created_atstring
updated_atstring
countinteger
successboolean
datastring
errorstring
countinteger
Was this page helpful?
Last updated Feb 26, 2026
Built with Documentation.AI