Skip to content

rules

Rules

Bases: ListableApiResource, FindableApiResource, CreatableApiResource, UpdatableApiResource, DestroyableApiResource

Nylas Rules API.

Source code in nylas/resources/rules.py
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
class Rules(
    ListableApiResource,
    FindableApiResource,
    CreatableApiResource,
    UpdatableApiResource,
    DestroyableApiResource,
):
    """Nylas Rules API."""

    def list(
        self,
        query_params: ListRulesQueryParams = None,
        overrides: RequestOverrides = None,
    ) -> ListResponse[Rule]:
        """Return all rules for the application."""
        return super().list(
            path="/v3/rules",
            response_type=Rule,
            query_params=query_params,
            overrides=overrides,
        )

    def create(
        self,
        request_body: CreateRuleRequest,
        overrides: RequestOverrides = None,
    ) -> Response[Rule]:
        """Create a new rule."""
        return super().create(
            path="/v3/rules",
            request_body=request_body,
            response_type=Rule,
            overrides=overrides,
        )

    def find(self, rule_id: str, overrides: RequestOverrides = None) -> Response[Rule]:
        """Return a specific rule by ID."""
        return super().find(
            path=f"/v3/rules/{rule_id}",
            response_type=Rule,
            overrides=overrides,
        )

    def update(
        self,
        rule_id: str,
        request_body: UpdateRuleRequest,
        overrides: RequestOverrides = None,
    ) -> Response[Rule]:
        """Update a rule by ID."""
        return super().update(
            path=f"/v3/rules/{rule_id}",
            response_type=Rule,
            request_body=request_body,
            method="PUT",
            overrides=overrides,
        )

    def destroy(self, rule_id: str, overrides: RequestOverrides = None) -> DeleteResponse:
        """Delete a rule by ID."""
        return super().destroy(path=f"/v3/rules/{rule_id}", overrides=overrides)

    def list_evaluations(
        self,
        grant_id: str,
        query_params: ListRuleEvaluationsQueryParams = None,
        overrides: RequestOverrides = None,
    ) -> ListResponse[RuleEvaluation]:
        """Return rule evaluation audit records for a grant."""
        return super().list(
            path=f"/v3/grants/{grant_id}/rule-evaluations",
            response_type=RuleEvaluation,
            query_params=query_params,
            overrides=overrides,
        )

create(request_body, overrides=None)

Create a new rule.

Source code in nylas/resources/rules.py
42
43
44
45
46
47
48
49
50
51
52
53
def create(
    self,
    request_body: CreateRuleRequest,
    overrides: RequestOverrides = None,
) -> Response[Rule]:
    """Create a new rule."""
    return super().create(
        path="/v3/rules",
        request_body=request_body,
        response_type=Rule,
        overrides=overrides,
    )

destroy(rule_id, overrides=None)

Delete a rule by ID.

Source code in nylas/resources/rules.py
78
79
80
def destroy(self, rule_id: str, overrides: RequestOverrides = None) -> DeleteResponse:
    """Delete a rule by ID."""
    return super().destroy(path=f"/v3/rules/{rule_id}", overrides=overrides)

find(rule_id, overrides=None)

Return a specific rule by ID.

Source code in nylas/resources/rules.py
55
56
57
58
59
60
61
def find(self, rule_id: str, overrides: RequestOverrides = None) -> Response[Rule]:
    """Return a specific rule by ID."""
    return super().find(
        path=f"/v3/rules/{rule_id}",
        response_type=Rule,
        overrides=overrides,
    )

list(query_params=None, overrides=None)

Return all rules for the application.

Source code in nylas/resources/rules.py
29
30
31
32
33
34
35
36
37
38
39
40
def list(
    self,
    query_params: ListRulesQueryParams = None,
    overrides: RequestOverrides = None,
) -> ListResponse[Rule]:
    """Return all rules for the application."""
    return super().list(
        path="/v3/rules",
        response_type=Rule,
        query_params=query_params,
        overrides=overrides,
    )

list_evaluations(grant_id, query_params=None, overrides=None)

Return rule evaluation audit records for a grant.

Source code in nylas/resources/rules.py
82
83
84
85
86
87
88
89
90
91
92
93
94
def list_evaluations(
    self,
    grant_id: str,
    query_params: ListRuleEvaluationsQueryParams = None,
    overrides: RequestOverrides = None,
) -> ListResponse[RuleEvaluation]:
    """Return rule evaluation audit records for a grant."""
    return super().list(
        path=f"/v3/grants/{grant_id}/rule-evaluations",
        response_type=RuleEvaluation,
        query_params=query_params,
        overrides=overrides,
    )

update(rule_id, request_body, overrides=None)

Update a rule by ID.

Source code in nylas/resources/rules.py
63
64
65
66
67
68
69
70
71
72
73
74
75
76
def update(
    self,
    rule_id: str,
    request_body: UpdateRuleRequest,
    overrides: RequestOverrides = None,
) -> Response[Rule]:
    """Update a rule by ID."""
    return super().update(
        path=f"/v3/rules/{rule_id}",
        response_type=Rule,
        request_body=request_body,
        method="PUT",
        overrides=overrides,
    )