> ## Documentation Index
> Fetch the complete documentation index at: https://docs.1eye.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve a Signal

> Retrieve a specific Signal using its 1eye Signal ID.

Returns a single Signal belonging to the workspace associated with your API key.

```text theme={null}
GET /v1/signals/{signal_id}
```

## Path parameter

| Parameter   | Type   | Description                                                   |
| :---------- | :----- | :------------------------------------------------------------ |
| `signal_id` | string | The 1eye Signal ID to retrieve. Signal IDs begin with `sig_`. |

Example Signal ID:

```text theme={null}
sig_123456789012345678
```

## Request

```text theme={null}
curl "https://api.1eye.ai/v1/signals/sig_123456789012345678" \
  -H "Authorization: Bearer 1eye_live_xxxxxxxxx"
```

## Signal types

A Signal has one of three types:

```text theme={null}
website
market
linkedin
```

Every Signal uses the same top-level structure:

```text theme={null}
id
buyer_id
type
website
market
linkedin
captured_at
created_at
updated_at
```

The object corresponding to the Signal's `type` is populated. The other type-specific objects are `null`.

## Website Signal

For a Website Signal, `website` is populated while `market` and `linkedin` are `null`.

```text theme={null}
{
  "id": "sig_123456789012345678",
  "buyer_id": "buy_123456789012345678",
  "type": "website",
  "website": {
    "trigger": "visited_page",
    "url": {
      "raw": "example.com/pricing?utm_source=google&utm_medium=cpc",
      "canonical": "example.com/pricing",
      "domain": "example.com",
      "path": "/pricing"
    },
    "attribution": {
      "type": "paid",
      "source": "google_ads",
      "source_name": "Google Ads",
      "source_logo": "https://example.com/google-ads.png"
    },
    "utm": {
      "source": "google",
      "medium": "cpc",
      "campaign": "brand",
      "term": "",
      "content": ""
    },
    "click_ids": {
      "gclid": "example_gclid",
      "gbraid": null,
      "wbraid": null,
      "dclid": null,
      "li_fat_id": null,
      "msclkid": null,
      "fbclid": null,
      "ttclid": null,
      "twclid": null
    },
    "target_page": {
      "id": "tpg_123456789012345678",
      "name": "Pricing Page",
      "short_name": "PRICING",
      "description": ""
    },
    "session": {
      "id": "sess_example123",
      "started_at": "2026-09-25T18:20:00Z",
      "ended_at": "2026-09-25T18:22:00Z",
      "duration_secs": 120
    },
    "device": {
      "browser": "Chrome",
      "browser_version": "152.0.0.0",
      "os": "macOS",
      "os_version": "26.6",
      "device_type": "desktop",
      "language": "en-US"
    },
    "location": {
      "ip": "203.0.113.10",
      "city": "San Francisco",
      "state": "California",
      "country": "United States",
      "country_code": "US",
      "postal_code": "94105",
      "latitude": 37.7749,
      "longitude": -122.4194,
      "timezone": "America/Los_Angeles"
    },
    "page": {
      "visited_at": "2026-09-25T18:21:00Z",
      "time_spent_secs": 120,
      "visit_count": 3,
      "first_visited_at": "2026-09-20T17:00:00Z",
      "last_visited_at": "2026-09-25T18:21:00Z",
      "total_time_spent_secs": 420
    }
  },
  "market": null,
  "linkedin": null,
  "captured_at": "2026-09-25T18:21:00Z",
  "created_at": "2026-09-25T18:22:01Z",
  "updated_at": "2026-09-25T18:22:01Z"
}
```

Website Signals can include:

* URL and page information
* Attribution
* UTM parameters
* Advertising click IDs
* Target Page information
* Session details
* Device information
* Location
* Page engagement data

## Market Signal

For a Market Signal, `market` is populated while `website` and `linkedin` are `null`.

```text theme={null}
{
  "id": "sig_234567890123456789",
  "buyer_id": "buy_234567890123456789",
  "type": "market",
  "website": null,
  "market": {
    "trigger": "explored_product",
    "attribution": {
      "type": "in_market",
      "source": "product_intent",
      "source_name": "Product Intent",
      "source_logo": ""
    },
    "topic": "sales prioritization",
    "company_website": "https://example.com/"
  },
  "linkedin": null,
  "captured_at": "2026-09-24T06:40:57Z",
  "created_at": "2026-09-24T06:40:15Z",
  "updated_at": "2026-09-24T06:40:57Z"
}
```

Market Signals can use one of the following triggers:

```text theme={null}
researched_topic
explored_product
evaluated_competitor
```

The attribution source aligns with the Market intent type. For example:

```text theme={null}
researched_topic      → topic_intent
explored_product      → product_intent
evaluated_competitor  → competitor_intent
```

Market Signals include:

* Market trigger
* Attribution
* Intent topic, product, or competitor
* Company website

## LinkedIn Signal

For a LinkedIn Signal, `linkedin` is populated while `website` and `market` are `null`.

```text theme={null}
{
  "id": "sig_345678901234567890",
  "buyer_id": "buy_345678901234567890",
  "type": "linkedin",
  "website": null,
  "market": null,
  "linkedin": {
    "trigger": "reacted_post",
    "attribution": {
      "type": "social",
      "source": "linkedin_reaction",
      "source_name": "LinkedIn Reaction",
      "source_logo": ""
    },
    "source": "linkedin",
    "url": "https://www.linkedin.com/posts/example-post",
    "comment": "",
    "reaction_type": "like",
    "company_name": "",
    "post_title": ""
  },
  "captured_at": "2026-09-14T19:10:17Z",
  "created_at": "2026-09-14T19:09:42Z",
  "updated_at": "2026-09-14T19:10:17Z"
}
```

LinkedIn Signals can use one of the following triggers:

```text theme={null}
followed_page
commented_post
reacted_post
```

The fields populated inside `linkedin` depend on the trigger.

For example, a comment can include:

```text theme={null}
{
  "trigger": "commented_post",
  "comment": "Very interesting take on this topic.",
  "reaction_type": ""
}
```

A reaction can include:

```text theme={null}
{
  "trigger": "reacted_post",
  "comment": "",
  "reaction_type": "like"
}
```

LinkedIn Signals can include:

* LinkedIn trigger
* Attribution
* LinkedIn source
* Post or company URL
* Comment
* Reaction type
* Company name
* Post title

## Timestamps

Each Signal includes three top-level timestamps:

| Field         | Description                                                 |
| :------------ | :---------------------------------------------------------- |
| `captured_at` | When the underlying buyer activity occurred or was captured |
| `created_at`  | When the Signal record was created in 1eye                  |
| `updated_at`  | When the Signal record was last updated                     |

Timestamps are returned in ISO 8601 UTC format.

## Resource access

An API key can only retrieve Signals belonging to its associated workspace.

If the Signal does not exist or belongs to another workspace, the API returns:

```text theme={null}
404 Not Found
```

The API does not reveal whether a Signal exists in another workspace.

## Errors

| Status | Error Code             | Description                                                  |
| :----- | :--------------------- | :----------------------------------------------------------- |
| `401`  | `authentication_error` | The API key is missing, invalid, or revoked                  |
| `404`  | `not_found`            | The Signal does not exist or is unavailable to the workspace |
| `429`  | `rate_limit_exceeded`  | The workspace has exceeded an API rate limit                 |
| `500`  | `internal_error`       | An unexpected server error occurred                          |
| `503`  | `service_unavailable`  | The API is temporarily unavailable                           |
