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

# List User Events

`GET /v3/events`

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.
    - `id` string, required — The unique identifier of the Event.
    - `text` string, required — The human-readable text of the Event.
    - `entities` object[], required — A list of "entities" within the event `text`. Useful for enhancing the displayed text with additional styling and links.
      - `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.
      - `start` number, required — The index of where the entity begins within the `text` (inclusive).
      - `end` number, required — The index of where the entity ends within the `text` (non-inclusive).
    - `type` 'access-group-created' | 'access-group-deleted' | 'access-group-project-updated' | 'access-group-updated' | 'access-group-user-added' | 'access-group-user-removed' | 'agentic-provisioning-account-blocked' | 'agentic-provisioning-account-linked' | 'agentic-provisioning-account-relinked' | 'agentic-provisioning-account-unlinked' | 'agentic-provisioning-credentials-rotated' | 'agentic-provisioning-plan-changed' | 'agentic-provisioning-team-created' | 'ai-alert-investigation' | 'ai-code-review' | 'ai-gateway-api-key-created' | 'ai-gateway-api-key-deleted' | 'ai-gateway-api-key-quota-updated' | 'ai-gateway-budget-default-updated' | 'ai-gateway-byok-credential-created' | 'ai-gateway-byok-credential-deleted' | 'ai-gateway-byok-credential-updated' | 'ai-gateway-guardrails-updated' | 'ai-gateway-model-allowlist-models-updated' | 'ai-gateway-model-allowlist-toggled' | 'ai-gateway-private-model-created' | 'ai-gateway-private-model-deleted' | 'ai-gateway-private-model-updated' | 'ai-gateway-private-provider-created' | 'ai-gateway-private-provider-deleted' | 'ai-gateway-private-provider-updated' | 'ai-gateway-provider-allowlist-providers-updated' | 'ai-gateway-provider-allowlist-toggled' | 'ai-gateway-rule-created' | 'ai-gateway-rule-deleted' | 'ai-gateway-rule-updated' | 'ai-gateway-scope-budget-updated' | 'ai-gateway-transcripts-default-disabled' | 'ai-gateway-transcripts-default-enabled' | 'ai-gateway-transcripts-disabled' | 'ai-gateway-transcripts-enabled' | 'ai-gateway-transcripts-retention-updated' | 'ai-gateway-virtual-model-config-archived' | 'ai-gateway-virtual-model-config-created' | 'ai-gateway-virtual-model-config-restored' | 'ai-gateway-virtual-model-config-updated' | 'ai-omniagent' | 'alert-investigation-project-allowlist-updated' | 'alert-rule-created' | 'alert-rule-deleted' | 'alert-rule-updated' | 'alias' | 'alias-chown' | 'alias-delete' | 'alias-invite-created' | 'alias-invite-joined' | 'alias-invite-revoked' | 'alias-protection-bypass-created' | 'alias-protection-bypass-exception' | 'alias-protection-bypass-regenerated' | 'alias-protection-bypass-revoked' | 'alias-system' | 'alias-user-scoped-access-denied' | 'alias-user-scoped-access-granted' | 'alias-user-scoped-access-requested' | 'alias-user-scoped-access-revoked' | 'aliases-assigned' | 'attack-mode-disabled' | 'attack-mode-enabled' | 'audit-log-export-downloaded' | 'audit-log-export-requested' | 'authorize-git-deployment' | 'auto-expose-system-envs' | 'avatar' | 'bulk-redirects-settings-updated' | 'bulk-redirects-version-promoted' | 'bulk-redirects-version-restored' | 'cert' | 'cert-autorenew' | 'cert-chown' | 'cert-clone' | 'cert-delete' | 'cert-renew' | 'cert-replace' | 'cert-system-create' | 'code-owners-config-updated' | 'compliance-document-downloaded' | 'compliance-document-previewed' | 'compliance-documents-bulk-downloaded' | 'concurrent-builds-update' | 'connect-attach-project' | 'connect-bitbucket' | 'connect-bitbucket-app' | 'connect-configuration-created' | 'connect-configuration-deleted' | 'connect-configuration-link-updated' | 'connect-configuration-linked' | 'connect-configuration-unlinked' | 'connect-configuration-updated' | 'connect-create-connector' | 'connect-delete-connector' | 'connect-delete-installation' | 'connect-detach-project' | 'connect-github' | 'connect-github-custom-host' | 'connect-github-limited' | 'connect-gitlab' | 'connect-gitlab-app' | 'connect-import-tokens' | 'connect-revoke-all-tokens' | 'connect-update-connector' | 'connect-update-trigger-destinations' | 'connect-upsert-installation' | 'custom-alert-created' | 'custom-alert-deleted' | 'custom-alert-updated' | 'custom-environments-settings-updated' | 'custom-suffix-clear' | 'custom-suffix-disable' | 'custom-suffix-enable' | 'custom-suffix-pending' | 'custom-suffix-ready' | 'deploy-hook-created' | 'deploy-hook-deduped' | 'deploy-hook-deleted' | 'deploy-hook-processed' | 'deployment' | 'deployment-check-created' | 'deployment-check-deleted' | 'deployment-check-updated' | 'deployment-chown' | 'deployment-creation-blocked' | 'deployment-delete' | 'deployment-policy-blocked' | 'deployment-undeleted' | 'disabled-integration-installation-removed' | 'disconnect-bitbucket-app' | 'disconnect-github' | 'disconnect-github-custom-host' | 'disconnect-github-limited' | 'disconnect-gitlab-app' | 'dns-add' | 'dns-delete' | 'dns-record-internal' | 'dns-update' | 'dns-zonefile-import' | 'domain' | 'domain-buy' | 'domain-cdn' | 'domain-chown' | 'domain-custom-ns-change' | 'domain-delegated' | 'domain-delete' | 'domain-move-in' | 'domain-move-out' | 'domain-move-out-request-sent' | 'domain-renew-change' | 'domain-service-type-updated' | 'domain-transfer-in' | 'domain-transfer-in-canceled' | 'domain-transfer-in-completed' | 'domain-zone-change' | 'domain-zone-change-internal' | 'drain-created' | 'drain-deleted' | 'drain-disabled' | 'drain-enabled' | 'drain-updated' | 'edge-cache-dangerously-delete-by-src-images' | 'edge-cache-dangerously-delete-by-tags' | 'edge-cache-dangerously-delete-immutable-static' | 'edge-cache-invalidate-by-src-images' | 'edge-cache-invalidate-by-tags' | 'edge-cache-purge-all' | 'edge-cache-rollback-purge' | 'edge-config-backup-restored' | 'edge-config-created' | 'edge-config-deleted' | 'edge-config-items-updated' | 'edge-config-schema-deleted' | 'edge-config-schema-updated' | 'edge-config-token-created' | 'edge-config-token-deleted' | 'edge-config-transfer-in' | 'edge-config-transfer-out' | 'edge-config-updated' | 'email' | 'email-notification-rule-removed' | 'email-notification-rule-updated' | 'emu-member-removed-unverified-domain' | 'enforce-sensitive-environment-variables' | 'env-variable-add' | 'env-variable-delete' | 'env-variable-edit' | 'env-variable-masked' | 'env-variable-read' | 'env-variable-read:cli:dev' | 'env-variable-read:cli:env:add' | 'env-variable-read:cli:env:ls' | 'env-variable-read:cli:env:pull' | 'env-variable-read:cli:env:rm' | 'env-variable-read:cli:pull' | 'env-variable-read:unknown-source' | 'env-variable-read:v0:env:pull' | 'env-variable-rotated' | 'firewall-bypass-created' | 'firewall-bypass-deleted' | 'firewall-config-modified' | 'firewall-config-promoted' | 'firewall-config-removed' | 'firewall-managed-rulegroup-updated' | 'firewall-managed-ruleset-updated' | 'flag' | 'flag-archived' | 'flag-created' | 'flag-deleted' | 'flag-unarchived' | 'flag-updated' | 'flags-explorer-subscription' | 'flags-sdk-key' | 'flags-sdk-key-added' | 'flags-sdk-key-deleted' | 'flags-sdk-key-read' | 'flags-segment' | 'flags-settings' | 'flags-transferred' | 'git-integration-repo-push' | 'git_account_integration_link_added' | 'instant-rollback-created' | 'integration-configuration-owner-changed' | 'integration-configuration-scope-change-confirmed' | 'integration-configuration-transfer-in-success' | 'integration-configuration-transfer-out-success' | 'integration-configurations-disabled' | 'integration-installation-billing-plan-updated' | 'integration-installation-completed' | 'integration-installation-permission-updated' | 'integration-installation-removed' | 'integration-resource-redis-command-executed' | 'integration-resource-sql-query-executed' | 'integration-scope-changed' | 'invoice-modified' | 'invoice-refunded' | 'kms-issuer-created' | 'kms-issuer-deleted' | 'kms-issuer-key-activated' | 'kms-issuer-key-created' | 'kms-issuer-key-revoked' | 'kms-issuer-key-rotated' | 'kms-issuer-policy-created' | 'kms-issuer-policy-deleted' | 'kms-issuer-policy-updated' | 'kms-issuer-updated' | 'log-drain-created' | 'log-drain-deleted' | 'log-drain-disabled' | 'log-drain-enabled' | 'login' | 'login-connection-linked' | 'login-connection-unlinked' | 'manual-deployment-promotion-created' | 'marketplace-flex-commit-opt-in' | 'marketplace-integration-allowlist-updated' | 'microfrontend-group-added' | 'microfrontend-group-deleted' | 'microfrontend-group-updated' | 'microfrontend-project-added-to-group' | 'microfrontend-project-removed-from-group' | 'microfrontend-project-updated' | 'monitoring-alert-updated' | 'monitoring-disabled' | 'monitoring-enabled' | 'oauth-app-connection-created' | 'oauth-app-connection-removed' | 'oauth-app-connection-updated' | 'oauth-app-created' | 'oauth-app-deleted' | 'oauth-app-secret-deleted' | 'oauth-app-secret-generated' | 'oauth-app-token-created' | 'oauth-app-updated' | 'observability-disabled' | 'observability-enabled' | 'observability-plus-project-disabled' | 'observability-plus-project-enabled' | 'oidc-policy-created' | 'oidc-policy-deleted' | 'oidc-policy-updated' | 'oidc-policy-used-to-obtain-app-token' | 'organization-create' | 'organization-delete' | 'organization-dsync-group-delete' | 'organization-dsync-group-upsert' | 'organization-slug-update' | 'organization-team-add' | 'organization-team-create' | 'organization-team-delete' | 'owner-blocked' | 'owner-soft-blocked' | 'owner-soft-unblocked' | 'owner-unblocked' | 'page-integrity-config-updated' | 'page-integrity-header-approved' | 'page-integrity-header-rejected' | 'page-integrity-inventory-cleared' | 'page-integrity-resource-approved' | 'page-integrity-resource-deleted' | 'page-integrity-resource-rejected' | 'page-integrity-script-approval-rule-created' | 'page-integrity-script-approval-rule-deleted' | 'passkey-created' | 'passkey-deleted' | 'passkey-updated' | 'passport-access-granted' | 'password-protection-disabled' | 'password-protection-enabled' | 'payment-method-added' | 'payment-method-default-updated' | 'payment-method-removed' | 'plan' | 'preview-deployment-suffix-disabled' | 'preview-deployment-suffix-enabled' | 'preview-deployment-suffix-update' | 'privatelink-endpoint-created' | 'privatelink-endpoint-deleted' | 'privatelink-endpoint-updated' | 'production-branch-updated' | 'project-add-alias' | 'project-add-redirect' | 'project-affected-projects-deployments-updated' | 'project-alias-configured-change' | 'project-analytics-disabled' | 'project-analytics-enabled' | 'project-auto-assign-custom-production-domains-updated' | 'project-automation-bypass' | 'project-avatar-update' | 'project-build-command-updated' | 'project-build-logs-and-source-protection-updated' | 'project-build-machine-updated' | 'project-card-widget-preference-updated' | 'project-client-cert-delete' | 'project-client-cert-upload' | 'project-connect-configurations' | 'project-consolidated-git-commit-status-updated' | 'project-created' | 'project-cron-jobs-toggled' | 'project-custom-environment-created' | 'project-custom-environment-deleted' | 'project-custom-environment-updated' | 'project-customer-success-code-visibility-updated' | 'project-delete' | 'project-deployment-policy-updated' | 'project-deployment-retention-updated' | 'project-directory-listing' | 'project-domain-deleted' | 'project-domain-moved' | 'project-domain-unverified' | 'project-domain-updated' | 'project-domain-verified' | 'project-elastic-concurrency-updated' | 'project-expiration-locked' | 'project-expiration-reached' | 'project-expiration-scheduled' | 'project-expiration-unlocked' | 'project-external-rewrite-caching-updated' | 'project-framework-updated' | 'project-function-cpu-memory' | 'project-function-failover' | 'project-function-max-duration' | 'project-function-regions' | 'project-functions-beta-updated' | 'project-functions-fluid-disabled' | 'project-functions-fluid-enabled' | 'project-git-commit-comments-toggled' | 'project-git-commit-status-toggled' | 'project-git-create-deployments-toggled' | 'project-git-fork-protection-updated' | 'project-git-lfs-toggled' | 'project-git-pr-comments-toggled' | 'project-git-repository-connected' | 'project-git-repository-disconnected' | 'project-git-repository-dispatch-events-toggled' | 'project-git-require-verified-commits-toggled' | 'project-ignored-build-step-updated' | 'project-install-command-updated' | 'project-member-added' | 'project-member-invited' | 'project-member-removed' | 'project-member-removed-batch' | 'project-member-updated' | 'project-move-in-success' | 'project-move-out-failed' | 'project-move-out-started' | 'project-move-out-success' | 'project-name' | 'project-node-version-updated' | 'project-oidc-issuer-mode-updated' | 'project-oidc-token-created' | 'project-options-allowlist' | 'project-output-directory-updated' | 'project-passport-updated' | 'project-password-protection' | 'project-paused' | 'project-preview-deployment-suffix' | 'project-preview-environment-branch-tracking-updated' | 'project-prioritize-production-builds-updated' | 'project-program-enrollment-changed' | 'project-protected-sourcemaps-updated' | 'project-rollback-description-updated' | 'project-rolling-release-aborted' | 'project-rolling-release-approved' | 'project-rolling-release-completed' | 'project-rolling-release-configured' | 'project-rolling-release-continued' | 'project-rolling-release-disabled' | 'project-rolling-release-enabled' | 'project-rolling-release-paused' | 'project-rolling-release-started' | 'project-rolling-release-suggested-actions-generated' | 'project-rolling-release-timer' | 'project-root-directory-updated' | 'project-routes-version-promoted' | 'project-routes-version-restored' | 'project-sandbox-config-updated' | 'project-sandbox-url-protection-updated' | 'project-skew-protection-allowed-domains-updated' | 'project-skew-protection-max-age-updated' | 'project-skew-protection-threshold-updated' | 'project-source-files-outside-root-directory-updated' | 'project-speed-insights-disabled' | 'project-speed-insights-enabled' | 'project-sso-protection' | 'project-static-ips-updated' | 'project-trusted-ips' | 'project-trusted-sources' | 'project-unpaused' | 'project-web-analytics-disabled' | 'project-web-analytics-enabled' | 'protected-git-scope-added' | 'protected-git-scope-removed' | 'runtime-cache-purge-all' | 'saml-connection-created' | 'saml-connection-deleted' | 'sandbox-alias-assigned' | 'sandbox-alias-delete' | 'sandbox-snapshot-regions-updated' | 'scale' | 'scale-auto' | 'secondary-email-added' | 'secondary-email-removed' | 'secondary-email-verified' | 'secret-add' | 'secret-delete' | 'secret-rename' | 'security-list-created' | 'security-list-deleted' | 'security-list-updated' | 'security-plus-updated' | 'set-bio' | 'set-name' | 'set-profiles' | 'set-scale' | 'shared-env-variable-create' | 'shared-env-variable-delete' | 'shared-env-variable-read' | 'shared-env-variable-update' | 'show-ip-addresses' | 'signup' | 'signup-via-bitbucket' | 'signup-via-github' | 'signup-via-gitlab' | 'speed-insights-settings-updated' | 'spend-created' | 'spend-deleted' | 'spend-updated' | 'sso-login' | 'storage-accept-tos' | 'storage-access-token-set' | 'storage-accessed-data-browser' | 'storage-connect-project' | 'storage-create' | 'storage-delete' | 'storage-disconnect-project' | 'storage-disconnect-projects' | 'storage-inactive-store-deleted' | 'storage-reset-credentials' | 'storage-resource-repl-command' | 'storage-set-locked' | 'storage-transfer-in-success' | 'storage-transfer-out-success' | 'storage-transfer-request-created' | 'storage-update' | 'storage-update-project-connection' | 'storage-upgrade-project-connection-to-oidc' | 'storage-view-secret' | 'strict-deployment-protection-settings' | 'strict-password-protection-settings' | 'strict-shareable-links' | 'subscription-created' | 'subscription-product-added' | 'subscription-product-removed' | 'subscription-updated' | 'support-session-created' | 'team' | 'team-agent-billing-migration-decision-changed' | 'team-avatar-update' | 'team-collaboration-settings-updated' | 'team-default-build-machine-updated' | 'team-default-passport-updated' | 'team-delete' | 'team-deployment-policy-updated' | 'team-domain-verification-created' | 'team-domain-verification-deleted' | 'team-domain-verification-verified' | 'team-email-domain-update' | 'team-emu-updated' | 'team-ended-trial' | 'team-firewall-config-modified' | 'team-firewall-config-promoted' | 'team-git-repository-dispatch-events-toggled' | 'team-git-require-verified-commits-toggled' | 'team-invite-bulk-delete' | 'team-invite-code-reset' | 'team-invite-link-created' | 'team-invite-link-deleted' | 'team-ip-blocking-rules-created' | 'team-ip-blocking-rules-removed' | 'team-member-add' | 'team-member-confirm-request' | 'team-member-decline-request' | 'team-member-delete' | 'team-member-entitlement-added' | 'team-member-entitlement-canceled' | 'team-member-entitlement-reactivated' | 'team-member-entitlement-removed' | 'team-member-join' | 'team-member-leave' | 'team-member-request-access' | 'team-member-role-update' | 'team-member-sso-authorization-attempt' | 'team-mfa-enforcement-updated' | 'team-name-update' | 'team-paid-invoice' | 'team-program-enrollment-changed' | 'team-remote-caching-purge' | 'team-remote-caching-update' | 'team-saml-enforced' | 'team-saml-roles' | 'team-slug-update' | 'team-tokens-invalidated' | 'tracing-configured' | 'tracing-disabled' | 'unlink-login-connection' | 'update-account-flow-dismissed' | 'update-account-flow-triggered' | 'user-auto-block-configured' | 'user-blocked' | 'user-delete' | 'user-delete-requested' | 'user-emu-account-archived' | 'user-emu-account-deleted' | 'user-emu-account-recovered' | 'user-emu-recovery-email-sent' | 'user-emu-recovery-initiated' | 'user-emu-toggled' | 'user-mfa-challenge-failed' | 'user-mfa-challenge-verified' | 'user-mfa-change-failed' | 'user-mfa-configuration-updated' | 'user-mfa-recovery-code-used' | 'user-mfa-recovery-codes-regenerated' | 'user-mfa-removed' | 'user-mfa-setup-skipped' | 'user-mfa-totp-verification-started' | 'user-mfa-totp-verified' | 'user-phone-removed' | 'user-phone-updated' | 'user-primary-email-updated' | 'user-sudo-mode-removed' | 'user-token-created' | 'user-token-deleted' | 'user-tokens-deleted' | 'user-unblocked' | 'username' | 'v0-chat-ai-usage' | 'v0-chat-created' | 'v0-chat-message-sent' | 'vcr-image-deleted' | 'vcr-image-pushed' | 'vcr-repository-created' | 'vcr-repository-deleted' | 'vcr-repository-permission-added' | 'vcr-repository-permission-removed' | 'vcr-repository-permissions-cleared' | 'vcr-repository-visibility-changed' | 'vercel-agent-elevated-permissions-approved' | 'vercel-agent-elevated-permissions-requested' | 'vercel-agent-session-created' | 'vercel-agent-team-trial-credits-applied' | 'vercel-app-installation-request-dismissed' | 'vercel-app-installation-requested' | 'vercel-app-installation-updated' | 'vercel-app-installed' | 'vercel-app-tokens-revoked' | 'vercel-app-uninstalled' | 'vercel-toolbar' | 'vpc-peering-connection-accepted' | 'vpc-peering-connection-deleted' | 'vpc-peering-connection-rejected' | 'vpc-peering-connection-updated' | 'vulnerability-banner-dismissed' | 'web-analytics-tier-updated' | 'webhook-created' | 'webhook-deleted' | 'webhook-updated' | 'workflow-deployment-key-accessed' — The type of the event.
    - `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.
    - `user` object — Metadata for {@link userId}.
      - `slug` string
      - `avatar` string, required
      - `uid` string, required
      - `email` string, required
      - `username` string, required
    - `principal` union
      - object — Metadata for {@link principalId}.
        - `type` 'user'
        - `avatar` string, required
        - `email` string, required
        - `slug` string
        - `uid` string, required
        - `username` string, required
      - object — Metadata for {@link principalId}.
        - `type` 'app', required
        - `clientId` string, required
        - `name` string, required
      - object — Metadata for {@link principalId}.
        - `type` 'external', required
        - `id` string, required
        - `name` string, required
        - `email` string
      - object — Metadata for {@link principalId}.
        - `type` 'system', required
    - `via` union[] — Metadata for {@link viaIds}.
      - union
        - object — Metadata for {@link viaIds}.
          - `type` 'user'
          - `avatar` string, required
          - `email` string, required
          - `slug` string
          - `uid` string, required
          - `username` string, required
        - object — Metadata for {@link viaIds}.
          - `type` 'app', required
          - `clientId` string, required
          - `name` string, required
        - object — Metadata for {@link viaIds}.
          - `type` 'external', required
          - `id` string, required
          - `name` string, required
          - `email` string
        - object — Metadata for {@link viaIds}.
          - `type` 'system', required
    - `userId` string — When the principal who generated the event is a user, this is their ID; otherwise, it is empty.
    - `principalId` string, required — The ID of the principal who generated the event. The principal is typically a user, but it could also be an app, an integration, etc. The principal may have delegated its authority to an acting party, and so {@link viaIds} should be checked as well.
    - `viaIds` string[] — If the principal delegated its authority (for example, a user delegating to an app), then this array contains the ID of the current actor. For example, if `principalId` is "user123" and `viaIds` is `["app456"]`, we can say the event was triggered by - "app456 on behalf of user123", or - "user123 via app4556". Both are equivalent. Arbitrarily long chains of delegation can be represented. For example, if `principalId` is "user123" and `viaIds` is `["service1", "service2"]`, we can say the event was triggered by "user123 via service1 via service2".
    - `payload` union
      - object — The payload of the event, if requested.
      - object — The payload of the event, if requested.
        - `action` 'archived' | 'created' | 'deleted' | 'unarchived' | 'updated', required
        - `id` string, required
        - `slug` string, required
        - `projectId` string, required
        - `projectName` string
      - object — The payload of the event, if requested.
        - `action` 'added' | 'deleted' | 'rotated', required
        - `label` string
        - `projectName` string
        - `projectId` string
        - `environment` string, required
      - object — The payload of the event, if requested.
        - `action` 'read', required
        - `projectName` string
        - `projectId` string
        - `environment` 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
        - `accountRequestId` 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".
        - `reason` string, required
        - `blockCode` 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`.
        - `resourceId` string, required
        - `projectName` 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
        - `resourceId` string, required
        - `fromPlan` 'hobby' | 'pro', required
        - `toPlan` 'hobby' | 'pro', 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`.
          - `limitAmount` number, required — Spend cap, in dollars.
          - `refreshPeriod` 'daily' | 'monthly' | 'none' | 'weekly', required
        - `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`.
          - `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.
        - `scopeType` 'api-key' | 'project' | 'team', 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`.
          - `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.
        - `scopeType` 'project' | 'team', required
        - `projectId` string — Associates the event with a project for filtering; not rendered.
        - `projectName` string
        - `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`.
          - `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.
        - `credential` object, required
          - `id` string, required
          - `name` string, required
          - `providerSlug` string, required
      - object — The payload of the event, if requested.
        - `enabled` false | true, 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
          - `slug` string, required
          - `providerSlug` 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.
        - `piiRedaction` object, required
          - `from` false | true, required
          - `to` false | true, required
        - `moderationPolicyCount` number, required
        - `policiesAdded` string[], required
        - `policiesRemoved` string[], required
        - `policiesModified` string[], required
      - object — The payload of the event, if requested.
        - `retention` object, required
          - `defaultMode` 'days' | 'until-requested', required
          - `defaultDays` number
          - `ceilingMode` 'days' | 'until-requested', required
          - `ceilingDays` number
      - object — The payload of the event, if requested.
        - `rule` object, required
          - `id` string, required
          - `type` string, required
          - `model` string
          - `rewriteModel` string
      - object — The payload of the event, if requested.
        - `rule` object, required
          - `id` string, required
          - `type` string, required
          - `model` string
      - object — The payload of the event, if requested.
        - `rule` object, required
          - `id` string, required
          - `type` string, required
          - `model` string
        - `enabled` false | true
      - object — The payload of the event, if requested.
        - `virtualModelConfig` object, required
          - `id` string, required
          - `displayName` string
          - `modelSlug` string
      - object — The payload of the event, if requested.
        - `accessGroup` object, required
          - `id` string, required
          - `name` string, required
        - `teamRoles` string[]
        - `teamPermissions` string[]
        - `entitlements` string[]
      - object — The payload of the event, if requested.
        - `author` string, required
        - `accessGroup` object, required
          - `id` string, required
          - `name` string, required
      - object — The payload of the event, if requested.
        - `accessGroup` object, required
          - `id` string, required
          - `name` string, required
        - `project` object, required
          - `id` string, required
          - `name` string
        - `next_role` 'ADMIN' | 'PROJECT_DEVELOPER' | 'PROJECT_GUEST' | 'PROJECT_VIEWER' | 'null', nullable
        - `previous_role` 'ADMIN' | 'PROJECT_DEVELOPER' | 'PROJECT_GUEST' | 'PROJECT_VIEWER'
      - object — The payload of the event, if requested.
        - `accessGroup` object, required
          - `id` string, required
          - `name` string, required
        - `name` string
        - `previousName` string
        - `teamRoles` string[]
        - `previousTeamRoles` string[]
        - `teamPermissions` string[]
        - `previousTeamPermissions` string[]
        - `entitlementsAdded` string[]
        - `entitlementsRemoved` string[]
      - object — The payload of the event, if requested.
        - `accessGroup` object, required
          - `id` string, required
          - `name` string
        - `user` object, required
          - `id` string, required
          - `username` string
        - `directoryType` string
      - object — The payload of the event, if requested.
        - `price` number
        - `currency` string
      - object — The payload of the event, if requested.
        - `alias` string
        - `deployment` object, nullable
          - `id` string, required
          - `name` string, required
          - `url` string, required
          - `meta` object, required
          - `readyState` string
          - `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.
        - `ruleCount` number
        - `deploymentUrl` string
        - `aliasId` string
        - `deploymentId` string, nullable
        - `oldDeploymentId` string, nullable
        - `redirect` string
        - `redirectStatusCode` number, nullable
        - `target` string, nullable
        - `system` false | true
        - `aliasUpdatedAt` number
      - object — The payload of the event, if requested.
        - `projectId` string, required
        - `aliasCount` number, required
        - `deployment` object, nullable
          - `id` string, required
          - `name` string, required
          - `url` string, required
          - `meta` object, required
          - `readyState` string
          - `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.
      - object — The payload of the event, if requested.
        - `name` string
        - `alias` string, required
        - `oldTeam` object
          - `name` string, required
        - `newTeam` object
          - `name` string, required
      - object — The payload of the event, if requested.
        - `name` string
        - `alias` string, required
        - `aliasId` string, required
        - `deploymentId` string, nullable, required
      - 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.
        - `aliasId` string
        - `alias` string
        - `projectId` string
        - `projectName` string
      - object — The payload of the event, if requested.
        - `projectId` string
        - `projectName` string, required
        - `alias` string, required
        - `action` 'created' | 'removed', 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.
        - `appName` string, required
        - `appId` string
        - `scopes` string[], required
        - `permissions` string[]
      - object — The payload of the event, if requested.
        - `appName` string, required
        - `appId` string
      - object — The payload of the event, if requested.
        - `appName` string, required
        - `appId` string
        - `nextScopes` string[], required
        - `nextPermissions` string[]
      - object — The payload of the event, if requested.
        - `appName` string, required
        - `appId` string
        - `installationId` string
        - `before` object
          - `resources` object
            - `projectIds` object, required — Specific project IDs or all projects on the team (`['*']`).
              - …
          - `permissions` string[]
        - `after` object
          - `resources` object
            - `projectIds` object, required — Specific project IDs or all projects on the team (`['*']`).
              - …
          - `permissions` string[]
      - object — The payload of the event, if requested.
        - `appName` string, required
        - `appId` string
        - `resources` object
          - `projectIds` object, required — Specific project IDs or all projects on the team (`['*']`).
            - `type` 'list', required
            - `required` true, required
            - `items` object, required
              - …
        - `permissions` string[]
      - object — The payload of the event, if requested.
        - `appName` string, required
        - `appId` string
        - `secretLastFourChars` string
      - object — The payload of the event, if requested.
        - `appName` 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.
        - `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).
        - `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.
        - `projectId` string, required
        - `prevAttackModeEnabled` false | true
        - `prevAttackModeActiveUntil` number, nullable
        - `attackModeEnabled` false | true, required
        - `attackModeActiveUntil` number, nullable
      - object — The payload of the event, if requested.
        - `projectId` string
        - `projectName` string, required
        - `autoExposeSystemEnvs` false | true, required
      - object — The payload of the event, if requested.
        - `avatar` string
      - object — The payload of the event, if requested.
        - `invoiceId` string, required
        - `amount` number, required
        - `refundReason` string, required
        - `lineItemCount` number, required
      - object — The payload of the event, if requested.
        - `invoiceId` string, required
        - `newInvoiceId` string, required
        - `settlementMethod` 'credited-paid' | 'credited-payment-pending' | 'refunded-paid' | 'refunded-payment-pending', required
        - `amount` number, required
      - object — The payload of the event, if requested.
        - `paymentMethodId` string, required
        - `brand` string
        - `last4` string
      - 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` object, required
          - `planSlug` 'v0_business' | 'v0_teams', required
          - `reason` 'non-payment'
      - 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.
        - `project` object, required
          - `id` string, required
          - `name` string, required
        - `bulkRedirectsLimit` number, required
        - `prevBulkRedirectsLimit` number, 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.
        - `id` string, required
        - `cns` string[], required
        - `custom` false | true, 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
        - `oldTeam` object
          - `name` string, required
        - `newTeam` object
          - `name` string, required
      - object — The payload of the event, if requested.
        - `src` string, required
        - `dst` string, required
      - object — The payload of the event, if requested.
        - `id` string, required
        - `cn` string
        - `cns` string[]
      - 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
        - `previous` object, required
          - `enabled` false | true, required
          - `autoAddReviewers` false | true, required
        - `next` object, required
          - `enabled` false | true, required
          - `autoAddReviewers` false | true, required
      - object — The payload of the event, if requested.
        - `slug` string, required
        - `documentId` string, required
        - `title` string, required
        - `fingerprint` string, required
      - object — The payload of the event, if requested.
        - `count` number, required
        - `documents` object[], required
          - `slug` string, required
          - `documentId` string, required
          - `title` string, required
          - `fingerprint` 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.
        - `team` object, required
          - `id` string, required
          - `name` string, required
        - `configuration` object, required
          - `id` string, required
          - `name` string
        - `project` object, required
          - `id` string, required
          - `name` string
        - `buildsEnabled` false | true
      - object — The payload of the event, if requested.
        - `team` object, required
          - `id` string, required
          - `name` string, required
        - `configuration` object, required
          - `id` string, required
          - `name` string
        - `project` object, required
          - `id` string, required
          - `name` string
        - `buildsEnabled` false | true
        - `passive` false | true
      - object — The payload of the event, if requested.
        - `team` object, required
          - `id` string, required
          - `name` string, required
        - `configuration` object, required
          - `id` string, required
          - `name` string
        - `project` object, required
          - `id` string, required
          - `name` string
      - object — The payload of the event, if requested.
        - `team` object, required
          - `id` string, required
          - `name` string, required
        - `configuration` object, required
          - `id` string, required
          - `name` string
        - `newName` 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.
        - `gitlabLogin` string, required
        - `gitlabEmail` 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.
        - `bitbucketLogin` string, required
        - `bitbucketAccountId` string, required
      - object — The payload of the event, if requested.
        - `clientId` string
        - `clientUid` string
        - `clientName` string
        - `projectId` string
        - `installationId` string
        - `subjectType` 'app' | 'user'
        - `fields` string[]
        - `environments` string[]
        - `triggerDestinationCount` number
        - `tokenCount` number
        - `acceptedTokenCount` number
        - `importedTokenCount` number
        - `tokensDeleted` number
      - object — The payload of the event, if requested.
        - `project` object, required
          - `id` string, required
          - `name` string, required
        - `purchasedAmount` number, required
        - `prevPurchasedAmount` number, 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.
        - `projectId` string, required
        - `projectName` string, required
        - `hookName` string, required
        - `ref` string, required
      - object — The payload of the event, if requested.
        - `project` object, required
          - `name` string, required
        - `job` object, required
          - `deployHook` object, required
            - `createdAt` number, required
            - `id` string, required
            - `name` string, required
            - `ref` string, required
          - `state` string, required
      - object — The payload of the event, if requested.
        - `projectId` string, required
        - `projectName` string, required
        - `checkId` string, required
        - `checkName` string, required
      - object — The payload of the event, if requested.
        - `name` string
        - `alias` string[]
        - `target` string, nullable
        - `deployment` object, nullable
          - `id` string, required
          - `name` string, required
          - `url` string, required
          - `meta` object, required
          - `readyState` string
          - `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.
        - `url` string, required
        - `forced` false | true
        - `gitCredentialSource` 'external-token'
        - `deploymentId` string
        - `plan` string
        - `project` string
        - `projectId` string
        - `regions` string[]
        - `type` string
      - object — The payload of the event, if requested.
        - `job` union, required
          - object
            - `type` 'bitbucket-push', required
            - `authorized` false | true
            - `authorizedBy` string
            - `jobProjectIds` string[] — Since December 2022 All project ids associated to this job. Think monorepo. This job will be for one of these project.
            - `jobPairs` array[] — Since December 2022 Pairs of projects and owner ids to build for this build request.
              - …
            - `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.
              - …
            - `gitHashtagVercel` string[] — Since February 2022 All the hashtag-vercel tags found in the commit message triggering the deploy. For example, #VERCEL_DO_SOMETHING
            - `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.
            - `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.
            - `gitComments` object — Since June 2023 Determines if comments should be posted to the git host. Replaces `github.silent` in the vercel.json.
              - …
            - `isManualGitDeploy` false | true — Since 28 Feb 2024 If set to true, identifies that the git job was created for a manual git deployment
            - `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
            - `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.
              - …
            - `createdAt` number
            - `deploymentId` string
            - `deployHook` object
              - …
            - `eventful` false | true
            - `forceNew` false | true
            - `headInfo` object, required
              - …
            - `linkedProjectId` string
            - `name` string, required
            - `owner` string, required
            - `prId` number
            - `projectId` string
            - `customEnvId` string, nullable
            - `ref` string, required
            - `repoPushedAt` number, nullable
            - `repoUuid` string, required
            - `sha` string, required
            - `silent` false | true
            - `slug` string, required
            - `target` string, nullable
            - `url` string
            - `withCache` false | true
            - `workspaceUuid` string, required
            - `provider` 'bitbucket', 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
            - `eventful` false | true
            - `headInfo` object, required
              - …
            - `linkedProjectId` string
            - `name` string, required
            - `owner` string, required
            - `prId` number, required
            - `projectId` string
            - `customEnvId` string, nullable
            - `ref` string, required
            - `repoUuid` string, required
            - `sha` string, required
            - `slug` string, required
            - `type` 'bitbucket-now-comment', required
            - `workspaceUuid` string, required
            - `gitComments` object
              - …
            - `provider` 'bitbucket', required
          - object
            - `prId` number, required
            - `type` 'pr', required
            - `authorized` false | true
            - `authorizedBy` string
            - `jobProjectIds` string[] — Since December 2022 All project ids associated to this job. Think monorepo. This job will be for one of these project.
            - `jobPairs` array[] — Since December 2022 Pairs of projects and owner ids to build for this build request.
              - …
            - `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.
              - …
            - `gitHashtagVercel` string[] — Since February 2022 All the hashtag-vercel tags found in the commit message triggering the deploy. For example, #VERCEL_DO_SOMETHING
            - `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.
            - `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.
            - `gitComments` object — Since June 2023 Determines if comments should be posted to the git host. Replaces `github.silent` in the vercel.json.
              - …
            - `isManualGitDeploy` false | true — Since 28 Feb 2024 If set to true, identifies that the git job was created for a manual git deployment
            - `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
            - `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.
              - …
            - `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.
            - `createdAt` number
            - `forceNew` false | true
            - `deploymentId` string
            - `deployHook` object
              - …
            - `beforeSha` string
            - `defaultBranch` string
            - `eventful` false | true
            - `githubDeploymentId` string
            - `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
            - `projectId` string
            - `customEnvId` string, nullable
            - `repo` string, required
            - `repoId` number, required
            - `target` string, nullable
            - `url` string
            - `withCache` false | true
            - `provider` 'github' | 'github-custom-host' | 'github-limited', required
            - `customHost` string
          - object
            - `repoPushedAt` number, nullable, required
            - `commitInfo` object
              - …
            - `forced` false | true
            - `type` 'push', required
            - `authorized` false | true
            - `authorizedBy` string
            - `jobProjectIds` string[] — Since December 2022 All project ids associated to this job. Think monorepo. This job will be for one of these project.
            - `jobPairs` array[] — Since December 2022 Pairs of projects and owner ids to build for this build request.
              - …
            - `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.
              - …
            - `gitHashtagVercel` string[] — Since February 2022 All the hashtag-vercel tags found in the commit message triggering the deploy. For example, #VERCEL_DO_SOMETHING
            - `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.
            - `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.
            - `gitComments` object — Since June 2023 Determines if comments should be posted to the git host. Replaces `github.silent` in the vercel.json.
              - …
            - `isManualGitDeploy` false | true — Since 28 Feb 2024 If set to true, identifies that the git job was created for a manual git deployment
            - `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
            - `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.
              - …
            - `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.
            - `createdAt` number
            - `forceNew` false | true
            - `deploymentId` string
            - `deployHook` object
              - …
            - `beforeSha` string
            - `defaultBranch` string
            - `eventful` false | true
            - `githubDeploymentId` string
            - `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, nullable, required
            - `projectId` string
            - `customEnvId` string, nullable
            - `repo` string, required
            - `repoId` number, required
            - `target` string, nullable
            - `url` string
            - `withCache` false | true
            - `provider` 'github' | 'github-custom-host' | 'github-limited', required
            - `customHost` string
          - object
            - `createdAt` number
            - `eventful` false | true
            - `headInfo` object, required — Information about the head commit/branch for a GitHub repository
              - …
            - `beforeSha` string
            - `installationId` number, required
            - `isPrivate` false | true, required
            - `linkedProjectId` string
            - `org` string, required
            - `prId` number, required
            - `projectId` unknown, required
            - `customEnvId` unknown
            - `repo` string, required
            - `repoId` number, required
            - `type` 'now-comment', required
            - `gitComments` object
              - …
            - `provider` 'github' | 'github-custom-host' | 'github-limited', required
            - `customHost` string
          - object
            - `type` 'gitlab-push', required
            - `authorized` false | true
            - `authorizedBy` string
            - `jobProjectIds` string[] — Since December 2022 All project ids associated to this job. Think monorepo. This job will be for one of these project.
            - `jobPairs` array[] — Since December 2022 Pairs of projects and owner ids to build for this build request.
              - …
            - `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.
              - …
            - `gitHashtagVercel` string[] — Since February 2022 All the hashtag-vercel tags found in the commit message triggering the deploy. For example, #VERCEL_DO_SOMETHING
            - `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.
            - `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.
            - `gitComments` object — Since June 2023 Determines if comments should be posted to the git host. Replaces `github.silent` in the vercel.json.
              - …
            - `isManualGitDeploy` false | true — Since 28 Feb 2024 If set to true, identifies that the git job was created for a manual git deployment
            - `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
            - `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.
              - …
            - `commit` object
              - …
            - `createdAt` number
            - `deployHook` object
              - …
            - `deploymentId` string
            - `eventful` false | true
            - `forceNew` false | true
            - `headInfo` object, required — GitLab
              - …
            - `linkedProjectId` string
            - `prId` number
            - `project` object, required
              - …
            - `projectId` string
            - `customEnvId` string, nullable
            - `ref` string, required
            - `repoPushedAt` number, nullable
            - `sha` string, required
            - `silent` false | true
            - `target` string, nullable
            - `url` string
            - `withCache` false | true
            - `provider` 'gitlab', required
          - object
            - `createdAt` number
            - `eventful` false | true
            - `headInfo` object, required — GitLab
              - …
            - `linkedProjectId` string
            - `prId` number, required
            - `project` object, required
              - …
            - `projectId` string
            - `customEnvId` string, nullable
            - `ref` string, required
            - `sha` string, required
            - `type` 'gitlab-now-comment', required
            - `gitComments` object
              - …
            - `provider` 'gitlab', required
          - object
            - `type` 'vercel-push', required
            - `ref` string, required
            - `repo` string, required
            - `sha` string, required
            - `repoPushedAt` number, nullable
            - `deployHook` object
              - …
            - `url` string
            - `target` string, nullable
            - `deploymentId` string
            - `linkedProjectId` string
            - `projectId` string
            - `authorized` false | true
            - `authorizedBy` string
            - `jobProjectIds` string[] — Since December 2022 All project ids associated to this job. Think monorepo. This job will be for one of these project.
            - `jobPairs` array[] — Since December 2022 Pairs of projects and owner ids to build for this build request.
              - …
            - `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.
              - …
            - `gitHashtagVercel` string[] — Since February 2022 All the hashtag-vercel tags found in the commit message triggering the deploy. For example, #VERCEL_DO_SOMETHING
            - `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.
            - `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.
            - `gitComments` object — Since June 2023 Determines if comments should be posted to the git host. Replaces `github.silent` in the vercel.json.
              - …
            - `isManualGitDeploy` false | true — Since 28 Feb 2024 If set to true, identifies that the git job was created for a manual git deployment
            - `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
            - `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.
              - …
            - `headInfo` object, required — Vercel
              - …
            - `org` string, required
            - `provider` 'vercel', required
            - `customEnvId` string, nullable
            - `prId` number, nullable
          - object
            - `type` 'cursor-origin-push', required
            - `ref` string, required
            - `sha` string, required
            - `beforeSha` string
            - `defaultBranch` string
            - `forced` false | true
            - `repoPushedAt` number, nullable
            - `deployHook` object
              - …
            - `url` string
            - `target` string, nullable
            - `deploymentId` string
            - `linkedProjectId` string
            - `projectId` string
            - `createdAt` number
            - `eventful` false | true
            - `forceNew` false | true
            - `authorized` false | true
            - `authorizedBy` string
            - `jobProjectIds` string[] — Since December 2022 All project ids associated to this job. Think monorepo. This job will be for one of these project.
            - `jobPairs` array[] — Since December 2022 Pairs of projects and owner ids to build for this build request.
              - …
            - `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.
              - …
            - `gitHashtagVercel` string[] — Since February 2022 All the hashtag-vercel tags found in the commit message triggering the deploy. For example, #VERCEL_DO_SOMETHING
            - `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.
            - `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.
            - `gitComments` object — Since June 2023 Determines if comments should be posted to the git host. Replaces `github.silent` in the vercel.json.
              - …
            - `isManualGitDeploy` false | true — Since 28 Feb 2024 If set to true, identifies that the git job was created for a manual git deployment
            - `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
            - `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.
              - …
            - `headInfo` object, required — Cursor Origin
              - …
            - `installationId` string, required — Origin installation id (`i_…`) used to resolve the credential.
            - `owner` string, required
            - `repo` string, required
            - `repoId` string, required
            - `provider` 'cursor-origin', required
            - `customEnvId` string, nullable
            - `prId` number, nullable
      - object — The payload of the event, if requested.
        - `url` string, required
        - `oldTeam` object
          - `name` string, required
        - `newTeam` object
          - `name` string, required
      - object — The payload of the event, if requested.
        - `sha` string, required
        - `gitUserPlatform` string, required
        - `projectId` string
        - `projectName` string, required
        - `gitCommitterName` string, required
        - `source` string, required
      - object — The payload of the event, if requested.
        - `deployment` object, required
          - `id` string, required
          - `name` string, required
          - `meta` object, required
          - `url` string, required
        - `deploymentId` string, required
        - `url` string, required
      - object — The payload of the event, if requested.
        - `projectId` string
        - `projectName` string, required
        - `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.
        - `source` string, required — Classified deploy source, e.g. 'cli', 'git', 'integration'.
        - `ruleName` 'deploymentSources' | 'gitSources', required — Which rule blocked the deploy.
        - `ruleProvenance` 'default' | 'project' | 'team', required — Team-level or project-level rule.
      - object — The payload of the event, if requested.
        - `deploymentId` string, required
        - `deploymentUrl` string, nullable, required
        - `deploymentName` string, nullable, required
        - `projectId` string, required
        - `projectName` string, required
      - object — The payload of the event, if requested.
        - `integrationId` string, required
        - `configurationId` string, required
        - `integrationSlug` string, required
        - `integrationName` string, required
        - `ownerId` string, required
        - `projectIds` string[]
      - object — The payload of the event, if requested.
        - `id` string, required
        - `value` string, required
        - `name` string, required
        - `domain` string, required
        - `type` string, required
        - `mxPriority` number
      - object — The payload of the event, if requested.
        - `action` 'add' | 'delete' | 'update', required
        - `initiator` 'system' | 'user', required
        - `id` string, required
        - `domain` string, required
        - `name` string, required
        - `type` string, required
        - `value` string, required
        - `mxPriority` number
        - `previousValue` string
        - `source` string
      - object — The payload of the event, if requested.
        - `id` string, required
        - `value` string, required
        - `name` string, required
        - `domain` string, required
        - `type` string, required
      - object — The payload of the event, if requested.
        - `name` string, required
        - `zone` false | true
      - object — The payload of the event, if requested.
        - `name` string, required
        - `price` number, required
        - `currency` string
      - object — The payload of the event, if requested.
        - `name` string, required
        - `cdnEnabled` false | true, required
      - object — The payload of the event, if requested.
        - `name` string, required
        - `oldTeam` object
          - `name` string, required
        - `newTeam` object
          - `name` string, required
      - object — The payload of the event, if requested.
        - `name` string, required
        - `userId` string, required
        - `teamId` string, required
        - `ownerName` string, required
      - object — The payload of the event, if requested.
        - `domainId` string, required
        - `name` string, required
      - object — The payload of the event, if requested.
        - `previousServiceType` string, required
        - `serviceType` string, required
        - `id` string, required
        - `name` string, required
        - `nameservers` string[], required
      - object — The payload of the event, if requested.
        - `domain` string, required
        - `customNameservers` string[], nullable, 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
        - `zone` false | true, required
      - object — The payload of the event, if requested.
        - `domain` string, required
        - `zone` false | true, required
        - `initiator` 'system' | 'user', required
        - `source` string
        - `previousZone` false | true
      - object — The payload of the event, if requested.
        - `name` string, required
        - `fromId` string, nullable, required
        - `fromName` string, nullable, required
      - object — The payload of the event, if requested.
        - `name` string, required
        - `destinationId` string, nullable, required
        - `destinationName` string, nullable, required
      - object — The payload of the event, if requested.
        - `name` string, required
        - `destinationId` string, required
        - `destinationName` string, required
      - object — The payload of the event, if requested.
        - `renew` false | true
        - `domain` string, required
      - object — The payload of the event, if requested.
        - `name` string, required
        - `price` number
        - `currency` string
      - object — The payload of the event, if requested.
        - `name` string, required
      - object — The payload of the event, if requested.
        - `drainUrl` string, nullable, required
        - `drainName` string, nullable, required
        - `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.
        - `projectId` string, required
        - `projectName` string, required
        - `path` string, required
      - object — The payload of the event, if requested.
        - `projectId` string, required
        - `projectName` string, required
      - object — The payload of the event, if requested.
        - `edgeConfigId` string, required
        - `edgeConfigSlug` string, required
        - `edgeConfigDigest` string, required
      - object — The payload of the event, if requested.
        - `edgeConfigId` string, required
        - `edgeConfigSlug` string, required
        - `edgeConfigDigest` string, required
        - `edgeConfigBackupVersionId` string, required
      - object — The payload of the event, if requested.
        - `edgeConfigId` string, required
        - `edgeConfigSlug` string, required
        - `edgeConfigSchema` object
      - object — The payload of the event, if requested.
        - `edgeConfigId` string, required
        - `edgeConfigSlug` string, required
        - `edgeConfigDigest` string
      - object — The payload of the event, if requested.
        - `edgeConfig` object, required
          - `id` string, required
          - `slug` string, required
        - `fromAccount` object, required
          - `id` string, required
          - `type` 'team' | 'user', required
          - `slug` string
          - `username` string
        - `toAccount` object, required
          - `id` string, required
          - `type` 'team' | 'user', required
          - `slug` string
          - `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.
        - `team` object, required
          - `id` string, required
          - `name` string
        - `previousRule` object, required
          - `email` string, required
      - object — The payload of the event, if requested.
        - `team` object, required
          - `id` string, required
          - `name` string
        - `previousRule` object
          - `email` string, required
        - `nextRule` object
          - `email` string, required
      - object — The payload of the event, if requested.
        - `deletedUser` object
          - `username` string, required
          - `email` string, required
        - `deletedUid` string
        - `emailDomain` string
      - object — The payload of the event, if requested.
        - `key` string
        - `projectId` string
        - `projectName` string
        - `target` union
          - string
          - string[]
        - `customEnvironmentSlugs` string[]
        - `id` string
        - `gitBranch` string
        - `edgeConfigId` string, nullable
        - `edgeConfigTokenId` string, nullable
        - `source` string
        - `ipAddress` string
      - object — The payload of the event, if requested.
        - `key` string
        - `projectId` string
        - `projectName` string
        - `target` union
          - string
          - string[]
        - `customEnvironmentSlugs` string[]
        - `id` string
        - `gitBranch` string
        - `edgeConfigId` string, nullable
        - `edgeConfigTokenId` string, nullable
        - `source` string
        - `ipAddress` string
        - `deploymentId` string, required
        - `deploymentUrl` string, required
      - object — The payload of the event, if requested.
        - `created` string, date-time — The date when the Shared Env Var was created.
        - `key` string — The name of the Shared Env Var.
        - `ownerId` string, nullable — The unique identifier of the owner (team) the Shared Env Var was created for.
        - `id` string — The unique identifier of the Shared Env Var.
        - `createdBy` string, nullable — The unique identifier of the user who created the Shared Env Var.
        - `deletedBy` string, nullable — The unique identifier of the user who deleted the Shared Env Var.
        - `updatedBy` string, nullable — The unique identifier of the user who last updated the Shared Env Var.
        - `createdAt` number — Timestamp for when the Shared Env Var was created.
        - `deletedAt` number — Timestamp for when the Shared Env Var was (soft) deleted.
        - `updatedAt` number — Timestamp for when the Shared Env Var was last updated.
        - `value` string — The value of the Shared Env Var.
        - `projectId` string[] — The unique identifiers of the projects which the Shared Env Var is linked to.
        - `type` 'encrypted' | 'plain' | 'sensitive' | 'system' — The type of this cosmos doc instance, if blank, assume secret.
        - `target` string[] — environments this env variable targets
        - `applyToAllCustomEnvironments` false | true — whether or not this env varible applies to custom environments
        - `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
        - `comment` string — A user provided comment that describes what this Shared Env Var is for.
        - `lastEditedByDisplayName` string — The last editor full name or username.
        - `projectNames` string[]
        - `ipAddress` string
      - object — The payload of the event, if requested.
        - `oldEnvVar` object
          - `created` string, date-time — The date when the Shared Env Var was created.
          - `key` string — The name of the Shared Env Var.
          - `ownerId` string, nullable — The unique identifier of the owner (team) the Shared Env Var was created for.
          - `id` string — The unique identifier of the Shared Env Var.
          - `createdBy` string, nullable — The unique identifier of the user who created the Shared Env Var.
          - `deletedBy` string, nullable — The unique identifier of the user who deleted the Shared Env Var.
          - `updatedBy` string, nullable — The unique identifier of the user who last updated the Shared Env Var.
          - `createdAt` number — Timestamp for when the Shared Env Var was created.
          - `deletedAt` number — Timestamp for when the Shared Env Var was (soft) deleted.
          - `updatedAt` number — Timestamp for when the Shared Env Var was last updated.
          - `value` string — The value of the Shared Env Var.
          - `projectId` string[] — The unique identifiers of the projects which the Shared Env Var is linked to.
          - `type` 'encrypted' | 'plain' | 'sensitive' | 'system' — The type of this cosmos doc instance, if blank, assume secret.
          - `target` string[] — environments this env variable targets
          - `applyToAllCustomEnvironments` false | true — whether or not this env varible applies to custom environments
          - `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
          - `comment` string — A user provided comment that describes what this Shared Env Var is for.
          - `lastEditedByDisplayName` string — The last editor full name or username.
        - `newEnvVar` object
          - `created` string, date-time — The date when the Shared Env Var was created.
          - `key` string — The name of the Shared Env Var.
          - `ownerId` string, nullable — The unique identifier of the owner (team) the Shared Env Var was created for.
          - `id` string — The unique identifier of the Shared Env Var.
          - `createdBy` string, nullable — The unique identifier of the user who created the Shared Env Var.
          - `deletedBy` string, nullable — The unique identifier of the user who deleted the Shared Env Var.
          - `updatedBy` string, nullable — The unique identifier of the user who last updated the Shared Env Var.
          - `createdAt` number — Timestamp for when the Shared Env Var was created.
          - `deletedAt` number — Timestamp for when the Shared Env Var was (soft) deleted.
          - `updatedAt` number — Timestamp for when the Shared Env Var was last updated.
          - `value` string — The value of the Shared Env Var.
          - `projectId` string[] — The unique identifiers of the projects which the Shared Env Var is linked to.
          - `type` 'encrypted' | 'plain' | 'sensitive' | 'system' — The type of this cosmos doc instance, if blank, assume secret.
          - `target` string[] — environments this env variable targets
          - `applyToAllCustomEnvironments` false | true — whether or not this env varible applies to custom environments
          - `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
          - `comment` string — A user provided comment that describes what this Shared Env Var is for.
          - `lastEditedByDisplayName` string — The last editor full name or username.
        - `updateDiff` object
          - `id` string, required
          - `key` string
          - `newKey` string
          - `oldTarget` string[]
          - `newTarget` string[]
          - `oldType` string
          - `newType` string
          - `oldProjects` object[]
            - `projectName` string
            - `projectId` string, required
          - `newProjects` object[]
            - `projectName` string
            - `projectId` string, required
          - `oldCustomEnvironmentIds` string[]
          - `newCustomEnvironmentIds` string[]
          - `changedValue` false | true, required
      - object — The payload of the event, if requested.
        - `projectId` string, required
        - `scope` string, required
        - `source` string, required
        - `expiresAt` number, nullable
      - 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.
        - `projectId` string, required
        - `projectName` string, required
        - `configVersion` union, required
          - string
          - number
      - object — The payload of the event, if requested.
        - `configVersion` union, required
          - string
          - number
      - object — The payload of the event, if requested.
        - `configVersion` union, required
          - string
          - number
        - `configChangeCount` number
        - `configChanges` object[]
      - object — The payload of the event, if requested.
        - `projectId` string, required
        - `projectName` string
        - `restore` false | true, required
        - `configVersion` number, required
        - `configChangeCount` number, required
        - `configChanges` object[], required
      - object — The payload of the event, if requested.
        - `projectId` string, required
        - `rulesetName` string, required
        - `ruleGroups` object, required
      - object — The payload of the event, if requested.
        - `projectId` string, required
        - `rulesetName` string, required
        - `active` false | true, required
        - `action` 'challenge' | 'deny' | 'log'
      - object — The payload of the event, if requested.
        - `projectId` string, required
        - `previousOwnerId` string, required
        - `newOwnerId` string, required
      - object — The payload of the event, if requested.
        - `action` 'disable' | 'enable', required
      - object — The payload of the event, if requested.
        - `provider` 'bitbucket' | 'github' | 'gitlab', required
        - `actorLogin` string, nullable, required — Display name only. Logins are mutable; join on `actorAccountId`.
        - `actorAccountId` string, nullable, required — Stable account id on `provider`.
        - `installationId` string, nullable, required — Set only when an App installation token was minted (GitHub only).
        - `usedAppToken` false | true, required
        - `sourceRepo` string, required — Source repository, "owner/name".
        - `sourceCommitSha` string, nullable, required
        - `destinationRepo` string, required — "owner/name", or the raw request value if blocked before it resolved.
        - `destinationBranch` string, nullable, required — Branch actually pushed to, or the requested one if blocked.
        - `resultCommitSha` string, nullable, required
        - `outcome` 'failure' | 'success', required
        - `failureStage` 'authorization' | 'push' | 'unexpected' | 'unknown' — Mirrors `PushFailureStage` in `@api/git-push-repo`.
        - `failureCode` string — Sanitized code, never a raw error message.
      - object — The payload of the event, if requested.
        - `projectId` string, required
        - `fromDeploymentId` string, required
        - `toDeploymentId` string, required
        - `projectName` string, required
        - `reason` string
      - object — The payload of the event, if requested.
        - `userId` string, required
        - `integrationId` string, required
        - `configurationId` string, required
        - `integrationSlug` string, required
        - `integrationName` string
        - `newOwner` object, nullable, required
          - `abuse` object
            - `blockHistory` object[] — Since June 2023
              - …
            - `gitAuthHistory` string[] — Since March 2022. Helps abuse checks by tracking git auths. Format: `<platform>:<detail>:<value>`
            - `history` object[] — (scanner history). Since November 2021. First element is newest.
              - …
            - `gitLineageBlocks` number — Since September 2023. How often did this owner trigger an actual git lineage deploy block?
            - `gitLineageBlocksDry` number — Since September 2023. How often did this owner trigger a git lineage deploy block dry run?
            - `scanner` string — Since November 2021. Guides the abuse scanner in build container.
            - `scheduledUnblockAt` string — Since December 2025. UTC timestamp string of when an auto-unblock is scheduled. Format: "Wed, 03 Dec 2025 20:32:13 GMT"
            - `scheduledBlock` object — Since June 2026. A hard block that is scheduled (the delay varies by source; see `executeAt`) but not yet executed. Powers admin visibility, scheduler dedup, and cancellation. Cleared on execution or when the team is unblocked/reviewed before `executeAt`; the executor treats its absence as "block cancelled".
              - …
            - `updatedAt` number, required — Since November 2021
            - `creationUserAgent` string
            - `creationIp` string
            - `removedPhoneNumbers` string
          - `acceptanceState` string
          - `acceptedAt` number
          - `avatar` string
          - `billing` object, required
            - `plan` 'enterprise' | 'hobby' | 'pro', required
          - `blocked` number, nullable, required
          - `blockReason` string
          - `created` number
          - `createdAt` number, required
          - `credentials` union[]
            - union
              - …
          - `customerId` string, nullable
          - `orbCustomerId` string, nullable
          - `dataCache` object
            - `excessBillingEnabled` false | true
          - `deletedAt` number, nullable
          - `deploymentSecret` string, required
          - `dismissedTeams` string[]
          - `dismissedToasts` object[]
            - `name` string, required
            - `dismissals` object[], required
              - …
          - `favoriteProjectsAndSpaces` object[]
            - `teamId` string, required
            - `projectId` string, required
          - `email` string, required
          - `id` string, required
          - `importFlowGitNamespace` union
            - string
            - number
          - `importFlowGitNamespaceId` union
            - string
            - number
          - `importFlowGitProvider` 'bitbucket' | 'cursor-origin' | 'github' | 'github-custom-host' | 'github-limited' | 'gitlab' | 'vercel' | 'null', nullable
          - `preferredScopesAndGitNamespaces` object[]
            - `scopeId` string, required
            - `gitNamespaceId` union, required
              - …
          - `isDomainReseller` false | true
          - `isZeitPub` false | true
          - `testAccountExpiresAt` number
          - `maxActiveSlots` number
          - `name` string
          - `phoneNumber` string
          - `platformVersion` number, nullable, required
          - `preventAutoBlocking` union
            - number
            - false | true
          - `projectDomainsLimit` number — Overrides our DEFAULT project domains limit per account or per project.
          - `projectCardWidgetPreferences` object[]
            - `projectId` string, required
            - `widget` 'analytics-online' | 'analytics-page-views' | 'analytics-visitors' | 'firewall-allowed' | 'firewall-denied' | 'observability-alert' | 'observability-edge-requests' | 'observability-error-rate' | 'observability-function-invocations' | 'speed-insights-cls' | 'speed-insights-lcp' | 'speed-insights-res', required
          - `remoteCaching` object — Represents configuration for remote caching
            - `enabled` false | true
          - `removedAliasesAt` number
          - `removedBillingSubscriptionAt` number
          - `removedConfigurationsAt` number
          - `removedDeploymentsAt` number
          - `removedDomiansAt` number
          - `removedEventsAt` number
          - `removedProjectsAt` number
          - `removedSecretsAt` number
          - `removedSharedEnvVarsAt` number
          - `removedEdgeConfigsAt` number
          - `resourceConfig` object
            - `nodeType` string
            - `concurrentBuilds` number
            - `elasticConcurrencyEnabled` false | true
            - `buildEntitlements` object
              - …
            - `buildQueue` object
              - …
            - `awsAccountType` string
            - `awsAccountIds` string[]
            - `cfZoneName` string
            - `imageOptimizationType` string
            - `edgeConfigs` number
            - `edgeConfigSize` number
            - `edgeFunctionMaxSizeBytes` number
            - `edgeFunctionExecutionTimeoutMs` number
            - `serverlessFunctionMaxDuration` number
            - `serverlessFunctionMaxMemorySize` number
            - `kvDatabases` number
            - `postgresDatabases` number
            - `blobStores` number
            - `integrationStores` number
            - `cronJobsPerProject` number
            - `microfrontendGroupsPerTeam` number
            - `microfrontendProjectsPerGroup` number
            - `flagsExplorerOverridesThreshold` number
            - `flagsExplorerUnlimitedOverrides` false | true
            - `customEnvironmentsPerProject` number
            - `security` object
              - …
            - `bulkRedirectsFreeLimitOverride` number
            - `buildMachine` object — Build machine configuration recorded on a team or user `resourceConfig`. This is deliberately separate from the build machine config recorded on a deployment (`DeploymentBuildMachine` in `@api/deployments-types`). A team/user only expresses its default machine for new deployments; the per-build fields (`purchaseType`, `defaultPurchaseType`, `machineSelectionType`, `cores`, `memory`) are recorded on the deployment record when a build actually runs and never belong on a team/user document.
              - …
          - `resourceLimits` object — User | Team resource limits. Each entry overrides either a token-bucket rate limit or a ramp admission limit, never both.
          - `activeDashboardViews` object[]
            - `scopeId` string, required
            - `viewPreference` 'cards' | 'list' | 'null', nullable
            - `favoritesViewPreference` 'closed' | 'open' | 'null', nullable
            - `recentsViewPreference` 'closed' | 'open' | 'null', nullable
          - `secondaryEmails` object[]
            - `email` string, required
            - `verified` false | true, required
          - `emailDomains` string[]
          - `emailNotifications` object
            - `rules` object
          - `siftScore` number
          - `siftScores` object
          - `siftRoute` object
            - `name` 'string', required
          - `sfdcId` string
          - `softBlock` object, nullable
            - `blockedAt` number, required
            - `reason` 'BLOCKED_FOR_PLATFORM_ABUSE' | 'DOMAIN_OWNER_DELETION_REQUEST' | 'ENTERPRISE_TRIAL_ENDED' | 'ENTERPRISE_UNPAID_INVOICE' | 'EXPOSURE_CAP_EXCEEDED' | 'FAIR_USE_LIMITS_EXCEEDED' | 'HOBBY_ALLOCATION_PAUSED' | 'SUBSCRIPTION_CANCELED' | 'SUBSCRIPTION_EXPIRED' | 'UNPAID_INVOICE', required
            - `blockedDueToOverageType` 'analyticsUsage' | 'artifacts' | 'bandwidth' | 'blobDataTransfer' | 'blobTotalAdvancedRequests' | 'blobTotalAvgSizeInBytes' | 'blobTotalGetResponseObjectSizeInBytes' | 'blobTotalSimpleRequests' | 'connectDataTransfer' | 'dataCacheRead' | 'dataCacheWrite' | 'edgeConfigRead' | 'edgeConfigWrite' | 'edgeFunctionExecutionUnits' | 'edgeMiddlewareInvocations' | 'edgeRequest' | 'edgeRequestAdditionalCpuDuration' | 'elasticConcurrencyBuildSlots' | 'fastDataTransfer' | 'fastOriginTransfer' | 'fluidCpuDuration' | 'fluidDuration' | 'functionDuration' | 'functionInvocation' | 'imageOptimizationCacheRead' | 'imageOptimizationCacheWrite' | 'imageOptimizationTransformation' | 'logDrainsVolume' | 'monitoringMetric' | 'observabilityEvent' | 'onDemandConcurrencyMinutes' | 'runtimeCacheRead' | 'runtimeCacheWrite' | 'serverlessFunctionExecution' | 'sourceImages' | 'wafOwaspExcessBytes' | 'wafOwaspRequests' | 'wafRateLimitRequest' | 'webAnalyticsEvent'
            - `hobbyAllocationPause` object — Present only when `reason` is `HOBBY_ALLOCATION_PAUSED`. Makes the pause self-describing for support without a separate lookup.
              - …
          - `stagingPrefix` string, required
          - `sysToken` string, required
          - `teams` object[] — A helper that allows to describe a relationship attribute. It receives the shape of a relationship plus the foreignKey name to make it mandatory in the resulting type.
            - `teamId` string, required
            - `createdAt` number, required
            - `role` 'BILLING' | 'CONTRIBUTOR' | 'DEVELOPER' | 'MEMBER' | 'OWNER' | 'SECURITY' | 'VIEWER' | 'VIEWER_FOR_PLUS', required
            - `confirmed` true, required
            - `confirmedAt` number, required
            - `accessRequestedAt` number
            - `teamRoles` string[]
            - `teamPermissions` string[]
            - `created` number, required
            - `joinedFrom` object
              - …
          - `trialTeamIds` string[] — Introduced 2022-04-12 An array of teamIds (for trial teams created after 2022-04-01), created by the user in question. Used in determining whether the team has a trial available in utils/api-teams/user-has-trial-available.ts.
          - `maxTrials` number — Introduced 2022-04-19 Number of maximum trials to allocate to a user. When undefined, defaults to MAX_TRIALS in utils/api-teams/user-has-trial-available.ts. This is set to trialTeamIds + 1 by services/api-backoffice/src/handlers/add-additional-trial.ts.
          - `trialTeamId` string — Deprecated on 2022-04-12 in favor of trialTeamIds and using utils/api-teams/user-has-trial-available.ts.
          - `type` 'user', required
          - `usageAlerts` object, nullable — Contains the timestamps when a user was notified about their usage
            - `warningAt` number, nullable
            - `blockingAt` number, nullable
          - `overageUsageAlerts` object
            - `analyticsUsage` object
              - …
            - `artifacts` object
              - …
            - `bandwidth` object
              - …
            - `blobTotalAdvancedRequests` object
              - …
            - `blobTotalAvgSizeInBytes` object
              - …
            - `blobTotalGetResponseObjectSizeInBytes` object
              - …
            - `blobTotalSimpleRequests` object
              - …
            - `connectDataTransfer` object
              - …
            - `dataCacheRead` object
              - …
            - `dataCacheWrite` object
              - …
            - `edgeConfigRead` object
              - …
            - `edgeConfigWrite` object
              - …
            - `edgeFunctionExecutionUnits` object
              - …
            - `edgeMiddlewareInvocations` object
              - …
            - `edgeRequestAdditionalCpuDuration` object
              - …
            - `edgeRequest` object
              - …
            - `elasticConcurrencyBuildSlots` object
              - …
            - `fastDataTransfer` object
              - …
            - `fastOriginTransfer` object
              - …
            - `fluidCpuDuration` object
              - …
            - `fluidDuration` object
              - …
            - `functionDuration` object
              - …
            - `functionInvocation` object
              - …
            - `imageOptimizationCacheRead` object
              - …
            - `imageOptimizationCacheWrite` object
              - …
            - `imageOptimizationTransformation` object
              - …
            - `logDrainsVolume` object
              - …
            - `monitoringMetric` object
              - …
            - `blobDataTransfer` object
              - …
            - `observabilityEvent` object
              - …
            - `onDemandConcurrencyMinutes` object
              - …
            - `runtimeCacheRead` object
              - …
            - `runtimeCacheWrite` object
              - …
            - `serverlessFunctionExecution` object
              - …
            - `sourceImages` object
              - …
            - `wafOwaspExcessBytes` object
              - …
            - `wafOwaspRequests` object
              - …
            - `wafRateLimitRequest` object
              - …
            - `webAnalyticsEvent` object
              - …
          - `overageMetadata` object — Contains the timestamps for usage summary emails.
            - `firstTimeOnDemandNotificationSentAt` number — Tracks if the first time on-demand overage email has been sent.
            - `dailyOverageSummaryEmailSentAt` number — Tracks the last time we sent a daily summary email.
            - `weeklyOverageSummaryEmailSentAt` number — Tracks the last time we sent a weekly summary email.
            - `overageSummaryExpiresAt` number — Tracks when the overage summary email will stop auto-sending. We currently lock the user into email for a month after the last on-demand usage.
            - `increasedOnDemandEmailSentAt` number — Tracks the last time we sent a increased on-demand email.
            - `increasedOnDemandEmailAttemptedAt` number — Tracks the last time we attempted to send an increased on-demand email. This check is to limit the number of attempts per day.
          - `username` string, required
          - `updatedAt` number, required
          - `enablePreviewFeedback` 'default' | 'default-force' | 'off' | 'off-force' | 'on' | 'on-force' — Whether the Vercel Toolbar is enabled for preview deployments.
          - `featureBlocks` object — Information about which features are blocked for a user. Blocks can be either soft (the user can still access the feature, but with a warning, e.g. prompting an upgrade) or hard (the user cannot access the feature at all).
            - `webAnalytics` object
              - …
            - `monitoring` object — A soft block indicates a temporary pause in data collection (ex limit exceeded for the current cycle) A hard block indicates a stoppage in data collection that requires manual intervention (ex upgrading a pro trial)
              - …
            - `observabilityPlus` object
              - …
            - `dataCache` object
              - …
            - `imageOptimizationTransformation` object
              - …
            - `sourceImages` object
              - …
            - `blob` union
              - …
            - `postgres` union
              - …
            - `redis` union
              - …
            - `microfrontendsRequest` object
              - …
            - `workflowStorageWrite` object
              - …
            - `workflowEvents` object
              - …
            - `connexTokenRequests` object
              - …
            - `vcr` object
              - …
          - `defaultTeamId` string
          - `version` 'northstar', required
          - `isMFAEnforced` false | true — Whether MFA is enforced for this user. Set to true when the user has a
          - `northstarMigration` object — An archive of information about the Northstar migration, derived from the old (deprecated) property, `northstarMigrationEvents`.
            - `teamId` string, required — The ID of the team we created for this user.
            - `projects` number, required — The number of projects migrated for this user.
            - `stores` number, required — The number of stores migrated for this user.
            - `integrationConfigurations` number, required — The number of integration configurations migrated for this user.
            - `integrationClients` number, required — The number of integration clients migrated for this user.
            - `startTime` number, required — The migration start time timestamp for this user.
            - `endTime` number, required — The migration end time timestamp for this user.
          - `opportunityId` string — The salesforce opportunity ID that this user is linked to. This is used to automatically associate a team of the user's choosing with the opportunity.
          - `mfaConfiguration` object — MFA configuration. When enabled, the user will be required to provide a second factor of authentication when logging in.
            - `enabled` false | true, required
            - `enabledAt` number
            - `recoveryCodes` string[], required
            - `totp` object
              - …
            - `history` object[] — History of MFA state changes (enabled/disabled events). Most recent events first.
              - …
          - `isEnterpriseManaged` false | true — Indicates that the underlying user entity is a managed user for the enterprise it's associated with The intention is that this field is only set to true for users that are provisioned by the enterprise which means that the domain associated with the user's email is the same domain associated with the team Allowing us to query information about the user's team at login time through the domain verification service
      - object — The payload of the event, if requested.
        - `integrationId` string, required
        - `configurationId` string, required
        - `integrationSlug` string, required
        - `integrationName` string, required
        - `ownerId` string, required
        - `projectIds` string[]
        - `confirmedScopes` string[], required
      - object — The payload of the event, if requested.
        - `integration` object, required
          - `id` string, required
          - `slug` string, required
          - `name` string, required
          - `configurationId` string, required
        - `destinationTeamId` string, required
        - `destinationTeamName` string, required
      - object — The payload of the event, if requested.
        - `integration` object, required
          - `id` string, required
          - `slug` string, required
          - `name` string, required
          - `configurationId` string, required
        - `originTeamId` string, required
        - `originTeamName` string, required
      - object — The payload of the event, if requested.
        - `configurations` object[], required
          - `integrationId` string, required
          - `configurationId` string, required
          - `integrationSlug` string, required
          - `integrationName` string
        - `ownerId` string, required
      - object — The payload of the event, if requested.
        - `integrationId` string, required
        - `configurationId` string, required
        - `integrationSlug` string, required
        - `integrationName` string, required
        - `ownerId` string, required
        - `billingPlanId` string, required
        - `billingPlanName` string
      - object — The payload of the event, if requested.
        - `integrationId` string, required
        - `configurationId` string, required
        - `integrationSlug` string, required
        - `integrationName` string, required
        - `ownerId` string, required
        - `projectIds` union
          - string[]
          - 'all'
      - object — The payload of the event, if requested.
        - `resourceId` string, required
        - `integrationId` string, required
        - `integrationSlug` string, required
        - `integrationProductSlug` string, required
        - `configurationId` string, required
        - `databaseName` string, required
        - `queryType` 'data-edit' | 'data-view' | 'schema' | 'user', required
        - `readonly` false | true, required
        - `rolledBack` false | true, required
        - `failedQueryIndex` number, nullable, required
        - `errorCode` string, nullable, required
        - `queryCount` number, required
        - `queries` object[], required
          - `command` string, nullable, required
          - `rowCount` number
          - `tables` string[]
          - `primaryKey` object[]
            - `column` string, required
            - `value` string, nullable, required
      - object — The payload of the event, if requested.
        - `resourceId` string, required
        - `integrationId` string, required
        - `integrationSlug` string, required
        - `integrationProductSlug` string, required
        - `configurationId` string, required
        - `error` string
        - `requestKind` 'raw_commands', required
        - `readonly` false | true, required
        - `commands` string[], required
        - `failedIndex` number
      - object — The payload of the event, if requested.
        - `resourceId` string, required
        - `integrationId` string, required
        - `integrationSlug` string, required
        - `integrationProductSlug` string, required
        - `configurationId` string, required
        - `error` string
        - `requestKind` 'list_keys', required
        - `pattern` string
        - `type` string
      - object — The payload of the event, if requested.
        - `resourceId` string, required
        - `integrationId` string, required
        - `integrationSlug` string, required
        - `integrationProductSlug` string, required
        - `configurationId` string, required
        - `error` string
        - `requestKind` 'get_keys_metadata', required
        - `keys` string[], required
      - object — The payload of the event, if requested.
        - `resourceId` string, required
        - `integrationId` string, required
        - `integrationSlug` string, required
        - `integrationProductSlug` string, required
        - `configurationId` string, required
        - `error` string
        - `requestKind` 'get_key_data', required
        - `key` string, required
      - object — The payload of the event, if requested.
        - `integrationId` string, required
        - `integrationSlug` string, required
        - `integrationName` string, required
      - object — The payload of the event, if requested.
        - `issuerId` string, required
        - `issuerName` string, required
        - `algorithm` string, required
        - `origin` string, required
        - `managedBy` string
      - 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.
        - `issuerId` string, required
        - `issuerName` string, required
        - `kind` string, required
        - `projectId` string
        - `clientId` string
        - `environments` 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.
        - `logDrainUrl` string, nullable, required
        - `integrationName` string
      - object — The payload of the event, if requested.
        - `logDrainUrl` string, required
        - `integrationName` string
      - object — The payload of the event, if requested.
        - `provider` 'apple' | 'bitbucket' | 'chatgpt' | 'github' | 'github-custom-host' | 'github-limited' | 'gitlab' | 'google' | 'saml', required
        - `login` string, 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.
        - `userAgent` string
        - `geolocation` object, nullable
          - `city` object
            - `names` object, required
              - …
          - `country` object, required
            - `names` object, required
              - …
          - `most_specific_subdivision` object
            - `names` object, required
              - …
          - `regionName` string
        - `env` string
        - `os` string
        - `username` string
        - `ssoType` string
        - `factors` union
          - object[]
            - `origin` 'apple' | 'bitbucket' | 'chatgpt' | 'email' | 'github' | 'gitlab' | 'google' | 'invite' | 'magic-link' | 'otp' | 'otp-link' | 'saml' | 'webauthn', required
            - `username` string
            - `teamId` string
            - `legacy` false | true
            - `ssoType` string
          - union[]
            - union
              - …
        - `viaOTP` false | true
        - `viaGithub` false | true
        - `viaGitlab` false | true
        - `viaBitbucket` false | true
        - `viaGoogle` false | true
        - `viaApple` false | true
        - `viaSamlSso` false | true
        - `viaPasskey` false | true
      - object — The payload of the event, if requested.
        - `projectId` string, required
        - `toDeploymentId` string, required
        - `projectName` string, required
      - object — The payload of the event, if requested.
        - `periods` object[], required
          - `periodNumber` number, required
          - `percent` string, required
          - `startDate` string, required
          - `endDate` string, required
      - object — The payload of the event, if requested.
        - `enabled` false | true, required
        - `allowedIntegrationCount` number
        - `allowedIntegrationIds` string[]
      - object — The payload of the event, if requested.
        - `id` string, required
        - `slug` string, required
        - `name` string, required
      - object — The payload of the event, if requested.
        - `id` string, required
        - `slug` string
        - `name` string
        - `fallbackEnvironment` string
        - `prev` object, required
          - `name` string, required
          - `slug` string, required
          - `fallbackEnvironment` string, required
      - object — The payload of the event, if requested.
        - `project` object, required
          - `id` string, required
          - `name` string, required
        - `group` object, required
          - `id` string, required
          - `slug` string, required
          - `name` string, required
      - object — The payload of the event, if requested.
        - `project` object, required
          - `id` string, required
          - `name` string, required
          - `microfrontends` union
            - object
              - …
            - object
              - …
            - object
              - …
        - `prev` object, required
          - `project` object, required
            - `microfrontends` union
              - …
        - `group` object, required
          - `id` string, required
          - `slug` string, required
          - `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.
        - `organizationId` string, required
        - `rootTeamId` string, required
        - `slug` string, required
        - `name` string, required
      - object — The payload of the event, if requested.
        - `directoryGroupId` string, required
        - `directoryId` string, required
        - `groupName` string, required
        - `next` object, required
          - `default` 'BILLING' | 'CONTRIBUTOR' | 'DEVELOPER' | 'MEMBER' | 'OWNER' | 'SECURITY' | 'VIEWER' | 'VIEWER_FOR_PLUS'
          - `roles` 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.
        - `organizationId` string, required
        - `slug` string, required
      - object — The payload of the event, if requested.
        - `organizationId` string, required
        - `teamId` string, required
        - `billingPlan` 'enterprise' | 'platform', required
      - object — The payload of the event, if requested.
        - `ownerId` string, required
        - `source` string, required
        - `cause` string, required
        - `blockReason` string
        - `siftRoute` object
          - `name` string, required
      - object — The payload of the event, if requested.
        - `ownerId` string, required
        - `source` string, required
        - `cause` string, required
        - `reason` string, nullable
      - object — The payload of the event, if requested.
        - `ownerId` string, required
        - `source` string, required
        - `cause` string, required
        - `blockReason` string
      - object — The payload of the event, if requested.
        - `ownerId` string, required
        - `source` string, required
        - `cause` string, required
      - object — The payload of the event, if requested.
        - `projectId` string, required
        - `previous` object, nullable, required
          - `enabled` false | true, required
          - `mode` string, required
          - `enforcementScope` 'all' | 'preview'
          - `enforcePercentage` number, required
          - `newResourceBlockingPolicy` 'allow' | 'block', required
          - `allowUnsafeScriptSrcKeywords` false | true, required
          - `omitScriptNonce` false | true
          - `connectSrcNotificationsEnabled` false | true
          - `computedScriptSrc` string
          - `computedScriptSrcPreview` string
          - `computedConnectSrc` string
          - `computedConnectSrcPreview` string
        - `next` object, required
          - `enabled` false | true, required
          - `mode` string, required
          - `enforcementScope` 'all' | 'preview'
          - `enforcePercentage` number, required
          - `newResourceBlockingPolicy` 'allow' | 'block', required
          - `allowUnsafeScriptSrcKeywords` false | true, required
          - `omitScriptNonce` false | true
          - `connectSrcNotificationsEnabled` false | true
          - `computedScriptSrc` string
          - `computedScriptSrcPreview` string
          - `computedConnectSrc` string
          - `computedConnectSrcPreview` string
      - object — The payload of the event, if requested.
        - `projectId` string, required
        - `headerName` string, required
        - `previousStatus` string, required
        - `justification` string, required
      - object — The payload of the event, if requested.
        - `projectId` string, required
        - `headerName` string, required
        - `previousStatus` string, required
        - `justification` string, nullable, required
      - object — The payload of the event, if requested.
        - `projectId` string, required
        - `projectName` string, required
        - `deletedCount` number, required
        - `scriptCount` number, required
        - `connectSrcCount` number, required
        - `connectSrcOriginCount` number, required
        - `headerCount` number, required
        - `connectSrcUserNormalizationRuleCount` number
        - `connectSrcNormalizationRulesCleared` false | true
      - object — The payload of the event, if requested.
        - `projectId` string, required
        - `url` string, required
        - `previousStatus` string, required
        - `justification` string, required
        - `approvalScope` 'all' | 'preview'
        - `kind` 'connectSrc' | 'script'
      - object — The payload of the event, if requested.
        - `projectId` string, required
        - `type` 'script', required
        - `resourceUrl` string, required
      - object — The payload of the event, if requested.
        - `projectId` string, required
        - `type` 'header', required
        - `headerName` string, required
      - object — The payload of the event, if requested.
        - `projectId` string, required
        - `type` 'connectSrc', required
        - `resourceUrl` string, required
      - object — The payload of the event, if requested.
        - `projectId` string, required
        - `url` string
        - `headerName` string
        - `previousStatus` string, required
        - `justification` string, nullable, required
        - `kind` 'connectSrc' | 'script'
      - object — The payload of the event, if requested.
        - `projectId` string, required
        - `projectName` string, required
        - `pattern` string, required
        - `justification` string, required
      - object — The payload of the event, if requested.
        - `oldName` string, required
        - `newName` string, required
      - object — The payload of the event, if requested.
        - `projectId` string, required
        - `environment` string, required
        - `host` string, required
        - `connectorId` string, required
        - `connectorType` string, required
        - `connectorService` string, required
        - `externalIssuer` string, required
        - `externalSubject` string, required
        - `sessionId` string, required
        - `emailVerified` false | true
        - `tenantId` string
        - `installationId` string
      - object — The payload of the event, if requested.
        - `projectId` string, required
        - `projectName` string, required
        - `previous` object, required
          - `passport` object, nullable
            - `connectorId` string, required
            - `deploymentType` 'all' | 'all_except_custom_domains' | 'preview' | 'prod_deployment_urls_and_all_previews', required
        - `next` 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.
        - `previous` object, required
          - `passport` object, nullable
            - `connectorId` string, required
            - `deploymentType` 'all' | 'all_except_custom_domains' | 'preview' | 'prod_deployment_urls_and_all_previews', required
        - `next` 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.
        - `plan` string, required
        - `removedUsers` object
        - `prevPlan` string
        - `priorPlan` string
        - `isDowngrade` false | true
        - `userAgent` string
        - `isReactivate` false | true
        - `isTrialUpgrade` false | true
        - `automated` false | true — Whether the plan change was system-initiated rather than human-initiated.
        - `reason` string — Why the plan changed. For downgrades, this is a {@link DowngradeReason} from `@api/pubsub-types` (e.g. `user_downgrade`, `trial_expired`).
        - `timestamp` number
        - `removedMemberCount` number
      - object — The payload of the event, if requested.
        - `price` number
        - `currency` string
        - `enabled` false | true
      - object — The payload of the event, if requested.
        - `previewDeploymentSuffix` string, nullable
        - `previousPreviewDeploymentSuffix` string, nullable
      - object — The payload of the event, if requested.
        - `endpoint` object, required
          - `id` string, required
          - `name` string, required
          - `projectId` string, required
          - `vercelRegion` string, required
          - `awsServiceName` string, required
          - `privateDnsNames` string[]
      - object — The payload of the event, if requested.
        - `privateLinkEndpoint` object, required
          - `id` string, required
          - `name` string, required
        - `projectId` string, required
      - object — The payload of the event, if requested.
        - `prev` object, required
          - `id` string, required
          - `name` string, required
          - `projectId` string, required
          - `vercelRegion` string, required
          - `awsServiceName` string, required
          - `privateDnsNames` string[]
        - `current` object, required
          - `id` string, required
          - `name` string, required
          - `projectId` string, required
          - `vercelRegion` string, required
          - `awsServiceName` string, required
          - `privateDnsNames` string[]
      - object — The payload of the event, if requested.
        - `privateLinkEndpoint` object, required
          - `id` string, required
          - `name` string, required
          - `environmentIds` string[]
          - `privateDnsNames` string[]
        - `projectId` string, required
        - `previousEndpoint` object, required
          - `name` string, required
          - `environmentIds` string[]
          - `privateDnsNames` string[]
      - object — The payload of the event, if requested.
        - `projectId` string
        - `projectName` string, required
        - `branch` string, required
      - object — The payload of the event, if requested.
        - `projectId` string, required
        - `projectName` string, required
        - `directoryListing` false | true, required
      - object — The payload of the event, if requested.
        - `projectName` string
        - `projectId` string, required
        - `projectAnalytics` object, nullable, required
          - `id` string, required
          - `canceledAt` number, nullable
          - `disabledAt` number, required
          - `enabledAt` number, required
          - `paidAt` number
          - `sampleRatePercent` number, nullable
          - `spendLimitInDollars` number, nullable
        - `prevProjectAnalytics` object, nullable, required
          - `id` string, required
          - `canceledAt` number, nullable
          - `disabledAt` number, required
          - `enabledAt` number, required
          - `paidAt` number
          - `sampleRatePercent` number, nullable
          - `spendLimitInDollars` number, nullable
      - object — The payload of the event, if requested.
        - `projectName` 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`

---

[API](https://skmtc.net/vercel/apis/api.md) · [All operations](https://skmtc.net/vercel/apis/api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/vercel/api/versions/61d1ba3f6dac/schema)
