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

# Structure

> Understanding the core components and their relationships in the Peaka API ecosystem.

# Peaka API Architecture Overview

Peaka provides a structured environment for managing data integrations and analytics. Understanding the hierarchy and relationships between its core components is essential for effective utilization.

```mermaid theme={null}
graph TD
  A[Organization]
  B1[Workspace 1]
  B2[Workspace 2]
  C1[Project 1]
  C2[Project 2]
  C3[Project 3]
  E1[Catalog 1]
  E2[Catalog 2]
  E3[Catalog 3]
  E4[Catalog 4]
  E5[Catalog 5]
  E6[Catalog 6]

  A --> B1
  A --> B2
  B1 --> C1
  B2 --> C2
  B2 --> C3
  C1 --> E1
  C1 --> E2
  C1 --> E3
  C2 --> E4
  C2 --> E5
  C2 --> E6
```

## 🔹 Organization

* **Definition**: The top-level entity representing a business or team within Peaka.
* **Role**: Serves as the container for all workspaces, projects, and associated resources.
* **API Endpoint**: `GET /organizations` to list all organizations.

## 🔹 Workspace

* **Definition**: A collaborative environment within an organization where teams can manage projects.
* **Role**: Facilitates team collaboration and resource management within an organization.
* **API Endpoint**: `GET /organizations/{organizationId}/workspaces` to list workspaces within an organization.

## 🔹 Project

* **Definition**: A unit within a workspace where data connections are established and workflows are executed. This is the core component of Peaka. Projects are isolated from other projects within the same workspace. You can create **Project Api Key**s to enable access to only this project without access to other projects.
* **Role**: Central unit for data operations, including queries, tables, and integrations.
* **API Endpoint**: `POST /organizations/{organizationId}/workspaces/{workspaceId}/projects` to create a new project.

## 🔹 Connection

* **Definition**: A configuration that links a project to external data sources, such as databases or APIs, including necessary credentials.
* **Role**: Holds the necessary details for connecting to external data sources.
* **API Endpoint**: `POST /projects/{projectId}/connections` to establish a new connection.
* **Note**: A single connection can be used to create multiple catalogs, allowing for the reuse of credentials across different catalogs of same external data source.

## 🔹 Catalog

* **Definition**: A structured representation of data schemas and tables associated with a connection.
* **Role**: Provides metadata and structure for querying and analyzing data.
* **API Endpoint**: `POST /projects/{projectId}/catalogs` to create a catalog using a connection.
* **Note**: Multiple catalogs can be created from a single connection, each representing different naming of same external source.
