Reference
Reference
Exhaustive rather than instructive. Every table on these pages is generated from the same source the chart runs on and checked in both directions, so nothing can be added to the code without appearing here, or described here after being removed.
Which page answers which question
| Page | Answers | Size |
|---|---|---|
| URL parameters | What can an embed URL say? Symbol, interval, theme, chart type, chrome, currency, calendar. | 18 parameters |
| Methods you call | What can I ask a mounted chart to do? | 39 commands, plus handles |
| Events | What does the chart tell me, and in what shape? | 18 events |
| Objects | What are the fields of a bar, a symbol, an order line? | 8 structures |
| Methods you implement | What does my datafeed have to provide? | 13 methods, 2 required |
| Wire messages | What crosses the boundary, if I bridge it myself? | 14 message types |
| Limits | How long, how many, how big, and what happens past it? | every cap |
| TypeScript types | How do I get vpEmbed to autocomplete, and refuse a wrong value in my editor? | one file |
| Symbols and intervals | What is a symbol string, and what does 60 mean? | – |
Two halves, and they are easy to confuse
The word “method” means two opposite things depending on which way it points, which is why they are two pages rather than one long one.
| You call | You implement | |
|---|---|---|
| Page | Methods you call | Methods you implement |
| Examples | createOrderLine, setInterval | getBars, resolveSymbol |
| Who runs the code | us, in the frame | you, on your page |
| If it is missing | nothing happens | the chart has no data |
Why these tables can be trusted
Every list on these pages is imported from the module the chart itself uses, and paired against it in both directions on every build.
- Nothing undocumented. A method, event, message or field added to the code with no row here fails the build.
- Nothing invented. A row describing something that no longer exists fails too, and that is the direction that matters more, because a chart refuses an unknown property outright. One stale row would break your integration with an error quoting our own page.
- Required means required. The optional column is compared against the actual type, not written from memory.
Those checks are not decoration. An earlier draft of the events table wrote
{ id, price } where the wire sends { handle, price }, it looks authoritative and destructures to undefined. It was caught by pairing the table against the emitter key by key, which is now how every payload on that page is verified.If you are still integrating
A reference is the wrong shape for a first read. The quickstart gets a chart on your page, and the guides each take one task start to finish: your own data, orders and positions, or bridging the protocol yourself.