Skip to main content

Integration Workflow

This is the full picture: how a broker integrates with VOTR to enable shareholder voting, from event discovery through vote submission.

Flow

Workflow steps

  1. Get events by record date — call the Events API with recordDate=YYYY-MM-DD. Filter the response against your holdings (CUSIP, ISIN, ticker).
  2. Submit shareholders — for every relevant event, post the holder list to the Shareholders API. Up to 50 records per call. Submit on the evening of the record date so all holders are captured before the reporting deadline.
  3. Get event details — call Event Details for the specific event. If votingLinksActive is false, the event isn't open yet; poll periodically until it flips.
  4. Shareholder taps "Vote Now" — your client surfaces the button. Don't pre-fetch the URL on page load — wait for the click.
  5. Request the voting URL — call Voting (GET /events/{eventId}/ballot?accountNo=&brokerId=). VOTR returns a short-lived URL pointing at a hosted ballot UI.
  6. Shareholder votes — pass the URL into VoteNowButton. The SDK opens VOTR's ballot in a WebView. VOTR records the vote and fires onSuccess back to your app.
  • Authentication — obtain the Bearer token used on every call above.
  • Events — list events + event details.
  • Shareholders — submission schema and conditional rules.
  • Voting — ballot generation and the deprecated /ballot/by-email endpoint.
  • Installation — install and wire up the SDK.
  • Troubleshooting — common failure modes.