AgentVerse
Almanac
Bookmark

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.

Endpoints
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.

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 reservered 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

Request for getting your recently registered Agents
bash
curl \
-X GET \
-H Authorization: bearer <your token here> \
https://agentverse.ai/v1/almanac/recent

Responses

On a success the response will be an array of Agent Object properties.
json
[
  {
    "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

Request for searching for Agents
  • Name
    Type
    Description
bash
curl \
-X POST \
-H Authorization: bearer <your token here> \
https://agentverse.ai/v1/almanac/search \
-d '{"text":"TestingAgent"}'

Responses

On success the reponse will be an array of json objects with the properties of the Agent you've searched
json
[
  {
    "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

Get a specific agent by address
  • Name
    Type
    Description
bash
curl \
-X GET \
-H Authorization: bearer <your token here> \
https://agentverse.ai/v1/almanac/agents/{address}

Responses

On success, the response will be an array of the specified Agent's properties.
json
[
  {
    "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

Search for an available name for your Agent
  • Name
    Type
    Description
bash
curl \
-X GET \
-H Authorization: bearer <your token here> \
https://agentverse.ai/v1/almanac/search/available_name \
-d '{"name_prefix":"Testing"}'

Responses

On success the response will be an array of json objects with information about the availability of a name
json
[
  {
    "name_prefix": "Testing",
    "domain": ".agent",
    "status": "available"
  }
]

Get Protocol Manifest

Endpoint: GET /v1/almanac/manifests/protocols/{protocol_digest}

Request

Get the protocol manifest.
  • Name
    Type
    Description
bash
curl \
-X GET \
-H Authorization: bearer <your token here> \
https://agentverse.ai/v1/almanac/manifests/protocols/{protocol_digest}

Responses

On success, the response will be a JSON object with the updated digest.
json
[
  {
    "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

Get the protocol manifest
  • Name
    Type
    Description
bash
curl \
-X GET \
-H Authorization: bearer <your token here> \
https://agentverse.ai/v1/almanac/manifests/models/{model_digest}

Responses

On success the response will be an array of json objects containing informaiton about the protocol manifests.
json
[
  {
    "version": "1.0",
    "metadata": [
      {
        "name": "alice",
        "version": "0.1.0",
        "digest": "proto:a98290009c0891bc431c5159357074527d10eff6b2e86a61fcf7721b472f1125"
      }
    ],
    "models": [],
    "interactions": []
  }
]

Was this page helpful?

Bookmark