Official nowyourlink JavaScript and TypeScript SDK, CLI and agent plugin for nowyourlink.com: public Spotlight reads and OAuth 2.1 delegated advertiser actions.
13 tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Most tools lack descriptions for individual parameters (e.g., 'day' in day/listBids has no description). Parameter types are present but descriptions are sparse or missing. No visible error handling guidance or recovery patterns. Output schemas are not documented. Tool names follow verb_noun convention (good), but descriptions are terse (avg ~40 chars, below 194-char baseline). No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications. Composition is reasonable, tools are single-purpose, but chaining support unclear (e.g., placeBid requires 'adId' but no tool returns ad IDs).
Returns the Spotlight displayed right now.
Returns the Spotlight settled for one YYYY-MM-DD date.
Retrieves a specific creative by ID.
Increases an existing bid for an advertisement.
Returns settled Spotlights, newest first. limit is 1–50, offset 0–10000.
Returns bids placed for a specific day.
Lists creatives with optional filtering by state and cursor-based pagination.
Parameter descriptions missing or incomplete. 'day' parameter appears in 3 tools (day, listBids, placeBid, increaseBid) with identical format string but no semantic description of what date range is valid or what happens if the date is in the past/future.
Output schemas not documented. No visible schema definitions for what 'current', 'list', 'me', 'listBids', 'getCreative', 'listCreatives', 'listInvoices' return. LLMs cannot plan downstream tool calls or extract required fields (e.g., does 'list' return 'adId' needed for placeBid?).
No tool annotations despite clear risk classifications. Tools marked WRITE (placeBid, increaseBid, uploadCreative, updateCreative, submitCreative) lack destructiveHint annotation. READ_ONLY tools lack readOnlyHint. Agents cannot distinguish safe from unsafe operations without explicit hints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 61 | 2026-07-28+ | v2 |
Returns a list of invoices for the authenticated advertiser.
Returns the authenticated advertiser's account information.
Places a new bid for an advertisement on a specific day.
Submits a creative for review. Requires all of headline, description, target URL, CTA and the uploaded creative.
Updates copy fields (headline, description, target URL, display URL, CTA label, alt text) of an existing creative.
Uploads an image and optionally applies copy (headline, description, target URL, display URL, CTA label, alt text) to create a draft creative.
No error handling or recovery guidance. No visible error responses, validation rules, or actionable error messages. E.g., placeBid with invalid 'adId' or 'amountCents' will fail silently; LLM has no guidance on what went wrong or how to fix it.
Tool chaining broken. placeBid requires 'adId' but no tool returns ad IDs. uploadCreative returns a creative but submitCreative requires 'id', unclear if returned ID matches expected input. Agents cannot compose tools without manual ID mapping.