Uptempo Documentation Help

Statement JSON schema reference

Introduction

Access control statements for Uptempo Campaign Management activities are defined using a JSON (JavaScript Object Notation) schema.

In addition to the visual Statement Editor, you can create and modify access control statements directly in the Raw JSON editor. The Raw JSON editor provides greater flexibility and control for users who are comfortable using JSON syntax.

This reference guide describes the JSON schema used for activity access controls. It explains the required structure, supported fields, and accepted data types and values needed to create valid access control statements in Uptempo Campaign Management.

Basic syntax rules

When writing an activity access control statement in JSON, use standard JSON syntax:

  • Begin and end statements and objects with curly braces: {...}.

  • Begin and end arrays (such as conditions) with square brackets: [...].

  • For key-value pairs, use the format: "key": "value".

    • Separate the key and value with colon: :.

    • Keys must be strings in double quotes: "key".

    • If the value is a string, it must be in double quotes: "value".

  • Separate individual key-value pairs and items in arrays with a comma: ,. Do not place a trailing comma after the last item.

  • JSON is data-only: do not include comments in statements.

Statement structure

Access control statements use the following general structure:

{ "effect": "string", "action": "string", "resourceType": "string", "resourceLocator": "string", "conditions": [ { "field": { "name": "string" }, "operator": "string", "value": ["<string", "string"] }, { "field": { "attributeDefinitionId": "string" }, "operator": "string", "value": ["string", "string"] } ] }
Example

The following example statement allows viewing of all activities within three specified activity types:

{ "effect": "ALLOW", "action": "View", "resourceType": "ACTIVITY", "resourceLocator": "*", "conditions": [ { "field": { "name": "ACTIVITY_TYPE" }, "operator": "IS_ONE_OF", "value": ["21", "74", "41"] } ] }

Resource IDs

Many access control statements are scoped to specific Uptempo Campaign Management resources, such as activities or attributes. To reference a specific resource in your statements, you use its ID. These IDs are system-generated identifiers that uniquely identify each resource. Statements use the following types of ID:

Activity ID (activityId)

Identifies a specific activity.

Activity Type ID (activityTypeId)

Identifies a specific activity type.

Activity Type Group ID (activityTypeGroupId)

Identifies a specific activity type group.

Attribute Definition ID (attributeDefinitionId)

Identifies a specific attribute.

Attribute Option ID (attributeOptionId)

Identifies a specific list option for a Drop-Down List or Multi-Select List attribute.

To learn how to find resource IDs in Uptempo Campaign Management, see Find resource IDs in Uptempo.

Primary properties

The primary properties in an access control statement are:

Property Name

Type

Required

Description

effect

String (enum)

Yes

Specifies whether the action defined by the statement is allowed or denied.

action

ActivityAction/ActivityTypeAction

Yes

Defines the action permitted or restricted for the resource.

resourceType

String (enum)

Yes

Specifies the type of resource controlled by the statement.

resourceLocator

ActivityResource/ActivityTypeResource

Yes

Uniquely identifies the resource to which the policy applies.

conditions

Array of objects

No

Specifies additional conditions that must be met for the statement to apply.

effect

Description

Specifies whether the action defined by the statement is allowed or denied.

Type

String (enum)

Required

Yes

Values

ALLOW

Specifies that the action is allowed.

DENY

Specifies that the action is denied.

Example (fragment)
{ ... "effect": "ALLOW", ... }

action

Description

Defines the action permitted or restricted for the resource. The required structure varies based on the value of the resourceType property.

Type

One of:

  • ActivityAction

  • ActivityTypeAction

  • ActivityAttributeAction

Required

Yes

ActivityAction

Description

Actions that can be specified when the value of resourceType is ACTIVITY.

Type

String (enum)

Values

*

All actions on the activity.

List

Read-only access to only the activity name (in Timeline display mode).

View

Read-only access to the activity and its details (in the activity details panel).

PutActivityUnder

Set activities as a child of the activity.

Example (fragment)
{ ... "action": "View", "resourceType": "ACTIVITY", ... }

ActivityTypeAction

Description

Actions that can be specified when the value of resourceType is ACTIVITY_TYPE.

Type

String (enum)

Values

*

All actions on the activity type.

CreateActivity

Create new activities of the activity type.

View

Read-only access to the activity type. Makes the activity type available for filtering, grouping, and sorting.

Example (fragment)
{ ... "action": "CreateActivity", "resourceType": "ACTIVITY_TYPE", ... }

