Agents API
Deploy and configure agents
Agents API
Create, configure, and manage AI agents through the BambooSnow API.
Endpoints
| Method | Endpoint | Description | |--------|----------|-------------| | GET | /v1/agents | List agents | | GET | /v1/agents/:id | Get agent details | | POST | /v1/agents | Create agent | | PATCH | /v1/agents/:id | Update agent | | DELETE | /v1/agents/:id | Delete agent | | POST | /v1/agents/:id/run | Trigger agent run |
List Agents
GET /v1/agents
Query Parameters
| Parameter | Type | Description | |-----------|------|-------------| | repository_id | string | Filter by repository | | template | string | Filter by template | | status | string | Filter by status (active, paused, error) | | page | integer | Page number | | per_page | integer | Items per page |
Response
{
"data": [
{
"id": "agent_abc123",
"name": "code-reviewer",
"template": "code-reviewer",
"repository_id": "repo_xyz",
"status": "active",
"created_at": "2024-01-15T10:30:00Z",
"last_run_at": "2024-01-15T14:30:00Z",
"runs_count": 45,
"success_rate": 0.98
}
],
"meta": {
"total": 12,
"page": 1,
"per_page": 20
}
}
Get Agent
GET /v1/agents/:id
Response
{
"id": "agent_abc123",
"name": "code-reviewer",
"template": "code-reviewer",
"repository": {
"id": "repo_xyz",
"name": "owner/repo"
},
"status": "active",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T14:30:00Z",
"triggers": {
"pull_request": ["opened", "synchronize"]
},
"config": {
"review_style": "balanced",
"min_severity": "warning",
"auto_approve": false
},
"stats": {
"total_runs": 45,
"successful_runs": 44,
"failed_runs": 1,
"avg_duration_ms": 32000,
"issues_found": 156
},
"recent_runs": [
{
"id": "run_123",
"status": "success",
"pr_number": 42,
"completed_at": "2024-01-15T14:30:00Z"
}
]
}
Create Agent
POST /v1/agents
Request Body
{
"name": "my-code-reviewer",
"template": "code-reviewer",
"repository_id": "repo_xyz",
"triggers": {
"pull_request": {
"types": ["opened", "synchronize"],
"branches": {
"include": ["main", "develop"]
}
}
},
"config": {
"review_style": "thorough",
"min_severity": "info",
"focus_areas": ["security", "performance"],
"exclude_patterns": ["**/*.test.ts"]
},
"approval_workflow": {
"enabled": true,
"requires_approval": ["merge_pr"]
}
}
Response
{
"id": "agent_abc123",
"name": "my-code-reviewer",
"status": "active",
"message": "Agent created successfully"
}
Update Agent
PATCH /v1/agents/:id
Request Body
{
"status": "paused",
"config": {
"review_style": "quick"
}
}
Response
{
"id": "agent_abc123",
"status": "paused",
"updated_at": "2024-01-15T15:00:00Z"
}
Delete Agent
DELETE /v1/agents/:id
Query Parameters
| Parameter | Type | Description | |-----------|------|-------------| | keep_history | boolean | Keep run history (default: false) |
Response
{
"id": "agent_abc123",
"deleted": true
}
Trigger Agent Run
POST /v1/agents/:id/run
Request Body
{
"pull_request": 42,
"branch": "feature/new-feature",
"commit_sha": "abc123...",
"options": {
"full_analysis": true,
"notify": true
}
}
Response
{
"run_id": "run_456",
"agent_id": "agent_abc123",
"status": "queued",
"estimated_start": "2024-01-15T15:01:00Z"
}
Available Templates
GET /v1/agents/templates
Response
{
"templates": [
{
"id": "code-reviewer",
"name": "Code Reviewer",
"description": "Automated PR code review",
"languages": ["typescript", "python", "go"],
"config_schema": {
"review_style": {
"type": "string",
"enum": ["quick", "balanced", "thorough"],
"default": "balanced"
}
}
},
{
"id": "security-scanner",
"name": "Security Scanner",
"description": "Find security vulnerabilities"
}
]
}