---
title: "Mobile Watchlist Add V1"
method: PUT
path: "/v1/mobile/watchlist/{asset_id}"
---

# Mobile Watchlist Add V1

`PUT /v1/mobile/watchlist/{asset_id}`

## Request

- Base URL: `https://api.n0brains.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.n0brains.com/v1/mobile/watchlist/{asset_id}`
- Auth: none declared

Idempotent add; returns the complete list so the client can replace its
cache atomically. A repeat add keeps the original addedAt, so tapping an
already-followed asset never reorders the list.
503 until WATCHLIST_ENABLED.

## Path parameters

- `asset_id` string, required

## Response `200`

Successful Response

- MobileWatchlistResponse: Every Watchlist endpoint returns the COMPLETE current list, so the client can replace its cached collection atomically after a mutation instead of patching it and risking drift. Order is backend-owned: oldest first, assetId breaking ties.
  - `schemaVersion` 1, required
  - `items` MobileWatchlistItem[], required
    - `assetId` string, required: Opaque, case-sensitive; stored and returned exactly as supplied.
    - `addedAt` string, required: UTC ISO-8601. Backend-set; a duplicate add never changes it.
  - `meta` MobileWatchlistMeta, required
    - `serverTime` string, required
    - `count` integer, required

## Other responses

- `401`: Unauthorized
- `404`: Not Found
- `422`: Validation Error
- `503`: Service Unavailable

---

[API](https://skmtc.dev/n0brains/apis/n0brains-signals-api.md) · [All operations](https://skmtc.dev/n0brains/apis/n0brains-signals-api/llms.txt) · [OpenAPI document](https://skmtc.dev/n0brains/apis/n0brains-signals-api/revisions/ac21b5aebd10?raw)
