Skip to content

Observability

Resolve, ignore or reopen an error group (state), or link it to the issue made for it (issue_number; null unlinks it).

PATCH/workspaces/{workspace}/projects/{project}/observability/errors/{fingerprint}

A resolved group that happens again opens again. Needs the Triage role or higher.

A resolved group that happens again opens again. issue_number links the issue made for it, so an agent can take it; null unlinks it. Needs the Triage role or higher.

Name Type Required Description
workspace string Yes The workspace’s slug, e.g. “flagon-io”.
project string Yes The project’s slug, as in g1t.sh/{workspace}/{project}.
fingerprint string Yes The error group’s fingerprint, as list_errors gives it.

Send a JSON object. Names are snake_case, as in responses; the camelCase spelling is accepted too.

Name Type Required Description
state string No Its state now: resolved, ignored, or open again. One of open, resolved, ignored.
issue_number integer or null No The issue made for it; null unlinks it.
curl -X PATCH https://api.g1t.sh/workspaces/flagon-io/projects/g1t/observability/errors/9f2c41d07ab3e815 \
-H "Authorization: Bearer $G1T_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"state": "resolved",
"issue_number": 418
}'

A successful request answers 200 with:

{
"fingerprint": "9f2c41d07ab3e815",
"name": "TypeError",
"message": "Cannot read properties of undefined (reading 'head')",
"stack": "TypeError: Cannot read properties of undefined (reading 'head')\n at loadPull (app/routes/pulls.ts:88:31)",
"service": "g1t-web",
"environment": "production",
"first_us": 1791813062000000,
"last_us": 1791813808000000,
"count": 37,
"first_deployment_id": "dpl_01kq9a2c4e6g8j0m2p4r6t8v0x",
"last_request_id": "req_01kq9b7d9f1h3k5m7p9r1t3v5x",
"last_trace_id": "4bf92f3577b34da6a3ce929d0e0e4736",
"state": "resolved",
"issue_number": 418
}

A failed request answers with one of these statuses and a body like {"error": {"code": "not_found", "message": "Repository not found."}}. See errors.

Status Code When
401 unauthenticated A token is required, or the one sent is not valid.
403 forbidden The token is valid but not allowed to do this, such as a member-only change, or a token without the scope it needs.
404 not_found It does not exist, or you cannot see it.
409 conflict The request conflicts with the current state.
422 invalid The input is not valid. message says which field and why.