EL11BA API Documentation

Comprehensive API specifications with interactive examples and code samples.

Authentication

OAuth 2.0 & JWT

Secure API access using OAuth 2.0 and JSON Web Tokens. Clients must request an access token and include it in the Authorization header.


// Obtain Token
POST /token
Content-Type: application/json

{
  "client_id": "YOUR_CLIENT_ID",
  "credentials": {},  // Auth token from login
  "audience": "el11ba-dev"
}

// Use Token in Requests
GET /api/workspaces
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json
                    
                    

Endpoints Reference

GET /api/workspaces

Returns available collaborative workspaces

Parameters

Parameter Description Type
workspace_id Optional ID to filter by specific workspace string
limit Maximum number of results to return (default: 20) integer

Example Response


{
    "workspaces": [
        {
            "id": "ws-12345",
            "name": "Quantum Research Lab",
            "members": 12,
            "last_activity": "2025-09-14T15:22:34Z"
        },
        {
            "id": "ws-67890",
            "name": "AI Ethics Forum",
            "members": 8,
            "last_activity": "2025-09-14T10:14:22Z"
        }
    ],
    "total": 2
}
                        
                        

POST /api/projects

Create a new collaborative project

Request Body

Field Description Required
name Project name (1-64 characters)
description Project description
workspace_id Target workspace ID

Example Request


{
    "name": "Quantum Simulation Engine",
    "description": "Developing open-source quantum computing models",
    "workspace_id": "ws-12345"
}
                        
                        

Example Response


{
    "project_id": "prj-67890",
    "created_at": "2025-09-15T14:30:00Z",
    "workspace_id": "ws-12345"
}
                        
                        

WebSocket Events

Real-Time Notifications

Connect to our WebSocket endpoint using your authentication token for real-time event updates.


// Client Connection
const socket = new WebSocket('wss://api.el11ba.org/notifications');

// With Authorization
socket.addEventListener('open', () => {
  socket.send(JSON.stringify({
    action: 'auth',
    token: 'YOUR_ACCESS_TOKEN'
  }));
});
                    
                    

Supported Message Types

  • workspace-invite: Sent when a user is invited to collaborate
  • project-update: Trigger on project creation or modification

Code Samples

Python (Requests)


import requests

headers = {
    'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
    'Content-Type': 'application/json'
}

response = requests.get('https://api.el11ba.org/api/workspaces', headers=headers)
print(response.json())
                        
                        

JavaScript (Fetch)


fetch('https://api.el11ba.org/api/workspaces', {
    method: 'GET',
    headers: {
        'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
        'Content-Type': 'application/json'
    }
})
.then(response => response.json())
.then(data => console.log(data));