---
title: "Get approved signal map"
method: GET
path: "/v1/projects/{project_id}/signal-map"
tags: ["Install"]
---

# Get approved signal map

`GET /v1/projects/{project_id}/signal-map`

## Request

- Base URL: `https://api.agentry.sh`
- URL: `https://api.agentry.sh/v1/projects/{project_id}/signal-map`
- Auth: HTTP bearer

Canonical project memory for day-to-day questions: approved business/value flow, exact events/properties, impactful error surfaces, deploy target, and a nullable source-verification receipt. Trust current source semantics only when receipt.evidence_status is source_verified; historical PostHog rows alone establish historically_observed. If the receipt is absent or weaker, read onboarding for recovery.

## Path parameters

- `project_id` string, required

## Response `200`

OK

- SignalMap
  - `project_id` string, required
  - `contract_version` '3', required
  - `mode` 'onboarding', required
  - `plan_sha256` string, required
  - `business_question` string, required
  - `plan_markdown` string, required
  - `source_snapshot` OnboardingV3SourceSnapshot, required
    - `git_head_sha` string, nullable, required
    - `source_fingerprint_sha256` string, required
    - `source_fingerprint_algorithm` 'agentry-source-tree-sha256-v1', required
  - `historical_evidence` OnboardingV3HistoricalEvidence, required
    - `status` 'historically_observed', required
    - `source` 'posthog_cloud', required
    - `posthog_project_id` integer, required
    - `observed_at` integer, required
    - `window` object, required
      - `from` integer, required
      - `to` integer, required
    - `query_receipt_sha256` string, required
    - `observations` OnboardingV3HistoricalObservation[], required: Bounded counts, timestamps, signal identifiers, and property identifiers from PostHog. This is non-authorizing historical evidence, never source proof.
      - union
        - object
          - `kind` 'analytics', required
          - `event` string, required: PostHog event identifier; never a payload sample.
          - `observed_properties` string[], required: Bounded property identifiers only; never raw values or payload samples.
          - `row_count` integer, required
        - object
          - `kind` 'error', required
          - `issue_id` string, required: Stable PostHog Error Tracking issue identifier; never an error message.
          - `observed_properties` string[], required: Bounded property identifiers only; never raw values or payload samples.
          - `row_count` integer, required
  - `evidence_status` object, required
    - `historical` 'not_established' | 'historically_observed', required
    - `source` 'pending' | 'source_verified', required
  - `milestones` OnboardingV3Milestone[], required
    - `event` string, required: Repository-chosen opaque value; spelling is not an acceptance signal.
    - `meaning` string, required: Durable value progress proved after this target succeeds.
    - `posthog_boundary` 'browser_posthog' | 'server_posthog', required
    - `properties` string[], required
    - `targets` OnboardingV3SourceTarget[], required
      - `file` string, required: Repository-relative shipped source or configuration path.
      - `anchor` string, required: Exact source text locating the outcome boundary in this file.
  - `failures` OnboardingV3Failure[], required
    - `marker` string, required: Repository-chosen opaque value; spelling is not an acceptance signal.
    - `meaning` string, required: Business-impacting failure proved at this exact exit.
    - `posthog_boundary` 'browser_posthog' | 'server_posthog', required
    - `context` string[], required
    - `safe_live_proof` boolean, required
    - `targets` OnboardingV3SourceTarget[], required
      - `file` string, required: Repository-relative shipped source or configuration path.
      - `anchor` string, required: Exact source text locating the outcome boundary in this file.
  - `deploy` OnboardingV3Deploy, required
    - `environment` string, required
    - `sha_source` 'git_head', required
    - `targets` OnboardingV3SourceTarget[], required
      - `file` string, required: Repository-relative shipped source or configuration path.
      - `anchor` string, required: Exact source text locating the outcome boundary in this file.
  - `receipt` OnboardingV3VerifiedReceipt, required
    - `evidence_status` 'source_verified', required
    - `source_verified_at` integer, required
    - `analytics` OnboardingV3ObservedMilestone[], required
      - `event` string, required: Repository-chosen opaque value; spelling is not an acceptance signal.
      - `posthog_boundary` 'browser_posthog' | 'server_posthog', required
      - `required_properties` string[], required
      - `observed_properties` string[], required
      - `row_count` integer, required
    - `error` object, required
      - `marker` string, required: Repository-chosen opaque value; spelling is not an acceptance signal.
      - `posthog_boundary` 'browser_posthog' | 'server_posthog', required
      - `required_context` string[], required
      - `observed_context` string[], required
      - `row_count` integer, required
    - `deploy` object, required
      - `environment` string, required
      - `source_snapshot` OnboardingV3SourceSnapshot, required
        - `git_head_sha` string, nullable, required
        - `source_fingerprint_sha256` string, required
        - `source_fingerprint_algorithm` 'agentry-source-tree-sha256-v1', required
      - `row_count` integer, required

## Other responses

- `default`: Error

---

[API](https://skmtc.dev/agentry/apis/agentry-api.md) · [All operations](https://skmtc.dev/agentry/apis/agentry-api/llms.txt) · [OpenAPI document](https://skmtc.dev/agentry/apis/agentry-api/revisions/abdecddf009f?raw)
