API Reference

API Examples

Practical code examples for common API operations.

JavaScript/TypeScript

// Create and start a session
async function createAndStartSession(question, knightIds) {
  // Authenticate
  const authResponse = await fetch('https://api.roundtablelabs.ai/api/auth/token', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      email: 'user@example.com',
      password: 'password'
    })
  });
  const { access_token } = await authResponse.json();

  // Create session
  const sessionResponse = await fetch('https://api.roundtablelabs.ai/api/sessions', {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${access_token}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      question,
      knights: knightIds
    })
  });
  const session = await sessionResponse.json();

  // Start session
  await fetch(`https://api.roundtablelabs.ai/api/sessions/${session.id}/start`, {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${access_token}`
    }
  });

  return session;
}
javascript

Python

import requests

BASE_URL = "https://api.roundtablelabs.ai/api"

# Authenticate
auth_response = requests.post(
    f"{BASE_URL}/auth/token",
    json={"email": "user@example.com", "password": "password"}
)
access_token = auth_response.json()["access_token"]

headers = {"Authorization": f"Bearer {access_token}"}

# Create session
session_response = requests.post(
    f"{BASE_URL}/sessions",
    headers=headers,
    json={
        "question": "Should we launch in Singapore?",
        "knights": ["knight-id-1", "knight-id-2"]
    }
)
session = session_response.json()

# Start session
requests.post(
    f"{BASE_URL}/sessions/{session['id']}/start",
    headers=headers
)

# Get artifacts when complete
artifacts = requests.get(
    f"{BASE_URL}/sessions/{session['id']}/artifacts/json",
    headers=headers
).json()
python

cURL

# Authenticate
TOKEN=$(curl -X POST https://api.roundtablelabs.ai/api/auth/token \
  -H "Content-Type: application/json" \
  -d '{"email":"user@example.com","password":"password"}' \
  | jq -r '.access_token')

# Create session
SESSION_ID=$(curl -X POST https://api.roundtablelabs.ai/api/sessions \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"question":"Should we launch in Singapore?","knights":["knight-id-1"]}' \
  | jq -r '.id')

# Start session
curl -X POST https://api.roundtablelabs.ai/api/sessions/$SESSION_ID/start \
  -H "Authorization: Bearer $TOKEN"
bash