> ## 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.

# Signal Settings

> Retrieve and update Website, Market, and LinkedIn source switches, triggers, and daily Buyer limits.

Retrieve and manage how Website, Market, and LinkedIn sources surface Buyer intelligence. Each source has a master switch, a daily new-Buyer limit, and individual trigger switches.

## Base URL

```text theme={null}
https://api.1eye.ai/v1/signal-settings
```

## Authentication

All requests require a workspace API key:

```http theme={null}
Authorization: Bearer 1eye_live_xxxxxxxxx
```

The examples use `$API_KEY` for your API key. The key determines the workspace; you do not supply a workspace ID. See [Authentication](https://docs.1eye.ai/api-reference/auth.md).

## Endpoints

| Method | Endpoint | Description |
| - | - | - |
| `GET` | `/v1/signal-settings` | Retrieve complete Signal Settings. |
| `PATCH` | `/v1/signal-settings` | Partially update one or more settings. |

## Signal Settings object

```json theme={null}
{
  "website": {
    "enabled": true,
    "daily_buyer_limit": null,
    "triggers": {
      "visited_page": true,
      "filled_form": true,
      "abandoned_form": true
    }
  },
  "market": {
    "enabled": true,
    "daily_buyer_limit": 100,
    "triggers": {
      "researched_topic": true,
      "explored_product": true,
      "evaluated_competitor": true
    }
  },
  "linkedin": {
    "enabled": true,
    "daily_buyer_limit": 100,
    "triggers": {
      "followed_page": true,
      "followed_competitor": true,
      "commented_post": true,
      "reacted_post": true,
      "authored_post": true
    }
  }
}
```

The configuration above is illustrative. GET returns the workspace's saved values, including all disabled sources and triggers.

| Field | Type | Description |
| - | - | - |
| `website`, `market`, `linkedin` | object | Configuration for each source. |
| `enabled` | boolean | Source master switch. |
| `daily_buyer_limit` | integer or null | Daily new-Buyer limit. `0–1000` or `null`. |
| `triggers` | object | Supported trigger flags; each value is a boolean. |

### Supported triggers

| Source | Triggers |
| - | - |
| Website | `visited_page`, `filled_form`, `abandoned_form` |
| Market | `researched_topic`, `explored_product`, `evaluated_competitor` |
| LinkedIn | `followed_page`, `followed_competitor`, `commented_post`, `reacted_post`, `authored_post` |

## 1. Retrieve Signal Settings

`GET /v1/signal-settings`

```bash theme={null}
curl "https://api.1eye.ai/v1/signal-settings" \
  -H "Authorization: Bearer $API_KEY"
```

**200 OK** — returns the complete object shown above. There are no query parameters, sorting, or pagination.

## 2. Update Signal Settings

`PATCH /v1/signal-settings`

Send only the source fields and trigger flags you want to change.

```bash theme={null}
curl -X PATCH "https://api.1eye.ai/v1/signal-settings" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "market": {
    "enabled": false
  },
  "linkedin": {
    "daily_buyer_limit": 50,
    "triggers": {
      "authored_post": false
    }
  }
}'
```

### Example response

**200 OK** — returns the complete updated configuration.

```json theme={null}
{
  "website": {
    "enabled": true,
    "daily_buyer_limit": null,
    "triggers": {
      "visited_page": true,
      "filled_form": true,
      "abandoned_form": true
    }
  },
  "market": {
    "enabled": false,
    "daily_buyer_limit": 100,
    "triggers": {
      "researched_topic": true,
      "explored_product": true,
      "evaluated_competitor": true
    }
  },
  "linkedin": {
    "enabled": true,
    "daily_buyer_limit": 50,
    "triggers": {
      "followed_page": true,
      "followed_competitor": true,
      "commented_post": true,
      "reacted_post": true,
      "authored_post": false
    }
  }
}
```

### Partial nested updates

Fields merge at every nested level. Updating `linkedin.triggers.authored_post` preserves all other LinkedIn triggers, its source switch, and the other sources. Omitted values remain unchanged. A trigger update does not implicitly enable its source.

Every public setting is PATCHable. All supplied values are validated atomically. Unknown fields, invalid types, invalid source/trigger names, and empty requests are rejected.

## Source enablement

`enabled` is the master switch. When it is `false`, that source's saved triggers and limit are operationally inactive but remain stored and visible. Re-enabling the source resumes processing with its saved configuration. You can update saved nested settings while the source is disabled.

A source only surfaces eligible new Buyers when the source is enabled, the relevant trigger is enabled, and the daily limit permits it.

## Daily Buyer limits

| Value | Behavior |
| - | - |
| `0` | Permit zero additional new Buyers from that source. |
| `1–1000` | Set the daily new-Buyer limit for that source. |
| `null` | Configure no customer-defined limit; the platform hard cap still applies. |

The platform enforces a maximum of **1,000 new Buyers per source per day**, including `null` configurations. The limit counts new Buyers across all triggers in that source; it is not a limit on historical Signals or API reads.

Changing a limit or source switch does not reset daily accounting. Lowering a limit below already-used capacity prevents additional eligible new Buyers until capacity is available again. It does not remove historical Buyers or Signals or reverse previously consumed credits.

Only `daily_buyer_limit` accepts `null`. Source objects, `enabled`, trigger objects, and trigger flags cannot be cleared with `null`.

## Related APIs

Use [Website Pixel](https://docs.1eye.ai/api-reference/website-pixel.md) for installation scripts, tracked domains, and excluded URLs. Use [List Signals](https://docs.1eye.ai/api-reference/list-signals.md) or [Search Signals](https://docs.1eye.ai/api-reference/search-signals.md) to retrieve existing activity. Signal Settings changes do not modify historical records or reprocess past Signals.

## Errors

| Status | Error code | Description |
| - | - | - |
| 400 | `invalid_parameter` | A request field or query parameter is invalid. |
| 401 | `authentication_error` | The API key is missing, invalid, or revoked. |
| 403 | `permission_denied` | The key does not have permission for this operation. |
| 429 | `rate_limit_exceeded` | The workspace API rate limit was exceeded. |
| 500 | `internal_error` | An unexpected server error occurred. |
| 503 | `service_unavailable` | The service is temporarily unavailable. |

Errors use the standard [error envelope](https://docs.1eye.ai/api-reference/errors.md). Use `request_id` when contacting support.

### Invalid limit error

```json theme={null}
{
  "error": {
    "code": "invalid_parameter",
    "message": "daily_buyer_limit must be null or an integer between 0 and 1000.",
    "param": "website.daily_buyer_limit",
    "request_id": "req_123456789012345678"
  }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.