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.
EndpointsGET /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.
Sample Agent Object{ "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 reserved or available.
Sample AgentNameAvailability Object{ "name_prefix": "Example Name", "domain": ".agent", "Status": "Available" }
The AgentNameAvailabilityStatus Object
- Name
AgentNameAvailability
- Type
- string
- Description
Enumerated as reserved or available.
Sample AgentNameAvailabilityStatus Object{ "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>" -H "Content-Type: application/json"
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>" -H "Content-Type: application/json"
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>" -H "Content-Type: application/json"
https://agentverse.ai/v1/almanac/agents/{address}
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>" -H "Content-Type: application/json"
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>" -H "Content-Type: application/json"
https://agentverse.ai/v1/almanac/manifests/protocols/{protocol_digest}
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>" -H "Content-Type: application/json"
https://agentverse.ai/v1/almanac/manifests/models/{model_digest}
Responses
[ { "version": "1.0", "metadata": [ { "name": "alice", "version": "0.1.0", "digest": "proto:a98290009c0891bc431c5159357074527d10eff6b2e86a61fcf7721b472f1125" } ], "models": [], "interactions": [] } ]