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

# Introduction

> Connector API overview and core concepts

Connector API is used for batch upload of client data (receipts, products, stock, catalogs, and more) followed by Connector processing. Data is sent in separate packages within a single **upload session**; after uploading is complete, processing is started with a separate request.

## Core concepts

| Concept                            | Description                                                                                                 |
| ---------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| **Upload session** (`upload_uuid`) | Logical container for one upload. A client can have only one active session at a time.                      |
| **Entity** (`entity_name`)         | Data type (e.g. `receipt`, `product`, `stock`). Each entity has a fixed set of columns.                     |
| **Workflow (Connector)**           | Processing of uploaded data. Started via `start-upload`; completion is reported by Connector automatically. |

Before integration, agree with support which [data sources](/connector-api/integration/data-sources) (API vs scheduled Connector) apply to each step, and review [entity dependencies](/connector-api/integration/entity-dependencies) for parent/child upload order.

## Session lifecycle

```
                         ┌────────── (terminate) ──────────┐
                         ▼                                 │
initialize-session ──► UPLOADING ──(start-upload)──► STARTED ──(Connector)──► DONE
        ▲                  │
        │  (delete)        │
        └──────────────────┘
```

See [Session states](/connector-api/integration/session-states) for details.

## Typical flow

1. `POST /uploading/initialize-session` → get `upload_uuid`
2. `POST /uploading/:upload_uuid/:entity_name` → upload data packages
3. `GET /uploading/:upload_uuid/status` → wait for `can_start_upload = true`
4. `POST /uploading/:upload_uuid/start-upload` → start Connector
5. `GET /uploading/:upload_uuid/status` → wait for `session_status = DONE`

Step-by-step guide: [Integration flow](/connector-api/integration/integration-flow).
