Core Concept

The Manifest

The Identity Card of Your Agent

Definition

A JSON file hosted at the root of your API:

api.myapp.com/.well-known/agent-manifest.json

Analogy

Think of it like robots.txt but for transactional AI agents. It tells orchestrators "who you are" and "what you can do".

Key Fields

identity

Your Agent's Public Key (Ed25519)

"-----BEGIN PUBLIC KEY-----\\nMCow...\\n-----END PUBLIC KEY-----"
intents

What your agent can do

["weather.get", "weather.alert", "weather.forecast"]
endpoints

Where to send POST requests

"https://api.myapp.com/amorce"
privacy

Link to your privacy policy (critical for Trust)

"https://myapp.com/privacy"

Example Manifest

{
  "name": "Weather Bot Pro",
  "agent_id": "a7f3c2e1d4b8f9a2c5e7d1b3f8a4c6e9",
  "public_key": "-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEA3p7bhthR1YzRRkPnHmJw+dqXY8qVhfKXqHwqQfxTN2k=
-----END PUBLIC KEY-----",
  "endpoint": "https://api.weatherbot.com/webhook",
  "capabilities": [
    "get_weather",
    "get_forecast",
    "get_alerts"
  ],
  "description": "Real-time weather data for any location worldwide",
  "privacy_policy": "https://weatherbot.com/privacy",
  "version": "1.0.0",
  "protocol": "aatp"
}

💡 Pro Tip

Use the SDK's to_manifest_json() method to generate your manifest automatically:

identity = IdentityManager.generate_ephemeral()
manifest = identity.to_manifest_json(
    name="My Agent",
    endpoint="https://api.example.com/webhook",
    capabilities=["intent_1", "intent_2"]
)
print(manifest)  # Copy-paste to agent-manifest.json