# Agent Charting > A chart workspace and API for agents, trading bots, and developers. Request a chart image, render your agent's drawings, or explicitly run the managed chart analyst and continue the conversation. ## Documentation - [Developer documentation](/docs): public product documentation and integration examples. - [OpenAPI contract](/openapi.json): the machine-readable REST contract. ## Current availability The authenticated image API runs on configured local, self-hosted, and private installations. The public prelaunch website does not provision API accounts. Use the base URL and scoped Bearer key supplied by your installation; there is no implied production API hostname. ## Core API - POST /v1/charts/renders: chart PNG, optionally with your agent's commands. No managed model call. - GET /v1/charts/renders/{renderId}: poll an owned render job. - POST /v1/analysis/runs: explicitly request managed chart analysis, drawings, Setup, and output PNG. - GET /v1/analysis/runs/{runId}: poll an owned analysis job. - GET /v1/analysis/runs/{runId}/events: durable Server-Sent Events. - POST /v1/analysis/runs/{runId}/messages: continue a completed run using its owned session. - POST /v1/analysis/runs/{runId}/cancel: explicit cancellation. - GET /v1/artifacts/{imageId}: authenticated PNG download; same Bearer authorization is required. - GET /v1/capabilities: authenticated capability and limit metadata. - GET or HEAD /livez: minimal process liveness; /health is a compatibility alias. - GET or HEAD /readyz: low-cost local readiness, 200 or 503; no feed or model calls. - GET or HEAD /v1/health: protected operator diagnostics; requires audit:read, zero submission units. ## Request essentials Use market.symbol with exchange, market.interval, and market.range containing either bars or RFC3339 from/to dates. Historical ranges are [from,to), with completed candles. Public Binance data covers BTCUSDT, ETHUSDT, and SOLUSDT. The configured workspace feed supports date-anchored history for accessible instruments, with provider-dependent availability, regular-session/split adjustment and provider exchange-session calendars. Other markets can use customer-supplied bars. Unavailable history fails explicitly; never replace it with recent or invented candles. Inspect requestedSymbol, resolvedSymbol, feed, calendar and coverage in market.data. A request for NASDAQ:AAPL may resolve to BATS:AAPL, not a consolidated Nasdaq feed; a different resolved ticker is rejected. Connected-feed coverage checks every expected completed candle against the provider-reported calendar, rejecting missing first, interior or final candles. coverage.verification is provider_query_and_reported_calendar_grid, expectedBars records the expected count and calendarGridVerified is true after success. This is not independent exchange certification or a commercial data license. Pass commands for drawings, view for PNG dimensions/theme, and delivery.mode artifact or inline_base64. For managed requests add instruction.mode prompted, professional_auto, or respond_only and an optional configured provider/model. Use Idempotency-Key for safe retries. Poll asynchronous jobs until terminal status and inspect error on failure. Client disconnect does not cancel a job. Running jobs interrupted by worker restart are never automatically replayed. API calls do not place broker orders. Rendering an image does not mutate an open customer terminal; live terminal control uses the existing workspace command queue. Historical chart cutoffs do not eliminate a language model's prior knowledge and do not establish a lookahead-free trading backtest. Usage tracks managed brain invocations, successful/attempted renders and model tokens when reported. A brain invocation may contain multiple provider requests. Missing provider usage is unknown. Workspace usage requires audit:read and includes configured cost estimates; zero estimated cost may mean rates are unconfigured. Rate-limit units are not purchased credits. Paid API subscriptions, card charging and automatic overages are not enabled by this preview. ## Operational safety Use scoped Bearer keys over HTTPS for remote deployments. API/MCP browser origins must match the installation's explicit allowlist. Never pass API keys in URLs. Request logs omit query strings. Readiness checks local storage, worker lease and renderer configuration, not external-provider uptime or a successfully launched browser. Progress streams are limited per process; reconnect a slow/disconnected SSE client with Last-Event-ID without creating a new job. A stream disconnect does not cancel model work. Explicit process shutdown stops new admissions and drains accepted work for a bounded operator-configured grace period; no normal agent-execution deadline is added.