Developers › API reference

Data API

File loads, batches, folders, feeds, schedules, the start of day and data quality.

Objects

  • Batch: one file loaded into one data set. Status: staged → applied → undone, or held (waits for a person), rejected, discarded. Its rows are the diff: new, changed (old → new), unchanged and rejected (with codes).
  • Bundle: a folder (.zip) of feed files, each its own batch, applied in start-of-day order.
  • Feed, feed run (one business date's file), schedule, start of day (the chain of steps), data-quality issue.

Load a file

curl -X POST "https://vestoris.com/api/v1/data/prices?filename=prices.csv&apply=auto" \
  -H "Authorization: Bearer $VESTORIS_TOKEN" -H "Content-Type: application/octet-stream" \
  --data-binary @prices.csv

The body is the file itself (CSV, TXT, XLSX or Vestoris XML; gzip or zip). The token needs data:load:<data set> for that data set. The answer is the batch: 201 staged or applied, 422 rejected (the batch with its row codes is in the body). Without apply=auto a person reviews the diff and applies it (POST /batches/{id}/apply), or you apply it yourself with data:write. File uploads are deduplicated by content, so they need no Idempotency-Key.

Typical sequence

  1. Load: POST /data/{dataset} (or push to a feed: POST /feeds/{id}/files, or a folder: POST /feeds/bundles).
  2. Check: GET /batches/{id} and GET /batches/{id}/rows?status=rejected.
  3. Apply, discard or undo: POST /batches/{id}/apply, /discard, /undo.
  4. Follow the morning: GET /start-of-day, GET /feeds/runs, webhooks feed.run.updated and sod.status.

The formats and error codes are in the Data Feed Reference.

Endpoints

CallWhat it doesScope
POST/data/{dataset}Load a file (CSV, TXT, XLSX or Vestoris XML) into a data set; the body is the filedata:load:<data set>
GET/batchesLoad historydata:read
GET/batches/{id}A batch's status and countsdata:read
GET/batches/{id}/rowsA batch's rows: the diff and the rejected rows with codesdata:read
POST/batches/{id}/applyApply a staged batchdata:write
POST/batches/{id}/undoUndo an applied batch (unless later trades depend on it)data:write
POST/batches/{id}/discardDiscard a staged batchdata:write
POST/feeds/bundlesLoad a folder of feed files (.zip); each file needs its data:load scopedata:load:<data set>
GET/feeds/bundles/{id}A folder's status, per filedata:read
POST/feeds/{id}/filesPush a file to an HTTPS-push feed (the feed's data:load scope)data:load:<data set>
GET/feedsFeeds and their scheduledata:read
GET/feeds/runsFeed runs of a business datedata:read
POST/feeds/runs/{id}/reviewApply or reject a held feed filedata:write
GET/schedulesScheduled jobs and their last runsdata:read
GET/start-of-dayThe start-of-day chain of a business datedata:read
GET/data-quality/issuesData quality issuesdata:read