Get campaigns
curl --request GET \
--url https://openapi.enginy.ai/v1/campaigns \
--header 'x-api-key: <api-key>'import requests
url = "https://openapi.enginy.ai/v1/campaigns"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://openapi.enginy.ai/v1/campaigns', 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://openapi.enginy.ai/v1/campaigns",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$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://openapi.enginy.ai/v1/campaigns"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://openapi.enginy.ai/v1/campaigns")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://openapi.enginy.ai/v1/campaigns")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 123,
"appUrl": "<string>",
"name": "<string>",
"description": "<string>",
"status": "DRAFT",
"createdBy": {
"id": 123,
"name": "<string>"
},
"crmOwnerId": "<string>",
"senderIdentity": {
"id": 123,
"name": "<string>"
},
"createdAt": "2023-11-07T05:31:56Z"
}
],
"meta": {
"page": 123,
"pageSize": 123,
"total": 123
}
}Campaigns
Get campaigns
Retrieve a paginated list of campaigns.
Responses include direct Enginy app URLs when available. Each campaign response includes an appUrl that opens the campaign overview in Enginy. MCP agents should return those URLs to users whenever they are present in the response.
Required scope:
CAMPAIGNS_READRate limit: 100 requests per minute
GET
/
v1
/
campaigns
Get campaigns
curl --request GET \
--url https://openapi.enginy.ai/v1/campaigns \
--header 'x-api-key: <api-key>'import requests
url = "https://openapi.enginy.ai/v1/campaigns"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://openapi.enginy.ai/v1/campaigns', 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://openapi.enginy.ai/v1/campaigns",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$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://openapi.enginy.ai/v1/campaigns"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://openapi.enginy.ai/v1/campaigns")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://openapi.enginy.ai/v1/campaigns")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 123,
"appUrl": "<string>",
"name": "<string>",
"description": "<string>",
"status": "DRAFT",
"createdBy": {
"id": 123,
"name": "<string>"
},
"crmOwnerId": "<string>",
"senderIdentity": {
"id": 123,
"name": "<string>"
},
"createdAt": "2023-11-07T05:31:56Z"
}
],
"meta": {
"page": 123,
"pageSize": 123,
"total": 123
}
}Authorizations
Query Parameters
Page number for pagination. Minimum value is 1. Defaults to 1.
Number of items per page. Minimum is 1, maximum is 100. Defaults to 25.
Search term to filter campaigns by name (case-insensitive).
Filter campaigns by sender identity ID.
Filter campaigns by status.
Available options:
ACTIVE, PENDING, DRAFT, COMPLETED