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

# Quickstart

> Verify your first payment in under 5 minutes

## 1. Create a business account

API keys are available to **business accounts only**. If you haven't set one up:

1. [Register](https://check.et/register) or log in at check.et
2. Complete the business setup wizard
3. Go to **Dashboard → API Keys** and click **Create key**
4. Copy the key - it is shown once and never again

<Warning>
  Store your API key securely. It grants full verification access to your business account.
</Warning>

## 2. Make your first request

Replace `YOUR_API_KEY` with the key you just copied.

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.check.et/api/v1/verify \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "bank": "cbe",
      "transaction_number": "FT25161234567"
    }'
  ```

  ```js Node.js theme={null}
  const res = await fetch("https://api.check.et/api/v1/verify", {
    method: "POST",
    headers: {
      Authorization: "Bearer YOUR_API_KEY",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      bank: "cbe",
      transaction_number: "FT25161234567",
    }),
  })
  const data = await res.json()
  console.log(data.success, data.data?.receipt?.amount)
  ```

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

  resp = requests.post(
      "https://api.check.et/api/v1/verify",
      headers={"Authorization": "Bearer YOUR_API_KEY"},
      json={"bank": "cbe", "transaction_number": "FT25161234567"},
  )
  data = resp.json()
  print(data["success"], data["data"]["receipt"].get("amount"))
  ```
</CodeGroup>

## 3. Read the response

```json theme={null}
{
  "success": true,
  "exists": true,
  "duplicate": false,
  "message": null,
  "data": {
    "bank": "cbe",
    "bank_name": "Commercial Bank of Ethiopia",
    "verification_id": "FT25161234567",
    "transaction_number": "FT25161234567",
    "source_url": null,
    "verification_method": "official",
    "receipt": {
      "status": "completed",
      "amount": 1350.00,
      "currency": "ETB",
      "transaction_date": "2025-06-10T14:30:00+03:00",
      "payer_name": "Hayat Ahmed",
      "payer_account": "100012345678",
      "receiver_name": "Abebe Bekele",
      "receiver_account": "100087654321",
      "description": "Payment for invoice #1042"
    }
  }
}
```

| Field          | Meaning                                                       |
| -------------- | ------------------------------------------------------------- |
| `success`      | `true` = payment exists and is confirmed                      |
| `exists`       | `true` = transaction found in bank records                    |
| `duplicate`    | `true` = this transaction was already verified in your branch |
| `data.receipt` | Parsed transaction details from the bank                      |

## Next steps

* [Authentication →](/authentication) - key rotation and branch targeting
* [Verify by receipt URL →](/api-reference/verify-by-receipt-url) - paste the app share-link
* [Verify by PDF →](/api-reference/verify-by-file) - upload the bank PDF receipt
* [Error handling →](/guides/error-handling) - 4xx/5xx codes explained
