# API Overview

# API Overview

Curiosity Workspace provides a tightly integrated front-end and back-end experience, where the core functionality is exposed through a powerful C# library accessible within the workspace.

For external systems or custom front-ends, you can develop your own Custom Endpoints to provide custom business logic and expose external-facing APIs tailored to your needs.

# Core library capabilities

Within a Curiosity Workspace (e.g., in a Custom Endpoint or Data Connector), you have direct access to:

  • Graph Database
    • Create and update node and edge schemas.
    • Upsert nodes and edges with stable keys.
    • Execute complex graph traversals and aggregations.
  • Search Engine
    • Execute high-performance text, vector, and hybrid search.
    • Apply property and relationship-based facets and filters.
  • AI & NLP
    • Generate and query embeddings for semantic similarity.
    • Orchestrate LLM interactions with grounded graph context.
  • Security & Identity
    • Manage users, teams, and fine-grained access control.

# Authentication

All external calls to Curiosity APIs (via Custom Endpoints) are secured using JWT Bearer tokens:

  • User Authentication: Handled automatically when calling endpoints from the built-in front-end.
  • Endpoint Tokens: Dedicated JWT tokens for external systems, which can be scoped to specific endpoint paths.

Always align tokens with least privilege and environment boundaries (dev vs prod).

# Versioning and environments

Treat your workspace configuration like code:

  • version connector code and endpoint code
  • promote configs across environments with review
  • keep production changes reproducible

# Next steps