Retrieve accounts with a set flag state
curl --request GET \
--url https://api.hubapi.com/feature-flags/v3/{appId}/flags/{flagName}/portals \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.hubapi.com/feature-flags/v3/{appId}/flags/{flagName}/portals"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.hubapi.com/feature-flags/v3/{appId}/flags/{flagName}/portals', 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://api.hubapi.com/feature-flags/v3/{appId}/flags/{flagName}/portals",
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://api.hubapi.com/feature-flags/v3/{appId}/flags/{flagName}/portals"
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://api.hubapi.com/feature-flags/v3/{appId}/flags/{flagName}/portals")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/feature-flags/v3/{appId}/flags/{flagName}/portals")
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{
"portalFlagStates": [
{
"appId": 123,
"flagName": "<string>",
"portalId": 123
}
]
}{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}Portal Flag States
Retrieve accounts with a set flag state
Retrieve a list of HubSpot accounts with an account-level flag setting for the specified app. No request body is included.
GET
/
feature-flags
/
v3
/
{appId}
/
flags
/
{flagName}
/
portals
Retrieve accounts with a set flag state
curl --request GET \
--url https://api.hubapi.com/feature-flags/v3/{appId}/flags/{flagName}/portals \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.hubapi.com/feature-flags/v3/{appId}/flags/{flagName}/portals"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.hubapi.com/feature-flags/v3/{appId}/flags/{flagName}/portals', 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://api.hubapi.com/feature-flags/v3/{appId}/flags/{flagName}/portals",
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://api.hubapi.com/feature-flags/v3/{appId}/flags/{flagName}/portals"
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://api.hubapi.com/feature-flags/v3/{appId}/flags/{flagName}/portals")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/feature-flags/v3/{appId}/flags/{flagName}/portals")
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{
"portalFlagStates": [
{
"appId": 123,
"flagName": "<string>",
"portalId": 123
}
]
}{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}Supported products
Supported products
Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Query Parameters
The maximum number of results to display per page.
Response
successful operation
Show child attributes
Show child attributes
Last modified on March 30, 2026
Was this page helpful?
⌘I