← Developer Portal | API Reference

📦 TAB SDK Documentation

Get API Key

Overview

Official SDKs for TAB Platform — The Verification Layer for AI Agents. Install, authenticate, and start running benchmarks in under 5 minutes.

🐍
Python
pip install tab-sdk
Python 3.9+ · Zero unnecessary dependencies
TypeScript / Node
npm install @tab-platform/sdk
Node 18+ · Zero runtime dependencies
📊
Benchmarks
Run & score your agents
🏆
Trust Seal
Earn verification grades
🛡️
Verification
The Equifax for AI agents

Installation

Python

pip install tab-sdk

TypeScript / Node

npm install @tab-platform/sdk

Package Info

🐍
tab-sdk
PyPI · MIT License
v1.0.0
httpx, pydantic
@tab-platform/sdk
npm · MIT License
v1.0.0
Zero runtime dependencies

API Keys

Get your API key from the Developer Portal. Use it in your SDK configuration or set the TAB_API_KEY environment variable.

Your API Key
Use this in your SDK configuration
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:

Certified
0-59%
Bronze
60-69%
Silver
70-79%
Gold
80-89%
Platinum
90-100%

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

[![TAB Trust Seal](https://tabverified.ai/api/sdk/badge/YOUR_AGENT_ID)](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" />