# Introduction

<div className="aal-hero">
  <span className="aal-eyebrow">AirTrack Enterprise API</span>
  <h1>
    Air quality intelligence,<br />
    <span className="aal-accent">built into your product.</span>
  </h1>
  <p className="aal-lede">
    Programmatic access to AirTrack's route optimisation and air quality
    calculation tools — the same engine that powers the AirTrack apps.
  </p>
  <div className="aal-cta">
    <a className="aal-btn aal-btn-primary" href="/quickstart">Get started →</a>
    <a className="aal-btn aal-btn-ghost" href="/api">Explore the API</a>
  </div>
</div>

## What you can do

{/* Icons are Lucide (https://lucide.dev, ISC/MIT), inlined as monochrome SVG
    using currentColor so they inherit the brand-orange accent. */}

<div className="aal-features">
  <a className="aal-card" href="/api/air-quality">
    <span className="aal-icon">
      <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
        <path d="M12.8 19.6A2 2 0 1 0 14 16H2" />
        <path d="M17.5 8a2.5 2.5 0 1 1 2 4H2" />
        <path d="M9.8 4.4A2 2 0 1 1 11 8H2" />
      </svg>
    </span>
    <h3>Air quality</h3>
    <p>
      Enrich locations and routes with pollution concentrations, exposure
      (relative inhaled dose) and the banded AirTrack Clean Air Score.
    </p>
  </a>
  <a className="aal-card" href="/api/route-planning">
    <span className="aal-icon">
      <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
        <circle cx="6" cy="19" r="3" />
        <path d="M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15" />
        <circle cx="18" cy="5" r="3" />
      </svg>
    </span>
    <h3>Route planning</h3>
    <p>
      Submit a plan request and retrieve lower-exposure routes between two
      points, with a quota-aware asynchronous workflow.
    </p>
  </a>
  <a className="aal-card" href="/api/connections">
    <span className="aal-icon">
      <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
        <path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71" />
        <path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71" />
      </svg>
    </span>
    <h3>Connections</h3>
    <p>
      Exchange a short-lived pairing code for a long-lived connection token.
      Listing and revoking connections happens in the AirTrack app.
    </p>
  </a>
</div>

## Base URLs

| Environment | Base URL |
| ----------- | -------- |
| Production  | `https://api.airawarelabs.com` |
| Development | `https://api.airawarelabs-dev.dev` |

## Next steps

1. Follow the [Quickstart](/quickstart) to make your first call in minutes, with
   copy-paste examples in curl, Python and TypeScript.
2. Read the [Authentication](/authentication) guide for the full credential and scope
   model.
3. Explore the full [API Reference](/api) for every endpoint, schema and example.

## OpenAPI spec

{/* Raw anchors with target="_blank" so the browser fetches the static file
    directly, rather than Zudoku's client-side router treating it as a page. */}

The complete machine-readable contract is published at <a href="/openapi.json" target="_blank" rel="noopener noreferrer"><code>/openapi.json</code></a> — import it into your tooling, generate a client, or point an AI coding assistant at it. There's also an <a href="/llms-full.txt" target="_blank" rel="noopener noreferrer"><code>/llms-full.txt</code></a> with these guide pages as a single file.

**Working with an AI assistant? Give it both files.** `llms-full.txt` contains the guides you're reading now — Introduction, Quickstart, Authentication and Errors — but *not* the endpoint reference, which is generated from the contract. `openapi.json` is the authoritative description of every endpoint, schema, parameter and error response.

Need access or have a question? Contact
[support@airawarelabs.com](mailto:support@airawarelabs.com).
