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

# API Introduction

> An overview of the Visual Layer REST API — search, enrichment, export, and dataset management.

The Visual Layer API provides programmatic access to dataset management, visual search, semantic search, enrichment, and export capabilities. All endpoints are REST-based and return JSON.

## Cloud API vs. On-Premises API

Authentication requirements differ by deployment type.

* **Cloud API**: All calls require a JWT bearer token. See [Authentication](/api-reference/authentication).
* **On-Premises API**: Authentication is not required. Omit authorization headers from all requests.

***

## Create a Dataset

Datasets can be created from an S3 bucket path, from local file uploads, or from a local folder on an on-premises installation. After creation, poll the dataset status endpoint until `status_new` reaches `READY`.

See [Create a Dataset from S3](/api-reference/create-a-dataset-from-a-public-s3-bucket), [Create a Dataset from Local Files](/api-reference/create-a-dataset-from-local-files), and [Retrieve Dataset Status](/api-reference/retrieve-dataset-status).

***

## Search

Two search modes are available through the Explore endpoint (`GET /api/v1/explore/{dataset_id}`).

**Visual Search** finds images visually similar to a query image. Upload the query image to get an `anchor_media_id`, then pass it to the Explore endpoint. See [Visual Search](/api-reference/visual-search).

**Semantic Search** finds images using natural language. Pass a `caption` query parameter or use VQL text filters for more control. See [Semantic Search](/api-reference/semantic-search).

***

## Manage Datasets

* **Add media** to an existing dataset from S3, direct upload, or archive. See [Add Media to an Existing Dataset](/api-reference/add-media-to-existing-dataset).
* **Share** a dataset with another registered user. See [Share a Dataset](/api-reference/share-a-dataset-with-another-user).
* **Enrich** a dataset with AI models to generate captions, detect objects, and build search embeddings. Enrichment creates a new dataset copy. See [Enrichment](/api-reference/enrichment).
* **Save views** to bookmark filtered states for reuse. See [Saved Views](/api-reference/saved-views).

***

## Export

Export dataset metadata and media as JSON or Parquet, either in full or selectively by media ID or cluster. See [Exporting a Dataset](/api-reference/exporting-a-dataset-via-curl-from-visual-layer).

***

## Error Handling

All API errors return a JSON body with a `detail` field. See [Error Handling](/api-reference/errors) for the full HTTP code reference, error response format, and Python handling patterns.
