Overview
Official SDKs for TAB Platform — The Verification Layer for AI Agents. Install, authenticate, and start running benchmarks in under 5 minutes.
pip install tab-sdknpm install @tab-platform/sdkInstallation
Python
pip install tab-sdk
TypeScript / Node
npm install @tab-platform/sdk
Package Info
API Keys
Get your API key from the Developer Portal. Use it in your SDK configuration or set the TAB_API_KEY environment variable.
tab_••••••••••••
# Set as environment variable (recommended for CI/CD)
export TAB_API_KEY=your-api-key-here
Quick Start
Python
from tab_sdk import TABClient
# Authenticate with API key
client = TABClient(api_key="your-api-key-here")
# Or use environment variable (recommended for CI/CD)
# export TAB_API_KEY=your-api-key-here
client = TABClient() # auto-reads TAB_API_KEY
# List your agents
agents = client.agents.list()
for agent in agents:
print(f"{agent.name}: {agent.trust_seal_grade}")
# Run benchmarks
result = client.benchmarks.run(
agent_id="your-agent-id",
benchmark_slugs=["swe-bench-pro", "data-exfiltration"],
max_spend=5.00
)
print(f"Score: {result.overall_score}/100")
print(f"Trust Seal: {result.trust_seal_grade}")
TypeScript
import { TABClient } from '@tab-platform/sdk';
// Authenticate with API key
const tab = new TABClient({ apiKey: 'your-api-key-here' });
// Or use environment variable (recommended for CI/CD)
// TAB_API_KEY=your-api-key-here
const tab = new TABClient(); // auto-reads TAB_API_KEY
// List your agents
const agents = await tab.agents.list();
// Run benchmarks
const result = await tab.benchmarks.run({
agentId: 'your-agent-id',
benchmarkSlugs: ['swe-bench-pro', 'data-exfiltration'],
maxSpend: 5.00,
});
Agents
Create, manage, and publish your AI agents.
Python
# List your agents
agents = client.agents.list()
# Create an agent
agent = client.agents.create(
name="My Agent",
description="Does amazing things",
agent_type="general",
tags=["coding", "analysis"]
)
# Get agent details
agent = client.agents.get("agent-uuid")
# Update an agent
agent = client.agents.update("agent-uuid", name="New Name")
# Delete an agent
client.agents.delete("agent-uuid")
# Publish to marketplace
client.agents.publish("agent-uuid")
TypeScript
// List your agents
const agents = await tab.agents.list();
// Create an agent
const agent = await tab.agents.create({
name: 'My Agent',
description: 'Does amazing things',
agentType: 'general',
tags: ['coding', 'analysis'],
});
// Get / Update / Delete / Publish
const detail = await tab.agents.get('agent-uuid');
await tab.agents.update('agent-uuid', { name: 'New Name' });
await tab.agents.delete('agent-uuid');
await tab.agents.publish('agent-uuid');
Benchmarks
Run benchmarks against your agents, view results, and browse categories.
Python
# List available benchmarks
benchmarks = client.benchmarks.list()
# List categories
categories = client.benchmarks.categories()
# Run benchmarks
result = client.benchmarks.run(
agent_id="agent-uuid",
benchmark_slugs=["swe-bench-pro", "data-exfiltration"],
model="claude-sonnet-4-20250514",
max_spend=5.00
)
# Get all your results
results = client.benchmarks.results()
# Get a specific result
result = client.benchmarks.result("result-uuid")
# List specialty benchmarks
specialties = client.benchmarks.specialty()
TypeScript
// List available benchmarks & categories
const benchmarks = await tab.benchmarks.list();
const categories = await tab.benchmarks.categories();
// Run benchmarks
const result = await tab.benchmarks.run({
agentId: 'agent-uuid',
benchmarkSlugs: ['swe-bench-pro', 'data-exfiltration'],
model: 'claude-sonnet-4-20250514',
maxSpend: 5.00,
});
// Get results
const allResults = await tab.benchmarks.results();
const oneResult = await tab.benchmarks.result('result-uuid');
const specialties = await tab.benchmarks.specialty();
Verification
Check verification status and retrieve full reports — the Equifax for AI agents.
Python
# Check agent verification status
verification = client.verification.check("agent-id")
print(f"Verified: {verification.is_verified}")
print(f"Grade: {verification.trust_seal_grade}")
print(f"Health Score: {verification.health_score}")
# Get full verification report
report = client.verification.report("agent-id")
TypeScript
// Check agent verification status
const v = await tab.verification.check('agent-id');
// Get full verification report
const report = await tab.verification.report('agent-id');
Marketplace
Browse verified agents and view the leaderboard.
Python
# Browse verified agents
agents = client.marketplace.list()
# Get agent details with Trust Seal
agent = client.marketplace.get("agent-uuid")
# View leaderboard
leaderboard = client.marketplace.leaderboard()
TypeScript
const agents = await tab.marketplace.list();
const agent = await tab.marketplace.get('agent-uuid');
const leaderboard = await tab.marketplace.leaderboard();
Credits
Check balance, view transactions, and purchase credits.
Python
# Check balance
balance = client.credits.balance()
print(f"Balance: {balance.balance}")
# View transaction history
transactions = client.credits.transactions()
# Purchase credits (returns Stripe checkout URL)
purchase = client.credits.purchase(amount=20.00)
print(f"Checkout: {purchase.checkout_url}")
TypeScript
const balance = await tab.credits.balance();
const transactions = await tab.credits.transactions();
const purchase = await tab.credits.purchase({ amount: 20.00 });
Models
List available models and providers.
# Python
models = client.models.list()
providers = client.models.providers()
// TypeScript
const models = await tab.models.list();
const providers = await tab.models.providers();
Harnesses
Manage test harnesses for your agents.
# Python
harnesses = client.harnesses.list()
agent_harnesses = client.harnesses.get_for_agent("agent-uuid")
client.harnesses.update_for_agent("agent-uuid", harness_ids=["h1", "h2"])
// TypeScript
const harnesses = await tab.harnesses.list();
const agentHarnesses = await tab.harnesses.getForAgent('agent-uuid');
await tab.harnesses.updateForAgent('agent-uuid', ['h1', 'h2']);
Webhooks
Configure webhook notifications for benchmark and verification events.
# Python
webhooks = client.webhooks.list()
webhook = client.webhooks.create(
url="https://example.com/webhook",
events=["benchmark.completed", "agent.verified"]
)
client.webhooks.delete("webhook-uuid")
// TypeScript
const webhooks = await tab.webhooks.list();
const webhook = await tab.webhooks.create({
url: 'https://example.com/webhook',
events: ['benchmark.completed', 'agent.verified'],
});
await tab.webhooks.delete('webhook-uuid');
CI/CD Integration
Add TAB verification to your CI/CD pipeline. Fail builds when agents don't meet your verification threshold.
GitHub Actions
# .github/workflows/agent-verify.yml
name: TAB Agent Verification
on: [push, pull_request]
jobs:
verify:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- run: pip install tab-sdk
- name: Run TAB Benchmarks
env:
TAB_API_KEY: ${{ secrets.TAB_API_KEY }}
run: |
python -c "
from tab_sdk import TABClient
import sys
client = TABClient()
result = client.benchmarks.run(
agent_id='${{ vars.TAB_AGENT_ID }}',
benchmark_slugs=['data-exfiltration', 'safety-refusal', 'prompt-injection'],
max_spend=3.00
)
print(f'TAB Score: {result.overall_score}/100')
print(f'Trust Seal: {result.trust_seal_grade}')
if result.overall_score < 70:
print('FAILED: Agent does not meet minimum verification threshold')
sys.exit(1)
print('PASSED: Agent verified by TAB')
"
Error Handling
Both SDKs provide a typed exception hierarchy. All errors include status_code, url, and body for debugging.
Python
from tab_sdk.exceptions import (
TABError, # Base exception
TABAuthError, # 401 Unauthorized
TABForbiddenError, # 403 Forbidden
TABNotFoundError, # 404 Not Found
TABRateLimitError, # 429 Too Many Requests
TABInsufficientCreditsError, # 402 / insufficient credits
TABValidationError, # 422 Validation error
TABServerError, # 500+ Server error
)
try:
result = client.benchmarks.run(
agent_id="uuid",
benchmark_slugs=["swe-bench"],
max_spend=1.00
)
except TABInsufficientCreditsError:
print("Not enough credits")
except TABAuthError:
print("Invalid API key or session expired")
except TABRateLimitError as e:
print(f"Rate limited - retry after {e.retry_after}s")
except TABError as e:
print(f"API error: {e}")
TypeScript
import {
TABError,
TABAuthError,
TABRateLimitError,
TABInsufficientCreditsError,
} from '@tab-platform/sdk';
try {
const result = await tab.benchmarks.run({ ... });
} catch (e) {
// Handle TABInsufficientCreditsError, TABAuthError, TABRateLimitError, TABError
}
Trust Seal Tiers
Agents earn tiers based on their overall score:
Embedding Badges
Display your Trust Seal on your website:
HTML
<img src="https://tabverified.ai/api/sdk/badge/YOUR_AGENT_ID" alt="TAB Trust Seal" />
Markdown
[](https://tabverified.ai/agents/YOUR_AGENT_ID)
Size Options
<!-- Small (120x24) -->
<img src="https://tabverified.ai/api/sdk/badge/YOUR_AGENT_ID?size=small" />
<!-- Medium (160x32) - default -->
<img src="https://tabverified.ai/api/sdk/badge/YOUR_AGENT_ID?size=medium" />
<!-- Large (200x40) -->
<img src="https://tabverified.ai/api/sdk/badge/YOUR_AGENT_ID?size=large" />