ActivityAttributeAction

Description

Actions that can be specified when the value of resourceType is ACTIVITY_ATTRIBUTE.

Type

String (enum)

Values

SetValue

Set or change the attribute's value.

Example (fragment)
{ ... "action": "SetValue", "resourceType": "ACTIVITY_ATTRIBUTE", ... }

resourceType

Description

Specifies the type of resource controlled by the statement.

Type

String (enum)

Required

Yes

Values

ACTIVITY

The statement controls the activities resource.

ACTIVITY_TYPE

The statement controls the activity types and type groups resource.

ACTIVITY_ATTRIBUTE

The statement controls the attributes resource.

Example (fragment)
{ ... "resourceType": "ACTIVITY_TYPE", ... }

resourceLocator

Description

Uniquely identifies the resource to which the policy applies. The required structure varies based on the value of the resourceType property.

Type

One of:

  • ActivityResource

  • ActivityTypeResource

  • ActivityAttributeResource

Required

Yes

ActivityResource

Description

Specifies the activity when resourceType = ACTIVITY.

Type

String (numeric string)

Values

*

Specifies all activities.

<activityId>

Specifies a defined activity. Replace <activityId> with the unique Activity ID.

Example (fragment)
{ ... "resourceType": "ACTIVITY", "resourceLocator": "*", ... }

ActivityTypeResource

Description

Specifies the activity type when resourceType = ACTIVITY_TYPE.

Type

String (numeric string)

Values

*/*

Specifies all activity types in all activity type groups.

*/<activityTypeId>

Specifies a defined activity type under any type group. Replace <activityTypeId> with the unique Activity Type ID.

<activityTypeGroupId>/*

Specifies all activity types under a defined type group. Replace <activityTypeGroupId> with the unique Activity Type Group ID.

Example (fragment)
{ ... "resourceType": "ACTIVITY_TYPE", "resourceLocator": "*/12" ... }

ActivityAttributeResource

Description

Specifies the activity type when resourceType = ACTIVITY_ATTRIBUTE.

Type

String (numeric string)

Values

*/*

Specifies any attribute.

*/<activityTypeId>

Specifies a defined attribute. Replace <attributeDefinitionId> with the unique Attribute Definition ID.

Example (fragment)
{ ... "resourceType": "ACTIVITY_ATTRIBUTE", "resourceLocator": "*/123456" ... }

conditions

Description

Specifies one or more additional conditions that must be met for the statement to take effect.

Type

Array of objects

Required

No

Properties

  • field

    • field.name

    • field.attributeDefinitionId

  • operator

  • value

Example (fragment)
{ ... "conditions": [ { "field": { "name": "ACTIVITY_TYPE" }, "operator": "IS", "value": ["123"] }, { "field": { "attributeDefinitionId": "987654" }, "operator": "IS_ONE_OF", "value": ["123456", "789012"] } ] }

conditions[] object properties

Each object in the conditions array describes a separate condition that must be met for the statement to apply, and consists of the following properties:

Property Name

Type

Required

Description

field

Object

Yes

Specifies what the condition is based on. Conditions can be based on the selected options of an attribute, or on activity types or activity type groups.

field.name

String (enum)

Yes (see note)

Specifies that the condition is based on matching activity types or activity type groups provided in the `value` array.

field.attributeDefinitionId

String

Yes (see note)

Specifies that the condition is based on matching the selected options of an attribute. Provides the ID of the attribute definition to compare against the `value` array.

operator

String (enum)

Yes

Specifies the logical operator used to evaluate the ID values in the `value` array against the condition basis defined by the `field` property.

value

Array of strings

Yes

Provides one or more IDs or attribute options to compare against the condition basis defined by the `field` property.

conditions[].field

Description

Specifies what the condition is based on. Conditions can be based on the selected options of an attribute, or on activity types or activity type groups.

Type

Object

Required

Yes

Properties

Must include one of:

  • name

  • attributeDefinitionId

conditions[].field.name

Description

Specifies that the condition is based on matching either activity types or activity type groups provided in the value array.

Type

String (enum)

Required

No

Values

ACTIVITY_TYPE

The condition is based on matching activity types that match IDs provided in the value array.

ACTIVITY_TYPE_GROUP

The condition is based on matching activity type groups that match IDs provided in the value array.

Example (fragment)
{ "field": { "name": "ACTIVITY_TYPE" }, ... }

conditions[].field.attributeDefinitionId

Description

