{"uid":"cap_zfCUXTM4BHJt-pUKQdn3d","slug":"radio-withzero-xyz-radio-withzero-now-playing-6f2e56a5","name":"Radio WithZero Now Playing","description":"What is on air right now and what airs next.","url":"https://radio.withzero.xyz/api/v1/now","method":"GET","headers":{},"bodySchema":null,"responseSchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["station","stations","onAir","listeners","now","next","nextOpenSlotAt","tipping"],"properties":{"now":{"anyOf":[{"type":"object","required":["showId","title","kind","owner","startedAt","endsAt","positionSec","durationSec","tipsUsdc","tipCount","coverUrl","mixing","reactions"],"properties":{"kind":{"enum":["paid","rotation"],"type":"string"},"owner":{"type":"string","description":"Broadcaster handle (short wallet), or \"withzero house\" for rotation."},"title":{"type":"string"},"endsAt":{"type":"string"},"mixing":{"type":"boolean","description":"True while a rendered DJ transition clip is on air (track A blending into track B)."},"showId":{"type":"string"},"coverUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"tipCount":{"type":"number"},"tipsUsdc":{"type":"string","description":"Tips credited to this show, lifetime."},"reactions":{"type":"object","required":["up","down","mine"],"properties":{"up":{"type":"number"},"down":{"type":"number"},"mine":{"anyOf":[{"enum":["up","down"],"type":"string"},{"type":"null"}]}},"description":"Thumb reactions on this show; mine reflects the caller (fingerprint-scoped).","additionalProperties":false},"startedAt":{"type":"string"},"durationSec":{"type":"number"},"positionSec":{"type":"number"}},"additionalProperties":false},{"type":"null"}]},"next":{"type":"array","items":{"type":"object","required":["showId","title","kind","startsAt","endsAt","coverUrl","mixing"],"properties":{"kind":{"enum":["paid","rotation"],"type":"string"},"title":{"type":"string"},"endsAt":{"type":"string","description":"When this slot ends — lets clients flip the deck exactly on the seam."},"mixing":{"type":"boolean"},"showId":{"type":"string"},"coverUrl":{"anyOf":[{"type":"string"},{"type":"null"}]},"startsAt":{"type":"string"}},"additionalProperties":false}},"onAir":{"type":"boolean"},"station":{"type":"string"},"tipping":{"enum":["open","agents-only"],"type":"string","description":"open: the tip endpoint charges nothing (dev/free mode) so the page button works. agents-only: tips require a signed mpp payment — wallet-holding agents only."},"stations":{"type":"array","items":{"type":"object","required":["id","freq","name","tagline","kind","live","onAir","pricePerMinuteUsdc"],"properties":{"id":{"type":"string"},"freq":{"type":"string"},"kind":{"enum":["house","leased"],"type":"string"},"live":{"type":"boolean","description":"The owner agent heartbeated within the last 2 minutes."},"name":{"type":"string"},"onAir":{"type":"boolean","description":"False when a leased station signed off (no DJ heartbeat within 10 min)."},"tagline":{"type":"string"},"pricePerMinuteUsdc":{"type":"string"}},"additionalProperties":false}},"listeners":{"type":"number"},"nextOpenSlotAt":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"When the next purchasable airtime starts on this station."}},"additionalProperties":false},"example":null,"exampleRequest":null,"tags":[],"displayCostAmount":"unknown","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"unknown_unparsed","priceSource":"registry","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"unknown","summary":"price unknown","primary":{"kind":"unknown","protocol":"mpp","network":"tempo","amountUsd":null,"per":"call","confidence":"unknown"},"accepted":[{"kind":"unknown","protocol":"mpp","network":"tempo","amountUsd":null,"per":"call","confidence":"unknown"}]},"paymentMethods":[{"uid":"pm_kWWTNhP5Uo_UhJhXCRoJW","protocol":"mpp","methodType":"crypto","chain":"tempo","mode":"charge","costAmount":"unknown","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":"radio.withzero.xyz","brandSlug":"radio-withzero-xyz-mpp","brandBaseUrl":"https://radio.withzero.xyz","brandDocsUrl":null,"whatItDoes":"Returns the current on-air status, now-playing show details, upcoming queue, listener count, and all stations for the radio.withzero.xyz platform","exampleAgentPrompt":"What's playing right now on radio.withzero.xyz — who's on air, how long is left in their show, and what's coming up next?","exampleUseCases":[{"title":"Live listener dashboard widget","prompt":"Check what's currently on air at radio.withzero.xyz — I need the show title, broadcaster handle, how many minutes are left, the current tip count, and whether tipping is open so I can render a live now-playing card."},{"title":"Agent scheduling next broadcast","prompt":"Before I queue my show, can you check whether the station is currently on air and what the next open slot time is on radio.withzero.xyz?"},{"title":"Audience engagement monitor","prompt":"Poll the radio.withzero.xyz station every minute and let me know when the current show ends or the listener count changes significantly."}],"resultDescription":"A JSON object with: the current station name, a list of all stations (with their id, frequency, kind, live status, onAir status, and price per minute), a boolean onAir flag, the current show object (showId, title, kind, broadcaster handle, startedAt, endsAt, playback position in seconds, duration in seconds, lifetime tips in USDC, tip count, and cover URL) or null if nothing is playing, an array of upcoming shows (showId, title, kind, startsAt, coverUrl), the next open slot time, and tipping mode ('open' or 'agents-only').","failureModes":["Network or DNS failure reaching radio.withzero.xyz — connection error with no JSON body","Station temporarily offline — onAir may be false with now field as null","Malformed response if server is under maintenance or deploying","now field is null when no show is scheduled or station is between programs"],"whenToPreferThis":"Use this endpoint when you need real-time now-playing data for the radio.withzero.xyz platform — it is the single status endpoint that combines current show, upcoming queue, listener count, all station metadata, and tipping mode in one call. Prefer it over the /api/v1/stations endpoint when you also need current show details and queue, not just the station list.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T06:30:45.218Z","isFirstParty":true}