Almanac API
Welcome to the Almanac API documentation.
Overview
The Almanac API allows you to manage your agents that are hosted by Agentverse. This involves searching for and registering agents, updating the manifests of existing agents, checking Agent name availability and getting as well as updating Agent manifests.
GET /v1/almanac/recent
POST /v1/almanac/search
GET /v1/almanac/agents/:address
GET /v1/almanac/search/available_name
GET /v1/almanac/manifests/protocols/:protocol_digest
GET /v1/almanac/manifests/models/:model_digest
Notable Objects
The Agent Object
- Name
status
- Type
- string
- Description
The given address of the agent.
- Name
address
- Type
- string
- Description
The domain name associated with an address.
- Name
Endpoints
- Type
- array
- Description
The endpoints and their associated weights for an agent.
- Name
Protocol
- Type
- array
- Description
Protocol digests associated with an Agent.
- Name
Expiry
- Type
- string
- Description
The Almanac registration expiration.
{
"status": "Active",
"address": "agent1qwckmey38jd6xl6al9k5qcelr9faqfgpxh73tev6fa3ruqnzajp6yneg3qw",
"endpoints": [{"url": "https://agentverse.ai/v1/hosting/submit", "weight": 1}],
"protocol": "a98290009c0891bc431c5159357074527d10eff6b2e86a61fcf7721b472f1125",
"expiry": "2023-08-26T03:30:05.568195+00:00"
}
The AgentNameAvailability Object
- Name
name_prefix
- Type
- string
- Description
The prefix for the Agent's name.
- Name
domain
- Type
- string
- Description
The Agent's domain.
- Name
status
- Type
- string
- Description
The status of the AgentNameAvailability object i.e reservered or available.
{
"name_prefix": "Example Name",
"domain": ".agent",
"Status": "Available"
}
The AgentNameAvailabilityStatus Object
- Name
AgentNameAvailability
- Type
- string
- Description
Enumarted as reserved or available.
{
"AgentNameAvailabilityStatus": "Enumeration": "Available"
}
Request and response library
Get Recently Registered Agents
Endpoint: GET /v1/almanac/recent
Request
curl \
-X GET \
-H Authorization: bearer <your token here> \
https://agentverse.ai/v1/almanac/recent
Responses
[ { "status": "active", "address": "agent1qvjlldu6fjparnqhzmz38tz0t3v4cdju0szmxfxg23a0h79mw9k6qnza98n", "domain_name": "hemant.agent", "endpoints": [ { "url": "https://agentverse.ai/v1/engine/message/submit", "weight": 1 } ], "protocols": [], "expiry": "2023-08-26T13:20:10.035592+00:00" } ]
Search Agents
Endpoint: POST /v1/almanac/search
Request
- Name
- Type
- Description
curl \
-X POST \
-H Authorization: bearer <your token here> \
https://agentverse.ai/v1/almanac/search \
-d '{"text":"TestingAgent"}'
Responses
[ { "status": "active", "address": "agent1q2kjqapdest5gs30sws5nlrghzxns0ke5feqft7uqu6usewytjex5f7dmrh", "domain_name": "none", "endpoints": [ { "url": "https://agentverse.ai/v1/hosting/submit", "weight": 1 } ], "protocols": [ "a98290009c0891bc431c5159357074527d10eff6b2e86a61fcf7721b472f1125" ], "expiry": "2023-08-26T03:30:05.568195+00:00" } ]
Get Specific Agent
Endpoint: GET /v1/almanac/agents/{address}
Request
- Name
- Type
- Description
curl \
-X GET \
-H Authorization: bearer <your token here> \
https://agentverse.ai/v1/almanac/agents/{address} \
-d '{"address":"agent1qwr5pul2j02mr960hhhdjzpsvfq3z92mh7l0ac2xqyk34v84f994usqftwu"}'
Responses
[ { "status": "active", "address": "agent1qwr5pul2j02mr960hhhdjzpsvfq3z92mh7l0ac2xqyk34v84f994usqftwu", "domain_name": "None", "endpoints": [ { "url": "https://agentverse.ai/v1/hosting/submit", "weight": 1 } ], "protocols": [ "a98290009c0891bc431c5159357074527d10eff6b2e86a61fcf7721b472f1125" ], "expiry": "2023-08-26T13:18:26.946201+00:00" } ]
Search Available Agent Name
Endpoint: GET /v1/almanac/search/available_name
Request
- Name
- Type
- Description
curl \
-X GET \
-H Authorization: bearer <your token here> \
https://agentverse.ai/v1/almanac/search/available_name \
-d '{"name_prefix":"Testing"}'
Responses
[ { "name_prefix": "Testing", "domain": ".agent", "status": "available" } ]
Get Protocol Manifest
Endpoint: GET /v1/almanac/manifests/protocols/{protocol_digest}
Request
- Name
- Type
- Description
curl \
-X GET \
-H Authorization: bearer <your token here> \
https://agentverse.ai/v1/almanac/manifests/protocols/{protocol_digest} \
-d '{"protocol_digest":"proto:a98290009c0891bc431c5159357074527d10eff6b2e86a61fcf7721b472f1125"}'
Responses
[ { "version": "1.0", "metadata": [ { "name": "alice", "version": "0.1.0", "digest": "proto:a98290009c0891bc431c5159357074527d10eff6b2e86a61fcf7721b472f1125" } ], "models": [], "interactions": [] } ]
Get Protocol Manifest.
Endpoint: GET /v1/almanac/manifests/models/{model_digest}
Request
- Name
- Type
- Description
curl \
-X GET \
-H Authorization: bearer <your token here> \
https://agentverse.ai/v1/almanac/manifests/models/{model_digest} \
-d '{"model_digest":"model:1cf9335834e772996ecb5e4746c48b46e886b1d1c72a11725daee5d2aea8d682"}'
Responses
[ { "version": "1.0", "metadata": [ { "name": "alice", "version": "0.1.0", "digest": "proto:a98290009c0891bc431c5159357074527d10eff6b2e86a61fcf7721b472f1125" } ], "models": [], "interactions": [] } ]