Back
API

API Endpoints

Complete reference for all VULK API endpoints

API Access requires a Pro, Team, Business, or Enterprise plan. Upgrade your plan →

Overview

VULK provides a public REST API for developers to integrate AI-powered app generation into their workflows.

Base URL

https://vulk.dev/api/v1

Authentication

All API requests require authentication via API key.

Getting an API Key

  1. Go to Settings → API Keys
  2. Click Create API Key
  3. Name your key and set permissions
  4. Copy the key (starts with vk_)

Using Your Key

Include the key in the Authorization header:

curl https://vulk.dev/api/v1/projects \
  -H "Authorization: Bearer vk_your_key_here"

Endpoints

List Projects

GET /api/v1/projects

Parameters:

ParameterTypeDescription
limitintegerMax results (1-100, default: 20)
offsetintegerSkip first N results

Response:

{
  "projects": [
    {
      "id": "abc-123",
      "prompt": "Build a todo app",
      "createdAt": "2026-01-10T12:00:00Z",
      "deploymentUrl": "https://abc-123.vulk.dev",
      "visibility": "private"
    }
  ],
  "pagination": { "limit": 20, "offset": 0 }
}

Get Project

GET /api/v1/projects/:id

Response:

{
  "project": {
    "id": "abc-123",
    "prompt": "Build a todo app",
    "code": "// Full project code...",
    "createdAt": "2026-01-10T12:00:00Z",
    "updatedAt": "2026-01-10T14:30:00Z",
    "deploymentUrl": "https://abc-123.vulk.dev",
    "visibility": "private"
  }
}

Create Project

POST /api/v1/projects

Body:

{
  "prompt": "Create a landing page for a SaaS product",
  "model": "google/gemini-3-pro-preview",
  "type": "web"
}
FieldTypeRequiredDescription
promptstringYesDescription of what to build
modelstringNoAI model ID (default: gemini-3-flash)
typestringNoweb, mobile-expo, mobile-flutter

Response:

{
  "project": {
    "id": "xyz-789",
    "prompt": "Create a landing page...",
    "status": "generating",
    "createdAt": "2026-01-10T12:00:00Z"
  }
}

Delete Project

DELETE /api/v1/projects/:id

Response:

{
  "success": true,
  "deletedAt": "2026-01-10T15:00:00Z"
}

List Models

GET /api/v1/models

Lists all available AI models.

Response:

{
  "models": [
    {
      "id": "google/gemini-3-flash-preview",
      "name": "Gemini 3 Flash",
      "provider": "Google",
      "category": "free",
      "contextWindow": 1048576,
      "multiplier": "0.25x"
    },
    {
      "id": "anthropic/claude-opus-4.5",
      "name": "Claude Opus 4.5",
      "provider": "Anthropic",
      "category": "paid",
      "multiplier": "5x"
    }
  ]
}

Get Usage

GET /api/v1/usage

Get API usage statistics for your account.

Response:

{
  "apiKeys": [
    {
      "id": "key-123",
      "name": "Production",
      "keyPrefix": "vk_prod",
      "usageCount": 1520,
      "lastUsedAt": "2026-01-10T12:00:00Z"
    }
  ],
  "recentUsage": [
    {
      "endpoint": "/api/v1/projects",
      "method": "POST",
      "statusCode": 201,
      "createdAt": "2026-01-10T12:00:00Z"
    }
  ],
  "totalRequests": 1520
}

Rate Limits

PlanRequests/minuteDaily Limit
Pro30010,000
Team50025,000
Business1,000100,000
EnterpriseCustomUnlimited

Free and Builder plans do not include API access. Upgrade to Pro →

When rate limited, you'll receive:

{
  "error": "Rate limit exceeded",
  "retryAfter": 30
}

Error Responses

All errors follow this format:

{
  "error": "Error message",
  "code": "ERROR_CODE",
  "status": 400
}
StatusCodeDescription
400BAD_REQUESTInvalid parameters
401UNAUTHORIZEDInvalid or missing API key
403FORBIDDENInsufficient permissions
404NOT_FOUNDResource not found
429RATE_LIMITEDToo many requests
500SERVER_ERRORInternal server error

Webhooks (Coming Soon)

Subscribe to events like:

  • project.created
  • project.generation.completed
  • project.deployed

SDKs

For easier integration, use our official SDK:

On this page

VULK Support

Online

Hi! How can I help you today?

Popular topics

AI support • support@vulk.dev