# Keen.io

Keen.io is an embedded analytics API that enables developers to collect, analyze, and visualize event data seamlessly.

- **Category:** analytics
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 6
- **Triggers:** 0
- **Slug:** `KEEN_IO`
- **Version:** 20260211_00

## Tools

### Inspect All Event Collections

**Slug:** `KEEN_IO_INSPECT_ALL_EVENT_COLLECTIONS`

Retrieve schema information for all event collections in a Keen.io project. Use this tool to: - List all event collection names in a project - Discover the schema (property names and types) for each collection - Explore available data before running queries Returns up to 5000 event collections with their names, URLs, and optional property schemas.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `include_schema` | boolean | No | If true, include inferred property schema in response |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Inspect Collection Property

**Slug:** `KEEN_IO_INSPECT_COLLECTION_PROPERTY`

Tool to return details for a specific property in an event collection. Use when you need to inspect a property's inferred type and resource URL.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `property_name` | string | Yes | The property name within the event collection to retrieve details for (e.g., 'keen.id', 'user.email', 'item.price'). Use dot notation for nested properties. |
| `event_collection` | string | Yes | The name of the event collection to inspect (e.g., 'purchases', 'pageviews', 'signups'). Must be an existing collection in your project. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Inspect Single Event Collection

**Slug:** `KEEN_IO_INSPECT_SINGLE_EVENT_COLLECTION`

Retrieve schema information for a single Keen.io event collection. Returns the inferred property types for all fields in the specified collection, useful for understanding data structure before running queries. Property types include 'num' (numbers), 'string' (text), 'bool' (booleans), and 'datetime' (timestamps). Use this tool when you need to: - Understand the structure of a specific event collection - Verify property names and types before building queries - Debug data type mismatches in analytics queries

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_collection` | string | Yes | The name of the event collection to inspect (e.g., 'purchases', 'pageviews', 'signups'). Must be an existing collection in your project. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Cached Dataset Definitions

**Slug:** `KEEN_IO_LIST_CACHED_DATASETS`

List all cached dataset definitions for a Keen.io project. Returns paginated results of pre-computed dataset definitions including their query configuration, status, and timing information. Use limit and after_name parameters to page through large result sets. Cached datasets allow pre-computing analytics for hundreds or thousands of entities at once, enabling instant retrieval of results for any indexed entity.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of dataset definitions to return per page (1-100). If not specified, defaults to the API default. |
| `after_name` | string | No | Pagination cursor; use the last dataset_name from previous page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Select Unique

**Slug:** `KEEN_IO_SELECT_UNIQUE`

Tool to return unique values for a target property. Use when distinct property values are required for matching events with optional filters and timeframe constraints.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `filters` | array | No | Optional array of filter objects to refine which events are analyzed. |
| `group_by` | string | No | Property or list of properties to group results by. Returns unique values for each group. |
| `interval` | string | No | Time interval for bucketing results (e.g., 'hourly', 'daily', 'weekly', 'monthly', 'yearly'). |
| `timezone` | string | No | Timezone for interpreting relative timeframes. Either an offset in seconds (e.g., -28800 for PST) or IANA timezone name (e.g., 'US/Pacific'). |
| `timeframe` | string | Yes | Time range to analyze. Use either a relative timeframe string (e.g., 'this_7_days', 'previous_30_days', 'this_month') or an absolute timeframe object with 'start' and 'end' keys containing ISO-8601 timestamps. |
| `target_property` | string | Yes | The property name whose unique (distinct) values will be returned. Supports nested properties using dot notation (e.g., 'user.id', 'item.category'). |
| `event_collection` | string | Yes | Name of the event collection to query for unique values (e.g., 'purchases', 'page_views'). |
| `include_metadata` | boolean | No | If true, include execution metadata in the response |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Unrevoke Access Key

**Slug:** `KEEN_IO_UNREVOKE_ACCESS_KEY`

Reactivate a previously revoked Keen.io access key. Use this tool when you need to restore access for a key that was previously revoked but not deleted. A revoked key has its 'active' flag set to false; this operation sets it back to true, allowing the key to be used for API authentication again. Note: This operation requires a Master API Key for authentication. The key must have been previously revoked (not deleted) to be unrevoked.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | The Access Key string to reactivate |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
