naftiko: 1.0.0-alpha2 info: label: Trader API — Watchlists description: 'Trader API — Watchlists. 11 operations. Lead operation: Watchlists. Self-contained Naftiko capability covering one Alpaca business surface.' tags: - Alpaca - Watchlists created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ALPACA_API_KEY: ALPACA_API_KEY capability: consumes: - type: http namespace: trading-watchlists baseUri: https://paper-api.alpaca.markets description: Trader API — Watchlists business capability. Self-contained, no shared references. resources: - name: v2-watchlists path: /v2/watchlists operations: - name: getwatchlists method: GET description: Watchlists outputRawFormat: json outputParameters: - name: result type: object value: $. - name: postwatchlist method: POST description: Watchlist outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v2-watchlists-watchlist_id path: /v2/watchlists/{watchlist_id} operations: - name: getwatchlistbyid method: GET description: Get Watchlist by ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatewatchlistbyid method: PUT description: Update Watchlist By Id outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: addassettowatchlist method: POST description: Add Asset to Watchlist outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: deletewatchlistbyid method: DELETE description: Delete Watchlist By Id outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-watchlists-watchlist_id-symbol path: /v2/watchlists/{watchlist_id}/{symbol} operations: - name: removeassetfromwatchlist method: DELETE description: Symbol from Watchlist outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-watchlists:by_name path: /v2/watchlists:by_name operations: - name: getwatchlistbyname method: GET description: Get Watchlist by Name outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: name of the watchlist required: true - name: updatewatchlistbyname method: PUT description: Update Watchlist By Name outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: name of the watchlist required: true - name: body in: body type: object description: Request body (JSON). required: false - name: addassettowatchlistbyname method: POST description: Add Asset to Watchlist By Name outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: name of the watchlist required: true - name: body in: body type: object description: Request body (JSON). required: false - name: deletewatchlistbyname method: DELETE description: Delete Watchlist By Name outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: name of the watchlist required: true authentication: type: apikey key: APCA-API-KEY-ID value: '{{env.ALPACA_API_KEY}}' placement: header exposes: - type: rest namespace: trading-watchlists-rest port: 8080 description: REST adapter for Trader API — Watchlists. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v2/watchlists name: v2-watchlists description: REST surface for v2-watchlists. operations: - method: GET name: getwatchlists description: Watchlists call: trading-watchlists.getwatchlists outputParameters: - type: object mapping: $. - method: POST name: postwatchlist description: Watchlist call: trading-watchlists.postwatchlist with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/watchlists/{watchlist-id} name: v2-watchlists-watchlist-id description: REST surface for v2-watchlists-watchlist_id. operations: - method: GET name: getwatchlistbyid description: Get Watchlist by ID call: trading-watchlists.getwatchlistbyid outputParameters: - type: object mapping: $. - method: PUT name: updatewatchlistbyid description: Update Watchlist By Id call: trading-watchlists.updatewatchlistbyid with: body: rest.body outputParameters: - type: object mapping: $. - method: POST name: addassettowatchlist description: Add Asset to Watchlist call: trading-watchlists.addassettowatchlist with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletewatchlistbyid description: Delete Watchlist By Id call: trading-watchlists.deletewatchlistbyid outputParameters: - type: object mapping: $. - path: /v1/v2/watchlists/{watchlist-id}/{symbol} name: v2-watchlists-watchlist-id-symbol description: REST surface for v2-watchlists-watchlist_id-symbol. operations: - method: DELETE name: removeassetfromwatchlist description: Symbol from Watchlist call: trading-watchlists.removeassetfromwatchlist outputParameters: - type: object mapping: $. - path: /v1/v2/watchlists-by-name name: v2-watchlists-by-name description: REST surface for v2-watchlists:by_name. operations: - method: GET name: getwatchlistbyname description: Get Watchlist by Name call: trading-watchlists.getwatchlistbyname with: name: rest.name outputParameters: - type: object mapping: $. - method: PUT name: updatewatchlistbyname description: Update Watchlist By Name call: trading-watchlists.updatewatchlistbyname with: name: rest.name body: rest.body outputParameters: - type: object mapping: $. - method: POST name: addassettowatchlistbyname description: Add Asset to Watchlist By Name call: trading-watchlists.addassettowatchlistbyname with: name: rest.name body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletewatchlistbyname description: Delete Watchlist By Name call: trading-watchlists.deletewatchlistbyname with: name: rest.name outputParameters: - type: object mapping: $. - type: mcp namespace: trading-watchlists-mcp port: 9090 transport: http description: MCP adapter for Trader API — Watchlists. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: watchlists description: Watchlists hints: readOnly: true destructive: false idempotent: true call: trading-watchlists.getwatchlists outputParameters: - type: object mapping: $. - name: watchlist description: Watchlist hints: readOnly: false destructive: false idempotent: false call: trading-watchlists.postwatchlist with: body: tools.body outputParameters: - type: object mapping: $. - name: get-watchlist-id description: Get Watchlist by ID hints: readOnly: true destructive: false idempotent: true call: trading-watchlists.getwatchlistbyid outputParameters: - type: object mapping: $. - name: update-watchlist-id description: Update Watchlist By Id hints: readOnly: false destructive: false idempotent: true call: trading-watchlists.updatewatchlistbyid with: body: tools.body outputParameters: - type: object mapping: $. - name: add-asset-watchlist description: Add Asset to Watchlist hints: readOnly: false destructive: false idempotent: false call: trading-watchlists.addassettowatchlist with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-watchlist-id description: Delete Watchlist By Id hints: readOnly: false destructive: true idempotent: true call: trading-watchlists.deletewatchlistbyid outputParameters: - type: object mapping: $. - name: symbol-watchlist description: Symbol from Watchlist hints: readOnly: false destructive: true idempotent: true call: trading-watchlists.removeassetfromwatchlist outputParameters: - type: object mapping: $. - name: get-watchlist-name description: Get Watchlist by Name hints: readOnly: true destructive: false idempotent: true call: trading-watchlists.getwatchlistbyname with: name: tools.name outputParameters: - type: object mapping: $. - name: update-watchlist-name description: Update Watchlist By Name hints: readOnly: false destructive: false idempotent: true call: trading-watchlists.updatewatchlistbyname with: name: tools.name body: tools.body outputParameters: - type: object mapping: $. - name: add-asset-watchlist-name description: Add Asset to Watchlist By Name hints: readOnly: true destructive: false idempotent: false call: trading-watchlists.addassettowatchlistbyname with: name: tools.name body: tools.body outputParameters: - type: object mapping: $. - name: delete-watchlist-name description: Delete Watchlist By Name hints: readOnly: false destructive: true idempotent: true call: trading-watchlists.deletewatchlistbyname with: name: tools.name outputParameters: - type: object mapping: $.