Artificial Interface

Turn validated data models into reproducible API contracts

Artificial Interface is a model-driven development environment for data-driven APIs. A relational data model is captured, validated, and turned into a reproducible OpenAPI contract. That contract can be reused by engineering teams, CI/CD processes, runtime components, and AI agents. The project is actively evolving and is not a finished replacement for domain or security architecture.

Platform Overview

The central workflow is deliberately deterministic: the same validated input should produce the same contract. AI can help interpret requirements and fill forms, but it is not the sole source of technical truth.

Model-to-Contract Workflow

  1. Model: Define databases, schemas, tables, columns, relationships, and constraints in a structured form.
  2. Validate: Check the metamodel and the rules that can be derived from it.
  3. Generate: Produce a consistent OpenAPI specification from the validated model.
  4. Integrate: Reuse the contract, documentation, and runtime in engineering and CI/CD workflows.

Architecture

  • Artificial Interface Model: the canonical data and API metamodel as a shared source of truth.
  • Artificial Interface Studio: the PWA for modeling, validation, visualization, and export.
  • Artificial Interface Runtime: a REST component that executes the generated contract and a GraphQL adapter and composition layer for client-focused queries.

Through MCP, the builder can also be accessed by AI agents. An agent changes a structured model instead of writing arbitrary YAML or JSON as the final artifact.

Architecture overview of the current workflow
Architecture overview showing input sources, Artificial Interface Model, Studio, deterministic artifact generation, runtime, integration, and cross-cutting concerns

Implementation Status

StatusComponents
ImplementedRelational metamodel, visual modeling, OpenAPI generation, Swagger UI, Mermaid ERD, and contract export
In developmentREST runtime, GraphQL adapter and composition layer, and MCP integration
PlannedContract diffs, policies, SDKs, mock servers, and contract tests

The full status matrix describes the scope and classification of each component.

Example Project: company

This flow is based on the provided company export. It follows a saved model with three relationally connected tables through the generated OpenAPI/Swagger specification, the ERD, and the SQL outputs. An executed runtime request with a real response is not included in this export yet.

Generated ERD of the company model
Entity relationship diagram of the company model with main.address, main.customer, and main.contract
Saved model (project archive)
main.address:
  ID integer, CITY string, COUNTRY string, HOUSE_NUMBER string, STREET string, ZIP_CODE string
main.customer:
  ID integer, ID_ADDRESS integer → main.address.ID, EMAIL string, PHONE string,
  FIRST_NAME string, LAST_NAME string
main.contract:
  ID integer, ID_CUSTOMER integer → main.customer.ID, DURATION_MONTHS integer,
  AMOUNT number, CONTRACT_NUMBER string, CONTRACT_DATE date-time

Generated resources from openapi.json
POST   /transaction
GET    /main/address        POST   /main/address        PATCH  /main/address
GET    /main/address/{ID}   DELETE /main/address/{ID}
GET    /main/customer        POST   /main/customer      PATCH  /main/customer
GET    /main/customer/{ID}   DELETE /main/customer/{ID}
GET    /main/contract        POST   /main/contract       PATCH  /main/contract
GET    /main/contract/{ID}   DELETE /main/contract/{ID}

The individual artifacts can be inspected directly:

Capabilities

Explicit Relational Semantics

The Studio captures data types, required fields, unique values, constraints, and relationships as reviewable inputs to the model-to-contract workflow. Current output remains deliberately close to relational schemas and tables.

Artificial Interface Studio

The Artificial Interface Studio is a Progressive Web App (PWA) for data modeling and API generation for architects and engineering teams. It enables you to visually define database schemas and automatically generate consistent OpenAPI documentation. With Swagger UI and Mermaid ERD diagrams, the contract and relationships stay reviewable. The AI assistant helps fill forms but does not replace model review. Teams can use the exported contract in their own engineering and CI/CD processes.

The interface keeps the data model, relationships, and derived API description visible in one workflow. This supports review without removing domain responsibility from the engineering process.

