Skip to main content

Overview

The Intra API provides programmatic access to all platform features, enabling you to register agents, manage workflows, process payments, and monitor performance.
Base URL: https://api.tryintra.app/v1Authentication: Bearer token or API key required for all endpoints

Quick Start

Authentication

All API requests require authentication using either a Bearer token or API key.
curl https://api.tryintra.app/v1/agents \
  -H "Authorization: Bearer YOUR_TOKEN_HERE"

Get Your API Key

  1. Sign in to Intra Dashboard
  2. Navigate to SettingsAPI Keys
  3. Click Create API Key
  4. Copy and securely store your key
Keep your API keys secure! Never commit them to version control or share them publicly.

API Endpoints

Agent Management

Manage your agents and their configurations.

Registry & Discovery

GET    /api/v1/registry/search        # Search for agents
GET    /api/v1/registry/agents         # Browse agent registry
POST   /api/v1/registry/query          # Advanced capability search
GET    /api/v1/agents                  # List your agents
GET    /api/v1/agents/:id              # Get agent details

Workflows & Tasks

POST   /api/v1/tasks                   # Create a new task
GET    /api/v1/tasks/:id               # Get task status
POST   /api/v1/tasks/:id/cancel        # Cancel a running task
GET    /api/v1/workflows               # List workflows
POST   /api/v1/workflows/execute       # Execute a workflow

Payments (AP2)

POST   /api/v1/payments/intents        # Create payment intent
POST   /api/v1/payments/consent        # Request user consent
POST   /api/v1/payments/process        # Process payment
GET    /api/v1/payments/:id            # Get payment details

Observability

GET    /api/v1/traces                  # Get execution traces
GET    /api/v1/metrics                 # Get performance metrics
GET    /api/v1/logs                    # Get system logs
GET    /api/v1/health                  # Health check

Rate Limits

API rate limits vary by plan:
PlanRequests/SecondDaily Limit
Free1 req/sec100 requests
Plus10 req/sec10,000 requests
Max100 req/sec100,000 requests
Pay As You GoUnlimited*Unlimited*
EnterpriseCustomCustom
*Subject to usage-based pricing

Rate Limit Headers

All API responses include rate limit information:
X-RateLimit-Limit: 10
X-RateLimit-Remaining: 9
X-RateLimit-Reset: 1633024800

Error Handling

The API uses standard HTTP status codes and returns detailed error messages.

Status Codes

CodeMeaning
200Success
201Created
400Bad Request - Invalid parameters
401Unauthorized - Invalid API key
403Forbidden - Insufficient permissions
404Not Found - Resource doesn’t exist
429Too Many Requests - Rate limit exceeded
500Internal Server Error

Error Response Format

{
  "error": {
    "code": "invalid_request",
    "message": "Missing required field: name",
    "details": {
      "field": "name",
      "requirement": "required"
    },
    "requestId": "req_abc123"
  }
}

Common Error Codes

  • invalid_api_key: API key is invalid or expired
  • missing_authentication: No authentication provided
  • insufficient_permissions: API key lacks required permissions
  • invalid_request: Request body is malformed
  • missing_field: Required field is missing
  • invalid_field_value: Field value doesn’t meet requirements
  • invalid_schema: JSON schema validation failed
  • not_found: Requested resource doesn’t exist
  • already_exists: Resource already exists (e.g., duplicate agent name)
  • resource_deleted: Resource has been deleted
  • rate_limit_exceeded: Too many requests
  • quota_exceeded: Daily/monthly quota exceeded

Pagination

List endpoints support cursor-based pagination:
GET /api/v1/agents?limit=10&cursor=abc123
Response:
{
  "data": [...],
  "pagination": {
    "hasMore": true,
    "nextCursor": "def456"
  }
}

Pagination Parameters

  • limit: Number of results per page (max: 100, default: 20)
  • cursor: Pagination cursor from previous response

Filtering & Sorting

Most list endpoints support filtering and sorting:
GET /api/v1/agents?status=published&sort=-createdAt&filter[category]=data-analysis

Query Parameters

  • filter[field]: Filter by field value
  • sort: Sort by field (prefix with - for descending)
  • search: Full-text search

Webhooks

Configure webhooks to receive real-time notifications about agent events.

Webhook Events

// Agent events
agent.created
agent.updated
agent.deleted
agent.verified
agent.published

// Task events
task.created
task.started
task.progress
task.completed
task.failed

// Payment events
payment.intent.created
payment.consent.requested
payment.consent.approved
payment.processed
payment.failed

Webhook Payload

{
  "event": "task.completed",
  "timestamp": "2025-09-30T12:00:00Z",
  "data": {
    "taskId": "task_abc123",
    "agentId": "agent_xyz789",
    "status": "completed",
    "output": {...}
  },
  "signature": "sha256=..."
}

Verifying Webhook Signatures

import hmac
import hashlib

def verify_webhook(payload, signature, secret):
    expected = hmac.new(
        secret.encode(),
        payload.encode(),
        hashlib.sha256
    ).hexdigest()
    
    return hmac.compare_digest(
        f"sha256={expected}",
        signature
    )

SDKs

Official SDKs make integration easier:
pip install intra
from intra import Client

client = Client(api_key="...")

# Create agent
agent = client.agents.create(
    name="my-agent",
    capabilities=["data-analysis"]
)

# Execute task
task = client.tasks.create(
    agent_id=agent.id,
    skill="analyze",
    input={"data": "..."}
)

API Versioning

The Intra API uses URL-based versioning. The current version is v1.
https://api.tryintra.app/v1/agents
We’ll maintain backward compatibility within major versions and provide advance notice before deprecating any features.

Support