Marketing API Version

Ad Rule

Reading

A Rule that will be triggered based on certain criteria defined on ad objects, and perform custom actions.

If you want to learn how to use the Graph API, read our Using Graph API guide.

Parameters

This endpoint doesn't have any parameters.

Fields

FieldDescription

id

numeric string

ID of the rule

account_id

numeric string

ID of the ad account that owns the rule

created_by

The user who created the rule

created_time

datetime

Time when the rule was created

evaluation_spec

Defines the evaluation spec upon which a rule will be executed

execution_spec

Defines the execution spec upon which a rule will be executed

name

string

The friendly name of a rule, optional for inline rules

schedule_spec

Specifies the schedule with which a rule will be evaluated

status

string

The status of a rule

updated_time

datetime

The time when the rule was last updated.

Edges

EdgeDescription

history

The execution history associated with this rule. Each entry represents a distinct run of the rule and provides any actions that may have been taken on any ad objects.

Validation Rules

ErrorDescription
100Invalid parameter

Creating

Example

You can make a POST request to adrules_library edge from the following paths:
When posting to this edge, an AdRule will be created.

Parameters

NameDescription
account_id
numeric string

Ad Account ID. This is inferred from the path.

evaluation_spec
Object

Defines the evaluation spec upon which a rule will be executed

evaluation_type
enum{SCHEDULE, TRIGGER}
Required
filters
list<Object>
Required
field
string
Required
value
numeric, string, boolean, list<>, or object-like arrays
Required
operator
enum{GREATER_THAN, LESS_THAN, EQUAL, NOT_EQUAL, IN_RANGE, NOT_IN_RANGE, IN, NOT_IN, CONTAIN, NOT_CONTAIN, ANY, ALL, NONE}
Required
trigger
Object
type
enum{METADATA_CREATION, METADATA_UPDATE, STATS_MILESTONE, STATS_CHANGE}
Required
field
string
value
numeric, string, boolean, list<>, or object-like arrays
operator
enum{GREATER_THAN, LESS_THAN, EQUAL, NOT_EQUAL, IN_RANGE, NOT_IN_RANGE, IN, NOT_IN, CONTAIN, NOT_CONTAIN, ANY, ALL, NONE}
execution_spec
Object

Defines the execution spec upon which a rule will be executed

execution_type
enum{PING_ENDPOINT, NOTIFICATION, PAUSE, REBALANCE_BUDGET, CHANGE_BUDGET, CHANGE_BID, ROTATE, UNPAUSE}
Required
execution_options
list<Object>
field
string
Required
value
numeric, string, boolean, list<>, or object-like arrays
Required
operator
enum{EQUAL, IN}
Required
name
string

The friendly name of a rule, optional for inline rules

Required
schedule_spec
Object

Specifies the schedule with which a rule will be evaluated

schedule_type
enum{DAILY, HOURLY, SEMI_HOURLY, CUSTOM}
Required
schedule
list<Object>
start_minute
int64
end_minute
int64
days
list<int64>
status
enum {ENABLED, DISABLED, DELETED}

The status of a rule

Return Type

This endpoint supports read-after-write and will read the node represented by id in the return type.
Struct {
id: numeric string,
}

Validation Rules

ErrorDescription
100Invalid parameter
200Permissions error

Updating

Example

You can update an AdRule by making a POST request to /{ad_rule_id}.

Parameters

NameDescription
evaluation_spec
Object

Defines the evaluation spec upon which a rule will be executed

evaluation_type
enum{SCHEDULE, TRIGGER}
Required
filters
list<Object>
Required
field
string
Required
value
numeric, string, boolean, list<>, or object-like arrays
Required
operator
enum{GREATER_THAN, LESS_THAN, EQUAL, NOT_EQUAL, IN_RANGE, NOT_IN_RANGE, IN, NOT_IN, CONTAIN, NOT_CONTAIN, ANY, ALL, NONE}
Required
trigger
Object
type
enum{METADATA_CREATION, METADATA_UPDATE, STATS_MILESTONE, STATS_CHANGE}
Required
field
string
value
numeric, string, boolean, list<>, or object-like arrays
operator
enum{GREATER_THAN, LESS_THAN, EQUAL, NOT_EQUAL, IN_RANGE, NOT_IN_RANGE, IN, NOT_IN, CONTAIN, NOT_CONTAIN, ANY, ALL, NONE}
execution_spec
Object

Defines the execution spec upon which a rule will be executed

execution_type
enum{PING_ENDPOINT, NOTIFICATION, PAUSE, REBALANCE_BUDGET, CHANGE_BUDGET, CHANGE_BID, ROTATE, UNPAUSE}
Required
execution_options
list<Object>
field
string
Required
value
numeric, string, boolean, list<>, or object-like arrays
Required
operator
enum{EQUAL, IN}
Required
name
string

The friendly name of a rule, optional for inline rules

reset_period
integer
Default value: 15

The time in minutes after which a rule can be reapplied, with a current minimum value of 15

schedule_spec
Object

Specifies the schedule with which a rule will be evaluated

schedule_type
enum{DAILY, HOURLY, SEMI_HOURLY, CUSTOM}
Required
schedule
list<Object>
start_minute
int64
end_minute
int64
days
list<int64>
status
enum {ENABLED, DISABLED, DELETED}

The status of a rule

Return Type

This endpoint supports read-after-write and will read the node to which you POSTed.
Struct {
success: bool,
}

Validation Rules

ErrorDescription
100Invalid parameter
200Permissions error

Deleting

Example

You can delete an AdRule by making a DELETE request to /{ad_rule_id}.

Permissions

Developers usually request these permissions for this endpoint:

Marketing Apps
  • ads_management
Page management Apps
No data
Other Apps
No data

Parameters

This endpoint doesn't have any parameters.

Return Type

Struct {
success: bool,
}

Validation Rules

ErrorDescription
200Permissions error