Editing table columns in Artificial Interface

Contract Inputs: Types, Constraints, and Relationships

Data types, ranges, required properties, unique values, and references are explicit inputs to the model-to-contract process. They are validated where the current metamodel supports them and become reviewable parts of the generated OpenAPI contract.

Versionable API Contracts

The generated OpenAPI document is a contract that teams can review, diff, version, and integrate into Git and CI/CD workflows with their own tooling before connecting a runtime.

Under the "API First" principle, the interface is defined first before software is installed, servers are set up, or code is written. This allows for clear planning and coordination even before technical implementations are undertaken.

An image of the app

Runtime Components for REST and GraphQL

The REST runtime interprets the generated API contract and exposes standardized CRUD operations for relational data. On top of it, the GraphQL runtime dynamically creates a typed schema, translates queries into REST calls, and composes their results into a response tailored to the client.

Typed nested POST/PATCH mutations are compiled into one ordered REST /transaction workflow call, so related writes share one atomic database transaction. The low-level workflow is deliberately not exposed as a generic GraphQL mutation; clients can use the REST endpoint directly when that contract is the better fit.

GraphQL client
      ↓
GraphQL runtime: schema · translation · relationships · batching
      ↓
REST runtime
      ↓
Database

Clients select exactly the fields they need and can request related data as nested objects. The runtime recognizes forward and reverse relationships from contract metadata and batches repeated lookups per request instead of issuing an individual REST call for every foreign key.

  • typed queries and mutations with schema introspection,
  • field selection, filtering, sorting, and pagination,
  • automatic resolution of relational and inverse relationships,
  • batching and request-scoped caching through DataLoader,
  • batched and nested create and update operations through one atomic REST workflow.

REST provides the data. GraphQL shapes it into the response each client needs.

The GraphQL runtime has no data store of its own and does not replace the REST runtime. Authentication headers are forwarded to the downstream interface; security, operations, and performance requirements must be reviewed for each production environment. The technical specification documents further limits.

Auditable Machine-Readable Contract

The generated OpenAPI/Swagger contract makes resources, operations, schemas, and relational mappings explicit for review and downstream automation.

Controlled AI Integration

AI agents can use the MCP project to request structured model changes and OpenAPI generation. Formal modeling and validation limit the AI's interpretation space; agent integration supports the workflow but does not replace domain review.

Generated API Contract

Artificial Interface documents the current data-driven contract based on the OpenAPI Specifications. These documentation includes:

API Standards

  • Support for both OpenAPI 2.0 and 3.0, ensuring broad compatibility and modern features.
  • API key authentication to ensure secure access.

CRUD Operations

  • Comprehensive Create, Read, Update, Delete (CRUD) functionalities for managing database entities.
  • Uniform endpoint naming conventions to enhance consistency and clarity.

GET Endpoints

  • Allows retrieval of data through specific IDs or by filtering and pagination.

POST Endpoints

  • Support for creating new data entities, including batch operations (batch processing).

PATCH Endpoints

  • Allow partial updating of entities, thereby increasing efficiency and flexibility.

DELETE Endpoints

  • Enable the removal of entities based on their IDs.

Use Cases and Scope

  • Reproducible contracts: Structured input can be consistently transformed into versionable OpenAPI output.
  • Traceable handoffs: Modeling, architecture, implementation, and operations can work from the same contract.
  • Automatable workflow: Export, documentation, runtime, and MCP fit into engineering processes.
  • Clear boundaries: Domain logic, governance, security configuration, and production operations remain engineering responsibilities.

Development Status

Artificial Interface is currently still in development. This means that some features and functionalities may not yet be fully implemented or optimized. The developers are working to improve the software and add additional features to meet the users' needs.

Summary

Artificial Interface is positioned as a controlled layer between a relational data model and a technical API. The current focus is the metamodel, the Studio, deterministic OpenAPI generation, and the connected Runtime and MCP components. Additional targets such as more generators, contract tests, and stronger governance will become product promises only when they are implemented and documented.