Get issues — GET /v1/o11y/sentinel/issues/{id}

Returns one grouped issue of the caller's org with its latest occurrence sample.

GET /v1/o11y/sentinel/issues/{id}

Addresshttps://api.hanzo.ai/v1/o11y/sentinel/issues/{id}
MethodGET
Operationget_o11y_sentinel_issues_by_id
AuthAuthorization: Bearer $HANZO_API_KEY

Returns one grouped issue of the caller's org with its latest occurrence sample.

Callers need the viewer role; the runtime's own gate enforces it.

Request

1 field.

FieldInTypeRequiredDescription
idpathstringyesID is the issue id.

Response

StatusBodyMeaning
200o11y.O11yErrorGettableIssueOutok
202Approvalheld for approval
defaultproblem-detailsrefused

200 body — 53 fields.

FieldInTypeAlwaysDescription
databodyo11y.O11yErrorGettableIssue—
data.issuebodyo11y.O11yErrorIssue—
data.issue.assigneebodystring—Assignee is who the issue is assigned to.
data.issue.countbodyinteger (int64)—Count is how many occurrences have landed on the issue.
data.issue.createdAtbodystring (date-time)—CreatedAt is when the issue was first recorded.
data.issue.culpritbodystring—Culprit is where it came from — the function or route blamed for it.
data.issue.environmentbodystring—Environment is the deployment the issue was seen in.
data.issue.fingerprintbodystring—Fingerprint is the grouping key that puts like errors in one issue.
data.issue.firstSeenbodystring (date-time)—FirstSeen is when the earliest occurrence was recorded.
data.issue.idbodystring—ID is the issue id.
data.issue.lastSeenbodystring (date-time)—LastSeen is when the latest was.
data.issue.levelbodystring—Level is the issue's severity, e.g. error, warning, info.
data.issue.platformbodystring—Platform is the reporting runtime, e.g. go, python, javascript.
data.issue.regressedbodyboolean—Regressed marks an issue that reopened after being resolved.
data.issue.releasebodystring—Release is the version that produced it.
data.issue.resolvedAtbodystring (date-time)—ResolvedAt is when the issue was resolved, if it is.
data.issue.serviceNamebodystring—ServiceName is the service that reported it.
data.issue.statusbodystring—Status is the lifecycle state: unresolved, resolved or ignored.
data.issue.typebodystring—Type is the exception type.
data.issue.updatedAtbodystring (date-time)—UpdatedAt is when the issue last changed.
data.issue.valuebodystring—Value is the exception value.
data.latestEventbodyo11y.O11yOccurrence—
data.latestEvent.culpritbodystring—Culprit is where it came from.
data.latestEvent.environmentbodystring—Environment is the deployment it happened in.
data.latestEvent.eventIdbodystring—EventID is the occurrence's id.
data.latestEvent.fingerprintbodystring—Fingerprint is the grouping key it was bucketed by.
data.latestEvent.framesbodyo11y.O11yOccurrenceFrame[]—Frames are the stack, innermost first.
data.latestEvent.frames[].absPathbodystring—AbsPath is the file's absolute path.
data.latestEvent.frames[].colnobodyinteger (int64)—Colno is the column number.
data.latestEvent.frames[].filenamebodystring—Filename is the file it is in.
data.latestEvent.frames[].functionbodystring—Function is the function the frame is in.
data.latestEvent.frames[].inAppbodyboolean—InApp marks a frame in the reporting application's own code.
data.latestEvent.frames[].linenobodyinteger (int64)—Lineno is the line number.
data.latestEvent.frames[].modulebodystring—Module is the module the function is in.
data.latestEvent.levelbodystring—Level is its severity, e.g. error, warning, info.
data.latestEvent.platformbodystring—Platform is the reporting runtime.
data.latestEvent.releasebodystring—Release is the version that produced it.
data.latestEvent.serverNamebodystring—ServerName is the host that reported it.
data.latestEvent.serviceNamebodystring—ServiceName is the service that reported it.
data.latestEvent.spanIdbodystring—SpanID is the span it belonged to.
data.latestEvent.tagsbodyobject—Tags are the reporter's own key/value labels.
data.latestEvent.tags.*bodystring—
data.latestEvent.timestampbodystring (date-time)—Timestamp is when the error happened.
data.latestEvent.traceIdbodystring—TraceID is the trace it belonged to.
data.latestEvent.transactionbodystring—Transaction is the operation it happened in.
data.latestEvent.typebodystring—Type is the exception type.
data.latestEvent.userbodyo11y.O11yEventUser—
data.latestEvent.user.emailbodystring—Email is that user's email.
data.latestEvent.user.idbodystring—ID identifies the affected end user.
data.latestEvent.user.ipAddressbodystring—IP is that user's address.
data.latestEvent.user.usernamebodystring—Username is that user's name.
data.latestEvent.valuebodystring—Value is the exception value.
statusbodystring—Status is "success".

Failure carries the platform error shape — see Errors.

Examples

hanzo o11y sentinel issues get <id>
import { Configuration, O11yApi } from 'hanzoai';

const api = new O11yApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getO11ySentinelIssuesById({ id: 'id' });
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import O11yApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = O11yApi(client).get_o11y_sentinel_issues_by_id(id='id')
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.O11yAPI.GetO11ySentinelIssuesById(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::apis::{configuration::Configuration, o11y_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = o11y_api::get_o11y_sentinel_issues_by_id(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.O11yApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new O11yApi(client).getO11ySentinelIssuesById();
curl https://api.hanzo.ai/v1/o11y/sentinel/issues/<id> \
  -H "Authorization: Bearer $HANZO_API_KEY"

MCP reaches o11y through the o11y tool, which names its 307 operations with its own verbs — this one among them, under a name only MCP declares. describe explains any of them:

curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "describe",
         "arguments": {
           "op": "list_o11y_autocomplete_aggregate_attributes"
         }
       }
     }'

O11y API · All Hanzo APIs · Interactive reference

Was this page useful?