Skip to content

sift_client.resources.rules

CLASS DESCRIPTION
RulesAPIAsync

High-level API for interacting with rules.

RulesAPIAsync

RulesAPIAsync(sift_client: SiftClient)

Bases: ResourceBase

High-level API for interacting with rules.

This class provides a Pythonic, notebook-friendly interface for interacting with the RulesAPI. It handles automatic handling of gRPC services, seamless type conversion, and clear error handling.

All methods in this class use the Rule class from the low-level wrapper, which is a user-friendly representation of a rule using standard Python data structures and types.

Initialize the RulesAPI.

PARAMETER DESCRIPTION
sift_client

The Sift client to use.

TYPE: SiftClient

METHOD DESCRIPTION
archive

Archive a rule or multiple.

batch_get

Get multiple rules by rule IDs or client keys.

batch_restore

Batch restore rules.

create

Create a new rule.

find

Find a single rule matching the given query. Takes the same arguments as list. If more than one rule is found,

get

Get a Rule.

list_

List rules with optional filtering.

restore

Restore a rule.

update

Update a Rule.

archive async

archive(
    *,
    rule: str | Rule | None = None,
    rules: list[Rule] | None = None,
    rule_ids: list[str] | None = None,
    client_keys: list[str] | None = None,
) -> None

Archive a rule or multiple.

PARAMETER DESCRIPTION
rule

The Rule to archive.

TYPE: str | Rule | None DEFAULT: None

rules

The Rules to archive.

TYPE: list[Rule] | None DEFAULT: None

rule_ids

The rule IDs to archive.

TYPE: list[str] | None DEFAULT: None

client_keys

The client keys to archive.

TYPE: list[str] | None DEFAULT: None

batch_get async

batch_get(
    *,
    rule_ids: list[str] | None = None,
    client_keys: list[str] | None = None,
) -> list[Rule]

Get multiple rules by rule IDs or client keys.

PARAMETER DESCRIPTION
rule_ids

List of rule IDs to get.

TYPE: list[str] | None DEFAULT: None

client_keys

List of client keys to get.

TYPE: list[str] | None DEFAULT: None

RETURNS DESCRIPTION
list[Rule]

List of Rules.

batch_restore async

batch_restore(
    *,
    rule_ids: list[str] | None = None,
    client_keys: list[str] | None = None,
) -> None

Batch restore rules.

PARAMETER DESCRIPTION
rule_ids

List of rule IDs to restore.

TYPE: list[str] | None DEFAULT: None

client_keys

List of client keys to undelete.

TYPE: list[str] | None DEFAULT: None

create async

create(
    name: str,
    description: str,
    expression: str,
    channel_references: list[ChannelReference],
    action: RuleAction,
    organization_id: str | None = None,
    client_key: str | None = None,
    asset_ids: list[str] | None = None,
    contextual_channels: list[str] | None = None,
    is_external: bool = False,
) -> Rule

Create a new rule.

find async

find(**kwargs) -> Rule | None

Find a single rule matching the given query. Takes the same arguments as list. If more than one rule is found, raises an error.

PARAMETER DESCRIPTION
**kwargs

Keyword arguments to pass to list.

DEFAULT: {}

RETURNS DESCRIPTION
Rule | None

The Rule found or None.

get async

get(
    *,
    rule_id: str | None = None,
    client_key: str | None = None,
) -> Rule

Get a Rule.

PARAMETER DESCRIPTION
rule_id

The ID of the rule.

TYPE: str | None DEFAULT: None

client_key

The client key of the rule.

TYPE: str | None DEFAULT: None

RETURNS DESCRIPTION
Rule

The Rule.

list_ async

list_(
    *,
    name: str | None = None,
    name_contains: str | None = None,
    name_regex: str | Pattern | None = None,
    order_by: str | None = None,
    limit: int | None = None,
    include_deleted: bool = False,
) -> list[Rule]

List rules with optional filtering.

PARAMETER DESCRIPTION
name

Exact name of the rule.

TYPE: str | None DEFAULT: None

name_contains

Partial name of the rule.

TYPE: str | None DEFAULT: None

name_regex

Regular expression string to filter rules by name.

TYPE: str | Pattern | None DEFAULT: None

order_by

How to order the retrieved rules.

TYPE: str | None DEFAULT: None

limit

How many rules to retrieve. If None, retrieves all matches.

TYPE: int | None DEFAULT: None

include_deleted

Include deleted rules.

TYPE: bool DEFAULT: False

RETURNS DESCRIPTION
list[Rule]

A list of Rules that matches the filter.

restore async

restore(
    *,
    rule: str | Rule,
    rule_id: str | None = None,
    client_key: str | None = None,
) -> Rule

Restore a rule.

PARAMETER DESCRIPTION
rule

The Rule or rule ID to restore.

TYPE: str | Rule

rule_id

The rule ID to restore (alternative to rule parameter).

TYPE: str | None DEFAULT: None

client_key

The client key to restore (alternative to rule parameter).

TYPE: str | None DEFAULT: None

RETURNS DESCRIPTION
Rule

The restored Rule.

update async

update(
    rule: str | Rule,
    update: RuleUpdate | dict,
    version_notes: str | None = None,
) -> Rule

Update a Rule.

PARAMETER DESCRIPTION
rule

The Rule or rule ID to update.

TYPE: str | Rule

update

Updates to apply to the Rule.

TYPE: RuleUpdate | dict

version_notes

Notes to include in the rule version.

TYPE: str | None DEFAULT: None

RETURNS DESCRIPTION
Rule

The updated Rule.