# Getting Started

#### 1. Request API Access

To receive your API key:

1. Email **<pavel@alignlabs.dev>** to request API access
2. Sign the developer agreement
3. Receive **sandbox** and **production** API keys via secure link

> Store your API keys securely and only use them from a secure backend environment.

#### 2. Create a Customer

Every transfer is completed on behalf of a customer. To create a customer, use a [Create Customer](https://docs.alignlabs.dev/align-api/customers/create-customer) endpoint.

Example:

```javascript
curl -X POST https://api.alignlabs.dev/v0/customers \
-H "Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
  "email": "name@gmail.com",
  "first_name": "John",
  "last_name": "Doe",
  "type": "individual"
}'
```

Response:

```javascript
{
  "customer_id": "123e4567-e89b-12d3-a456-426614174000",
  "first_name": "John",
  "last_name": "Doe",
  "email": "name@gmail.com",
  "type": "individual"
}
```

You can now use `customer_id` to initiate a KYC session.

#### 3. Start KYC Verification

Every customer needs to go through KYC/KYB. To initiate a KYC session, use a [Create KYC Session](https://docs.alignlabs.dev/align-api/customers/create-kyc-session) endpoint.

Example:

```javascript
curl -X POST https://api.alignlabs.dev/v0/customers/{customer_id}/kycs \
-H "Api-Key: YOUR_API_KEY" \
```

Response:

```javascript
{
  "kycs": {
    "kyc_flow_link": "https://link-to-kyc-provider.com"
  }
}
```

Once a customer completed KYC, their `kycs.status_breakdown`  object will display for which currency / rails customer is `approved`.

### 4. Complete Verification and Enable Payment Rails

When the customer completes KYC/KYB, Align will approve currency and payment rail access (for example USD, EUR, GBP, or stablecoins).

After approval, you can:

* Create virtual accounts
* Initiate on-ramp transfers (fiat to stablecoin)
* Initiate off-ramp transfers (stablecoin to fiat)

### 5. Webhooks for Real-Time Updates

To receive live events such as:

* Customer KYC status changes
* Transfer updates
* Account events

Register your webhook URL:

**Docs:** <https://docs.alignlabs.dev/align-api/webhooks>

Align will push real-time events to your webhook.

### 6. Developer Dashboard Access

You can manage customers, transfers, and test flows from the dashboard.

Request access by sending admin emails to the Align team.

**URL:** <https://dashboard.alignlabs.dev/>

We will provision accounts for your team.

***

### That's It - You Are Ready to Build

From here you can:

* Initiate payments
* Create virtual accounts
* Monitor activity and users in real time
* Plug into global fiat and stablecoin rails


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.alignlabs.dev/guides/getting-started.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
