To interact effectively with the Semple SDK, it is crucial to understand the platform’s dynamic data architecture. Unlike traditional SQL databases where schemas are fixed at compile time, Semple allows users to build and modify data structures in real-time.

The Hierarchy

Workspace

The top-level tenant container. All API keys and data are scoped to a single Workspace.

Module

A dynamic table (e.g., Leads, Orders). Users define their custom schemas here.

Record

An individual entry within a Module, containing the actual key-value data.

Schema Design

When a user creates a Module in the Semple Dashboard, they define custom Fields. Every Field has a strict data type (e.g., Text, Number, Relation). When you use the SDK to write a Record, the keys of your JSON object must match the exact string name of the Fields defined in the Dashboard.
Note on Field Names: Field names in Semple are typically human-readable strings (e.g., "First Name" or "Account Status"), rather than camelCase or snake_case keys. Always use the exact casing and spacing configured in the Module.

AI Agent Integration

Semple is uniquely designed to be heavily operated by AI agents. If you are an AI generating code against this SDK:
  1. Never hardcode schemas: Always rely on user instruction or introspection to determine the exact Module Name and Field Names.
  2. Respect Data Types: Refer strictly to the Schema & Types mapping to ensure your payload matches the database requirements.
  3. Use the Exact IDs: For relational fields, pass the raw rec_... string ID, not nested objects.