---
title: "List User Events"
method: GET
path: "/v3/events"
tags: ["user"]
---

# List User Events

`GET /v3/events`

## Request

- Base URL: `https://api.vercel.com`
- URL: `https://api.vercel.com/v3/events`
- Auth: HTTP bearer

Retrieves a list of "events" generated by the User on Vercel. Events are generated when the User performs a particular action, such as logging in, creating a deployment, and joining a Team (just to name a few). When the `teamId` parameter is supplied, then the events that are returned will be in relation to the Team that was specified.

## Query parameters

- `limit` number: Maximum number of items which may be returned.
- `since` string: Timestamp to only include items created since then.
- `until` string: Timestamp to only include items created until then.
- `types` string: Comma-delimited list of event "types" to filter the results by.
- `userId` string: Deprecated. Use `principalId` instead. If `principalId` and `userId` both exist, `principalId` will be used.
- `principalId` string: When retrieving events for a Team, the `principalId` parameter may be specified to filter events generated by a specific principal.
- `projectIds` string: Comma-delimited list of project IDs to filter the results by.
- `entityId` string: Filters events to those associated with a specific entity (matched against `payload.id`). For example, a connector ID.
- `withPayload` string: When set to `true`, the response will include the `payload` field for each event.
- `teamId` string
- `slug` string

## Response `200`

Successful response.

