Help center › Data and Interfaces
Legacy API keys (deprecated)
The 1.2 data API keys (vst_…) still load files over HTTPS but are deprecated; move them to an OAuth service account.
At a glance
- Where
- System › Data and Interfaces › Legacy API keys (
/app/data/tokens) - Who
- Admins with load data and manage settings. Roles and permissions
Try it in the demo A private sandbox firm, no sign-up. Simulated data only.
On this page

Warning: these keys are deprecated. Every answer carries Deprecation and Sunset (1 Nov 2027) headers. Use an OAuth service account instead (API clients and webhooks); see the migration guide. An Admin can turn legacy keys off for the firm.
What a key does
A key lets a system send files over HTTPS to the data endpoints. It is shown once; Vestoris keeps only a keyed hash. Each key may load only the data sets you tick (users and roles never), is rate limited (60 requests a minute; files up to 50 MB), and records when and from where it was last used. By default a file waits for review; tick Apply clean files automatically to apply files with no rejected rows at once.
Create one
Name, May load (data sets, plus Read batch status), Apply clean files automatically, Expires after (days), then Create the token. Copy it: it is shown once. Revoke it at any time.
Endpoints
- Load a file:
POST /api/v1/data/{data set}?filename=…(the body is the file; optionalmode=full,business_date=YYYY-MM-DD). - Push a feed file:
POST /api/v1/feeds/{feed id}/files?filename=…. - Batch status:
GET /api/v1/batches/{id}. Authorization: Bearer vst_…, over HTTPS only.
Answers: 201 staged or applied, 401 unknown or revoked key, 403 data set not in the key's scopes, 413 too large, 422 rejected (with the error codes), 429 too many requests.
Related articles
Do it with the API
Every action on this screen can also be done by your own systems, under the same permissions. See Authentication to get a token.
- POST
/api/v1/data/{dataset}Load a file (CSV, TXT, XLSX or Vestoris XML) into a data set; the body is the file - POST
/api/v1/feeds/{id}/filesPush a file to an HTTPS-push feed (the feed's data:load scope) - POST
/api/v1/feeds/bundlesLoad a folder of feed files (.zip); each file needs its data:load scope - GET
/api/v1/batches/{id}A batch's status and counts
Paper trading only: orders and fills in Vestoris are simulated. Nothing here is investment advice.