Skip to main content

Tool Execution & Jobs API

Execute discovered tools and manage long-running tasks.

Overview

Two execution modes:
  1. Direct Execution (/execute_tool) - Synchronous, immediate results
  2. Job Queue (/jobs/*) - Asynchronous, background execution
Choose based on your needs:

POST /execute_tool

Execute a tool directly (admin only)

Authentication

Required (Admin key)

Request Body

Request Examples

Simple Execution:
With Timeout:

Response Format

Success (200):
Error (400):
Timeout (504):

Error Codes


POST /jobs/submit

Submit async job for execution

Authentication

Required

Request Body

Request Example

Response Format


GET /jobs/

Poll job status and retrieve results

Authentication

Required

Path Parameters

Request Example

Response Format (Queued)

Response Format (Running)

Response Format (Completed)

Response Format (Failed)

Job Status Values


DELETE /jobs/

Cancel a queued job

Authentication

Required (Job owner only)

Path Parameters

Request Example

Response Format

Error Cases

Can’t cancel running job (400):
Job not found (404):

GET /jobs

List user’s recent jobs

Authentication

Required

Query Parameters

Request Examples

List Recent Jobs:
Filter by Status:

Response Format


Polling Strategy

Exponential Backoff

Event Stream Polling


Webhook Notifications

For long-running jobs, register webhooks instead of polling:

Register Webhook

Webhook Payload


Best Practices

1. Use Jobs for Long Operations

2. Handle All Job States

3. Store Job IDs

4. Implement Timeout Logic


Rate Limiting

Execution endpoints have rate limits: Headers included in response:

Monitoring & Observability

List All Jobs

Track Execution Metrics


See Also