Delete a watchlist entry
https://api.triport.io/v1/sol/watchlist/3f1c9d2e-4b6a-4c8e-9a1f-7d2b5e6c0a11Removes a single account-watch entry by id, stopping its webhook / WS push deliveries.
Deletes the watchlist entry identified by id. A watchlist entry registers a
Solana pubkey for account-change notifications delivered over a webhook or a
WebSocket push channel; deleting the entry permanently stops those deliveries.
Only entries belonging to your account (tenant) are visible or deletable — the
tenant is derived from your authenticated API key, not from a request field.
The operation is idempotent. The first successful delete returns
204 No Content with an empty body. Any subsequent delete of the same id —
or a delete of an id that never existed or belongs to another tenant —
returns 404 Not Found. This makes it safe to retry a delete whose response
you did not receive: a 404 simply confirms the entry is already gone.
To discover the id values you can delete, list your entries with
GET /v1/sol/watchlist or fetch a single one with
GET /v1/sol/watchlist/{id}.
Parameters
Path parameters
Response
On success the server returns HTTP 204 No Content with an empty body:
If the entry does not exist (already deleted, never created, or owned by a
different tenant), the server returns HTTP 404 Not Found with the shared
error envelope:
{
"error": "resource_not_found",
"message": "watchlist entry not found",
"request_id": "req_8f2a1c5e9b"
}errorstringmessagestringrequest_idstringErrors
| Code | Meaning | When it happens |
|---|---|---|
401 | Unauthorized | Missing or invalid credentials (unauthorized), expired trial (trial_expired), or expired subscription (subscription_expired). |
403 | Forbidden | Your tier is below business (tier_insufficient) or your key lacks the sol_watchlist scope. |
404 | Not found | The entry was already deleted, never existed, or belongs to another tenant. Repeated deletes of the same id return 404. |
429 | Rate limited | Sustained request rate exceeded for your tier; honor the Retry-After header. |
See the shared errors reference for the full envelope shape and the complete list of error codes.
Examples
JavaScript (fetch)
const id = "3f1c9d2e-4b6a-4c8e-9a1f-7d2b5e6c0a11";
const res = await fetch(`https://api.triport.io/v1/sol/watchlist/${id}`, {
method: "DELETE",
headers: {
"Authorization": `Bearer ${process.env.TRIPORT_API_KEY}`,
},
});
if (res.status === 204) {
console.log("Deleted");
} else if (res.status === 404) {
console.log("Already gone");
} else {
throw new Error(`Unexpected status ${res.status}`);
}TypeScript SDK (@triport/sdk)
import { TriportClient } from "@triport/sdk";
const client = new TriportClient({ apiKey: process.env.TRIPORT_API_KEY });
// Resolves on 204; the SDK treats a 404 as already-deleted and resolves too,
// so deletes stay idempotent without try/catch.
await client.solana.watchlist.delete("3f1c9d2e-4b6a-4c8e-9a1f-7d2b5e6c0a11");
console.log("Watchlist entry removed");Python (triport-sdk)
import os
from triport import TriportClient
client = TriportClient(api_key=os.environ["TRIPORT_API_KEY"])
client.solana.watchlist.delete("3f1c9d2e-4b6a-4c8e-9a1f-7d2b5e6c0a11")
print("Watchlist entry removed")Notes
- Idempotent by design: treat both
204and404as "the entry is gone". Only401,403, and429are real failures to handle. - Tenant isolation: you can only delete entries created under your own API
key. Deleting another tenant's id is indistinguishable from deleting a
non-existent one — both return
404. - No soft-delete: removal is permanent. To resume notifications for the same
pubkey, create a new entry with
POST /v1/sol/watchlist, which returns a freshid. - Related endpoints: list entries, get one entry, create an entry.