Définition par lot de l'état de l'indicateur de compte
curl --request POST \
--url 'https://api.hubapi.com/feature-flags/2026-03/{appId}/flags/{flagName}/portals/batch/upsert?hapikey=' \
--header 'Content-Type: application/json' \
--data '
{
"portalStates": [
{
"portalId": 123
}
]
}
'import requests
url = "https://api.hubapi.com/feature-flags/2026-03/{appId}/flags/{flagName}/portals/batch/upsert?hapikey="
payload = { "portalStates": [{ "portalId": 123 }] }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({portalStates: [{portalId: 123}]})
};
fetch('https://api.hubapi.com/feature-flags/2026-03/{appId}/flags/{flagName}/portals/batch/upsert?hapikey=', 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/2026-03/{appId}/flags/{flagName}/portals/batch/upsert?hapikey=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'portalStates' => [
[
'portalId' => 123
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.hubapi.com/feature-flags/2026-03/{appId}/flags/{flagName}/portals/batch/upsert?hapikey="
payload := strings.NewReader("{\n \"portalStates\": [\n {\n \"portalId\": 123\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.hubapi.com/feature-flags/2026-03/{appId}/flags/{flagName}/portals/batch/upsert?hapikey=")
.header("Content-Type", "application/json")
.body("{\n \"portalStates\": [\n {\n \"portalId\": 123\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/feature-flags/2026-03/{appId}/flags/{flagName}/portals/batch/upsert?hapikey=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"portalStates\": [\n {\n \"portalId\": 123\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"portalFlagStates": [
{
"appId": 123,
"flagName": "<string>",
"flagState": "ABSENT",
"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"
}
}États des indicateurs de portails
Batch set account flag state
Définissez l’état de l’indicateur de portail pour plusieurs comptes HubSpot à la fois. Utilisez ce point de terminaison d’API pour gérer l’exposition des indicateurs pour les groupes de comptes HubSpot.
POST
/
feature-flags
/
2026-03
/
{appId}
/
flags
/
{flagName}
/
portals
/
batch
/
upsert
Définition par lot de l'état de l'indicateur de compte
curl --request POST \
--url 'https://api.hubapi.com/feature-flags/2026-03/{appId}/flags/{flagName}/portals/batch/upsert?hapikey=' \
--header 'Content-Type: application/json' \
--data '
{
"portalStates": [
{
"portalId": 123
}
]
}
'import requests
url = "https://api.hubapi.com/feature-flags/2026-03/{appId}/flags/{flagName}/portals/batch/upsert?hapikey="
payload = { "portalStates": [{ "portalId": 123 }] }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({portalStates: [{portalId: 123}]})
};
fetch('https://api.hubapi.com/feature-flags/2026-03/{appId}/flags/{flagName}/portals/batch/upsert?hapikey=', 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/2026-03/{appId}/flags/{flagName}/portals/batch/upsert?hapikey=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'portalStates' => [
[
'portalId' => 123
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.hubapi.com/feature-flags/2026-03/{appId}/flags/{flagName}/portals/batch/upsert?hapikey="
payload := strings.NewReader("{\n \"portalStates\": [\n {\n \"portalId\": 123\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.hubapi.com/feature-flags/2026-03/{appId}/flags/{flagName}/portals/batch/upsert?hapikey=")
.header("Content-Type", "application/json")
.body("{\n \"portalStates\": [\n {\n \"portalId\": 123\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/feature-flags/2026-03/{appId}/flags/{flagName}/portals/batch/upsert?hapikey=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"portalStates\": [\n {\n \"portalId\": 123\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"portalFlagStates": [
{
"appId": 123,
"flagName": "<string>",
"flagState": "ABSENT",
"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
Required Scopes
Required Scopes
Autorisations
Paramètres de chemin
L'identifiant unique de l'application pour laquelle les indicateurs de fonctionnalité sont gérés.
Le nom de l'indicateur de fonctionnalité à upserter.
Corps
application/json
Un tableau d'entrées d'état des indicateurs de portail à mettre à jour. Chaque entrée contient les détails de l'ID du portail et de l'état d'indicateur souhaité.
Show child attributes
Show child attributes
Réponse
successful operation
Un tableau de réponses d'état des indicateurs, chacune représentant l'état d'un indicateur de fonctionnalité pour un portail spécifique.
Show child attributes
Show child attributes
Dernière modification le 6 octobre 2026