# Delete your own signal

Deletes one of your own signals, when the user no longer wants it. Who it caught stays in Leads and Companies and its hits stay on the Activity tab; the signal leaves the Signals page and the Signals column. To stop it for a while, pause it instead (PATCH `status` `paused`).

A signal your agent runs itself, with its own tools: hiring spikes on careers pages, posts on X, a newsletter, a list in the CRM. Register it and the user sees it on the Signals page of mySDR, next to the signals mySDR runs: what it watches, where, how often, when you last checked and what it caught. mySDR does not run, schedule or check it: it shows what you report. These routes are the tools `save_agent_signal`, `log_signal_hits`, `list_agent_signals` and `delete_agent_signal` of the assistant server.

## Authentication

Send `Authorization: Bearer gtk_…`. Create the key under **Connect assistant → API keys**. Every `gtk_` key can call these routes, also while the Signals API is closed. A missing, invalid or revoked key is **401**.

### Path parameters

- **`key`** `string` · **required** — The key of your signal (`hiring_spike`).

## Response

- **`key`** `string` · **required** — The key you sent.
- **`removed`** `boolean` · **required** — Always true.
- **`dashboard_url`** `string` · **required** — The Signals page in mySDR.

## Credits

Free. This call never uses credits.

## Errors

- **400** `invalid_request` — A key that is not valid.
- **404** `not_found` — Your organization has no signal with this key.
- **401** `authentication_error` — The Authorization header is missing, or the key is unknown or revoked.
- **403** `permission_error` — API access is not part of your plan, or your account is suspended.
- **429** `rate_limit_error` — More than 60 requests per minute, or more than 3 at the same time, on one key. Wait for the Retry-After header.
- **503** `service_unavailable` — The API is temporarily unavailable. Retry later.
- **500** `internal_error` — Something went wrong on our side.

## Example

### cURL

```bash
curl -X DELETE "https://mysdr.app/api/v1/agent-signals/hiring_spike" \
  -H "Authorization: Bearer $MYSDR_API_KEY"
```

### JavaScript

```javascript
const response = await fetch('https://mysdr.app/api/v1/agent-signals/hiring_spike', {
  method: 'DELETE',
  headers: {
    Authorization: `Bearer ${process.env.MYSDR_API_KEY}`
  }
});
const body = await response.json();
```

### Python

```python
import json
import os
import urllib.request

request = urllib.request.Request(
    "https://mysdr.app/api/v1/agent-signals/hiring_spike",
    headers={
    "Authorization": f"Bearer {os.environ['MYSDR_API_KEY']}"
    },
    method="DELETE",
)
with urllib.request.urlopen(request) as response:
    body = json.load(response)
```

### Example response

```json
{
  "key": "hiring_spike",
  "removed": true,
  "dashboard_url": "https://mysdr.app/en/gtm/signals"
}
```
