Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec.
Example (Comparison):
title: "Summary size limit"
description: "Determines if a summary is less than 100 chars"
expression: "document.summary.size() < 100"
Example (Equality):
title: "Requestor is owner"
description: "Determines if requestor is the document owner"
expression: "document.owner == request.auth.claims.email"
Example (Logic):
title: "Public documents"
description: "Determine whether the document should be publicly visible"
expression: "document.type != 'private' && document.type != 'internal'"
Example (Data Manipulation):
title: "Notification string"
description: "Create a notification string with a timestamp."
expression: "'New message received at ' + string(document.create_time)"
The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-07-02 UTC."],[[["\u003cp\u003eThe provided content describes a textual expression using the Common Expression Language (CEL) syntax, a C-like expression language.\u003c/p\u003e\n"],["\u003cp\u003eThe CEL expression can include comparisons, equality checks, logical operations, and data manipulation.\u003c/p\u003e\n"],["\u003cp\u003eThe expression is represented in JSON format, with fields for the \u003ccode\u003eexpression\u003c/code\u003e itself, an optional \u003ccode\u003etitle\u003c/code\u003e, an optional \u003ccode\u003edescription\u003c/code\u003e, and an optional \u003ccode\u003elocation\u003c/code\u003e string for error reporting.\u003c/p\u003e\n"],["\u003cp\u003eThe variables and functions available within an expression depend on the specific service evaluating it, as detailed in the service documentation.\u003c/p\u003e\n"],["\u003cp\u003eSeveral examples of CEL expressions are provided, such as comparisons, equality checks, logical operations and data manipulation.\u003c/p\u003e\n"]]],[],null,["# Expr\n\n- [JSON representation](#SCHEMA_REPRESENTATION)\n\nRepresents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at \u003chttps://github.com/google/cel-spec\u003e.\n\nExample (Comparison): \n\n title: \"Summary size limit\"\n description: \"Determines if a summary is less than 100 chars\"\n expression: \"document.summary.size() \u003c 100\"\n\nExample (Equality): \n\n title: \"Requestor is owner\"\n description: \"Determines if requestor is the document owner\"\n expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic): \n\n title: \"Public documents\"\n description: \"Determine whether the document should be publicly visible\"\n expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation): \n\n title: \"Notification string\"\n description: \"Create a notification string with a timestamp.\"\n expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information."]]