> ## Documentation Index
> Fetch the complete documentation index at: https://docs.artu.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Artu Compliance

> Compliance infrastructure for AML requirements in Mexico — HTTP API and TypeScript SDK

## What is Artu?

Artu is a compliance platform for managing anti-money laundering (AML) requirements in Mexico. It handles client management, transaction tracking, document storage, and regulatory alert generation across multiple compliance tracks — from LFPIORPI Actividad Vulnerable activities to CNBV-regulated entities.

## Two ways to integrate

<CardGroup cols={2}>
  <Card title="HTTP API" icon="code" href="/api-reference/introduction">
    Call the REST API directly from any language. Authenticate with an API key and the `X-Environment` header. The interactive playground lets you try every endpoint without leaving the docs.
  </Card>

  <Card title="TypeScript SDK" icon="brackets-curly" href="/sdk/overview">
    The recommended path for TypeScript and JavaScript projects. Full type safety, async iterators, scoped model types, and convenient helpers built on top of the HTTP API.
  </Card>
</CardGroup>

## Key concepts

<CardGroup cols={3}>
  <Card title="Scopes" icon="diagram-project" href="/scopes/overview">
    Scopes partition data and select the regulatory fields that apply. Pick the right scope for your compliance track — `MX:AV:AVI`, `MX:CNBV:TRANSMISOR`, and more.
  </Card>

  <Card title="Environments" icon="flask" href="/concepts/environments">
    Every request targets either `test` (sandbox) or `live` (production). Test data is fully isolated.
  </Card>

  <Card title="API Keys" icon="key" href="/concepts/api-keys">
    Keys are scoped to an environment and carry role-based permissions. Generate them from the dashboard.
  </Card>
</CardGroup>

## Quick example

Install the SDK and create your first client in a few lines:

```typescript theme={null}
import { ComplianceSDK, ClientType } from "@artu-ai/compliance-sdk";

const sdk = new ComplianceSDK({
  apiKey: process.env.ARTU_API_KEY,
  environment: "test",
  scope: "MX:AV:AVI", // optional — constrains data and types to a single scope
});

// Create a client
const client = await sdk.clients.create({
  type: ClientType.Individual,
  name: "Juan García",
});

// Iterate through all transactions (pagination handled automatically)
for await (const txn of sdk.transactions.iterate()) {
  console.log(txn.id, txn.amount);
}
```

## Resources

| Resource             | Description                                     |
| -------------------- | ----------------------------------------------- |
| `sdk.clients`        | Manage clients (individuals, companies, trusts) |
| `sdk.transactions`   | Record and track financial transactions         |
| `sdk.addresses`      | Manage client addresses                         |
| `sdk.contactMethods` | Manage client contact methods (email, phone)    |
| `sdk.bankAccounts`   | Manage client bank accounts                     |
| `sdk.documents`      | Upload and manage client documents              |
| `sdk.alerts`         | Generate regulatory alerts                      |

## Where to go next

<CardGroup cols={2}>
  <Card title="Quick Start" icon="rocket" href="/quickstart">
    Make your first request in 5 minutes — curl and TypeScript paths side by side.
  </Card>

  <Card title="Scopes overview" icon="map" href="/scopes/overview">
    Understand how scopes partition data and which fields each compliance track exposes.
  </Card>

  <Card title="TypeScript SDK reference" icon="brackets-curly" href="/sdk/overview">
    Constructor options, resource managers, scoped sub-exports, and type exports.
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference/introduction">
    Interactive HTTP reference with authentication details and full endpoint list.
  </Card>
</CardGroup>
