Skip to content

BackboneData Registry API Documentation

Introduction

The BackboneData Registry is a global system registry for tracking and managing all deployed information communication exchanges (ICEs) within a multi-cluster global network. Each ICE is uniquely identifiable and associated with an organization, cluster, and access metadata. This registry enables visibility, discovery, and metadata-driven routing of communication systems across federated clusters.


Architecture

communication-registry

Download Image


Python Data-Class

from dataclasses import dataclass, field, asdict
from typing import Dict, Any
import uuid

@dataclass
class BackboneDataObject:
    system_id: str = field(default_factory=lambda: str(uuid.uuid4()))
    org_ids: str = ''
    cluster_id: str = ''
    public_url: str = ''
    metadata: Dict[str, Any] = field(default_factory=dict)
    name: str = ''

    @classmethod
    def from_dict(cls, data: Dict[str, Any]) -> 'BackboneDataObject':
        return cls(
            system_id=str(data.get('system_id', uuid.uuid4())),
            org_ids=data.get('org_ids', ''),
            cluster_id=data.get('cluster_id', ''),
            public_url=data.get('public_url', ''),
            metadata=data.get('metadata', {}),
            name=data.get('name', '')
        )

    def to_dict(self) -> Dict[str, Any]:
        return asdict(self)

Field Explanation

Field Type Description
system_id str (UUID) Unique identifier for the communication system (auto-generated if missing)
org_ids str Comma-separated organization IDs linked to this system
cluster_id str ID of the cluster where the system is deployed
public_url str Publicly accessible URL for the system's API or service
metadata Dict[str, Any] Arbitrary metadata about the system (e.g., type, version, region)
name str Human-readable name of the deployed system

REST API Documentation

Base URL

http://<your-host>:8000

Create Backbone Record

  • Method: POST
  • Endpoint: /backbone
  • Description: Registers a new deployed communication system.

Request Body (JSON)

{
  "org_ids": "org123,org456",
  "cluster_id": "cluster-a",
  "public_url": "https://cluster-a.example.com/api",
  "metadata": {
    "region": "us-west",
    "version": "v1.0"
  },
  "name": "UserSyncService"
}

CURL Example

curl -X POST http://localhost:8000/backbone \
  -H "Content-Type: application/json" \
  -d '{
    "org_ids": "org123",
    "cluster_id": "cluster-a",
    "public_url": "https://example.com",
    "metadata": {"type": "pubsub"},
    "name": "ICE-Publisher"
  }'

Get Backbone Record by system_id

  • Method: GET
  • Endpoint: /backbone/<system_id>
  • Description: Retrieves a specific record by its unique system_id.

CURL Example

curl http://localhost:8000/backbone/2e733b76-79d1-4f5b-912d-44fbc2d0f514

Update Backbone Record

  • Method: PUT
  • Endpoint: /backbone/<system_id>
  • Description: Updates fields for the specified system_id.

Request Body (JSON)

{
  "metadata": {
    "version": "v1.1",
    "region": "us-east"
  }
}

CURL Example

curl -X PUT http://localhost:8000/backbone/2e733b76-... \
  -H "Content-Type: application/json" \
  -d '{"metadata": {"region": "eu-central", "status": "active"}}'

Delete Backbone Record

  • Method: DELETE
  • Endpoint: /backbone/<system_id>
  • Description: Permanently deletes a record.

CURL Example

curl -X DELETE http://localhost:8000/backbone/2e733b76-...

Query Backbone Records

  • Method: POST
  • Endpoint: /backbones
  • Description: Search using any filter (e.g., by cluster, org, etc.)

Request Body (JSON)

{
  "cluster_id": "cluster-a"
}

CURL Example

curl -X POST http://localhost:8000/backbones \
  -H "Content-Type: application/json" \
  -d '{"cluster_id": "cluster-a"}'