Get runner outcome stats for an agency
curl --request GET \
--url https://ai.wisepilot.app/api/v1/agency/{agencyId}/runner-stats \
--header 'Authorization: Bearer <token>'import requests
url = "https://ai.wisepilot.app/api/v1/agency/{agencyId}/runner-stats"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://ai.wisepilot.app/api/v1/agency/{agencyId}/runner-stats', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://ai.wisepilot.app/api/v1/agency/{agencyId}/runner-stats",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://ai.wisepilot.app/api/v1/agency/{agencyId}/runner-stats"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://ai.wisepilot.app/api/v1/agency/{agencyId}/runner-stats")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://ai.wisepilot.app/api/v1/agency/{agencyId}/runner-stats")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"rollups": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agencyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"runnerName": "<string>",
"skillId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"skillVersion": 123,
"modelId": "<string>",
"websiteId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"period": "30d",
"proposalsCreated": 123,
"proposalsDeployed": 123,
"proposalsMeasured": 123,
"wins": 123,
"losses": 123,
"inconclusive": 123,
"winRate": 123,
"deployRate": 123,
"avgLift": 123,
"avgEvalScore": 123,
"dismissRate": 123,
"computedAt": "2023-11-07T05:31:56Z"
}
],
"perWebsite": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agencyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"runnerName": "<string>",
"skillId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"skillVersion": 123,
"modelId": "<string>",
"websiteId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"period": "30d",
"proposalsCreated": 123,
"proposalsDeployed": 123,
"proposalsMeasured": 123,
"wins": 123,
"losses": 123,
"inconclusive": 123,
"winRate": 123,
"deployRate": 123,
"avgLift": 123,
"avgEvalScore": 123,
"dismissRate": 123,
"computedAt": "2023-11-07T05:31:56Z"
}
]
}
}{
"success": false,
"error": "Invalid API key",
"code": "INVALID_API_KEY"
}Runners
Get runner outcome stats for an agency
Returns aggregated outcome statistics for all runners under this agency, including win rate, deploy rate, dismiss rate, and average lift. Stats are computed weekly and broken down per-website with agency rollups.
GET
/
agency
/
{agencyId}
/
runner-stats
Get runner outcome stats for an agency
curl --request GET \
--url https://ai.wisepilot.app/api/v1/agency/{agencyId}/runner-stats \
--header 'Authorization: Bearer <token>'import requests
url = "https://ai.wisepilot.app/api/v1/agency/{agencyId}/runner-stats"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://ai.wisepilot.app/api/v1/agency/{agencyId}/runner-stats', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://ai.wisepilot.app/api/v1/agency/{agencyId}/runner-stats",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://ai.wisepilot.app/api/v1/agency/{agencyId}/runner-stats"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://ai.wisepilot.app/api/v1/agency/{agencyId}/runner-stats")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://ai.wisepilot.app/api/v1/agency/{agencyId}/runner-stats")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"rollups": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agencyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"runnerName": "<string>",
"skillId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"skillVersion": 123,
"modelId": "<string>",
"websiteId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"period": "30d",
"proposalsCreated": 123,
"proposalsDeployed": 123,
"proposalsMeasured": 123,
"wins": 123,
"losses": 123,
"inconclusive": 123,
"winRate": 123,
"deployRate": 123,
"avgLift": 123,
"avgEvalScore": 123,
"dismissRate": 123,
"computedAt": "2023-11-07T05:31:56Z"
}
],
"perWebsite": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agencyId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"runnerName": "<string>",
"skillId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"skillVersion": 123,
"modelId": "<string>",
"websiteId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"period": "30d",
"proposalsCreated": 123,
"proposalsDeployed": 123,
"proposalsMeasured": 123,
"wins": 123,
"losses": 123,
"inconclusive": 123,
"winRate": 123,
"deployRate": 123,
"avgLift": 123,
"avgEvalScore": 123,
"dismissRate": 123,
"computedAt": "2023-11-07T05:31:56Z"
}
]
}
}{
"success": false,
"error": "Invalid API key",
"code": "INVALID_API_KEY"
}Authorizations
API key prefixed with cr_ (e.g. cr_a1b2c3...)
Path Parameters
Query Parameters
Available options:
30d, 90d Filter to a specific runner by name
⌘I