Technical Documentation

Schema API Reference

Standard interface specification for connecting existing systems or third-party platforms to OpenOBA

Overview

OpenOBA connects to any enterprise system through standard REST APIs. Regardless of your existing system's language or architecture, implementing these interfaces lets OpenOBA's Agent operate your system using natural language.

Authentication

All API requests require an API Key in the Header:

Authorization: Bearer <your-api-key>
Content-Type: application/json

Generate and manage API Keys in the Admin Console under System Configuration → API Keys.

Standard Endpoints

MethodPathDescription
GET/api/external/:entityQuery entity list (supports pagination, filtering, sorting)
GET/api/external/:entity/:idGet single entity detail
POST/api/external/:entityCreate entity
PUT/api/external/:entity/:idUpdate entity
DELETE/api/external/:entity/:idDelete entity (soft delete)
GET/api/external/:entity/countCount entities
POST/api/external/:entity/syncBatch sync data

Detailed Reference

Query List

GET /api/external/products?page=1&limit=20&sort=createdAt&order=desc&filter[name]=glasses
ParameterTypeDescription
pagenumberPage number, default 1
limitnumberItems per page, default 20, max 100
sortstringSort field
orderstringSort direction (asc / desc)
filter[field]stringFuzzy filter by field

Create Entity

POST /api/external/products
Content-Type: application/json

{
  "name": "Classic Round Glasses",
  "price": 299.00,
  "category": "EYEWEAR",
  "colorCode": "BK-001"
}

Batch Sync

POST /api/external/products/sync
Content-Type: application/json

{
  "mode": "upsert",
  "keyField": "externalId",
  "items": [
    { "externalId": "EXT-001", "name": "Product A", "price": 199 },
    { "externalId": "EXT-002", "name": "Product B", "price": 299 }
  ]
}

Response Format

{
  "success": true,
  "data": { ... },
  "meta": { "page": 1, "limit": 20, "total": 156, "totalPages": 8 },
  "timestamp": "2026-06-30T08:00:00.000Z"
}

Error Response:

{
  "success": false,
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Field 'price' is required",
    "details": [{ "field": "price", "reason": "required" }]
  }
}

Entity Discovery

GET /api/external/entities

# Response
{
  "success": true,
  "data": {
    "Product": {
      "fields": {
        "name": { "type": "String", "required": true },
        "price": { "type": "Float", "required": true },
        "category": { "type": "String", "required": true, "enum": ["EYEWEAR", ...] }
      },
      "aliases": { "selling price": "retailPrice", "item code": "productCode" },
      "actions": ["create", "update", "remove", ...]
    }
  }
}

The Agent auto-discovers your system structure through this endpoint—no manual instruction needed.

Integrating Existing Systems

Scenario 1: You Have Source Code

Add the above API endpoints to your backend. Each endpoint calls your existing business logic. Estimated effort: 2-4 person-days.

Scenario 2: No Source Code (Legacy / COTS)

Build a lightweight Adapter Service (~200 lines of code) around your legacy system. It exposes the standard API externally while connecting to your legacy system internally via database or HTTP. Or use OpenOBA to rapidly rebuild your system.

Need integration help? Contact support@openoba.com for enterprise support.