Updated August 21, 2026
Integrate with the Velo API
The dashboard at https://velo.aster.pro is a first-party client. Machine clients talk to the dedicated API host.
Base URL
| Environment | Origin |
|---|---|
| Production | https://api.velo.aster.pro |
| Local FastAPI | http://localhost:8000 |
Paths are host-rooted (/executions, /runs/{id}, …). Do not prefix them with /api or /cli.
Authentication
Create a key in Settings → API Keys. Send it on every request:
Authorization: Bearer velo_... Dashboard JWTs are also accepted; they are issued by the web app for browser sessions. Integrators should use an API key.
OpenAPI spec
The machine-readable contract is key-gated:
curl -H "Authorization: Bearer $VELO_API_KEY"
https://api.velo.aster.pro/openapi.json Anonymous requests receive 401. Humans who are signed in can browse the same spec at API Reference. /health is the only public endpoint.
Typical flow
- Upload a suite zip:
POST /suites(engine, optionalengine_version). - Trigger work:
POST /executionswithsuite_id,strategy, optionalfilter,variables,callback_url. - Poll
GET /runs/{id}or streamGET /runs/{id}/stream(SSE). - Download artifacts from the absolute URLs in
artifact_urls(same Bearer token). Followlinks.api/links.webon the execution, run, and suite. Related keys onlinks(suite,runs,tests,archive) are API collection or resource URLs;suite_webis the dashboard.links.runsisGET /executions/{id}/runs. List responses addlinks.next/links.prevand matching RFC 5988Linkheaders (self,next,prev).
Optional callback_url receives a POST of the execution payload when the execution first reaches a terminal status.