Skip to main content
GET
/
v1
/
audience-segments
/
{audienceSegmentId}
Get an audience segment
curl --request GET \
  --url https://app.loops.so/api/v1/audience-segments/{audienceSegmentId} \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://app.loops.so/api/v1/audience-segments/{audienceSegmentId}"

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/audience-segments/{audienceSegmentId}', 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/audience-segments/{audienceSegmentId}",
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/audience-segments/{audienceSegmentId}"

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/audience-segments/{audienceSegmentId}")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://app.loops.so/api/v1/audience-segments/{audienceSegmentId}")

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": "clr4c8t0v008yl70x3y4z5a6b",
  "name": "Active users",
  "description": "Users active in the last 30 days",
  "createdAt": "2026-03-28T15:00:00.000Z",
  "updatedAt": "2026-03-28T15:00:00.000Z",
  "filter": {
    "match": "all",
    "conditions": [
      {
        "type": "property",
        "key": "plan",
        "operator": "equals",
        "value": "pro"
      }
    ]
  }
}
{
  "message": "Audience segment not found."
}

Request

Path parameters

audienceSegmentId
string
required
The ID of the audience segment.

Response

Success

id
string
required
The audience segment ID.
name
string
required
The segment name.
description
nullable string
required
An optional description for the segment.
createdAt
string
required
ISO 8601 timestamp for when the segment was created.
updatedAt
string
required
ISO 8601 timestamp for when the segment was last updated.
filter
object
required
A tree of audience conditions combined with match.

Error

A 400 Bad Request is returned if audienceSegmentId is invalid. A 404 Not Found is returned if the audience segment 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": "clr4c8t0v008yl70x3y4z5a6b",
  "name": "Active users",
  "description": "Users active in the last 30 days",
  "createdAt": "2026-03-28T15:00:00.000Z",
  "updatedAt": "2026-03-28T15:00:00.000Z",
  "filter": {
    "match": "all",
    "conditions": [
      {
        "type": "property",
        "key": "plan",
        "operator": "equals",
        "value": "pro"
      }
    ]
  }
}
{
  "message": "Audience segment not found."
}
Last modified on June 30, 2026