VirtuousAI

API Documentation

Complete REST API documentation for VirtuousAI

API Documentation

The VirtuousAI API is organized around REST principles with predictable resource-oriented URLs, standard HTTP methods, and JSON responses.

Base URL

https://vai-dev.virtuousai.com/api/v1
http://localhost:8000/api/v1

Authentication

Required

All API requests require authentication via API key or OAuth2 access token.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://vai-dev.virtuousai.com/api/v1/connections

Core Primitives

VirtuousAI is built around four core primitives. Understanding these concepts is key to using the API effectively.

OpenAPI Reference

For detailed endpoint documentation with request/response schemas, see the OpenAPI Reference.

Response Format

All successful responses return JSON with consistent structure:

{
  "data": { ... },
  "meta": {
    "total": 100,
    "page": 1,
    "perPage": 20
  }
}

Error Handling

Errors follow RFC 7807 Problem Details format:

{
  "type": "https://vai-dev.virtuousai.com/errors/validation-error",
  "title": "Validation Error",
  "status": 400,
  "detail": "The request body contains invalid parameters",
  "errors": [
    {
      "field": "email",
      "message": "Must be a valid email address"
    }
  ]
}
StatusMeaning
200Success
201Created
400Bad Request - Invalid parameters
401Unauthorized - Missing or invalid token
403Forbidden - Insufficient permissions
404Not Found - Resource doesn't exist
422Unprocessable - Validation failed
429Too Many Requests - Rate limited
500Server Error - Something went wrong

Rate Limiting

API requests are rate limited per organization:

PlanRequests/minute
Free60
Pro300
EnterpriseCustom

Rate limit headers are included in all responses:

X-RateLimit-Limit: 300
X-RateLimit-Remaining: 299
X-RateLimit-Reset: 1640995200

On this page