- object: Successful response.
  - `events` UserEvent[], required: Array of events generated by the User.
    - `categories` string[]: The categories that group this event with related event types. An event can belong to multiple categories (e.g. a firewall event is both Firewall and Security). The first entry is the "primary" category. Use the `/events/types` endpoint to discover the full list of categories.
    - `createdAt` number, required: Timestamp (in milliseconds) of when the event was generated.
    - `details` object[]: Labeled event details for progressive disclosure in the activity feed.
      - `display` 'inline': Recognition context that should remain visible in a compact feed row.
      - `label` string, required
      - `value` string, required
    - `entities` object[], required: A list of "entities" within the event `text`. Useful for enhancing the displayed text with additional styling and links.
      - `end` number, required: The index of where the entity ends within the `text` (non-inclusive).
      - `start` number, required: The index of where the entity begins within the `text` (inclusive).
      - `type` 'app' | 'author' | 'bitbucket_login' | 'bold' | 'deployment_host' | 'deployment_inspector' | 'dns_record' | 'edge-config' | 'env_var_name' | 'flag' | 'flags-segment' | 'flags-settings' | 'git_link' | 'github_login' | 'gitlab_login' | 'hook_name' | 'integration' | 'link' | 'project_name' | 'scaling_rules' | 'store' | 'system' | 'target', required: The type of entity.
    - `id` string, required: The unique identifier of the Event.
    - `payload` union
      - object: The payload of the event, if requested.
      - object: The payload of the event, if requested.
        - `enabled` false | true, required
        - `slackConfigured` false | true, required
      - object: The payload of the event, if requested.
        - `action` 'archived' | 'created' | 'deleted' | 'unarchived' | 'updated', required
        - `id` string, required
        - `projectId` string, required
        - `projectName` string
        - `slug` string, required
      - object: The payload of the event, if requested.
        - `action` 'created' | 'deleted' | 'transitioned' | 'updated', required
        - `id` string, required
        - `name` string, required
        - `projectId` string, required
        - `projectName` string
        - `slug` string, required
        - `state` string, required
      - object: The payload of the event, if requested.
        - `action` 'added' | 'deleted' | 'rotated', required
        - `environment` string, required
        - `label` string
        - `projectId` string
        - `projectName` string
      - object: The payload of the event, if requested.
        - `action` 'read', required
        - `environment` string[], required
        - `projectId` string
        - `projectName` string
      - object: The payload of the event, if requested.
        - `policyId` string, required
        - `projectId` string, required
        - `projectName` string, required
      - object: The payload of the event, if requested.
        - `boardId` string, required
        - `operationId` string, required
      - object: The payload of the event, if requested.
        - `boardId` string, required
        - `channelId` string, required
        - `operationId` string, required
      - object: The payload of the event, if requested.
        - `boardId` string, required
        - `channelId` string, required
        - `environment` string, required
        - `name` string, required
        - `operationId` string, required
        - `projectId` string, required
        - `userId` string
      - object: The payload of the event, if requested.
        - `boardId` string, required
        - `channelId` string, required
        - `fields` string[], required
        - `operationId` string, required
      - object: The payload of the event, if requested.
        - `boardId` string, required
        - `operationId` string, required
        - `visibility` 'private' | 'team', required
      - object: The payload of the event, if requested.
        - `boardId` string, required
        - `environments` string[], required
        - `operationId` string, required
        - `projectId` string, required
      - object: The payload of the event, if requested.
        - `boardId` string, required
        - `operationId` string, required
        - `projectId` string, required
      - object: The payload of the event, if requested.
        - `operationId` string, required
        - `schemaId` string, required
      - object: The payload of the event, if requested.
        - `provider` 'chatgpt' | 'stripe': Present on new events only. Equivalent to "stripe" when absent.
        - `providerAccount` string: Present on new events only. Equivalent to `stripeAccount` when absent.
        - `stripeAccount` string: Present when `provider` is "stripe". Equivalent to `providerAccount`.
        - `stripeOrganisation` string: Present when `provider` is "stripe".
        - `accountRequestId` string, required
        - `teamId` string, required
      - object: The payload of the event, if requested.
        - `provider` 'chatgpt' | 'stripe': Present on new events only. Equivalent to "stripe" when absent.
        - `providerAccount` string: Present on new events only. Equivalent to `stripeAccount` when absent.
        - `stripeAccount` string: Present when `provider` is "stripe". Equivalent to `providerAccount`.
        - `stripeOrganisation` string: Present when `provider` is "stripe".
        - `teamId` string, required
      - object: The payload of the event, if requested.
        - `provider` 'chatgpt' | 'stripe': Present on new events only. Equivalent to "stripe" when absent.
        - `providerAccount` string: Present on new events only. Equivalent to `stripeAccount` when absent.
        - `stripeAccount` string: Present when `provider` is "stripe". Equivalent to `providerAccount`.
        - `stripeOrganisation` string: Present when `provider` is "stripe".
        - `teamId` string, required
        - `teamSlug` string, required
      - object: The payload of the event, if requested.
        - `provider` 'chatgpt' | 'stripe': Present on new events only. Equivalent to "stripe" when absent.
        - `providerAccount` string: Present on new events only. Equivalent to `stripeAccount` when absent.
        - `stripeAccount` string: Present when `provider` is "stripe". Equivalent to `providerAccount`.
        - `stripeOrganisation` string: Present when `provider` is "stripe".
        - `blockCode` string, required
        - `reason` string, required
      - object: The payload of the event, if requested.
        - `provider` 'chatgpt' | 'stripe': Present on new events only. Equivalent to "stripe" when absent.
        - `providerAccount` string: Present on new events only. Equivalent to `stripeAccount` when absent.
        - `stripeAccount` string: Present when `provider` is "stripe". Equivalent to `providerAccount`.
        - `projectName` string, required
        - `resourceId` string, required
      - object: The payload of the event, if requested.
        - `provider` 'chatgpt' | 'stripe': Present on new events only. Equivalent to "stripe" when absent.
        - `providerAccount` string: Present on new events only. Equivalent to `stripeAccount` when absent.
        - `stripeAccount` string: Present when `provider` is "stripe". Equivalent to `providerAccount`.
        - `stripeOrganisation` string: Present when `provider` is "stripe".
        - `teamId` string, required
        - `actorId` string, required: Okta user id.
        - `actorName` string
        - `actorType` 'admin', required
      - object: The payload of the event, if requested.
        - `provider` 'chatgpt' | 'stripe': Present on new events only. Equivalent to "stripe" when absent.
        - `providerAccount` string: Present on new events only. Equivalent to `stripeAccount` when absent.
        - `stripeAccount` string: Present when `provider` is "stripe". Equivalent to `providerAccount`.
        - `stripeOrganisation` string: Present when `provider` is "stripe".
        - `fromPlan` 'hobby' | 'pro', required
        - `resourceId` string, required
        - `teamId` string, required
        - `toPlan` 'hobby' | 'pro', required
      - object: The payload of the event, if requested.
        - `accessPolicy` object, required
          - `id` string, required
          - `name` string, required
      - object: The payload of the event, if requested.
        - `accessPolicy` object, required
          - `id` string, required
          - `name` string, required
        - `previousName` string
      - object: The payload of the event, if requested.
        - `accessPolicy` object, required
          - `id` string, required
          - `name` string, required
        - `member` object, required
          - `id` string, required
          - `kind` 'project' | 'team' | 'user', required
          - `name` string
      - object: The payload of the event, if requested.
        - `apiKey` object, required
          - `id` string, required
          - `name` string, required
        - `budget` object, nullable: Spend budget on an AI Gateway API key, as surfaced in activity messages. Defined locally (rather than imported from `@api/pubsub-types`) because `@api/pubsub-types` already depends on `@api/events`; importing it here would create a circular dependency. Must stay structurally aligned with `APIKeyBudget` in `@api/pubsub-types/event-payloads/api-keys`.
          - `alertThresholds` number[]
          - `limitAmount` number, required: Spend cap, in dollars.
          - `refreshPeriod` 'daily' | 'monthly' | 'none' | 'weekly', required
        - `bypassAll` false | true: True when the key was created to bypass all of the team's restrictions (the ZDR-only model restriction and the provider/model allowlist).
        - `zdrExemption` false | true: True when the key was created with a ZDR exemption.
      - object: The payload of the event, if requested.
        - `apiKey` object, required
          - `id` string, required
          - `name` string, required
      - object: The payload of the event, if requested.
        - `apiKey` object, required
          - `id` string, required
          - `name` string, required
        - `budget` object, nullable: Spend budget on an AI Gateway API key, as surfaced in activity messages. Defined locally (rather than imported from `@api/pubsub-types`) because `@api/pubsub-types` already depends on `@api/events`; importing it here would create a circular dependency. Must stay structurally aligned with `APIKeyBudget` in `@api/pubsub-types/event-payloads/api-keys`.
          - `alertThresholds` number[]
          - `limitAmount` number, required: Spend cap, in dollars.
          - `refreshPeriod` 'daily' | 'monthly' | 'none' | 'weekly', required
        - `change` 'disable' | 'enable' | 'remove' | 'set', required
      - object: The payload of the event, if requested.
        - `change` 'disable' | 'disable-commitment' | 'enable' | 'enable-commitment' | 'update', required
        - `commitment` object
          - `deferredInvoiceTargetBalance` string, required
          - `maximumMonthlySpend` string, nullable, required
        - `previous` object
          - `maximumMonthlySpend` string, nullable, required
          - `minimumBalance` string, required
          - `targetBalance` string, required
        - `settings` object
          - `maximumMonthlySpend` string, nullable, required
          - `minimumBalance` string, required
          - `targetBalance` string, required
      - object: The payload of the event, if requested.
        - `budget` object, nullable: Spend budget on an AI Gateway API key, as surfaced in activity messages. Defined locally (rather than imported from `@api/pubsub-types`) because `@api/pubsub-types` already depends on `@api/events`; importing it here would create a circular dependency. Must stay structurally aligned with `APIKeyBudget` in `@api/pubsub-types/event-payloads/api-keys`.
          - `alertThresholds` number[]
          - `limitAmount` number, required: Spend cap, in dollars.
          - `refreshPeriod` 'daily' | 'monthly' | 'none' | 'weekly', required
        - `change` 'disable' | 'enable' | 'remove' | 'set', required
        - `scopeType` 'api-key' | 'project' | 'team' | 'user', required
      - object: The payload of the event, if requested.
        - `budget` object, nullable: Spend budget on an AI Gateway API key, as surfaced in activity messages. Defined locally (rather than imported from `@api/pubsub-types`) because `@api/pubsub-types` already depends on `@api/events`; importing it here would create a circular dependency. Must stay structurally aligned with `APIKeyBudget` in `@api/pubsub-types/event-payloads/api-keys`.
          - `alertThresholds` number[]
          - `limitAmount` number, required: Spend cap, in dollars.
          - `refreshPeriod` 'daily' | 'monthly' | 'none' | 'weekly', required
        - `change` 'disable' | 'enable' | 'remove' | 'set', required
        - `projectId` string: Associates the event with a project for filtering; not rendered.
        - `projectName` string
        - `scopeType` 'project' | 'team' | 'user', required
        - `userId` string: Associates the event with a member for filtering; not rendered.
        - `userName` string
      - object: The payload of the event, if requested.
        - `credential` object, required
          - `id` string, required
          - `name` string, required
          - `providerSlug` string, required
      - object: The payload of the event, if requested.
        - `changes` object
          - `active` false | true
          - `keyReplaced` false | true
          - `previousName` string
          - `zeroDataRetention` false | true
        - `credential` object, required
          - `id` string, required
          - `name` string, required
          - `providerSlug` string, required
      - object: The payload of the event, if requested.
        - `added` string[], required
        - `changed` string[], required
        - `credential` object, required
          - `id` string, required
          - `name` string, required
          - `providerSlug` string, required
        - `removed` string[], required
      - object: The payload of the event, if requested.
        - `enabled` false | true, required
      - object: The payload of the event, if requested.
        - `amount` string, required
        - `purchaseIntentId` string, required
      - object: The payload of the event, if requested.
        - `added` string[], required
        - `removed` string[], required
      - object: The payload of the event, if requested.
        - `privateModel` object, required
          - `providerSlug` string, required
          - `slug` string, required
      - object: The payload of the event, if requested.
        - `privateModel` object, required
          - `slug` string, required
      - object: The payload of the event, if requested.
        - `privateProvider` object, required
          - `slug` string, required
      - object: The payload of the event, if requested.
        - `moderationPolicyCount` number, required
        - `piiRedaction` object, required
          - `from` false | true, required
          - `to` false | true, required
        - `policiesAdded` string[], required
        - `policiesModified` string[], required
        - `policiesRemoved` string[], required
      - object: The payload of the event, if requested.
        - `regions` string[], required
      - object: The payload of the event, if requested.
        - `retention` object, required
          - `ceilingDays` number
          - `ceilingMode` 'days' | 'until-requested', required
          - `defaultDays` number
          - `defaultMode` 'days' | 'until-requested', required
      - object: The payload of the event, if requested.
        - `rule` object, required
          - `id` string, required
          - `model` string
          - `rewriteModel` string
          - `type` string, required
      - object: The payload of the event, if requested.
        - `rule` object, required
          - `id` string, required
          - `model` string
          - `type` string, required
      - object: The payload of the event, if requested.
        - `enabled` false | true
        - `rule` object, required
          - `id` string, required
          - `model` string
          - `type` string, required
      - object: The payload of the event, if requested.
        - `virtualModelConfig` object, required
          - `displayName` string
          - `id` string, required
          - `modelSlug` string
      - object: The payload of the event, if requested.
        - `changedFields` string[]
        - `virtualModelConfig` object, required
          - `displayName` string
          - `id` string, required
          - `modelSlug` string
      - object: The payload of the event, if requested.
        - `accessGroup` object, required
          - `id` string, required
          - `name` string, required
        - `entitlements` string[]
        - `teamPermissions` string[]
        - `teamRoles` string[]
      - object: The payload of the event, if requested.
        - `accessGroup` object, required
          - `id` string, required
          - `name` string, required
        - `author` string
      - object: The payload of the event, if requested.
        - `accessGroup` object, required
          - `id` string, required
          - `name` string, required
        - `next_role` 'ADMIN' | 'PROJECT_DEVELOPER' | 'PROJECT_GUEST' | 'PROJECT_VIEWER' | 'null', nullable
        - `previous_role` 'ADMIN' | 'PROJECT_DEVELOPER' | 'PROJECT_GUEST' | 'PROJECT_VIEWER'
        - `project` object, required
          - `id` string, required
          - `name` string
      - object: The payload of the event, if requested.
        - `accessGroup` object, required
          - `id` string, required
          - `name` string, required
        - `entitlementsAdded` string[]
        - `entitlementsRemoved` string[]
        - `name` string
        - `previousName` string
        - `previousTeamPermissions` string[]
        - `previousTeamRoles` string[]
        - `teamPermissions` string[]
        - `teamRoles` string[]
      - object: The payload of the event, if requested.
        - `accessGroup` object, required
          - `id` string, required
          - `name` string
        - `directoryType` string
        - `user` object, required
          - `id` string, required
          - `username` string
      - object: The payload of the event, if requested.
        - `currency` string
        - `price` number
      - object: The payload of the event, if requested.
        - `alias` string
        - `aliasId` string
        - `aliasUpdatedAt` number
        - `deployment` object, nullable
          - `allowListedReadyStateReasonInternal` 'EARLY_IGNORE_STEP' | 'IGNORE_STEP' | 'NAMESPACE_PRUNED' | 'UNAFFECTED_PROJECT' | 'UNVERIFIED_COMMIT': A narrowed subset of the deployment's `readyStateReasonInternal` — only values in the public allowlist are permitted here. Callers should run their raw reason through `toAllowListedReadyStateReasonInternal` from `@api/events` before assigning. This keeps abuse / moderation / admin reasons out of the public activity log.
          - `id` string, required
          - `meta` object, required
          - `name` string, required
          - `readyState` string
          - `url` string, required
        - `deploymentId` string, nullable
        - `deploymentUrl` string
        - `oldDeploymentId` string, nullable
        - `redirect` string
        - `redirectStatusCode` number, nullable
        - `ruleCount` number
        - `system` false | true
        - `target` string, nullable
      - object: The payload of the event, if requested.
        - `aliasCount` number, required
        - `deployment` object, nullable
          - `allowListedReadyStateReasonInternal` 'EARLY_IGNORE_STEP' | 'IGNORE_STEP' | 'NAMESPACE_PRUNED' | 'UNAFFECTED_PROJECT' | 'UNVERIFIED_COMMIT': A narrowed subset of the deployment's `readyStateReasonInternal` — only values in the public allowlist are permitted here. Callers should run their raw reason through `toAllowListedReadyStateReasonInternal` from `@api/events` before assigning. This keeps abuse / moderation / admin reasons out of the public activity log.
          - `id` string, required
          - `meta` object, required
          - `name` string, required
          - `readyState` string
          - `url` string, required
        - `projectId` string, required
      - object: The payload of the event, if requested.
        - `alias` string, required
        - `name` string
        - `newTeam` object
          - `name` string, required
        - `oldTeam` object
          - `name` string, required
      - object: The payload of the event, if requested.
        - `alias` string, required
        - `aliasId` string, required
        - `deploymentId` string, nullable, required
        - `name` string
      - object: The payload of the event, if requested.
        - `alias` string
        - `email` string
        - `username` string
      - object: The payload of the event, if requested.
        - `alias` string
      - object: The payload of the event, if requested.
        - `alias` string
        - `email` string
      - object: The payload of the event, if requested.
        - `alias` string
        - `aliasId` string
        - `projectId` string
        - `projectName` string
      - object: The payload of the event, if requested.
        - `action` 'created' | 'removed', required
        - `alias` string, required
        - `projectId` string
        - `projectName` string, required
      - object: The payload of the event, if requested.
        - `alias` string, required
        - `deploymentUrl` string, required
      - object: The payload of the event, if requested.
        - `alias` string
        - `userId` string
        - `username` string
      - object: The payload of the event, if requested.
        - `alias` string
        - `aliasId` string
        - `userId` string
        - `username` string
      - object: The payload of the event, if requested.
        - `appId` string
        - `appName` string, required
        - `permissions` string[]
        - `scopes` string[], required
      - object: The payload of the event, if requested.
        - `appId` string
        - `appName` string, required
      - object: The payload of the event, if requested.
        - `appId` string
        - `appName` string, required
        - `nextPermissions` string[]
        - `nextScopes` string[], required
      - object: The payload of the event, if requested.
        - `after` object
          - `permissions` string[]
          - `resources` object
            - `projectIds` object, required: Specific project IDs or all projects on the team (`['*']`).
              - …
        - `appId` string
        - `appName` string, required
        - `before` object
          - `permissions` string[]
          - `resources` object
            - `projectIds` object, required: Specific project IDs or all projects on the team (`['*']`).
              - …
        - `installationId` string
        - `organizationId` string
      - object: The payload of the event, if requested.
        - `appId` string
        - `appName` string, required
        - `organizationId` string
        - `permissions` string[]
        - `resources` object
          - `projectIds` object, required: Specific project IDs or all projects on the team (`['*']`).
            - `items` object, required
              - …
            - `required` true, required
            - `type` 'list', required
      - object: The payload of the event, if requested.
        - `appId` string
        - `appName` string, required
        - `secretLastFourChars` string
      - object: The payload of the event, if requested.
        - `app` object: Note that not all historical events have this field.
          - `id` string, required: The App's ID.
          - `name` string, required: The App's name at the moment this even was published (it may have changed since then).
        - `appId` string: The App's ID. Note that not all historical events have this field.
        - `appName` string, required: The App's name at the moment this even was published (it may have changed since then).
        - `issuedBefore` number: UNIX timestamp in seconds. Tokens issued before this timestamp will be revoked. Note that not all historical events have this field.
      - object: The payload of the event, if requested.
        - `appId` string
        - `appName` string, required
        - `organizationId` string
      - object: The payload of the event, if requested.
        - `attackModeActiveUntil` number, nullable
        - `attackModeEnabled` false | true, required
        - `prevAttackModeActiveUntil` number, nullable
        - `prevAttackModeEnabled` false | true
        - `projectId` string, required
      - object: The payload of the event, if requested.
        - `autoExposeSystemEnvs` false | true, required
        - `projectId` string
        - `projectName` string, required
      - object: The payload of the event, if requested.
        - `avatar` string
      - object: The payload of the event, if requested.
        - `amount` number, required
        - `invoiceId` string, required
        - `lineItemCount` number, required
        - `refundReason` string, required
      - object: The payload of the event, if requested.
        - `amount` number, required
        - `invoiceId` string, required
        - `newInvoiceId` string, required
        - `settlementMethod` 'credited-paid' | 'credited-payment-pending' | 'refunded-paid' | 'refunded-payment-pending', required
      - object: The payload of the event, if requested.
        - `subscriptionId` string, required
      - object: The payload of the event, if requested.
        - `paymentMethodId` string, required
        - `subscriptionId` string, required
      - object: The payload of the event, if requested.
        - `brand` string
        - `last4` string
        - `paymentMethodId` string, required
      - object: The payload of the event, if requested.
        - `changedFields` string[], required
      - object: The payload of the event, if requested.
        - `subscriptionId` string
        - `planSlug` string, required
      - object: The payload of the event, if requested.
        - `subscriptionId` string
        - `action` 'cancel_plan', required
        - `data` union, required
          - object
            - `planSlug` 'v0_business' | 'v0_teams', required
            - `reason` 'non-payment'
          - object
            - `planSlug` 'hobby', required
      - object: The payload of the event, if requested.
        - `subscriptionId` string
        - `action` 'resume_plan', required
        - `data` object, required
          - `planSlug` 'v0_business' | 'v0_teams', required
      - object: The payload of the event, if requested.
        - `subscriptionId` string
        - `action` 'mutate', required
        - `data` object, required
      - object: The payload of the event, if requested.
        - `subscriptionId` string
        - `productAliases` string[], required
      - object: The payload of the event, if requested.
        - `bulkRedirectsLimit` number, required
        - `prevBulkRedirectsLimit` number, required
        - `project` object, required
          - `id` string, required
          - `name` string, required
      - object: The payload of the event, if requested.
        - `project` object, required
          - `id` string, required
          - `name` string, required
        - `versionId` string, required
      - object: The payload of the event, if requested.
        - `cn` string
        - `cns` string[]
        - `custom` false | true, required
        - `id` string
      - object: The payload of the event, if requested.
        - `cns` string[], required
        - `custom` false | true, required
        - `id` string, required
      - object: The payload of the event, if requested.
        - `cn` string
        - `cns` string[]
        - `id` string
      - object: The payload of the event, if requested.
        - `id` string, required
        - `newTeam` object
          - `name` string, required
        - `oldTeam` object
          - `name` string, required
      - object: The payload of the event, if requested.
        - `dst` string, required
        - `src` string, required
      - object: The payload of the event, if requested.
        - `cn` string
        - `cns` string[]
        - `id` string, required
      - object: The payload of the event, if requested.
        - `cn` string
        - `cns` string[]
      - object: The payload of the event, if requested.
        - `gitOwnerName` string, required
        - `gitRepositoryName` string, required
        - `next` object, required
          - `autoAddReviewers` false | true, required
          - `enabled` false | true, required
        - `previous` object, required
          - `autoAddReviewers` false | true, required
          - `enabled` false | true, required
      - object: The payload of the event, if requested.
        - `documentId` string, required
        - `fingerprint` string, required
        - `slug` string, required
        - `title` string, required
      - object: The payload of the event, if requested.
        - `count` number, required
        - `documents` object[], required
          - `documentId` string, required
          - `fingerprint` string, required
          - `slug` string, required
          - `title` string, required
      - object: The payload of the event, if requested.
        - `configuration` object, required
          - `id` string, required
          - `name` string, required
      - object: The payload of the event, if requested.
        - `buildsEnabled` false | true
        - `configuration` object, required
          - `id` string, required
          - `name` string
        - `project` object, required
          - `id` string, required
          - `name` string
        - `team` object, required
          - `id` string, required
          - `name` string, required
      - object: The payload of the event, if requested.
        - `buildsEnabled` false | true
        - `configuration` object, required
          - `id` string, required
          - `name` string
        - `passive` false | true
        - `project` object, required
          - `id` string, required
          - `name` string
        - `team` object, required
          - `id` string, required
          - `name` string, required
      - object: The payload of the event, if requested.
        - `configuration` object, required
          - `id` string, required
          - `name` string
        - `project` object, required
          - `id` string, required
          - `name` string
        - `team` object, required
          - `id` string, required
          - `name` string, required
      - object: The payload of the event, if requested.
        - `configuration` object, required
          - `id` string, required
          - `name` string
        - `newName` string, required
        - `team` object, required
          - `id` string, required
          - `name` string, required
      - object: The payload of the event, if requested.
        - `githubLogin` string, required
        - `host` string
      - object: The payload of the event, if requested.
        - `githubLogin` string, required
      - object: The payload of the event, if requested.
        - `githubLogin` string, required
        - `host` string, required
      - object: The payload of the event, if requested.
        - `gitlabEmail` string, required
        - `gitlabLogin` string, required
        - `gitlabName` string
        - `zeitAccount` string
        - `zeitAccountType` string
      - object: The payload of the event, if requested.
        - `gitlabLogin` string, required
        - `gitlabUserId` number, required
      - object: The payload of the event, if requested.
        - `bitbucketEmail` string, required
        - `bitbucketLogin` string, required
        - `bitbucketName` string
      - object: The payload of the event, if requested.
        - `bitbucketAccountId` string, required
        - `bitbucketLogin` string, required
      - object: The payload of the event, if requested.
        - `acceptedTokenCount` number
        - `clientId` string
        - `clientName` string
        - `clientUid` string
        - `environments` string[]
        - `eventName` string
        - `fields` string[]
        - `importedTokenCount` number
        - `installationId` string
        - `projectId` string
        - `projectName` string
        - `subjectType` 'app' | 'user'
        - `subscriptionId` string
        - `tokenCount` number
        - `tokensDeleted` number
        - `triggerDestinationCount` number
      - object: The payload of the event, if requested.
        - `prevPurchasedAmount` number, required
        - `project` object, required
          - `id` string, required
          - `name` string, required
        - `purchasedAmount` number, required
      - object: The payload of the event, if requested.
        - `metricName` string, required
      - object: The payload of the event, if requested.
        - `reason` string
        - `suffix` string, required
      - object: The payload of the event, if requested.
        - `status` string, required
        - `suffix` string, required
      - object: The payload of the event, if requested.
        - `suffix` string, required
      - object: The payload of the event, if requested.
        - `oldPasswordProtection` object, nullable, required
          - `deploymentType` 'all' | 'all_except_custom_domains' | 'preview' | 'prod_deployment_urls_and_all_previews', required
        - `passwordChanged` false | true
        - `passwordProtection` object, nullable, required
          - `deploymentType` 'all' | 'all_except_custom_domains' | 'preview' | 'prod_deployment_urls_and_all_previews', required
        - `scope` 'team', required
      - object: The payload of the event, if requested.
        - `oldSsoProtection` object, nullable, required
          - `april2026SecurityIncidentMigrationAppliedFrom` 'all' | 'all_except_custom_domains' | 'preview' | 'prod_deployment_urls_and_all_previews' | 'null', nullable
          - `cve55182MigrationAppliedFrom` 'all' | 'all_except_custom_domains' | 'preview' | 'prod_deployment_urls_and_all_previews' | 'null', nullable
          - `deploymentType` 'all' | 'all_except_custom_domains' | 'preview' | 'prod_deployment_urls_and_all_previews', required
        - `scope` 'organization' | 'team', required
        - `ssoProtection` object, nullable, required
          - `april2026SecurityIncidentMigrationAppliedFrom` 'all' | 'all_except_custom_domains' | 'preview' | 'prod_deployment_urls_and_all_previews' | 'null', nullable
          - `cve55182MigrationAppliedFrom` 'all' | 'all_except_custom_domains' | 'preview' | 'prod_deployment_urls_and_all_previews' | 'null', nullable
          - `deploymentType` 'all' | 'all_except_custom_domains' | 'preview' | 'prod_deployment_urls_and_all_previews', required
      - object: The payload of the event, if requested.
        - `hookName` string, required
        - `projectId` string, required
        - `projectName` string, required
        - `ref` string, required
      - object: The payload of the event, if requested.
        - `job` object, required
          - `deployHook` object, required
            - `createdAt` number, required
            - `id` string, required
            - `name` string, required
            - `ref` string, required
          - `state` string, required
        - `project` object, required
          - `name` string, required
      - object: The payload of the event, if requested.
        - `checkId` string, required
        - `checkName` string, required
        - `projectId` string, required
        - `projectName` string, required
      - DeploymentCheckUpdatedPayload: The payload of the event, if requested.
        - `checkId` string, required
        - `checkName` string, required
        - `next` object
          - `targets` string[], required
        - `previous` object
          - `targets` string[], required
        - `projectId` string, required
        - `projectName` string, required
      - object: The payload of the event, if requested.
        - `alias` string[]
        - `deployment` object, nullable
          - `allowListedReadyStateReasonInternal` 'EARLY_IGNORE_STEP' | 'IGNORE_STEP' | 'NAMESPACE_PRUNED' | 'UNAFFECTED_PROJECT' | 'UNVERIFIED_COMMIT': A narrowed subset of the deployment's `readyStateReasonInternal` — only values in the public allowlist are permitted here. Callers should run their raw reason through `toAllowListedReadyStateReasonInternal` from `@api/events` before assigning. This keeps abuse / moderation / admin reasons out of the public activity log.
          - `id` string, required
          - `meta` object, required
          - `name` string, required
          - `readyState` string
          - `url` string, required
        - `deploymentId` string
        - `forced` false | true
        - `gitCredentialSource` 'external-token'
        - `name` string
        - `plan` string
        - `project` string
        - `projectId` string
        - `regions` string[]
        - `target` string, nullable
        - `type` string
        - `url` string, required
      - object: The payload of the event, if requested.
        - `job` union, required
          - object
            - `authorized` false | true
            - `authorizedBy` string
            - `commitVerification` 'unknown' | 'unverified' | 'verified': Since 6 Nov 2025 The verification status of the commit. - 'verified' if the commit is verified - 'unverified' if the commit is not verified - 'unknown' if the commit verification status is unknown or not supported
            - `connectedProjectCount` number: Since April 2023 Cached count of how many projects are connected to the repo. Saves a few Cosmos queries down the road in the main flow.
            - `createdAt` number
            - `customEnvId` string, nullable
            - `deployHook` object
              - …
            - `deploymentId` string
            - `eventful` false | true
            - `forceNew` false | true
            - `gitComments` object: Since June 2023 Determines if comments should be posted to the git host. Replaces `github.silent` in the vercel.json.
              - …
            - `gitHashtagVercel` string[]: Since February 2022 All the hashtag-vercel tags found in the commit message triggering the deploy. For example, #VERCEL_DO_SOMETHING
            - `headInfo` object, required
              - …
            - `isManualGitDeploy` false | true: Since 28 Feb 2024 If set to true, identifies that the git job was created for a manual git deployment
            - `jobPairs` array[]: Since December 2022 Pairs of projects and owner ids to build for this build request.
              - …
            - `jobProjectIds` string[]: Since December 2022 All project ids associated to this job. Think monorepo. This job will be for one of these project.
            - `linkedProjectId` string
            - `name` string, required
            - `nsnbSideEffect` object: Since March 2026 Records a successful NSNB auto-add result so later GitHub PR comments can deterministically explain why this SHA was allowed to deploy.
              - …
            - `owner` string, required
            - `prId` number
            - `prIdOrZero` number: Since April 2023 If set then it is a cached result of asking the remote for the PR ID the commit that triggered this Job. Or zero if it was not a PR. This prevents a few git round trips by the git updater.
            - `projectId` string
            - `provider` 'bitbucket', required
            - `ref` string, required
            - `repoPushedAt` number, nullable
            - `repoUuid` string, required
            - `sha` string, required
            - `silent` false | true
            - `skippedJobPairs` array[]: Since June 2024 Pairs of projects and owner ids to immediately finish (without building) because we want to create them in a skipped state.
              - …
            - `slug` string, required
            - `target` string, nullable
            - `type` 'bitbucket-push', required
            - `url` string
            - `withCache` false | true
            - `workspaceUuid` string, required
          - object: Represents the payload for a Bitbucket comment job This interface defines the structure of data needed when creating a job to handle comments on Bitbucket pull requests or commits.
            - `createdAt` number
            - `customEnvId` string, nullable
            - `eventful` false | true
            - `gitComments` object
              - …
            - `headInfo` object, required
              - …
            - `linkedProjectId` string
            - `name` string, required
            - `owner` string, required
            - `prId` number, required
            - `projectId` string
            - `provider` 'bitbucket', required
            - `ref` string, required
            - `repoUuid` string, required
            - `sha` string, required
            - `slug` string, required
            - `type` 'bitbucket-now-comment', required
            - `workspaceUuid` string, required
          - object
            - `authorized` false | true
            - `authorizedBy` string
            - `beforeSha` string
            - `committerGitUserId` number: Remote account id of the committer details (github id etc, not vercel). Note that the committer name/email are user input verbatim and not verified. Github does appear to resolve the given email to the username so we can trust that. If the username matches that of the sender, which is verified info, then we can use the account id and account type. See api-incoming, where we determine and set this property Note that even with that, the account may still have been spoofed.
            - `committerGitUserType` string: Remote account type of the committer details (github type etc, not vercel). Note that the committer name/email are user input verbatim and not verified. Github does appear to resolve the given email to the username so we can trust that. If the username matches that of the sender, which is verified info, then we can use the account id and account type. See api-incoming, where we determine and set this property Note that even with that, the account may still have been spoofed.
            - `commitVerification` 'unknown' | 'unverified' | 'verified': Since 6 Nov 2025 The verification status of the commit. - 'verified' if the commit is verified - 'unverified' if the commit is not verified - 'unknown' if the commit verification status is unknown or not supported
            - `connectedProjectCount` number: Since April 2023 Cached count of how many projects are connected to the repo. Saves a few Cosmos queries down the road in the main flow.
            - `createdAt` number
            - `customEnvId` string, nullable
            - `customHost` string
            - `defaultBranch` string
            - `deployHook` object
              - …
            - `deploymentId` string
            - `eventful` false | true
            - `forceNew` false | true
            - `gitComments` object: Since June 2023 Determines if comments should be posted to the git host. Replaces `github.silent` in the vercel.json.
              - …
            - `gitHashtagVercel` string[]: Since February 2022 All the hashtag-vercel tags found in the commit message triggering the deploy. For example, #VERCEL_DO_SOMETHING
            - `githubDeploymentId` string
            - `headInfo` object, required: Information about the head commit/branch for a GitHub repository
              - …
            - `installationId` number, required
            - `isManualGitDeploy` false | true: Since 28 Feb 2024 If set to true, identifies that the git job was created for a manual git deployment
            - `isPrivate` false | true, required
            - `jobPairs` array[]: Since December 2022 Pairs of projects and owner ids to build for this build request.
              - …
            - `jobProjectIds` string[]: Since December 2022 All project ids associated to this job. Think monorepo. This job will be for one of these project.
            - `linkedProjectId` string
            - `nsnbSideEffect` object: Since March 2026 Records a successful NSNB auto-add result so later GitHub PR comments can deterministically explain why this SHA was allowed to deploy.
              - …
            - `org` string, required
            - `prId` number, required
            - `prIdOrZero` number: Since April 2023 If set then it is a cached result of asking the remote for the PR ID the commit that triggered this Job. Or zero if it was not a PR. This prevents a few git round trips by the git updater.
            - `projectId` string
            - `provider` 'github' | 'github-custom-host' | 'github-limited', required
            - `repo` string, required
            - `repoId` number, required
            - `skippedJobPairs` array[]: Since June 2024 Pairs of projects and owner ids to immediately finish (without building) because we want to create them in a skipped state.
              - …
            - `target` string, nullable
            - `type` 'pr', required
            - `url` string
            - `withCache` false | true
          - object
            - `authorized` false | true
            - `authorizedBy` string
            - `beforeSha` string
            - `commitInfo` object
              - …
            - `committerGitUserId` number: Remote account id of the committer details (github id etc, not vercel). Note that the committer name/email are user input verbatim and not verified. Github does appear to resolve the given email to the username so we can trust that. If the username matches that of the sender, which is verified info, then we can use the account id and account type. See api-incoming, where we determine and set this property Note that even with that, the account may still have been spoofed.
            - `committerGitUserType` string: Remote account type of the committer details (github type etc, not vercel). Note that the committer name/email are user input verbatim and not verified. Github does appear to resolve the given email to the username so we can trust that. If the username matches that of the sender, which is verified info, then we can use the account id and account type. See api-incoming, where we determine and set this property Note that even with that, the account may still have been spoofed.
            - `commitVerification` 'unknown' | 'unverified' | 'verified': Since 6 Nov 2025 The verification status of the commit. - 'verified' if the commit is verified - 'unverified' if the commit is not verified - 'unknown' if the commit verification status is unknown or not supported
            - `connectedProjectCount` number: Since April 2023 Cached count of how many projects are connected to the repo. Saves a few Cosmos queries down the road in the main flow.
            - `createdAt` number
            - `customEnvId` string, nullable
            - `customHost` string
            - `defaultBranch` string
            - `deployHook` object
              - …
            - `deploymentId` string
            - `eventful` false | true
            - `forced` false | true
            - `forceNew` false | true
            - `gitComments` object: Since June 2023 Determines if comments should be posted to the git host. Replaces `github.silent` in the vercel.json.
              - …
            - `gitHashtagVercel` string[]: Since February 2022 All the hashtag-vercel tags found in the commit message triggering the deploy. For example, #VERCEL_DO_SOMETHING
            - `githubDeploymentId` string
            - `headInfo` object, required: Information about the head commit/branch for a GitHub repository
              - …
            - `installationId` number, required
            - `isManualGitDeploy` false | true: Since 28 Feb 2024 If set to true, identifies that the git job was created for a manual git deployment
            - `isPrivate` false | true, required
            - `jobPairs` array[]: Since December 2022 Pairs of projects and owner ids to build for this build request.
              - …
            - `jobProjectIds` string[]: Since December 2022 All project ids associated to this job. Think monorepo. This job will be for one of these project.
            - `linkedProjectId` string
            - `nsnbSideEffect` object: Since March 2026 Records a successful NSNB auto-add result so later GitHub PR comments can deterministically explain why this SHA was allowed to deploy.
              - …
            - `org` string, required
            - `prId` number, nullable, required
            - `prIdOrZero` number: Since April 2023 If set then it is a cached result of asking the remote for the PR ID the commit that triggered this Job. Or zero if it was not a PR. This prevents a few git round trips by the git updater.
            - `projectId` string
            - `provider` 'github' | 'github-custom-host' | 'github-limited', required
            - `repo` string, required
            - `repoId` number, required
            - `repoPushedAt` number, nullable, required
            - `skippedJobPairs` array[]: Since June 2024 Pairs of projects and owner ids to immediately finish (without building) because we want to create them in a skipped state.
              - …
            - `target` string, nullable
            - `type` 'push', required
            - `url` string
            - `withCache` false | true
          - object
            - `beforeSha` string
            - `createdAt` number
            - `customEnvId` unknown
            - `customHost` string
            - `eventful` false | true
            - `gitComments` object
              - …
            - `headInfo` object, required: Information about the head commit/branch for a GitHub repository
              - …
            - `installationId` number, required
            - `isPrivate` false | true, required
            - `linkedProjectId` string
            - `org` string, required
            - `prId` number, required
            - `projectId` unknown, required
            - `provider` 'github' | 'github-custom-host' | 'github-limited', required
            - `repo` string, required
            - `repoId` number, required
            - `type` 'now-comment', required
          - object
            - `authorized` false | true
            - `authorizedBy` string
            - `commit` object
              - …
            - `commitVerification` 'unknown' | 'unverified' | 'verified': Since 6 Nov 2025 The verification status of the commit. - 'verified' if the commit is verified - 'unverified' if the commit is not verified - 'unknown' if the commit verification status is unknown or not supported
            - `connectedProjectCount` number: Since April 2023 Cached count of how many projects are connected to the repo. Saves a few Cosmos queries down the road in the main flow.
            - `createdAt` number
            - `customEnvId` string, nullable
            - `deployHook` object
              - …
            - `deploymentId` string
            - `eventful` false | true
            - `forceNew` false | true
            - `gitComments` object: Since June 2023 Determines if comments should be posted to the git host. Replaces `github.silent` in the vercel.json.
              - …
            - `gitHashtagVercel` string[]: Since February 2022 All the hashtag-vercel tags found in the commit message triggering the deploy. For example, #VERCEL_DO_SOMETHING
            - `headInfo` object, required: GitLab
              - …
            - `isManualGitDeploy` false | true: Since 28 Feb 2024 If set to true, identifies that the git job was created for a manual git deployment
            - `jobPairs` array[]: Since December 2022 Pairs of projects and owner ids to build for this build request.
              - …
            - `jobProjectIds` string[]: Since December 2022 All project ids associated to this job. Think monorepo. This job will be for one of these project.
            - `linkedProjectId` string
            - `nsnbSideEffect` object: Since March 2026 Records a successful NSNB auto-add result so later GitHub PR comments can deterministically explain why this SHA was allowed to deploy.
              - …
            - `prId` number
            - `prIdOrZero` number: Since April 2023 If set then it is a cached result of asking the remote for the PR ID the commit that triggered this Job. Or zero if it was not a PR. This prevents a few git round trips by the git updater.
            - `project` object, required
              - …
            - `projectId` string
            - `provider` 'gitlab', required
            - `ref` string, required
            - `repoPushedAt` number, nullable
            - `sha` string, required
            - `silent` false | true
            - `skippedJobPairs` array[]: Since June 2024 Pairs of projects and owner ids to immediately finish (without building) because we want to create them in a skipped state.
              - …
            - `target` string, nullable
            - `type` 'gitlab-push', required
            - `url` string
            - `withCache` false | true
          - object
            - `createdAt` number
            - `customEnvId` string, nullable
            - `eventful` false | true
            - `gitComments` object
              - …
            - `headInfo` object, required: GitLab
              - …
            - `linkedProjectId` string
            - `prId` number, required
            - `project` object, required
              - …
            - `projectId` string
            - `provider` 'gitlab', required
            - `ref` string, required
            - `sha` string, required
            - `type` 'gitlab-now-comment', required
          - object
            - `authorized` false | true
            - `authorizedBy` string
            - `commitVerification` 'unknown' | 'unverified' | 'verified': Since 6 Nov 2025 The verification status of the commit. - 'verified' if the commit is verified - 'unverified' if the commit is not verified - 'unknown' if the commit verification status is unknown or not supported
            - `connectedProjectCount` number: Since April 2023 Cached count of how many projects are connected to the repo. Saves a few Cosmos queries down the road in the main flow.
            - `customEnvId` string, nullable
            - `deployHook` object
              - …
            - `deploymentId` string
            - `gitComments` object: Since June 2023 Determines if comments should be posted to the git host. Replaces `github.silent` in the vercel.json.
              - …
            - `gitHashtagVercel` string[]: Since February 2022 All the hashtag-vercel tags found in the commit message triggering the deploy. For example, #VERCEL_DO_SOMETHING
            - `headInfo` object, required: Vercel
              - …
            - `isManualGitDeploy` false | true: Since 28 Feb 2024 If set to true, identifies that the git job was created for a manual git deployment
            - `jobPairs` array[]: Since December 2022 Pairs of projects and owner ids to build for this build request.
              - …
            - `jobProjectIds` string[]: Since December 2022 All project ids associated to this job. Think monorepo. This job will be for one of these project.
            - `linkedProjectId` string
            - `nsnbSideEffect` object: Since March 2026 Records a successful NSNB auto-add result so later GitHub PR comments can deterministically explain why this SHA was allowed to deploy.
              - …
            - `org` string, required
            - `prId` number, nullable
            - `prIdOrZero` number: Since April 2023 If set then it is a cached result of asking the remote for the PR ID the commit that triggered this Job. Or zero if it was not a PR. This prevents a few git round trips by the git updater.
            - `projectId` string
            - `provider` 'vercel', required
            - `ref` string, required
            - `repo` string, required
            - `repoId` string, required
            - `repoPushedAt` number, nullable
            - `sha` string, required
            - `skippedJobPairs` array[]: Since June 2024 Pairs of projects and owner ids to immediately finish (without building) because we want to create them in a skipped state.
              - …
            - `target` string, nullable
            - `type` 'vercel-push', required
            - `url` string
          - object
            - `authorized` false | true
            - `authorizedBy` string
            - `beforeSha` string
            - `commitVerification` 'unknown' | 'unverified' | 'verified': Since 6 Nov 2025 The verification status of the commit. - 'verified' if the commit is verified - 'unverified' if the commit is not verified - 'unknown' if the commit verification status is unknown or not supported
            - `connectedProjectCount` number: Since April 2023 Cached count of how many projects are connected to the repo. Saves a few Cosmos queries down the road in the main flow.
            - `createdAt` number
            - `customEnvId` string, nullable
            - `defaultBranch` string
            - `deployHook` object
              - …
            - `deploymentId` string
            - `eventful` false | true
            - `forced` false | true
            - `forceNew` false | true
            - `gitComments` object: Since June 2023 Determines if comments should be posted to the git host. Replaces `github.silent` in the vercel.json.
              - …
            - `gitHashtagVercel` string[]: Since February 2022 All the hashtag-vercel tags found in the commit message triggering the deploy. For example, #VERCEL_DO_SOMETHING
            - `headInfo` object, required: Cursor Origin
              - …
            - `installationId` string, required: Origin installation id (`i_…`) used to resolve the credential.
            - `isManualGitDeploy` false | true: Since 28 Feb 2024 If set to true, identifies that the git job was created for a manual git deployment
            - `jobPairs` array[]: Since December 2022 Pairs of projects and owner ids to build for this build request.
              - …
            - `jobProjectIds` string[]: Since December 2022 All project ids associated to this job. Think monorepo. This job will be for one of these project.
            - `linkedProjectId` string
            - `nsnbSideEffect` object: Since March 2026 Records a successful NSNB auto-add result so later GitHub PR comments can deterministically explain why this SHA was allowed to deploy.
              - …
            - `owner` string, required
            - `prId` number, nullable
            - `prIdOrZero` number: Since April 2023 If set then it is a cached result of asking the remote for the PR ID the commit that triggered this Job. Or zero if it was not a PR. This prevents a few git round trips by the git updater.
            - `projectId` string
            - `provider` 'cursor-origin', required
            - `ref` string, required
            - `repo` string, required
            - `repoId` string, required
            - `repoPushedAt` number, nullable
            - `sha` string, required
            - `skippedJobPairs` array[]: Since June 2024 Pairs of projects and owner ids to immediately finish (without building) because we want to create them in a skipped state.
              - …
            - `target` string, nullable
            - `type` 'cursor-origin-push', required
            - `url` string
          - object
            - `createdAt` number
            - `customEnvId` unknown
            - `eventful` false | true
            - `gitComments` object
              - …
            - `headInfo` object, required: Cursor Origin
              - …
            - `installationId` string, required: Origin installation id (`i_…`) used to resolve the credential.
            - `linkedProjectId` string
            - `owner` string, required
            - `prId` number, required
            - `projectId` unknown, required
            - `provider` 'cursor-origin', required
            - `repo` string, required
            - `repoId` string, required
            - `type` 'cursor-origin-now-comment', required
      - object: The payload of the event, if requested.
        - `newTeam` object
          - `name` string, required
        - `oldTeam` object
          - `name` string, required
        - `url` string, required
      - object: The payload of the event, if requested.
        - `gitCommitterName` string, required
        - `gitUserPlatform` string, required
        - `projectId` string
        - `projectName` string, required
        - `reason` 'ip_allow_list'
        - `sha` string, required
        - `source` string, required
      - object: The payload of the event, if requested.
        - `deployment` object, required
          - `id` string, required
          - `meta` object, required
          - `name` string, required
          - `url` string, required
        - `deploymentId` string, required
        - `projectId` string
        - `url` string, required
      - object: The payload of the event, if requested.
        - `deploymentId` string: The blocked deployment's id (e.g. `dpl_…`). When present, the message links it to the deployment details (inspector) page. Optional so events emitted before this field was added still render.
        - `projectId` string
        - `projectName` string, required
        - `ruleName` 'deploymentSources' | 'gitSources', required: Which rule blocked the deploy.
        - `ruleProvenance` 'default' | 'project' | 'team', required: Team-level or project-level rule.
        - `source` string, required: Classified deploy source, e.g. 'cli', 'git', 'integration'.
      - object: The payload of the event, if requested.
        - `mode` 'none' | 'null', nullable, required
        - `previousMode` 'none' | 'null', nullable, required
        - `scope` 'organization', required
      - object: The payload of the event, if requested.
        - `mode` 'all' | 'email-domain' | 'none', required
        - `previousMode` 'all' | 'email-domain' | 'none', required
      - object: The payload of the event, if requested.
        - `deploymentId` string, required
        - `deploymentName` string, nullable, required
        - `deploymentUrl` string, nullable, required
        - `projectId` string, required
        - `projectName` string, required
      - object: The payload of the event, if requested.
        - `configurationId` string, required
        - `integrationId` string, required
        - `integrationName` string, required
        - `integrationSlug` string, required
        - `ownerId` string, required
        - `projectIds` string[]
      - object: The payload of the event, if requested.
        - `domain` string, required
        - `id` string, required
        - `mxPriority` number
        - `name` string, required
        - `type` string, required
        - `value` string, required
      - object: The payload of the event, if requested.
        - `action` 'add' | 'delete' | 'update', required
        - `domain` string, required
        - `id` string, required
        - `initiator` 'system' | 'user', required
        - `mxPriority` number
        - `name` string, required
        - `previousValue` string
        - `source` string
        - `type` string, required
        - `value` string, required
      - object: The payload of the event, if requested.
        - `domain` string, required
        - `id` string, required
        - `name` string, required
        - `type` string, required
        - `value` string, required
      - object: The payload of the event, if requested.
        - `name` string, required
        - `zone` false | true
      - object: The payload of the event, if requested.
        - `currency` string
        - `name` string, required
        - `price` number, required
      - object: The payload of the event, if requested.
        - `cdnEnabled` false | true, required
        - `name` string, required
      - object: The payload of the event, if requested.
        - `name` string, required
        - `newTeam` object
          - `name` string, required
        - `oldTeam` object
          - `name` string, required
      - object: The payload of the event, if requested.
        - `name` string, required
        - `ownerName` string, required
        - `teamId` string, required
        - `userId` string, required
      - object: The payload of the event, if requested.
        - `domainId` string, required
        - `name` string, required
      - object: The payload of the event, if requested.
        - `id` string, required
        - `name` string, required
        - `nameservers` string[], required
        - `previousServiceType` string, required
        - `serviceType` string, required
      - object: The payload of the event, if requested.
        - `customNameservers` string[], nullable, required
        - `domain` string, required
        - `prevCustomNameservers` string[], nullable, required
      - object: The payload of the event, if requested.
        - `domain` string, required
      - object: The payload of the event, if requested.
        - `domain` string, required
        - `echMode` 'auto' | 'disabled' | 'enabled', required
        - `previousEchMode` 'auto' | 'disabled' | 'enabled', required
      - object: The payload of the event, if requested.
        - `domain` string, required
        - `zone` false | true, required
      - object: The payload of the event, if requested.
        - `domain` string, required
        - `initiator` 'system' | 'user', required
        - `previousZone` false | true
        - `source` string
        - `zone` false | true, required
      - object: The payload of the event, if requested.
        - `fromId` string, nullable, required
        - `fromName` string, nullable, required
        - `name` string, required
      - object: The payload of the event, if requested.
        - `destinationId` string, nullable, required
        - `destinationName` string, nullable, required
        - `name` string, required
      - object: The payload of the event, if requested.
        - `destinationId` string, required
        - `destinationName` string, required
        - `name` string, required
      - object: The payload of the event, if requested.
        - `domain` string, required
        - `renew` false | true
      - object: The payload of the event, if requested.
        - `currency` string
        - `name` string, required
        - `price` number
      - object: The payload of the event, if requested.
        - `name` string, required
      - object: The payload of the event, if requested.
        - `drainName` string, nullable, required
        - `drainUrl` string, nullable, required
        - `id` string
        - `integrationName` string
      - object: The payload of the event, if requested.
        - `drainUrl` string, nullable, required
        - `integrationName` string
      - object: The payload of the event, if requested.
        - `projectId` string, required
        - `projectName` string, required
        - `srcImages` string[], required
      - object: The payload of the event, if requested.
        - `projectId` string, required
        - `projectName` string, required
        - `tags` string[], required
        - `target` string
      - object: The payload of the event, if requested.
        - `path` string, required
        - `projectId` string, required
        - `projectName` string, required
      - object: The payload of the event, if requested.
        - `projectId` string, required
        - `projectName` string, required
      - object: The payload of the event, if requested.
        - `edgeConfigDigest` string, required
        - `edgeConfigId` string, required
        - `edgeConfigSlug` string, required
      - object: The payload of the event, if requested.
        - `edgeConfigDigest` string, required
        - `edgeConfigId` string, required
        - `edgeConfigSlug` string, required
        - `edgeConfigBackupVersionId` string, required
      - object: The payload of the event, if requested.
        - `edgeConfigId` string, required
        - `edgeConfigSchema` object
        - `edgeConfigSlug` string, required
      - object: The payload of the event, if requested.
        - `edgeConfigDigest` string
        - `edgeConfigId` string, required
        - `edgeConfigSlug` string, required
      - object: The payload of the event, if requested.
        - `edgeConfig` object, required
          - `id` string, required
          - `slug` string, required
        - `fromAccount` object, required
          - `id` string, required
          - `slug` string
          - `type` 'team' | 'user', required
          - `username` string
        - `toAccount` object, required
          - `id` string, required
          - `slug` string
          - `type` 'team' | 'user', required
          - `username` string
      - object: The payload of the event, if requested.
        - `edgeConfigId` string, required
        - `edgeConfigSlug` string, required
        - `edgeConfigTokenId` string, required
        - `label` string, required
      - object: The payload of the event, if requested.
        - `edgeConfigId` string, required
        - `edgeConfigSlug` string, required
        - `edgeConfigTokenIds` string[], required: ids of deleted tokens
      - object: The payload of the event, if requested.
        - `email` string, required
        - `name` string, required
      - object: The payload of the event, if requested.
        - `previousRule` object, required
          - `email` string, required
        - `team` object, required
          - `id` string, required
          - `name` string
      - object: The payload of the event, if requested.
        - `nextRule` object
          - `email` string, required
        - `previousRule` object
          - `email` string, required
        - `team` object, required
          - `id` string, required
          - `name` string
      - object: The payload of the event, if requested.
        - `deletedUid` string
        - `deletedUser` object
          - `email` string, required
          - `username` string, required
        - `emailDomain` string
      - object: The payload of the event, if requested.
        - `customEnvironmentSlugs` string[]
        - `edgeConfigId` string, nullable
        - `edgeConfigTokenId` string, nullable
        - `gitBranch` string
        - `id` string
        - `ipAddress` string
        - `key` string
        - `projectId` string
        - `projectName` string
        - `source` string
        - `target` union
          - string
          - string[]
      - object: The payload of the event, if requested.
        - `customEnvironmentSlugs` string[]
        - `edgeConfigId` string, nullable
        - `edgeConfigTokenId` string, nullable
        - `gitBranch` string
        - `id` string
        - `ipAddress` string
        - `key` string
        - `projectId` string
        - `projectName` string
        - `source` string
        - `target` union
          - string
          - string[]
        - `updateDiff` object
          - `changedComment` false | true
          - `changedGitBranch` false | true
          - `changedValue` false | true, required: Indicates a value was submitted, not whether its plaintext changed.
          - `key` string
          - `newCustomEnvironmentIds` string[]
          - `newKey` string
          - `newTarget` string[]
          - `newType` string
          - `oldCustomEnvironmentIds` string[]
          - `oldTarget` string[]
          - `oldType` string
      - object: The payload of the event, if requested.
        - `customEnvironmentSlugs` string[]
        - `edgeConfigId` string, nullable
        - `edgeConfigTokenId` string, nullable
        - `gitBranch` string
        - `id` string
        - `ipAddress` string
        - `key` string
        - `projectId` string
        - `projectName` string
        - `source` string
        - `target` union
          - string
          - string[]
        - `deploymentId` string, required
        - `deploymentUrl` string, required
      - object: The payload of the event, if requested.
        - `changedFields` string[]
        - `key` string, required
        - `organizationId` string, required
        - `provider` string, required
        - `repository` string, required
        - `visibility` 'config' | 'secret', required
      - object: The payload of the event, if requested.
        - `applyToAllCustomEnvironments` false | true: whether or not this env varible applies to custom environments
        - `comment` string: A user provided comment that describes what this Shared Env Var is for.
        - `created` string, date-time: The date when the Shared Env Var was created.
        - `createdAt` number: Timestamp for when the Shared Env Var was created.
        - `createdBy` string, nullable: The unique identifier of the user who created the Shared Env Var.
        - `customEnvironmentIds` string[]: The custom environment IDs that this Shared Env Var is scoped to.
        - `decrypted` false | true: whether or not this env variable is decrypted
        - `deletedAt` number: Timestamp for when the Shared Env Var was (soft) deleted.
        - `deletedBy` string, nullable: The unique identifier of the user who deleted the Shared Env Var.
        - `id` string: The unique identifier of the Shared Env Var.
        - `key` string: The name of the Shared Env Var.
        - `lastEditedByDisplayName` string: The last editor full name or username.
        - `lastEditedByPrincipal` union
          - object: The principal that last edited this env var, when the editor id resolves to a known user or app. Lets clients render the right avatar instead of assuming every editor is a user.
            - `avatar` string
            - `id` string, required
            - `name` string, nullable
            - `type` 'user', required
            - `username` string, required
          - object: The principal that last edited this env var, when the editor id resolves to a known user or app. Lets clients render the right avatar instead of assuming every editor is a user.
            - `avatar` string
            - `id` string, required
            - `name` string, required
            - `type` 'app', required
        - `ownerId` string, nullable: The unique identifier of the owner (team) the Shared Env Var was created for.
        - `projectId` string[]: The unique identifiers of the projects which the Shared Env Var is linked to.
        - `target` string[]: environments this env variable targets
        - `type` 'encrypted' | 'plain' | 'sensitive' | 'system': The type of this cosmos doc instance, if blank, assume secret.
        - `updatedAt` number: Timestamp for when the Shared Env Var was last updated.
        - `updatedBy` string, nullable: The unique identifier of the user who last updated the Shared Env Var.
        - `value` string: The value of the Shared Env Var.
        - `ipAddress` string
        - `projectNames` string[]
      - object: The payload of the event, if requested.
        - `envId` string, required
        - `envKey` string, required
        - `organizationId` string, required
        - `provider` string, required
        - `repository` string, required
        - `target` string[], required
      - object: The payload of the event, if requested.
        - `newEnvVar` object
          - `applyToAllCustomEnvironments` false | true: whether or not this env varible applies to custom environments
          - `comment` string: A user provided comment that describes what this Shared Env Var is for.
          - `created` string, date-time: The date when the Shared Env Var was created.
          - `createdAt` number: Timestamp for when the Shared Env Var was created.
          - `createdBy` string, nullable: The unique identifier of the user who created the Shared Env Var.
          - `customEnvironmentIds` string[]: The custom environment IDs that this Shared Env Var is scoped to.
          - `decrypted` false | true: whether or not this env variable is decrypted
          - `deletedAt` number: Timestamp for when the Shared Env Var was (soft) deleted.
          - `deletedBy` string, nullable: The unique identifier of the user who deleted the Shared Env Var.
          - `id` string: The unique identifier of the Shared Env Var.
          - `key` string: The name of the Shared Env Var.
          - `lastEditedByDisplayName` string: The last editor full name or username.
          - `lastEditedByPrincipal` union
            - object: The principal that last edited this env var, when the editor id resolves to a known user or app. Lets clients render the right avatar instead of assuming every editor is a user.
              - …
            - object: The principal that last edited this env var, when the editor id resolves to a known user or app. Lets clients render the right avatar instead of assuming every editor is a user.
              - …
          - `ownerId` string, nullable: The unique identifier of the owner (team) the Shared Env Var was created for.
          - `projectId` string[]: The unique identifiers of the projects which the Shared Env Var is linked to.
          - `target` string[]: environments this env variable targets
          - `type` 'encrypted' | 'plain' | 'sensitive' | 'system': The type of this cosmos doc instance, if blank, assume secret.
          - `updatedAt` number: Timestamp for when the Shared Env Var was last updated.
          - `updatedBy` string, nullable: The unique identifier of the user who last updated the Shared Env Var.
          - `value` string: The value of the Shared Env Var.
        - `oldEnvVar` object
          - `applyToAllCustomEnvironments` false | true: whether or not this env varible applies to custom environments
          - `comment` string: A user provided comment that describes what this Shared Env Var is for.
          - `created` string, date-time: The date when the Shared Env Var was created.
          - `createdAt` number: Timestamp for when the Shared Env Var was created.
          - `createdBy` string, nullable: The unique identifier of the user who created the Shared Env Var.
          - `customEnvironmentIds` string[]: The custom environment IDs that this Shared Env Var is scoped to.
          - `decrypted` false | true: whether or not this env variable is decrypted
          - `deletedAt` number: Timestamp for when the Shared Env Var was (soft) deleted.
          - `deletedBy` string, nullable: The unique identifier of the user who deleted the Shared Env Var.
          - `id` string: The unique identifier of the Shared Env Var.
          - `key` string: The name of the Shared Env Var.
          - `lastEditedByDisplayName` string: The last editor full name or username.
          - `lastEditedByPrincipal` union
            - object: The principal that last edited this env var, when the editor id resolves to a known user or app. Lets clients render the right avatar instead of assuming every editor is a user.
              - …
            - object: The principal that last edited this env var, when the editor id resolves to a known user or app. Lets clients render the right avatar instead of assuming every editor is a user.
              - …
          - `ownerId` string, nullable: The unique identifier of the owner (team) the Shared Env Var was created for.
          - `projectId` string[]: The unique identifiers of the projects which the Shared Env Var is linked to.
          - `target` string[]: environments this env variable targets
          - `type` 'encrypted' | 'plain' | 'sensitive' | 'system': The type of this cosmos doc instance, if blank, assume secret.
          - `updatedAt` number: Timestamp for when the Shared Env Var was last updated.
          - `updatedBy` string, nullable: The unique identifier of the user who last updated the Shared Env Var.
          - `value` string: The value of the Shared Env Var.
        - `updateDiff` object
          - `changedComment` false | true
          - `changedGitBranch` false | true
          - `changedValue` false | true, required: Indicates a value was submitted, not whether its plaintext changed.
          - `key` string
          - `newCustomEnvironmentIds` string[]
          - `newKey` string
          - `newTarget` string[]
          - `newType` string
          - `oldCustomEnvironmentIds` string[]
          - `oldTarget` string[]
          - `oldType` string
          - `id` string, required
          - `newProjects` object[]
            - `projectId` string, required
            - `projectName` string
          - `oldProjects` object[]
            - `projectId` string, required
            - `projectName` string
      - object: The payload of the event, if requested.
        - `expiresAt` number, nullable
        - `projectId` string, required
        - `scope` string, required
        - `source` string, required
      - object: The payload of the event, if requested.
        - `projectId` string, required
        - `scope` string, required
        - `source` string, required
      - object: The payload of the event, if requested.
        - `configVersion` union, required
          - string
          - number
        - `projectId` string, required
        - `projectName` string, required
      - object: The payload of the event, if requested.
        - `configVersion` union, required
          - string
          - number
      - object: The payload of the event, if requested.
        - `configChangeCount` number
        - `configChanges` object[]
        - `configVersion` union, required
          - string
          - number
      - object: The payload of the event, if requested.
        - `configChangeCount` number, required
        - `configChanges` object[], required
        - `configVersion` number, required
        - `projectId` string, required
        - `projectName` string
        - `restore` false | true, required
      - object: The payload of the event, if requested.
        - `projectId` string, required
        - `ruleGroups` object, required
        - `rulesetName` string, required
      - object: The payload of the event, if requested.
        - `action` 'challenge' | 'deny' | 'log'
        - `active` false | true, required
        - `projectId` string, required
        - `rulesetName` string, required
      - object: The payload of the event, if requested.
        - `consumerProjectId` string, required
        - `consumerProjectName` string
        - `projectId` string, required
        - `projectName` string
      - object: The payload of the event, if requested.
        - `newOwnerId` string, required
        - `previousOwnerId` string, required
        - `projectId` string, required
        - `projectName` string
      - object: The payload of the event, if requested.
        - `action` 'disable' | 'enable', required
      - object: The payload of the event, if requested.
        - `source` 'create' | 'enable' | 'upgrade', required
      - object: The payload of the event, if requested.
        - `actorAccountId` string, nullable, required: Stable account id on `provider`.
        - `actorLogin` string, nullable, required: Display name only. Logins are mutable; join on `actorAccountId`.
        - `destinationBranch` string, nullable, required: Branch actually pushed to, or the requested one if blocked.
        - `destinationRepo` string, required: "owner/name", or the raw request value if blocked before it resolved.
        - `failureCode` string: Sanitized code, never a raw error message.
        - `failureStage` 'authorization' | 'push' | 'unexpected' | 'unknown' | 'validation': Mirrors `PushFailureStage` in `api-git-providers`.
        - `installationId` string, nullable, required: Set only when an App installation token was minted (GitHub only).
        - `outcome` 'failure' | 'success', required
        - `provider` 'bitbucket' | 'cursor-origin' | 'github' | 'gitlab', required
        - `resultCommitSha` string, nullable, required
        - `sourceCommitSha` string, nullable, required
        - `sourceRepo` string, nullable, required: Source repository, "owner/name". Null when the pushed content was generated in-request (push-files-to-repo) rather than copied from a repository.
        - `usedAppToken` false | true, required
      - object: The payload of the event, if requested.
        - `fromDeploymentId` string, required
        - `projectId` string, required
        - `projectName` string, required
        - `reason` string
        - `toDeploymentId` string, required
      - object: The payload of the event, if requested.
        - `configurationId` string, required
        - `integrationId` string, required
        - `integrationName` string, required
        - `integrationSlug` string, required
      - object: The payload of the event, if requested.
        - `configurationId` string, required
        - `integrationId` string, required
        - `integrationName` string
        - `integrationSlug` string, required
        - `newOwner` object, nullable, required
          - `id` string, required
          - `username` string, required
        - `userId` string, required
      - object: The payload of the event, if requested.
        - `configurationId` string, required
        - `confirmedScopes` string[], required
        - `integrationId` string, required
        - `integrationName` string, required
        - `integrationSlug` string, required
        - `ownerId` string, required
        - `projectIds` string[]
      - object: The payload of the event, if requested.
        - `integration` object, required
          - `configurationId` string, required
          - `id` string, required
          - `name` string, required
          - `slug` string, required
        - `destinationTeamId` string, required
        - `destinationTeamName` string, required
      - object: The payload of the event, if requested.
        - `integration` object, required
          - `configurationId` string, required
          - `id` string, required
          - `name` string, required
          - `slug` string, required
        - `originTeamId` string, required
        - `originTeamName` string, required
      - object: The payload of the event, if requested.
        - `configurations` object[], required
          - `configurationId` string, required
          - `integrationId` string, required
          - `integrationName` string
          - `integrationSlug` string, required
        - `ownerId` string, required
      - object: The payload of the event, if requested.
        - `billingPlanId` string, required
        - `billingPlanName` string
        - `configurationId` string, required
        - `integrationId` string, required
        - `integrationName` string, required
        - `integrationSlug` string, required
        - `ownerId` string, required
      - object: The payload of the event, if requested.
        - `configurationId` string, required
        - `integrationId` string, required
        - `integrationName` string, required
        - `integrationSlug` string, required
        - `ownerId` string, required
        - `projectIds` union
          - string[]
          - 'all'
      - object: The payload of the event, if requested.
        - `integrationId` string, required
        - `integrationName` string, required
        - `integrationSlug` string, required
      - object: The payload of the event, if requested.
        - `configurationId` string, required
        - `databaseName` string, required
        - `errorCode` string, nullable, required
        - `failedQueryIndex` number, nullable, required
        - `integrationId` string, required
        - `integrationProductSlug` string, required
        - `integrationSlug` string, required
        - `queries` object[], required
          - `command` string, nullable, required
          - `primaryKey` object[]
            - `column` string, required
            - `value` string, nullable, required
          - `rowCount` number
          - `tables` string[]
        - `queryCount` number, required
        - `queryType` 'data-edit' | 'data-view' | 'schema' | 'user', required
        - `readonly` false | true, required
        - `resourceId` string, required
        - `rolledBack` false | true, required
      - object: The payload of the event, if requested.
        - `configurationId` string, required
        - `errorCode` string
        - `integrationId` string, required
        - `integrationProductSlug` string, required
        - `integrationSlug` string, required
        - `resourceId` string, required
        - `commands` object[], required
          - `command` string, required
          - `errorCode` string
        - `errorIndex` number
        - `readonly` false | true, required
        - `requestKind` 'raw_commands', required
      - object: The payload of the event, if requested.
        - `configurationId` string, required
        - `errorCode` string
        - `integrationId` string, required
        - `integrationProductSlug` string, required
        - `integrationSlug` string, required
        - `resourceId` string, required
        - `pattern` string
        - `requestKind` 'list_keys', required
        - `type` string
      - object: The payload of the event, if requested.
        - `configurationId` string, required
        - `errorCode` string
        - `integrationId` string, required
        - `integrationProductSlug` string, required
        - `integrationSlug` string, required
        - `resourceId` string, required
        - `keys` string[], required
        - `requestKind` 'get_keys_metadata', required
      - object: The payload of the event, if requested.
        - `configurationId` string, required
        - `errorCode` string
        - `integrationId` string, required
        - `integrationProductSlug` string, required
        - `integrationSlug` string, required
        - `resourceId` string, required
        - `key` string, required
        - `requestKind` 'get_key_data', required
      - object: The payload of the event, if requested.
        - `integrationId` string, required
        - `integrationName` string, required
        - `integrationSlug` string, required
        - `previousSecretExpiresAt` number, nullable, required
      - object: The payload of the event, if requested.
        - `algorithm` string, required
        - `issuerId` string, required
        - `issuerName` string, required
        - `managedBy` string
        - `origin` string, required
      - object: The payload of the event, if requested.
        - `issuerId` string, required
        - `issuerName` string, required
        - `managedBy` string
      - object: The payload of the event, if requested.
        - `issuerId` string, required
        - `issuerName` string, required
        - `keyId` string
      - object: The payload of the event, if requested.
        - `clientId` string
        - `environments` string[]
        - `issuerId` string, required
        - `issuerName` string, required
        - `kind` string, required
        - `projectId` string
      - object: The payload of the event, if requested.
        - `issuerId` string, required
        - `issuerName` string, required
        - `kind` string, required
        - `policyKey` string, required
      - object: The payload of the event, if requested.
        - `integrationName` string
        - `logDrainUrl` string, nullable, required
      - object: The payload of the event, if requested.
        - `integrationName` string
        - `logDrainUrl` string, required
      - object: The payload of the event, if requested.
        - `login` string, required
        - `provider` 'apple' | 'bitbucket' | 'chatgpt' | 'github' | 'github-custom-host' | 'github-limited' | 'gitlab' | 'google' | 'saml', required
      - object: The payload of the event, if requested.
        - `provider` 'apple' | 'bitbucket' | 'chatgpt' | 'github' | 'github-custom-host' | 'github-limited' | 'gitlab' | 'google' | 'saml', required
      - object: The payload of the event, if requested.
        - `env` string
        - `factors` union
          - object[]
            - `legacy` false | true
            - `origin` 'apple' | 'bitbucket' | 'chatgpt' | 'email' | 'emu-recovery' | 'github' | 'gitlab' | 'google' | 'invite' | 'magic-link' | 'otp' | 'otp-link' | 'saml' | 'webauthn', required
            - `ssoType` string
            - `teamId` string
            - `username` string
          - union[]
            - union
              - …
        - `geolocation` object, nullable
          - `city` object
            - `names` object, required
              - …
          - `country` object, required
            - `names` object, required
              - …
          - `most_specific_subdivision` object
            - `names` object, required
              - …
          - `regionName` string
        - `loginSessionId` string: Browser login correlation ID. This is not an authentication credential.
        - `os` string
        - `ssoType` string
        - `userAgent` string
        - `username` string
        - `viaApple` false | true
        - `viaBitbucket` false | true
        - `viaGithub` false | true
        - `viaGitlab` false | true
        - `viaGoogle` false | true
        - `viaOTP` false | true
        - `viaPasskey` false | true
        - `viaSamlSso` false | true
      - object: The payload of the event, if requested.
        - `projectId` string, required
        - `projectName` string, required
        - `toDeploymentId` string, required
      - object: The payload of the event, if requested.
        - `invoiceCollection` false | true, required
      - object: The payload of the event, if requested.
        - `periods` object[], required
          - `endDate` string, required
          - `percent` string, required
          - `periodNumber` number, required
          - `startDate` string, required
      - object: The payload of the event, if requested.
        - `allowedIntegrationCount` number
        - `allowedIntegrationIds` string[]
        - `enabled` false | true, required
        - `resourceOnlyIntegrationCount` number
      - object: The payload of the event, if requested.
        - `id` string, required
        - `name` string, required
        - `slug` string, required
      - object: The payload of the event, if requested.
        - `enablePolyrepoBranchRouting` false | true
        - `fallbackEnvironment` string
        - `id` string, required
        - `name` string
        - `prev` object, required
          - `enablePolyrepoBranchRouting` false | true
          - `fallbackEnvironment` string, required
          - `name` string, required
          - `slug` string, required
        - `slug` string
      - object: The payload of the event, if requested.
        - `group` object, required
          - `id` string, required
          - `name` string, required
          - `slug` string, required
        - `project` object, required
          - `id` string, required
          - `name` string, required
      - object: The payload of the event, if requested.
        - `group` object, required
          - `id` string, required
          - `name` string, required
          - `slug` string, required
        - `prev` object, required
          - `project` object, required
            - `microfrontends` union
              - …
        - `project` object, required
          - `id` string, required
          - `microfrontends` union
            - object
              - …
            - object
              - …
            - object
              - …
          - `name` string, required
      - object: The payload of the event, if requested.
        - `alertId` string, required
        - `alertName` string, required
      - object: The payload of the event, if requested.
        - `projectId` string
        - `projectName` string, required
      - object: The payload of the event, if requested.
        - `avatar` string, nullable, required
        - `organizationId` string, required
      - object: The payload of the event, if requested.
        - `name` string, required
        - `organizationId` string, required
        - `rootTeamId` string, required
        - `slug` string, required
      - object: The payload of the event, if requested.
        - `directoryId` string, required
        - `organizationId` string, required
      - object: The payload of the event, if requested.
        - `directoryGroupId` string, required
        - `directoryId` string, required
        - `groupName` string, required
        - `next` object, required
          - `organizationPermissions` string[], required
          - `teamRoles` string[], required
          - `teams` object, required
        - `organizationId` string, required
      - object: The payload of the event, if requested.
        - `directoryGroupId` string, required
        - `directoryId` string, required
        - `organizationId` string, required
      - object: The payload of the event, if requested.
        - `copiedDomains` string[], required
        - `enabledOrganizationEmu` false | true, required
        - `enabledTeamIds` string[], required
        - `organizationId` string, required
        - `teamId` string, required
        - `teamSlug` string, required
      - object: The payload of the event, if requested.
        - `enabled` false | true, required
        - `enforcedTeamIds` string[], required
        - `organizationId` string, required
        - `previousEnabled` false | true, required
        - `trigger` 'directory_sync_updated' | 'domain_deleted' | 'domain_verified' | 'organization_deleted' | 'saml_updated' | 'team_attached' | 'team_participation_updated' | 'team_removed' | 'toggle', required
        - `unenforcedTeamIds` string[], required
      - object: The payload of the event, if requested.
        - `enabled` false | true, required
        - `organizationId` string, required
        - `teamId` string, required
        - `teamSlug` string, required
      - object: The payload of the event, if requested.
        - `name` string, required
        - `organizationId` string, required
      - object: The payload of the event, if requested.
        - `organizationId` string, required
        - `slug` string, required
      - object: The payload of the event, if requested.
        - `billingPlan` 'enterprise' | 'platform', required
        - `organizationId` string, required
        - `teamId` string, required
      - object: The payload of the event, if requested.
        - `next` object, required
          - `dsyncMode` 'organization' | 'team', required
        - `organizationId` string, required
        - `previous` object, required
          - `dsyncMode` 'organization' | 'team', required
        - `teamId` string, required
        - `teamName` string, required
      - object: The payload of the event, if requested.
        - `connectionType` string, required
        - `organizationId` string, required
        - `organizationSlug` string, required
      - object: The payload of the event, if requested.
        - `enforced` false | true, required
        - `organizationId` string, required
        - `organizationSlug` string, required
        - `previousEnforced` false | true, required
      - object: The payload of the event, if requested.
        - `mode` 'organization' | 'team', required
        - `organizationId` string, required
        - `previousMode` 'organization' | 'team', required
        - `teamId` string, required
        - `teamName` string, required
      - object: The payload of the event, if requested.
        - `blockReason` string
        - `cause` string, required
        - `ownerId` string, required
        - `siftRoute` object
          - `name` string, required
        - `source` string, required
      - object: The payload of the event, if requested.
        - `cause` string, required
        - `ownerId` string, required
        - `reason` string, nullable
        - `source` string, required
      - object: The payload of the event, if requested.
        - `blockReason` string
        - `cause` string, required
        - `ownerId` string, required
        - `source` string, required
      - object: The payload of the event, if requested.
        - `cause` string, required
        - `ownerId` string, required
        - `source` string, required
      - object: The payload of the event, if requested.
        - `next` object, required
          - `allowUnsafeScriptSrcKeywords` false | true, required
          - `computedConnectSrc` string
          - `computedConnectSrcPreview` string
          - `computedScriptSrc` string
          - `computedScriptSrcPreview` string
          - `connectSrcNotificationsEnabled` false | true
          - `enabled` false | true, required
          - `enforcementScope` 'all' | 'preview'
          - `enforcePercentage` number, required
          - `mode` string, required
          - `newResourceBlockingPolicy` 'allow' | 'block', required
          - `omitScriptNonce` false | true
        - `previous` object, nullable, required
          - `allowUnsafeScriptSrcKeywords` false | true, required
          - `computedConnectSrc` string
          - `computedConnectSrcPreview` string
          - `computedScriptSrc` string
          - `computedScriptSrcPreview` string
          - `connectSrcNotificationsEnabled` false | true
          - `enabled` false | true, required
          - `enforcementScope` 'all' | 'preview'
          - `enforcePercentage` number, required
          - `mode` string, required
          - `newResourceBlockingPolicy` 'allow' | 'block', required
          - `omitScriptNonce` false | true
        - `projectId` string, required
      - object: The payload of the event, if requested.
        - `headerName` string, required
        - `justification` string, required
        - `previousStatus` string, required
        - `projectId` string, required
      - object: The payload of the event, if requested.
        - `headerName` string, required
        - `justification` string, nullable, required
        - `previousStatus` string, required
        - `projectId` string, required
      - object: The payload of the event, if requested.
        - `connectSrcCount` number, required
        - `connectSrcNormalizationRulesCleared` false | true
        - `connectSrcOriginCount` number, required
        - `connectSrcUserNormalizationRuleCount` number
        - `deletedCount` number, required
        - `headerCount` number, required
        - `projectId` string, required
        - `projectName` string, required
        - `scriptCount` number, required
      - object: The payload of the event, if requested.
        - `approvalScope` 'all' | 'preview'
        - `justification` string, required
        - `kind` 'connectSrc' | 'script'
        - `previousStatus` string, required
        - `projectId` string, required
        - `url` string, required
      - object: The payload of the event, if requested.
        - `projectId` string, required
        - `resourceUrl` string, required
        - `type` 'script', required
      - object: The payload of the event, if requested.
        - `headerName` string, required
        - `projectId` string, required
        - `type` 'header', required
      - object: The payload of the event, if requested.
        - `projectId` string, required
        - `resourceUrl` string, required
        - `type` 'connectSrc', required
      - object: The payload of the event, if requested.
        - `headerName` string
        - `justification` string, nullable, required
        - `kind` 'connectSrc' | 'script'
        - `previousStatus` string, required
        - `projectId` string, required
        - `url` string
      - object: The payload of the event, if requested.
        - `justification` string, required
        - `pattern` string, required
        - `projectId` string, required
        - `projectName` string, required
      - object: The payload of the event, if requested.
        - `newName` string, required
        - `oldName` string, required
      - object: The payload of the event, if requested.
        - `connectorId` string, required
        - `connectorService` string, required
        - `connectorType` string, required
        - `emailVerified` false | true
        - `environment` string, required
        - `externalIssuer` string, required
        - `externalSubject` string, required
        - `host` string, required
        - `installationId` string
        - `projectId` string, required
        - `sessionId` string, required
        - `tenantId` string
      - object: The payload of the event, if requested.
        - `next` object, required
          - `passport` object, nullable
            - `connectorId` string, required
            - `deploymentType` 'all' | 'all_except_custom_domains' | 'preview' | 'prod_deployment_urls_and_all_previews', required
        - `previous` object, required
          - `passport` object, nullable
            - `connectorId` string, required
            - `deploymentType` 'all' | 'all_except_custom_domains' | 'preview' | 'prod_deployment_urls_and_all_previews', required
        - `projectId` string, required
        - `projectName` string, required
      - object: The payload of the event, if requested.
        - `next` object, required
          - `passport` object, nullable
            - `connectorId` string, required
            - `deploymentType` 'all' | 'all_except_custom_domains' | 'preview' | 'prod_deployment_urls_and_all_previews', required
        - `previous` object, required
          - `passport` object, nullable
            - `connectorId` string, required
            - `deploymentType` 'all' | 'all_except_custom_domains' | 'preview' | 'prod_deployment_urls_and_all_previews', required
      - object: The payload of the event, if requested.
        - `automated` false | true: Whether the plan change was system-initiated rather than human-initiated.
        - `isDowngrade` false | true
        - `isReactivate` false | true
        - `isTrialUpgrade` false | true
        - `plan` string, required
        - `prevPlan` string
        - `priorPlan` string
        - `reason` string: Why the plan changed. For downgrades, this is a {@link DowngradeReason} from `@api/pubsub-types` (e.g. `user_downgrade`, `trial_expired`).
        - `removedMemberCount` number
        - `removedUsers` object
        - `timestamp` number
        - `userAgent` string
      - object: The payload of the event, if requested.
        - `automated` false | true: Whether the plan change was system-initiated rather than human-initiated.
        - `isDowngrade` false | true
        - `isReactivate` false | true
        - `isTrialUpgrade` false | true
        - `plan` string, required
        - `prevPlan` string
