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