Get click ID recovery
One row per ad platform (google, meta, microsoft) for the authenticated location. paid_sessions counts sessions with a paid signal that survives click ID stripping: gad_source on the landing URL, or a platform utm_source with a paid utm_medium (cpc, ppc, cpm, cpv, display, or anything starting with "paid"). paid_sessions_missing_click_id counts the ones whose landing page had no click ID (google: gclid, gbraid or wbraid; meta: fbclid; microsoft: msclkid). This is an upper bound on browser stripping, because ads with auto-tagging off are counted too. link_sessions_with_click_id counts sessions that arrived through a Mythic short link whose redirect saw the click ID. link_sessions_restored counts the ones whose landing page lost it, so Mythic restored it for attribution and conversion uploads. restored_pct_of_missing is restored divided by missing. Defaults to the last 30 days. Returns the raw Tinybird JSON envelope.
curl -X GET "https://mythic-analytics.gulp.workers.dev/client/v1/links/click-id-recovery?location_id=example_string&date_from=example_string&date_to=example_string" \
-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/click-id-recovery?location_id=example_string&date_from=example_string&date_to=example_string"
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/click-id-recovery?location_id=example_string&date_from=example_string&date_to=example_string", {
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/click-id-recovery?location_id=example_string&date_from=example_string&date_to=example_string", 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/click-id-recovery?location_id=example_string&date_from=example_string&date_to=example_string')
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
{
"meta": [
{}
],
"data": [
{}
],
"rows": 42,
"statistics": {}
}
{
"error": "Unauthorized",
"message": "Authentication required. Please provide a valid API token",
"code": 401
}
{
"error": "Service Unavailable",
"message": "The service is temporarily unavailable. Please try again later",
"code": 503
}
/links/click-id-recovery
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.
Start of the date range (forwarded to Tinybird).
End of the date range (forwarded to Tinybird).
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.
Start of the date range (forwarded to Tinybird).
End of the date range (forwarded to Tinybird).
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
Column metadata (name/type per field).
Result rows.