Skip to main content

Agent Service API — Python client

A Python client library for the Agent Service HTTP API (workflow execution, agents, and related endpoints).

Imports: The implementation package is agentsapi. The PyPI distribution name is agentserviceapi; after pip install agentserviceapi you can import either agentsapi or the thin alias module agentserviceapi (same public symbols). In this monorepo, prefer from agentsapi import ....

Installation

pip install agentserviceapi

For a checkout of this repository, install in editable mode:

pip install -e .

Requires Python 3.10 or newer.

Cursor and Claude Code skills

Bundled markdown skills live next to the package:

  • agenthub-python-cursor-skill.md — save as .cursor/skills/agenthub-python/SKILL.md
  • agenthub-python-claude-skill.md — save as .claude/skills/agenthub-python.md (or another name under .claude/skills/)

Print the install directory:

python -c "import pathlib, agentsapi; print(pathlib.Path(agentsapi.__file__).resolve().parent / 'skills')"

On Agent Hub, the same files are also served at /skills/… on your app origin for curl (see the in-product setup guide).

Usage

Basic usage

import asyncio
from agentserviceapi import AgentServiceAPIClient

async def main():
    client = AgentServiceAPIClient()

    response = await client.execute_agent(
        agent_id="your-agent-id",
        string_inputs={"1": "Hello, world!"},
        environment="playground",
    )

    print(f"Task ID: {response.task_id}")
    print(f"Status: {response.status}")

asyncio.run(main())

Advanced usage

import asyncio
from agentserviceapi import (
    AgentServiceAPIClient,
    AgentInputs,
    AgentServiceAPIException,
    AgentServiceAPITimeoutError,
    AgentServiceAPIConnectionError,
)

async def main():
    client = AgentServiceAPIClient(timeout=60.0)  # default base_url is https://sudoiq.com

    inputs = AgentInputs(
        strings={"1": "Hello", "2": "World"},
        images={"1": "base64_image_data"},
    )

    try:
        response = await client.execute_agent(
            agent_id="your-agent-id",
            string_inputs=inputs.strings,
            image_inputs=inputs.images,
            environment="production",
        )

        print(f"Task started: {response.task_id}")

    except AgentServiceAPIException as e:
        print(f"API Error: {e}")
    except AgentServiceAPITimeoutError as e:
        print(f"Timeout: {e}")
    except AgentServiceAPIConnectionError as e:
        print(f"Connection Error: {e}")

asyncio.run(main())

The agentsapi module name is also available for the same symbols (for example from agentsapi import AgentServiceAPIClient).

API reference

AgentServiceAPIClient

Main client for the Agent Service API.

Exceptions

  • AgentServiceAPIException: General API errors
  • AgentServiceAPITimeoutError: Request timeout errors
  • AgentServiceAPIConnectionError: Connection errors
  • AgentServiceAPIHTTPError: HTTP errors (structured detail / error_code when present)

License

MIT License

Release files for agentserviceapi 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agentserviceapi 0.1.0
File Size Uploaded
agentserviceapi-0.1.0.tar.gz 69.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for agentserviceapi 0.1.0
File Interpreter ABI Platform
agentserviceapi-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 149.4 kB

Release files / agentserviceapi-0.1.0.tar.gz

Download URL agentserviceapi-0.1.0.tar.gz
Size 69.3 kB
Tags Source
SHA-256 checksum
How to use checksums
54012f52d6242d72fa865db04c44542f15f94ec6049e78cdded81d5ded509950
BLAKE2b-256 checksum
How to use checksums
ea46e1a7d420b0eaac2c98d0a304b0ca269307e0c029285cd18e1d1df55d34ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release files / agentserviceapi-0.1.0-py3-none-any.whl

Download URL agentserviceapi-0.1.0-py3-none-any.whl
Size 80.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8e2512952959c3ef28438d60081ea1446a9e3d4ab681db469b4e8cb75a2c5f89
BLAKE2b-256 checksum
How to use checksums
84158fdba09096154bdd43643a74e1acac84d6d71bf603b1764755990f68fcf3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.14

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page