Skip to main content
GET
/
v1
/
campaign-groups
/
{campaignGroupId}
Get a campaign group
curl --request GET \
  --url https://app.loops.so/api/v1/campaign-groups/{campaignGroupId} \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://app.loops.so/api/v1/campaign-groups/{campaignGroupId}"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://app.loops.so/api/v1/campaign-groups/{campaignGroupId}', 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://app.loops.so/api/v1/campaign-groups/{campaignGroupId}",
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://app.loops.so/api/v1/campaign-groups/{campaignGroupId}"

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://app.loops.so/api/v1/campaign-groups/{campaignGroupId}")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://app.loops.so/api/v1/campaign-groups/{campaignGroupId}")

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
{
  "id": "clq3b7s9u007yl70u9v0w1x2y",
  "name": "Newsletters",
  "description": "Monthly product updates",
  "createdAt": "2026-03-28T15:00:00.000Z",
  "updatedAt": "2026-03-28T15:00:00.000Z"
}
{
  "message": "Campaign group not found."
}

Request

Path parameters

campaignGroupId
string
required
The ID of the campaign group.

Response

Success

id
string
required
The campaign group ID.
name
string
required
The group name.
description
string
required
The group description.
createdAt
string
required
ISO 8601 timestamp for when the group was created.
updatedAt
string
required
ISO 8601 timestamp for when the group was last updated.

Error

A 400 Bad Request is returned if campaignGroupId is invalid. A 404 Not Found is returned if the campaign group does not exist. If the API key is invalid (or content API is not enabled for your team), a 401 Unauthorized is returned.
message
string
required
An error message describing what went wrong.
{
  "id": "clq3b7s9u007yl70u9v0w1x2y",
  "name": "Newsletters",
  "description": "Monthly product updates",
  "createdAt": "2026-03-28T15:00:00.000Z",
  "updatedAt": "2026-03-28T15:00:00.000Z"
}
{
  "message": "Campaign group not found."
}
Last modified on June 30, 2026