---
title: "Ask AI REST API | HitKeep"
description: "Reference for the HitKeep REST API operation Ask AI, including request parameters, responses, and authentication notes."
canonical: "https://hitkeep.com/api/operations/apisitesidask-ai/"
---

# Ask AI REST API

POST

/api/sites/{id}/ask-ai

FetchcURL

```
const url = 'http://127.0.0.1:25737/api/sites/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/ask-ai';
const options = {
  method: 'POST',
  headers: {cookie: 'hk_token=<hk_token>', 'Content-Type': 'application/json'},
  body: '{"filters":[{"type":"example","value":"example"}],"from":"2026-04-15","history":[{"content":"example","role":"user"}],"query":"example","route":"example","to":"2026-04-15"}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```
curl --request POST \
  --url http://127.0.0.1:25737/api/sites/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/ask-ai \
  --header 'Content-Type: application/json' \
  --cookie hk_token=<hk_token> \
  --data '{ "filters": [ { "type": "example", "value": "example" } ], "from": "2026-04-15", "history": [ { "content": "example", "role": "user" } ], "query": "example", "route": "example", "to": "2026-04-15" }'
```

-

Runs the session-only, site-scoped dashboard assistant over read-only aggregate analytics tools. Requires a human dashboard session with site.view; API client bearer tokens and shared dashboard routes are rejected.

## Authorizations

- **[cookieAuth](https://hitkeep.com/api/#cookieauth)**

## Parameters

### Path Parameters

**id**

required

string format: uuid

## Request Bodyrequired

application/json

object

**filters**

Array<object>

object

**type**

required

string

**value**

required

string

**from**

string format: date

**history**

Array<object>

object

**content**

required

string

**role**

required

string

Allowed values: user assistant

**query**

required

string

**route**

string

**to**

string format: date

## Responses

### 200

Ask AI response

application/json

object

**actions**

required

Array<object>

object

**format**

string

Allowed values: xlsx json csv ndjson

**label**

required

string

**target**

required

string

**type**

required

string

Allowed values: navigate download_export

**answer_markdown**

required

string

**charts**

required

Array<object>

object

**rows**

required

Array<object>

object

***key***

additional properties

string | number | boolean | null

**series**

Array<object>

object

**key**

required

string

**label**

required

string

**title**

required

string

**type**

required

string

Allowed values: line bar table

**x_key**

string

**citations**

required

Array<object>

object

**label**

required

string

**tool_call_id**

required

string

**run_id**

required

string format: uuid

##### Example

```
{
  "actions": [
    {
      "format": "xlsx",
      "type": "navigate"
    }
  ],
  "charts": [
    {
      "type": "line"
    }
  ]
}
```

### 400

Invalid Ask AI request

application/json

object

**message**

string

##### Examplegenerated

```
{
  "message": "example"
}
```

### 403

Dashboard session required or forbidden

application/json

object

**message**

string

##### Examplegenerated

```
{
  "message": "example"
}
```

### 409

Ask AI unavailable

application/json

object

**available**

required

boolean

**budget_exhausted**

required

boolean

**enabled**

required

boolean

**model**

string

**provider**

string

**status**

required

string

Allowed values: disabled not_configured available budget_exhausted

##### Example

```
{
  "status": "disabled"
}
```

### 429

Ask AI budget exhausted

application/json

object

**available**

required

boolean

**budget_exhausted**

required

boolean

**enabled**

required

boolean

**model**

string

**provider**

string

**status**

required

string

Allowed values: disabled not_configured available budget_exhausted

##### Example

```
{
  "status": "disabled"
}
```

### 502

Ask AI provider or validation failure

application/json

object

**message**

string

##### Examplegenerated

```
{
  "message": "example"
}
```

[Previous Get AI fetch timeseries](https://hitkeep.com/api/operations/apisitesidai-fetchtimeseries/)[Next Stream Ask AI](https://hitkeep.com/api/operations/apisitesidask-aievents/)