- … truncated; see the full OpenAPI document linked below

## Other responses

- `400`: One of the provided values in the request query is invalid.
- `401`: The request is not authorized.
- `403`: You do not have permission to access this resource.
- `410`

## Changes

- **2026-11-03** `60686c0e1f6a`: 1 breaking, 1 info
  - added `subschema #192, subschema #341` to the `events/items/payload` response property `oneOf` list for the response status `200`
  - removed `subschema #192, subschema #341` from the `events/items/payload` response property `oneOf` list for the response status `200`
- **2026-10-31** `ce41983d652d`: 4 breaking, 3 info
  - the response property `events/items/payload/oneOf[subschema #407]/deploymentId` became nullable for the status `200`
  - the response property `events/items/payload/oneOf[subschema #407]/environment` became nullable for the status `200`
  - removed the required property `events/items/payload/oneOf[subschema #407]/projectId` from the response with the `200` status
  - removed the required property `events/items/payload/oneOf[subschema #407]/projectName` from the response with the `200` status
  - …3 more
- **2026-10-30** `4a35e0a7cef6`: 1 breaking, 1 warning
  - added `subschema #240` to the `events/items/payload` response property `oneOf` list for the response status `200`
  - added the new `organization-team-dsync-update` enum value to the `events/items/type` response property for the response status `200`
- …earlier changes not shown

[Operation history](https://skmtc.dev/vercel/apis/vercel-api/changes/v3/events/get.md)

---

[API](https://skmtc.dev/vercel/apis/vercel-api.md) - [All operations](https://skmtc.dev/vercel/apis/vercel-api/llms.txt) - [OpenAPI document](https://skmtc.dev/vercel/apis/vercel-api/revisions/60686c0e1f6a?raw)
