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

EnvironmentOrigin
Productionhttps://api.velo.aster.pro
Local FastAPIhttp://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

  1. Upload a suite zip: POST /suites (engine, optional engine_version).
  2. Trigger work: POST /executions with suite_id, strategy, optional filter, variables, callback_url.
  3. Poll GET /runs/{id} or stream GET /runs/{id}/stream (SSE).
  4. Download artifacts from the absolute URLs in artifact_urls (same Bearer token). Follow links.api / links.web on the execution, run, and suite. Related keys on links (suite, runs, tests, archive) are API collection or resource URLs; suite_web is the dashboard. links.runs is GET /executions/{id}/runs. List responses add links.next / links.prev and matching RFC 5988 Link headers (self, next, prev).

Optional callback_url receives a POST of the execution payload when the execution first reaches a terminal status.

Related