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

# VH3 AI Intelligence

> Semantic search, relationship-aware intelligence, Connie, sentinels, reports, and email triage

# VH3 AI Intelligence

The intelligence layer exposes enriched operational data, semantic search, proactive sentinels, reports, Connie, and email triage. Every endpoint requires `company_id` and `api_key`.

For direct BigChange read/write (jobs, contacts, invoices, stock), use the separate [BigChange API](/api-reference/bigchange/overview), same API key, `X-API-Key` header only.

## Base URL

```
https://api.vh3connect.io/api:kP8T1CK7
```

## Authentication

Pass `company_id` and `api_key` on every request. POST: JSON body. GET: query parameters.

See [Authentication](/authentication) for the full two-API comparison and User Auth (JWT).

## Endpoint groups

| Group                                 | Description                                                                      |
| ------------------------------------- | -------------------------------------------------------------------------------- |
| [Search](/api-reference/search)       | Semantic search, autocomplete, enriched outcomes, customer summary sections      |
| [Jobs](/api-reference/jobs)           | Job feed, job details, and aggregation                                           |
| [Contacts](/api-reference/contacts)   | Contact feed and contact detail lookup                                           |
| [Dashboard](/api-reference/dashboard) | Cached tenant KPI snapshot (pipeline, performance, workforce, assets, knowledge) |
| [Sentinels](/api-reference/sentinels) | Run and query proactive sentinel monitors                                        |
| [Reports](/api-reference/reports)     | Generate daily, weekly, and account-level reports                                |
| [Briefings](/api-reference/briefings) | Pre-visit engineer briefings and call scripts                                    |
| [Weather](/api-reference/weather)     | Forecast, historical, and graph-resolved weather                                 |
| [Email Triage](/api-reference/triage) | Classify inbound emails                                                          |
| [Email Ingest](/api-reference/ingest) | Extract structured data from FM portal emails                                    |
| [Connie](/api-reference/connie)       | Conversational AI with cited answers                                             |
| [Cases](/api-reference/cases)         | Case management                                                                  |
| [Teams](/api-reference/teams)         | Team management and access scoping                                               |

## Request format

### POST endpoints

```json theme={null}
{
  "company_id": "your-company-id",
  "api_key": "your-api-key",
  "query_text": "boiler fault",
  "limit": 10
}
```

### GET endpoints

```bash theme={null}
curl -G "https://api.vh3connect.io/api:kP8T1CK7/jobs/feed" \
  --data-urlencode "company_id=your-company-id" \
  --data-urlencode "api_key=your-api-key"
```

## Error format

```json theme={null}
{
  "code": "ERROR_CODE_INPUT_ERROR",
  "message": "Missing param: company_id",
  "payload": {
    "param": "company_id"
  }
}
```

| Status code | Meaning                                               |
| ----------- | ----------------------------------------------------- |
| `400`       | Bad request, missing or invalid parameters            |
| `401`       | Unauthorised, invalid API key                         |
| `404`       | Not found, resource does not exist for your tenant    |
| `409`       | Conflict, a task is already running for this resource |
| `422`       | Validation error                                      |
| `429`       | Rate limited                                          |
| `500`       | Server error                                          |

## Task-based endpoints

Long-running operations return a `task_id` immediately. Poll the status endpoint until complete.

Possible statuses: `pending`, `running`, `completed`, `failed`, `cancelled`.
