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

# Create data list

> Create a tenant-owned data list with name, type, source, and optional configuration to be referenced by rules and checks — POST /data-lists.

## Overview

Creates a new **data list** for the organization. Use `type: "custom"` for a generic list you will reference by UUID in rules.

## Endpoint

```
POST https://api.gu1.ai/data-lists
```

## Authentication

```bash theme={null}
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
```

## Request Body

<ParamField body="name" type="string" required>
  Display name (1–200 characters). Shown in the **dashboard** (list catalog, selectors, headers) so your team can identify the list; it does not affect how rules match items.
</ParamField>

<ParamField body="type" type="string" required>
  List type enum, including `custom`, `company_blocklist`, `document_blocklist`, `keyword_list`, `ip_blocklist`, and others supported by the platform.
</ParamField>

<ParamField body="description" type="string">
  Optional description (max 1000 characters). Use for **internal context** (owner, refresh policy, intended use case); visible in the dashboard where the product shows list details. Not used by the matching engine.
</ParamField>

<ParamField body="source" type="string" required>
  Origin of data, e.g. `manual_entry`, `api_integration`, `custom_upload`, `internal`, etc.
</ParamField>

<ParamField body="config" type="object">
  Optional: `autoSync`, `syncFrequency`, `externalUrl`, `apiKey`, `visibleItemDataColumns`, etc.
</ParamField>

<ParamField body="fieldMappings" type="object">
  Optional string-to-string map for ingestion mappings.
</ParamField>

<ParamField body="priority" type="number" default="50">
  Priority 1–100.
</ParamField>

<ParamField body="isGlobal" type="boolean">
  Reserved for platform use; tenant clients normally omit or set `false`.
</ParamField>

## Example

```json theme={null}
{
  "name": "High-risk merchants",
  "description": "Internal blocklist for KYB rules",
  "type": "custom",
  "source": "api_integration"
}
```

## Response

`201` with `success`, `data` (includes list `id`), and timing metadata on success.
