tastytradeDeveloper Docs
Legacy ↗

API Reference / Watchlists

Replace Watchlist

putWatchlistsWatchlistName
put/watchlists/{watchlist_name}

Base URL: https://api.cert.tastyworks.com (Sandbox) · https://api.tastyworks.com (Production)

Replaces **all** properties of an existing user watchlist — this is a full replacement, not a merge, so send the complete `watchlist-entries` array you want to keep; omitted entries are removed.

Code samples

curl -X PUT 'https://api.cert.tastyworks.com/watchlists/{watchlist_name}' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  -H 'User-Agent: tastytrade-docs-example/1.0' \
  -H 'Content-Type: application/json' \
  -d '{
  "name": "Tech Megacaps",
  "group-name": "Sectors",
  "order-index": 10,
  "watchlist-entries": [
    {
      "symbol": "AAPL",
      "instrument-type": "Equity"
    },
    {
      "symbol": "MSFT",
      "instrument-type": "Equity"
    },
    {
      "symbol": "NVDA",
      "instrument-type": "Equity"
    }
  ]
}'

Parameters

NameInTypeDescription
watchlist_name*pathstring

Request bodyrequiredapplication/json

Example

{
  "name": "Tech Megacaps",
  "group-name": "Sectors",
  "order-index": 10,
  "watchlist-entries": [
    {
      "symbol": "AAPL",
      "instrument-type": "Equity"
    },
    {
      "symbol": "MSFT",
      "instrument-type": "Equity"
    },
    {
      "symbol": "NVDA",
      "instrument-type": "Equity"
    }
  ]
}

Schema

  • namerequiredstring

    The watchlist name.

    example: "Tech Megacaps"

  • group-namestring

    Optional group the watchlist belongs to, used to organize related watchlists.

    example: "Sectors"

  • order-indexinteger <int32>

    Optional order index of the watchlist. Defaults to `9999`.

    example: 10

  • watchlist-entriesrequiredarray<object>

    The complete set of instruments to keep. Each entry requires a `symbol`; `instrument-type` is optional.

    example: [{"symbol":"AAPL","instrument-type":"Equity"},{"symbol":"MSFT","instrument-type":"Equity"},{"symbol":"NVDA","instrument-type":"Equity"}]

    • symbolrequiredstring

      The instrument symbol

    • instrument-typestring

      The instrument type

Responses

200The watchlist was replaced and the updated version is returned.application/json

Example response

{
  "data": {
    "name": "Tech Megacaps",
    "watchlist-entries": {},
    "cms-id": "tt-tech-megacaps",
    "group-name": "Sectors",
    "order-index": 10
  },
  "context": "/watchlists/{watchlist_name}"
}

Schema

  • datarequiredobject (Watchlist)

    A named collection of instruments to track. Used for both user watchlists and read-only public watchlists. JSON keys are dasherized.

    • namestring

      The name of the watchlist. For user watchlists it is the `watchlist_name` path parameter; URL-encode it when it contains spaces.

      example: "Tech Megacaps"

    • watchlist-entriesobject

      The instruments being watched. Each entry has a `symbol` and an optional `instrument-type`.

    • cms-idstring

      Content management system identifier of the watchlist.

      example: "tt-tech-megacaps"

    • group-namestring

      The group this watchlist belongs to, used to organize related watchlists.

      example: "Sectors"

    • order-indexinteger <int32>

      The order index of the watchlist.

      example: 10

  • contextrequiredstring

    example: "/watchlists/{watchlist_name}"

401Missing or invalid access token, or a missing/malformed `User-Agent` header.application/json

Example response

{
  "error": {
    "code": "unauthorized",
    "message": "No valid access token was provided; access tokens expire after 15 minutes."
  }
}

Schema

  • errorrequiredobject
    • coderequiredstring

      Machine-readable error code (see the Error reference).

    • messagerequiredstring

      Human-readable explanation.

    • errorsarray<object>{3 fields}

      Present for multi-error / validation failures; one entry per problem.

403Authenticated, but the token's scope or account authority does not permit modifying this watchlist.application/json

Example response

{
  "error": {
    "code": "not_permitted",
    "message": "User not permitted access"
  }
}

Schema

  • errorrequiredobject
    • coderequiredstring

      Machine-readable error code (see the Error reference).

    • messagerequiredstring

      Human-readable explanation.

    • errorsarray<object>{3 fields}

      Present for multi-error / validation failures; one entry per problem.

404No watchlist exists with the given name for this user.application/json

Example response

{
  "error": {
    "code": "string",
    "message": "string",
    "errors": [
      {
        "code": "string",
        "message": "string",
        "domain": "string"
      }
    ]
  }
}

Schema

  • errorrequiredobject
    • coderequiredstring

      Machine-readable error code (see the Error reference).

    • messagerequiredstring

      Human-readable explanation.

    • errorsarray<object>{3 fields}

      Present for multi-error / validation failures; one entry per problem.

422The body is invalid in context — for example a missing required `name`/`watchlist-entries` or an entry without a `symbol`. Read `error.message` for the reason.application/json

Example response

{
  "error": {
    "code": "preflight_check_failure",
    "message": "One or more preflight checks failed",
    "errors": [
      {
        "code": "preflight_check_failure",
        "message": "A specific validation failed for this order."
      }
    ]
  }
}

Schema

  • errorrequiredobject
    • coderequiredstring

      Machine-readable error code (see the Error reference).

    • messagerequiredstring

      Human-readable explanation.

    • errorsarray<object>{3 fields}

      Present for multi-error / validation failures; one entry per problem.

429Rate limit exceeded. Back off exponentially before retrying.application/json

Example response

{
  "error": {
    "code": "string",
    "message": "string",
    "errors": [
      {
        "code": "string",
        "message": "string",
        "domain": "string"
      }
    ]
  }
}

Schema

  • errorrequiredobject
    • coderequiredstring

      Machine-readable error code (see the Error reference).

    • messagerequiredstring

      Human-readable explanation.

    • errorsarray<object>{3 fields}

      Present for multi-error / validation failures; one entry per problem.

Related

Agents: this page is also Markdown (with the embedded OpenAPI definition) — append .md or send Accept: text/markdown. Index at /llms.txt.