> From TickerLayer docs, SignalPoint API: https://tickerlayer.com/docs/signalpoint#signalpoint-get
> REST base URL https://api.tickerlayer.com, API key in the `x-api-key` header. WebSocket wss://stream.tickerlayer.com?apiKey=YOUR_API_KEY. Full API reference: https://tickerlayer.com/llms-full.txt

## Get a signal

**Endpoint:** `GET /signals/{id}`

One signal by id. 404 when the id is unknown.

### Path parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | integer | Yes | Signal id. Stable for the life of the record, so it is the right primary key for your store. |

### Request

```bash
curl -sS "https://api.tickerlayer.com/signals/21141" \
  -H "x-api-key: <YOUR_API_KEY>"
```

### Response

```json
{
  "id": 21141,
  "ticker": "EL",
  "asset_type": "stock",
  "signal_class": "source",
  "direction": "buy",
  "timeframe": "short_term",
  "entry_price": 99.1,
  "target_price": 107.41,
  "stop_loss": 94.12,
  "max_gain_pct": 8.38,
  "max_loss_pct": 5.03,
  "reasoning": "Strong fiscal Q4 performance and a sizable pre-market gain support bullish post-earnings sentiment.",
  "source": { "name": "The Globe and Mail", "brand": "theglobeandmail" },
  "sentiment": { "positive": 0.82, "negative": 0.1, "neutral": 0.08 },
  "status": "closed",
  "exit": {
    "reason": "profit_target",
    "change_pct": 8.38,
    "exited_at": "2026-08-26T14:18:02Z",
    "data_quality": "ok"
  },
  "content_published_at": "2026-08-19T16:18:31Z",
  "generated_at": "2026-08-19T16:50:24Z",
  "updated_at": "2026-08-26T14:18:02Z"
}
```
