> ## Content Index
> Fetch the complete content index at: https://blog.fabrixly.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# How to Use Public and Communication Test APIs
- URL: https://blog.fabrixly.com/how-to-use-public-and-communication-test-apis/
- Published: 2026-07-07T14:10:52.000Z
- Updated: 2026-07-07T14:10:52.000Z
- Author: Fabrixly
- Tags: Documentation

This guide describes how to interact with public metadata endpoints (non-authenticated) and verify notification delivery configurations using the Test Communication API.

---

## Part A: Public APIs (No Authentication Required)

These public endpoints can be accessed directly from any client or web application without attaching authentication headers.

### 1\. Public Test / Health Check

Verifies if the identity server routing and application engine are online.

- **HTTP Method**: `GET`
- **Path**: `/api/public/test`

#### Example Request (curl)

```bash
curl -X GET https://ids.fabrixly.com/api/public/test

```

#### Response (`200 OK`)

```text
Router is working

```

---

### 2\. Get Countries List

Retrieves a sorted list of all supported countries and their codes (e.g. for phone prefix drop-downs).

- **HTTP Method**: `GET`
- **Path**: `/api/public/countries`

#### Example Request (curl)

```bash
curl -X GET https://ids.fabrixly.com/api/public/countries

```

#### Response (`200 OK`)

```json
[
  { "code": "US", "name": "United States", "phone_code": "+1" },
  { "code": "IN", "name": "India", "phone_code": "+91" }
]

```

---

### 3\. Get OIDC Client Public Details

Retrieves public branding information (app name, theme options) of an OIDC client application by its client ID.

- **HTTP Method**: `GET`
- **Path**: `/api/public/clients/:id`

#### Example Request (curl)

```bash
curl -X GET https://ids.fabrixly.com/api/public/clients/cli_abc123xyz \
  -H "Accept: application/json"

```

#### Response (`200 OK`)

```json
{
  "client_name": "Developer Console App",
  "logo_uri": "https://ids.fabrixly.com/static/console-logo.png",
  "auth_mode": "flexible",
  "enable_mobile_login": true
}

```

---

### 4\. Fetch Client Logo Image

Pulls the binary logo image file associated with a client ID directly.

- **HTTP Method**: `GET`
- **Path**: `/api/public/clients/:id/logo`

#### Example Request (curl)

```bash
curl -X GET https://ids.fabrixly.com/api/public/clients/cli_abc123xyz/logo \
  --output logo.png

```

---

## Part B: Communication Test API

Allows administrators to check if the SMTP or SMS provider configurations are working properly by triggering an instant test notification.

- **HTTP Method**: `POST`
- **Path**: `/api/system/test-communication`
- **Headers**:
  - `Content-Type: application/json`
  - `Authorization: Bearer <your-admin-jwt-token>` (System Admin privileges required)

### Request Parameters

| Parameter | Type   | Required | Description                                                    |
| --------- | ------ | -------- | -------------------------------------------------------------- |
| type      | string | Yes      | email or sms.                                                  |
| target    | string | Yes      | Destination email address or phone number (with country code). |

### Example Request (curl)

```bash
curl -X POST https://ids.fabrixly.com/api/system/test-communication \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <your-admin-jwt-token>" \
  -d '{
    "type": "email",
    "target": "admin@example.com"
  }'

```

### Response (`200 OK`)

```json
{
  "success": true,
  "message": "Test email sent successfully to admin@example.com"
}

```