PUBLIC ALPHABiztraak is now in public alpha. Share feedback
Biztraak
API Docs
Getting Started Authentication Authorization GraphQL REST API API Errors Compliance API Error Codes Swagger/OpenAPI and REST API Operations Virtual Machine API

REST API reference

Biztraak exposes REST controllers for common project, infrastructure, marketplace, team, Git, forum, database, and VM workflows. REST routes are versioned by route family rather than by one universal /v1/ prefix.

Base URL and authentication

Replace <api-host> with the API host for your environment:

https://<api-host>/api/...

Send the same bearer token used by GraphQL:

Authorization: Bearer <your-token>

All documented application controllers require authentication. Authorization is still evaluated for the team, project, component, or provider targeted by each request.

Route families

The following route families are implemented in the main web API:

Area Route family Examples
Projects and components /api/projects/v1 Projects, components, environment variables, component access grants, hosted workload deployment
Teams and access /api/teams/v1 Team roles, service-provider credentials, billing accounts, container registries
Marketplace /api/marketplace/v1 Store items, components, payment plans
Git and Terraform /api/devops/v1 Git repositories, branches, files, Terraform deployment operations
Virtual machines /api/virtual-machines Start, stop, status, shutdown timers, logs, and sessions
VM agent /api/virtual-machine-agent Agent registration and command lifecycle callbacks
Forum /api/forum/v1 Threads, replies, comments, votes, and moderation
Client database /api/client-db/v1 Connection metadata, schema inspection, and supported database operations
Compliance management /api/compliance and /api/compliance/v1 Framework, framework-version, and control management

The route families above summarize the supported API surface. Use Swagger/OpenAPI for the generated request and response contract exposed by the main web application.

Example: list projects

curl "https://<api-host>/api/projects/v1/projects" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"

The endpoint returns 200 OK with a JSON collection of project payloads. When no projects exist, the collection is empty. Malformed request bodies return 400 Bad Request.

Example: get a project by ID

curl "https://<api-host>/api/projects/v1/projects/<project-id>" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"

If the project does not exist or is not visible in the caller’s authorized context, this request returns 404 Not Found.

Example: create a project

curl -X POST "https://<api-host>/api/projects/v1/projects" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "teamId": "<team-id>",
    "teamBillingAccountId": "<billing-account-id>",
    "storeItemPaymentPlanId": null,
    "name": "Example project",
    "description": "Created through the REST API",
    "category": "Application",
    "helpPage": "",
    "serviceProviders": []
  }'

Project creation is subject to the team’s authorization, billing, provider, and feature requirements. Treat identifiers in this example as placeholders and use IDs from the authenticated team.

Async operations

Several REST operations enqueue work instead of completing infrastructure changes during the HTTP request. For example, VM-hosted workload deployment returns an accepted result while the deployment proceeds through the platform workflow. Store the returned identifier, then monitor the associated deployment or workflow through the documented GraphQL queries/subscriptions or the relevant UI.

Do not assume that a 2xx response means that infrastructure is ready. Check the returned state and follow-up events before allowing dependent automation to continue.

For GraphQL, see GraphQL. For response and error handling, see API errors. For retry, asynchronous-operation, and compatibility guidance, see API operations.