canonical: https://jentic.com/apis/googleapis.com/clouderrorreporting

# Google Error Reporting API

Google Cloud Error Reporting groups similar errors emitted by applications and services running on Google Cloud, surfacing each unique error as a group with counts, first/last seen timestamps, and example stack traces. The API lets agents report new errors directly, list error groups with statistics, list individual error events for a group, and update group metadata such as the resolution status. It is commonly paired with Cloud Logging-based ingestion for languages and runtimes that surface errors automatically.

## For AI agents

Group, list, and report application errors and exceptions across Google Cloud services. Useful for crash triage, error grouping, and resolution-status tracking on GCP.

## Scope

Does not collect raw logs, capture metrics, or trace requests - use for grouped error reporting, listing, and resolution tracking only.

## Capabilities

- Report a new error event with stack trace and service context
- List error groups with statistics across a project and time window
- List individual error events for a specific group
- Retrieve a single error group's metadata, including tracking issue link
- Update an error group's metadata such as resolution status
- Delete all stored error events for a project to reset state
- Filter error groups by service, version, or resolution status

## Use cases

### Manual Error Reporting from Custom Runtimes

Services running outside Google's auto-instrumented runtimes use the events:report endpoint to push caught exceptions or panics. Each report includes a service context, message, and stack trace, and Error Reporting groups it with semantically similar prior reports. This gives custom runtimes the same grouping and dashboard view as auto-instrumented ones.

Example prompt: Call POST /v1beta1/{projectName}/events:report with serviceContext, message, and the formatted stack trace string

### Top-Errors Triage Dashboard

Engineering dashboards call groupStats to surface the most frequent error groups across a project, with counts, affected service versions, and first-seen timestamps. The same endpoint backs alerting that pages on-call when an error group's count exceeds a threshold or when a brand-new group appears.

Example prompt: Call GET /v1beta1/{projectName}/groupStats with timeRange.period=PERIOD_1_DAY and order=COUNT_DESC, then surface the first 10 groups

### Resolution-Status Workflow

Once a fix ships, engineers update the error group's resolution status from OPEN to RESOLVED via PUT on the group resource. Subsequent occurrences automatically reopen the group, providing a regression signal that pages on-call without a manual recheck.

Example prompt: Call PUT /v1beta1/{name} with resolutionStatus=RESOLVED on the group resource after deploying the fix

### AI Agent Crash Triager via Jentic

An agent invoked during an incident searches Jentic for the right Error Reporting operation, fetches the top error groups, correlates with recent deploys, and either auto-resolves transient issues or files a tracking ticket for persistent ones. Jentic injects the OAuth token at execution so the agent never holds long-lived GCP credentials.

Example prompt: Search Jentic for 'list google cloud error groups', execute against /groupStats, and for each group with count over a threshold, file an issue with the example stack trace

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /v1beta1/{+projectName}/events:report | Report a new error event |
| GET | /v1beta1/{+projectName}/events | List error events for a group |
| DELETE | /v1beta1/{+projectName}/events | Delete all error events in a project |
| GET | /v1beta1/{+projectName}/groupStats | List error group statistics over a time window |
| GET | /v1beta1/{+groupName} | Get an error group's metadata |
| PUT | /v1beta1/{+name} | Update an error group's resolution status |

## Key resources

- **ErrorGroups** — Aggregated groups of similar errors with counts and first/last seen timestamps
- **Events** — Individual error event reports with stack trace and service context
- **GroupStats** — Time-windowed statistics across error groups for dashboards and alerts

## Why Jentic

- **Setup:** Wiring the Error Reporting API by hand means setting up Google OAuth 2.0, minting short-lived tokens against the cloud-platform scope, and addressing each project by resource name against clouderrorreporting.googleapis.com yourself. Through Jentic you install once, import the Error Reporting API from the API Directory, store the OAuth credential once, and your agent calls it.
- **Permission scoping:** Error Reporting puts the project and group names in the URL path (/v1beta1/{+projectName}/events, /v1beta1/{+groupName}), so a rule can pin your agent to one project: it can report events and list group stats there and nothing else. You choose the operations it may call, so bulk event deletion is not included unless you add it.
- **Credential handling:** Your Error Reporting OAuth credential is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list Cloud error groups' or 'report an exception to GCP', and Jentic returns the matching Error Reporting operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Cloud Logging API** — Ingests the structured log entries that Error Reporting auto-extracts grouped errors from
- **Cloud Monitoring API** — Provides metrics and alerting that pair with Error Reporting group counts
- **Sentry API** — Multi-cloud error tracking and grouping platform with broader SDK coverage

## FAQ

### What authentication does the Error Reporting API use?

The Error Reporting API uses OAuth 2.0 with the cloud-platform scope. Tokens are issued for a Google service account or end user. Through Jentic, the OAuth credential lives in your Jentic One instance and the agent receives a short-lived access token only - the underlying service account JSON never enters agent context.

### Can I report errors from a service running outside Google Cloud?

Yes. POST a properly formatted event to /v1beta1/{projectName}/events:report with a serviceContext that identifies your service and version, a message field carrying the formatted stack trace, and an optional context with HTTP request and user details. The grouping behaviour is identical to auto-instrumented runtimes.

### What are the rate limits for the Error Reporting API?

Error Reporting quotas are published in the Google Cloud console under the Error Reporting API quota page; typical defaults are several thousand event reports per minute per project, with separate read quotas on groupStats and events list operations.

### How do I mark an error group as resolved through Jentic?

Search Jentic for 'update google cloud error group' and execute against PUT /v1beta1/{name} on the group resource with resolutionStatus=RESOLVED. If the same error recurs after the update, Error Reporting reopens the group automatically and the agent can be configured to escalate.

### Does Error Reporting deduplicate similar exceptions automatically?

Yes. The service hashes a canonical form of the stack trace and exception type to group semantically similar errors. Different stack frames in user code produce separate groups, while changes only in framework or library frames keep the same group, which is what makes the count meaningful.

### Is Error Reporting free?

Error Reporting is included with Google Cloud at no separate cost; the underlying logs that auto-feed it are billed under Cloud Logging. Manually reported events count against logging ingestion when written to Cloud Logging first; direct API events:report calls are not separately billed.

### Can I limit what my agent is allowed to do with the Error Reporting API?

Yes. Because you run Jentic One yourself, your own rules decide which Error Reporting operations and credentials the agent may use, and those rules are enforced when the agent calls the API. Since Error Reporting carries the project and group names in the URL path, you can pin the agent to a single project and grant only the operations you want, such as reporting events with events:report and listing error group statistics with groupStats. Destructive operations like deleting all error events in a project stay off the list unless you explicitly add them.
