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

# Quickstart

> Validate your API key and call the Tyms Developer API in under five minutes.

This guide assumes you already have a **business secret key** (`tyms_sk_...`) from the [Tyms app](https://app.usetyms.com) → **Settings** → **Business settings** → **API**. Partners provisioning new businesses should start with [Partners](/partners-program) and [Register business](/api-reference/partners/register-business).

<Tip>
  **Integrating before go-live?** Use the [sandbox environment](/introduction#environments) at `https://staging-api.usetyms.com/v1/adam`. Email [developer@usetyms.com](mailto:developer@usetyms.com) to get a sandbox account and staging keys — app-issued production keys are not valid on staging.
</Tip>

## Prerequisites

* A qualifying Developer API subscription for the business (see [Authentication](/authentication)).
* `curl`, or any HTTP client that can set custom headers.

## Step 1: Validate your key

Confirm the key is valid and read back business profile fields (currency, country, timezone, etc.).

<CodeGroup>
  ```bash cURL theme={null}
  curl -sS -X GET "https://api.usetyms.com/v1/adam/auth/validate" \
    -H "X-API-Key: YOUR_TYMS_SK_SECRET"
  ```

  ```javascript JavaScript theme={null}
  const res = await fetch('https://api.usetyms.com/v1/adam/auth/validate', {
    headers: { 'X-API-Key': 'YOUR_TYMS_SK_SECRET' },
  });
  const body = await res.json();
  console.log(body);
  ```

  ```python Python theme={null}
  import requests

  r = requests.get(
      "https://api.usetyms.com/v1/adam/auth/validate",
      headers={"X-API-Key": "YOUR_TYMS_SK_SECRET"},
  )
  print(r.json())
  ```
</CodeGroup>

**Success** responses use the shape documented on [Validate business](/api-reference/authentication/validate-business). **401** means the key is wrong or missing; **403** usually means the business is not allowed to use the Developer API yet.

## Step 2: Create a record with AI (optional)

Most **create** routes expect a JSON body with at least `prompt`. By default, processing is **async**; set `process_type` to `direct` if you need the work to finish in the same HTTP round-trip (slower).

<CodeGroup>
  ```bash cURL theme={null}
  curl -sS -X POST "https://api.usetyms.com/v1/adam/invoices" \
    -H "X-API-Key: YOUR_TYMS_SK_SECRET" \
    -H "Content-Type: application/json" \
    -d '{
      "prompt": "Create an invoice for ACME LLC for $250 for consulting, dated today, due in 14 days"
    }'
  ```
</CodeGroup>

See [AI prompt guidelines](/guides/ai-prompts), [Create invoice (AI)](/api-reference/invoices/create-invoice-ai) in the **API reference** tab, and [Attachments](/api-reference/attachments).

## Step 3: Pull structured data

List resources with pagination and ordering, then **get** by `uuid` or `source_uuid` where supported.

```bash theme={null}
curl -sS -G "https://api.usetyms.com/v1/adam/invoices" \
  -H "X-API-Key: YOUR_TYMS_SK_SECRET" \
  --data-urlencode "page=1" \
  --data-urlencode "limit=20"
```

## Next steps

* Read [Concepts](/concepts) for the mental model (AI vs REST, reports, identifiers).
* Use the **API reference** tab for every endpoint, query parameter, and body field.
* Partners: [Partners](/partners-program) → [Register business](/api-reference/partners/register-business).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.