List goals
curl --request GET \
--url https://panel.metricanic.com/api/v1/campaigns/{id}/goals \
--header 'Authorization: Bearer <token>'import requests
url = "https://panel.metricanic.com/api/v1/campaigns/{id}/goals"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://panel.metricanic.com/api/v1/campaigns/{id}/goals', 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://panel.metricanic.com/api/v1/campaigns/{id}/goals",
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://panel.metricanic.com/api/v1/campaigns/{id}/goals"
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://panel.metricanic.com/api/v1/campaigns/{id}/goals")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://panel.metricanic.com/api/v1/campaigns/{id}/goals")
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{
"ok": true,
"data": {
"rules": [
{
"id": "0f1e2d3c-4b5a-4c6d-8e7f-9a0b1c2d3e4f",
"priority": 0,
"enabled": true,
"label": "Default",
"conditions": null,
"actions": [
{
"idx": 1,
"label": "purchase",
"enabled": true,
"payoutType": "from_event",
"payoutFixed": null,
"costType": "none",
"costFixed": null,
"costShare": null,
"postbackUrl": null,
"postbackEnabled": false,
"storeValue": true,
"isConversion": true,
"affectsCost": false,
"affectsRevenue": true
}
]
}
]
}
}{
"ok": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"requestId": "<string>"
}{
"ok": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"requestId": "<string>"
}{
"ok": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"requestId": "<string>"
}{
"ok": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"requestId": "<string>"
}{
"ok": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"requestId": "<string>"
}Campaigns
List goals
Returns the campaign goal rules, conditions and actions in priority order. Manage goal rules in the panel. Returns an empty rules array when no rules are saved or the campaign ID is unknown.
GET
/
api
/
v1
/
campaigns
/
{id}
/
goals
List goals
curl --request GET \
--url https://panel.metricanic.com/api/v1/campaigns/{id}/goals \
--header 'Authorization: Bearer <token>'import requests
url = "https://panel.metricanic.com/api/v1/campaigns/{id}/goals"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://panel.metricanic.com/api/v1/campaigns/{id}/goals', 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://panel.metricanic.com/api/v1/campaigns/{id}/goals",
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://panel.metricanic.com/api/v1/campaigns/{id}/goals"
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://panel.metricanic.com/api/v1/campaigns/{id}/goals")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://panel.metricanic.com/api/v1/campaigns/{id}/goals")
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{
"ok": true,
"data": {
"rules": [
{
"id": "0f1e2d3c-4b5a-4c6d-8e7f-9a0b1c2d3e4f",
"priority": 0,
"enabled": true,
"label": "Default",
"conditions": null,
"actions": [
{
"idx": 1,
"label": "purchase",
"enabled": true,
"payoutType": "from_event",
"payoutFixed": null,
"costType": "none",
"costFixed": null,
"costShare": null,
"postbackUrl": null,
"postbackEnabled": false,
"storeValue": true,
"isConversion": true,
"affectsCost": false,
"affectsRevenue": true
}
]
}
]
}
}{
"ok": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"requestId": "<string>"
}{
"ok": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"requestId": "<string>"
}{
"ok": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"requestId": "<string>"
}{
"ok": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"requestId": "<string>"
}{
"ok": false,
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"requestId": "<string>"
}Authorizations
Workspace-scoped token sent in the Authorization header as Bearer . Access depends on the credential's allowed operations, read or write scope, and workspace subscription. Use an API key issued in the tracker for Public API v1. MCP uses separate OAuth credentials.