Project settings and access tools

list_project_variables

Lists every project-level variable. Project variables are global key-value pairs that you can reference as {{ project_variable.reference }} substitutions inside Jinja templates across all campaigns — for example, brand name, support email, or base URL.

Request parameters

NameTypeRequired?Description
project_idstrYesThe project ID returned by list_projects.

Response parameters

The tool returns a ProjectVariablesResponse object with the following parameters:

ParameterTypeDescription
successboolWhether the request succeeded.
datalist[ProjectVariable]The project-level variable definitions.
errorstr | nullError message if the request failed.

The ProjectVariable object has the following fields:

FieldTypeDescription
referencestrThe reference key. Use it as {{ project_variable.reference }} in Jinja templates.
valueany | nullThe current value of the variable.
typestr | nullThe data type — string, number, boolean, and so on.
descriptionstr | nullA human-readable description of what the variable represents.

get_consent_settings

Returns the project's consent configuration: GDPR mode, consent category definitions, and per-channel consent settings. Consent categories decide which campaigns a customer can receive based on their consent state.

Request parameters

NameTypeRequired?Description
project_idstrYesThe project ID returned by list_projects.

Response parameters

The tool returns a ConsentSettingsResponse object with the following parameters:

ParameterTypeDescription
successboolWhether the request succeeded.
dataany | nullThe project's consent configuration: GDPR mode, consent categories, and per-channel consent settings. The exact shape depends on the project.
errorstr | nullError message if the request failed.

get_frequency_policies

Returns the frequency cap policy settings for a project. Frequency policies limit how often a customer can receive campaign messages within a time window. The response includes every policy, built-in system policies among them, along with the ID of the project's default policy.

Each policy holds one or more customer segments, and each segment carries its own message rate limits.

Request parameters

NameTypeRequired?Description
project_idstrYesThe project ID returned by list_projects.

Response parameters

The tool returns a FrequencyPoliciesResponse object with the following parameters:

ParameterTypeDescription
successboolWhether the request succeeded.
policieslist[FrequencyPolicy]All frequency policies defined for the project, including system policies.
default_policy_idstr | nullThe ID of the default policy applied to campaigns when no specific policy is selected.
errorstr | nullError message if the request failed.

The FrequencyPolicy object has the following fields:

FieldTypeDescription
idstrThe policy ID, for example unlimited-policy or smart-newsletter-policy.
namestrThe display name of the policy.
systemboolWhether this is a built-in system policy.
blockedboolWhether this policy is blocked from use by non-admin users.
access_lockslist[str]User group IDs for which the policy is locked. Members of those groups can't run campaigns with it.
locked_for_current_userboolWhether the current user is restricted from selecting this policy for campaigns.
segmentslist[FrequencyPolicySegment]An ordered list of customer segments, each with its own frequency rules. The last segment is always a catch-all.

Each FrequencyPolicySegment has an optional id, a name, an optional customer_filter (opaque filter conditions, where the last segment is a catch-all with an empty filter), and rules, a list of FrequencyPolicyRule. Each FrequencyPolicyRule has a limit (the maximum messages allowed, where 0 suppresses all) and a duration, a FrequencyPolicyDuration with count and units fields for the time window.

list_project_users

Lists every user with access to a project, including their email, name, username, and role in this project.

Request parameters

NameTypeRequired?Description
project_idstrYesThe project ID returned by list_projects.

Response parameters

The tool returns a ProjectUsersResponse object with the following parameters:

ParameterTypeDescription
successboolWhether the request succeeded.
datalist[ProjectUser]The users with access to this project.
errorstr | nullError message if the request failed.

The ProjectUser object has the following fields:

FieldTypeDescription
idstrThe user's ID.
emailstr | nullThe user's email address.
usernamestr | nullThe username.
first_namestr | nullThe user's first name.
last_namestr | nullThe user's last name.
rolestr | nullThe user's role in this project, for example admin, editor, or viewer.

search_api_triggers

Searches the API trigger definitions in a project, or fetches one by ID. API triggers let external systems fire a custom event into the Engagement platform with an HTTP call, which can then enter customers into scenarios. Omit trigger_id to list all API triggers — you get summary records: name, tags, archived flag, and metadata. Pass trigger_id to fetch the full definition of a single trigger, including the event type it fires, the payload property schema, and the scenarios that listen to it.

Request parameters

NameTypeRequired?Description
project_idstrYesThe project ID returned by list_projects.
trigger_idstr | nullNoThe API trigger ID for direct lookup. Omit to list all; provide to fetch one.

Response parameters

The tool returns an ApiTriggersResponse when trigger_id is omitted, or an ApiTriggerResponse when it's provided.

The ApiTriggersResponse object has the following parameters:

ParameterTypeDescription
successboolWhether the request succeeded.
datalist[ApiTriggerSummary]The API trigger summaries.
errorstr | nullError message if the request failed.

The ApiTriggerSummary object has the following fields:

FieldTypeDescription
idstrThe API trigger's unique ID.
namestrThe trigger's display name.
archivedboolWhether the trigger has been archived.
tagslist[str]User-defined tags.
createdany | nullUnix timestamp of when the trigger was created.
created_by_display_namestr | nullDisplay name of the creator.
editedany | nullUnix timestamp of the last edit.
edited_by_display_namestr | nullDisplay name of the last editor.

The ApiTriggerResponse object has the following parameters:

ParameterTypeDescription
successboolWhether the request succeeded.
dataApiTrigger | nullThe full API trigger definition.
errorstr | nullError message if the request failed.

The ApiTrigger object adds the following fields on top of the summary record:

FieldTypeDescription
event_typestr | nullThe event type the trigger fires when it is called.
propertieslist[any]The property definitions for the trigger payload: name, type, and required flag.
scenario_idslist[str]IDs of the scenarios that use this API trigger as their entry point.


Did this page help you?

© Bloomreach, Inc. All rights reserved.