---
title: "Get session signal"
method: GET
path: "/v1/projects/{projectSlug}/sessions/{sessionId}/signals/{signalSlug}"
tags: ["Sessions"]
---

# Get session signal

`GET /v1/projects/{projectSlug}/sessions/{sessionId}/signals/{signalSlug}`

## Request

- Base URL: `https://api.latitude.so`
- URL: `https://api.latitude.so/v1/projects/{projectSlug}/sessions/{sessionId}/signals/{signalSlug}`
- Auth: HTTP bearer

Returns one signal by slug, including its `scoreEvidence` and occurrence stats scoped to the session. Returns 404 when the signal has no occurrences in the session.

## Path parameters

- `projectSlug` string, required: Project slug (human-readable identifier)
- `sessionId` string, required: Session identifier lifted from instrumentation. Up to 128 characters.
- `signalSlug` string, required: Signal slug.

## Response `200`

Session signal

- SessionSignal
  - `id` string, required: Stable signal identifier.
  - `organizationId` string, required: Organization that owns this signal.
  - `projectId` string, required: Project this signal belongs to.
  - `slug` string, required: URL-safe slug derived from `name`. Unique within the project.
  - `name` string, required: Human-readable name.
  - `description` string, required: Description of the signal.
  - `source` 'annotation' | 'flagger' | 'custom', required: Where the signal originated from.
  - `scoreEvidence` SignalScoreEvidence[], required: Agent Score dimension and evidence-role pairs informed by this signal. An empty list means the signal is diagnostic only.
    - union
      - object
        - `scoreDimension` 'outcome', required: Agent Score dimension this evidence informs.
        - `role` 'taskOutcome', required: How this evidence informs the dimension.
      - object
        - `scoreDimension` 'reliability', required: Agent Score dimension this evidence informs.
        - `role` 'completionOutcome' | 'operationalIncident', required: How this evidence informs the dimension.
      - object
        - `scoreDimension` 'cost', required: Agent Score dimension this evidence informs.
        - `role` 'spendEfficiency', required: How this evidence informs the dimension.
      - object
        - `scoreDimension` 'speed', required: Agent Score dimension this evidence informs.
        - `role` 'criticalPathEfficiency', required: How this evidence informs the dimension.
      - object
        - `scoreDimension` 'safety', required: Agent Score dimension this evidence informs.
        - `role` 'confirmedHarm' | 'exposure', required: How this evidence informs the dimension.
  - `states` string[], required: Active lifecycle states. A signal may carry multiple states at once (e.g. `escalating` + `new`).
  - `resolvedAt` string, nullable, required: ISO-8601 timestamp at which the signal was resolved, or `null`.
  - `ignoredAt` string, nullable, required: ISO-8601 timestamp at which the signal was ignored, or `null`.
  - `regressedAt` string, nullable, required: ISO-8601 timestamp at which a new occurrence reopened the resolved signal, or `null`.
  - `mutedAt` string, nullable, required: ISO-8601 timestamp at which notifications were muted, or `null`. Muting only silences notifications; incidents still open.
  - `createdAt` string, required: ISO-8601 timestamp of creation.
  - `updatedAt` string, required: ISO-8601 timestamp of the last update.
  - `occurrences` integer, required: Number of occurrences within the session.
  - `firstSeenAt` string, required: ISO-8601 timestamp of the earliest occurrence in the session.
  - `lastSeenAt` string, required: ISO-8601 timestamp of the latest occurrence in the session.
  - `traceIds` string[], required: Traces of the session where the signal occurred.

## Other responses

- `400`: Validation error
- `401`: Unauthorized
- `404`: Not found

## Changes

- **2026-09-03** `cdfa10f14027`: 1 info
  - added the required property `scoreEvidence` to the response with the `200` status
- **2026-07-21** `a74967b6b972`: 3 warning, 3 info
  - added the new `ignored` enum value to the `states/items/` response property for the response status `200`
  - added the new `regressed` enum value to the `states/items/` response property for the response status `200`
  - added the new `resolved` enum value to the `states/items/` response property for the response status `200`
  - added the required property `ignoredAt` to the response with the `200` status
  - …2 more
- **2026-07-21** `6753547db8e7`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/latitude-dev/apis/latitude/changes/v1/projects/:projectSlug/sessions/:sessionId/signals/:signalSlug/get.md)

---

[API](https://skmtc.dev/latitude-dev/apis/latitude.md) - [All operations](https://skmtc.dev/latitude-dev/apis/latitude/llms.txt) - [OpenAPI document](https://skmtc.dev/latitude-dev/apis/latitude/revisions/0685be1cbf9f?raw)
