a6c

Developer Platform

quickstart.js
// Quick start
import { a6c } from '@a6c/core';

const client = a6c.init({
  key: 'your-api-key',
  region: 'us-east-1'
});

const result = await client.run({
  project: 'my-app',
  env: 'production'
});

// { status: 'deployed', id: 'proj_a6c_...' }
Scroll

Getting Started

The a6c platform provides a unified interface for building and deploying applications. Install the core package and initialize with your API key to begin. All methods return promises and support both async/await and callback patterns.

terminal
# Install via npm
npm install @a6c/core

# Or use yarn
yarn add @a6c/core

After installation, import the client and initialize with your credentials. The client handles connection pooling, retries, and error formatting automatically.


Authentication

All API requests require a valid key. Keys are scoped to projects and carry specific permissions. Generate keys from your dashboard. Rotate keys periodically. Never expose keys in client-side code.

auth.js
import { a6c } from '@a6c/core';

const client = a6c.init({
  key: process.env.A6C_API_KEY,
  region: 'us-east-1',
  timeout: 30000
});

// Verify connection
const status = await client.ping();
// { ok: true, latency: 12 }
API keys can be generated in the Dashboard > Settings > API Keys section. Each key is project-scoped.

Configuration

Configuration can be set at initialization or per-request. Global defaults apply to all requests unless overridden. Timeout defaults to 30 seconds. Retries default to 3 with exponential backoff.

Client Options

key string API key for authentication (required)
region string Deployment region. Default: us-east-1
timeout number Request timeout in ms. Default: 30000
retries number Max retry attempts. Default: 3
headers object Custom headers merged into every request

Per-Request Overrides

Pass options as the second argument to any method call. Options include timeout, retries, headers, and signal for abort control.

config.js
const result = await client.projects.list({}, {
  timeout: 5000,
  retries: 1,
  signal: controller.signal
});

Projects

Projects are the primary organizational unit in a6c. Each project contains deployments, environments, and configuration. Projects can be created, listed, updated, and deleted through the API.

projects.js
// Create a new project
const project = await client.projects.create({
  name: 'my-app',
  framework: 'next',
  buildCommand: 'npm run build'
});

// List all projects
const { data } = await client.projects.list({
  limit: 10,
  sort: 'updated'
});

Deployments

Deploy your projects to production, staging, or preview environments. Each deployment is immutable and receives a unique URL. Rollbacks are instant since previous deployments remain available.

deploy.js
const deployment = await client.deployments.create({
  project: 'proj_a6c_29dk3',
  env: 'production',
  branch: 'main'
});

// Poll deployment status
const status = await client.deployments.get(deployment.id);
// { state: 'ready', url: 'https://my-app.a6c.dev' }
queued building ready

Examples

Complete working examples to get you started quickly. Each example includes error handling and best practices.

full-example.js
import { a6c } from '@a6c/core';

async function main() {
  const client = a6c.init({
    key: process.env.A6C_API_KEY
  });

  try {
    // Create project
    const project = await client.projects.create({
      name: 'demo',
      framework: 'react'
    });

    // Deploy to production
    const deploy = await client.deployments.create({
      project: project.id,
      env: 'production'
    });

    // Output: https://demo.a6c.dev
  } catch (err) {
    // Errors include request ID for support
    // err.requestId: 'req_a6c_...'
  }
}

main();

API Reference

RESTful endpoints for the a6c platform. All responses return JSON.

Projects
GET /v1/projects List all projects
POST /v1/projects Create a new project
GET /v1/projects/:id Get project by ID
PUT /v1/projects/:id Update project settings
DEL /v1/projects/:id Delete a project
Deployments
POST /v1/projects/:id/deploy Create a deployment
GET /v1/deployments/:id Get deployment status
POST /v1/deployments/:id/rollback Rollback deployment
System
GET /v1/status Platform health check
GET /v1/regions List available regions
v1.0.0 | Last updated: 2026-03-27 | Changelog