Specifies that the condition is based on matching the selected options of an attribute. Provides the ID of the attribute definition to compare against the value array.

Type

String (numeric string)

Required

No

Values

<attributeDefinitionId>

Specifies the attribute definition to match. Replace <attributeDefinitionId> with the unique Attribute Definition ID.

Example (fragment)
{ "field": { "attributeDefinitionId": "123456" }, ... }

conditions[].operator

Description

Specifies the logical operator used to evaluate the ID values in the value array against the condition defined by the field property.

Type

String (enum)

Required

Yes

Values

IS

Must match the single provided ID value exactly to satisfy the condition.

IS_ONE_OF

Can match any of a list of multiple provided ID values to satisfy the condition.

IS_NOT

Must not match the single provided ID value to satisfy the condition.

Example (fragment)
{ ... "operator": "IS_ONE_OF", ... }

conditions[].value

Description

Provides one or more Activity Type IDs, Activity Type Group IDs, or Attribute Option IDs to compare against the condition defined by the field object.

Description

Array of strings (numeric strings)

Required

Yes

Values

Determined by the property and value specified in the field property:

<activityTypeId>

Used when name = "ACTIVITY_TYPE". Replace <activityTypeId> with the unique Activity Type ID.

<activityTypeGroupId>

Used when name = "ACTIVITY_TYPE_GROUP". Replace <activityTypeGroupId> with the unique Activity Type Group ID.

<attributeOptionId>

Used when attributeDefinitionId = <attributeDefinitionId>. Replace <attributeOptionId> with the unique Attribute Option ID.

Example (fragment)
{ ... "value": ["123", "456", "789"] }

Find resource IDs in Uptempo

To identify specific resources such as activities and attributes in the conditions object, you must reference them by their resource ID. These IDs in the Uptempo Campaign Management UI.

Find Activity IDs

Use this method to find Activity IDs.

  1. Log in to your Uptempo instance. Click on Activities Activities in the navigation menu. the Activities Activities section opens to the Timeline.

  2. In the Timeline, click on the activity (in the Activity column) for which you want to find the Activity ID.

  3. In the browser's URL bar, find the query string parameter beginning with activity=. The (numeric) value of this parameter is the Activity ID for the selected activity.

    Find Activity Type IDs and Activity Type Group IDs

    Use this method to find Activity Type IDs and Activity Type Group IDs.

    1. Log in to your Uptempo instance. Click on Activities Activities in the navigation menu. the Activities Activities section opens to the Timeline.

    2. In the Timeline, click Filter Activities Filter Activities. The Filter by menu opens.

    3. In the Select Condition menu for Type, select the condition is.

    4. In the Set a value menu:

      • In the first panel, select the activity type group for which you want to find the Activity Type Group ID.

      • Optional: In the second panel, select the activity type for which you want to find the Activity Type ID.

    5. Click Apply. The Filter by menu closes, and the Activities page refreshes.

    6. In the browser's URL bar, find the query string parameter beginning with filter=:

      URL Query String

    7. The value of this parameter provides the IDs for the selected activity type group and activity type:

      • The value is in the format typeGroupId~IS~tgXXX-tYYY, where:

        • The numeric string XXX is the Activity Type Group ID (denoted by the prefix tg).

        • The numeric string YYY is the Activity Type ID (denoted by the prefix t).

      Find Attribute Definition IDs and Attribute Option IDs

      Use this method to find Attribute Definition IDs and Attribute Option IDs.

      1. Log in to your Uptempo instance. Click on Activities Activities in the navigation menu. the Activities Activities section opens to the Timeline.

      2. In the Timeline, click Filter Activities Filter Activities. The Filter by menu opens.

      3. In the Select Attribute menu, select the attribute for which you want to find the Attribute Definition ID (or the attribute that contains the list option for which you want to find the Attribute Option ID).

      4. In the Select Condition menu, select the condition is.

      5. In the Set a value menu, select the attribute list option for which you want to find the Attribute Option ID.

      6. Click Apply. The Filter by menu closes, and the Activities page refreshes.

      7. In the browser's URL bar, find the query string parameter beginning with filter=:

        U R L Query String2

      8. The value of this parameter provides the IDs for the selected attribute definition and attribute option:

        • The value is in the format tgXXX-tXXX-aYYY~IS~ZZZ, where:

          • The numeric string YYY is the Attribute Definition ID (denoted by the prefix a).

          • The numeric string ZZZ is the Attribute Option ID.

        27 May 2026