> For the complete documentation index, see [llms.txt](https://developer.fraudcheck.co.za/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.fraudcheck.co.za/environments-and-base-url.md).

# Environments & Base URL

## Environment

There is a single **production** environment. There is no sandbox or staging environment.

## Base URLs

Two base URLs are used across this documentation:

| Purpose                         | Base URL                                                               |
| ------------------------------- | ---------------------------------------------------------------------- |
| **All API calls**               | `https://consumer-service-api.fraudcheckonline.co.za/consumer-service` |
| **Authentication** (token only) | `https://consumer-service-api.fraudcheckonline.co.za`                  |

Endpoint paths in each service's documentation are relative to the **API Base URL**. For example, the `/credit-check` endpoint resolves to:

```
https://consumer-service-api.fraudcheckonline.co.za/consumer-service/credit-check
```

## Using BASE\_URL in your code

Store the base URL as a constant so it only appears once in your integration:

{% tabs %}
{% tab title="cURL" %}

```bash
BASE_URL="https://consumer-service-api.fraudcheckonline.co.za/consumer-service"

curl -X POST "$BASE_URL/credit-check" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
```

{% endtab %}

{% tab title="Python" %}

```python
BASE_URL = "https://consumer-service-api.fraudcheckonline.co.za/consumer-service"

response = requests.post(
    f"{BASE_URL}/credit-check",
    headers={"Authorization": f"Bearer {access_token}"},
    json={ ... },
)
```

{% endtab %}

{% tab title="JavaScript (Node.js)" %}

```javascript
const BASE_URL = "https://consumer-service-api.fraudcheckonline.co.za/consumer-service";

const response = await fetch(`${BASE_URL}/credit-check`, {
  method: "POST",
  headers: { Authorization: `Bearer ${accessToken}` },
  body: JSON.stringify({ ... }),
});
```

{% endtab %}
{% endtabs %}

## Authentication endpoint

The token endpoint sits at the root URL (no `/consumer-service` path):

```http
POST https://consumer-service-api.fraudcheckonline.co.za/auth/login
```

See [Authentication](/authentication.md) for full details.
