v2.4.0 GitHub ↗

Getting Started with Q Core

Build, scale, and deploy modern applications with the Q Core platform. This guide covers everything you need to integrate and ship faster.

💡
New to Q Core? Start with the Quickstart Guide to get up and running in under 5 minutes. No credit card required.

Introduction

That Is A Q provides a unified platform for modern development teams. Q Core abstracts away infrastructure complexity, giving you a powerful API, real-time sync, and enterprise-grade security out of the box.

Whether you're building a SaaS product, internal tool, or customer-facing app, Q Core scales with your needs from prototype to production.

Installation & Setup

Install the Q Core CLI via your preferred package manager:

Terminal
npm install -g @thatisaq/core-cli
q init my-project
cd my-project
q dev

Or for existing projects, add the SDK:

JavaScript / Node.js
npm install @thatisaq/sdk

Authentication

Q Core uses API keys for server-side authentication and JWT tokens for client-side requests. Always keep your secret keys secure and never expose them in client-side code.

⚠️
Security Notice Never commit API keys to version control. Use environment variables or a secrets manager.

Server-Side (Node.js)

JavaScript
import { QClient } from '@thatisaq/sdk';

const q = new QClient({
  apiKey: process.env.Q_API_KEY,
  environment: 'production'
});

const user = await q.users.create({
  email: 'dev@example.com',
  role: 'admin'
});
console.log('Created user:', user.id);

Client-Side (Browser)

JavaScript
import { QBrowser } from '@thatisaq/sdk/browser';

const qBrowser = new QBrowser({
  projectId: 'proj_8x92k4m',
  domain: 'api.thatisaq.com'
});

await qBrowser.auth.signIn({ email, password });

API Endpoints

All API requests must be made over HTTPS. Calls made over plain HTTP will fail. The base URL for all endpoints is:

https://api.thatisaq.com/v2
Method Endpoint Description
GET/usersList all users with pagination
POST/usersCreate a new user record
GET/users/:idRetrieve a specific user
PATCH/users/:idUpdate user attributes
DELETE/users/:idSoft-delete a user
POST/webhooksRegister a webhook endpoint

Error Handling

Q Core uses conventional HTTP response codes to indicate success or failure. Codes in the 2xx range indicate success, 4xx indicate client errors, and 5xx indicate server errors.

Pro Tip Use the built-in error codes to implement retry logic with exponential backoff for rate limits (429) or transient network issues.

Example error response:

JSON
{
  "error": {
    "code": "invalid_request",
    "message": "Missing required field: email",
    "details": [
      { "field": "email", "issue": "required" }
    ]
  }
}

Next up: Quickstart Guide →