The context in which an event occurred.

An EventContext describes:

  • The time an event occurred.
  • A unique identifier of the event.
  • The resource on which the event occurred, if applicable.
  • Authorization of the request that triggered the event, if applicable and available.



Optional auth

auth: { token: object; uid: string }

Authentication information for the user that triggered the function. This object contains uid and token properties for authenticated users. For more detail including token keys, see the security rules reference.

This field is only populated for Realtime Database triggers and Callable functions. For an unauthenticated user, this field is null. For Firebase admin users and event types that do not provide user information, this field does not exist.

Type declaration

  • token: object
  • uid: string

Optional authType


The level of permissions for a user. Valid values are:

  • ADMIN Developer user or user authenticated via a service account.
  • USER Known user.
  • UNAUTHENTICATED Unauthenticated action
  • null For event types that do not provide user information (all except Realtime Database).


eventId: string

The event’s unique identifier.


eventType: string

Type of event. Possible values are:

  • google.firebase.auth.user.create
  • google.firebase.auth.user.delete
  • google.firebase.database.ref.write
  • google.firebase.database.ref.create
  • google.firebase.database.ref.update
  • google.firebase.database.ref.delete
  • google.firestore.document.write
  • google.firestore.document.create
  • google.firestore.document.update
  • google.firestore.document.delete
  • google.pubsub.topic.publish
  • google.firebase.remoteconfig.update
  • google.testing.testMatrix.complete


params: {}

An object containing the values of the wildcards in the path parameter provided to the ref() method for a Realtime Database trigger. Cannot be accessed while inside the handler namespace.

Type declaration

  • [option: string]: any


resource: Resource

The resource that emitted the event. Valid values are:

  • Analytics — projects/<projectId>/events/<analyticsEventType>
  • Realtime Database — projects/_/instances/<databaseInstance>/refs/<databasePath>
  • Storage — projects/_/buckets/<bucketName>/objects/<fileName>#<generation>
  • Authentication — projects/<projectId>
  • Pub/Sub — projects/<projectId>/topics/<topicName>

Because Realtime Database instances and Cloud Storage buckets are globally unique and not tied to the project, their resources start with projects/_. Underscore is not a valid project name.


timestamp: string

Timestamp for the event as an RFC 3339 string.