Skip to main content

API Architecture

The Structify API is a RESTful service that provides endpoints for:
  • Dataset Management: Create and configure dataset schemas
  • Entity Operations: Add, update, and query entities (nodes)
  • Relationship Management: Connect entities with typed relationships
  • Document Processing: Upload and structure unstructured data
  • Job Management: Track asynchronous processing tasks
  • Search & Query: Natural language and relationship-based search

Core Concepts

Datasets

A dataset is a container for your structured data. Each dataset has:
  • A unique name
  • A schema defining entity types and properties
  • Tables for different entity types
  • Relationships between entities

Entities

Entities are the records in your dataset. Each entity:
  • Belongs to a specific table (entity type)
  • Has properties defined by the schema
  • Can be connected to other entities via relationships

Relationships

Relationships connect entities in your dataset. They:
  • Have a type (e.g., “Owns”, “Partners With”)
  • Can have properties
  • Are directional (source → target)

Jobs

Many operations are asynchronous and return a job. Jobs:
  • Track the progress of long-running operations
  • Can be queried for status
  • Return results when complete

Authentication

All API requests require authentication via API key:

Rate Limits

API requests are rate limited based on your plan:

Error Handling

The API uses standard HTTP status codes:

Pagination

List endpoints support pagination:

Async Operations

For better performance, use the async client:

WebSocket Events

Real-time updates are available via WebSocket:

Best Practices

1

Use Environment Variables

Store API keys in environment variables, never in code
2

Batch Operations

Use batch endpoints when processing multiple items
3

Handle Rate Limits

Implement exponential backoff for rate limit errors
4

Monitor Jobs

Poll job status or use WebSockets for real-time updates
5

Cache Results

Cache frequently accessed data to reduce API calls

Next Steps

API Reference

Detailed endpoint documentation

Examples

Real-world usage examples