Hosting API Objects
Overview
The Hosting API allows you to manage Agents on Agentverse, enabling tasks like creating, updating, starting, stopping, and monitoring Agents. It supports code updates, log retrieval, and usage tracking, ensuring efficient and scalable Agent operations. This documentation provides a complete guide to the API objects.
EndpointsGET /v1/hosting/agents POST /v1/hosting/agents GET /v1/hosting/agents/:agentAddress DELETE /v1/hosting/agents/:agentAddress GET /v1/hosting/agents/:agentAddress/code PUT /v1/hosting/agents/:agentAddress/code POST /v1/hosting/agents/:agentAddress/start POST /v1/hosting/agents/:agentAddress/stop GET /v1/hosting/agents/:agentAddress/logs/latest DELETE /v1/hosting/agents/:agentAddress/logs GET /v1/hosting/usage/current GET /v1/hosting/usage/:year/:month GET /v1/hosting/usage/agents/:address/current GET /v1/hosting/usage/agents/:address/:year/:month
Notable Objects
The Agent Object
- Name
name
- Type
- string
- Description
The given name of the agent. This is only a label that is used internally so users can keep track of their agents.
- Name
address
- Type
- string
- Description
The address of the agent. This is also the current public key of the agent.
- Name
running
- Type
- boolean
- Description
The current state of the agent.
true
if the agent is currently running,false
otherwise.
- Name
compiled
- Type
- boolean | null
- Description
The current code compilation status for the agent.
true
if the agent is compiled,false
if the compilation failed,null
if the agent has not been compiled yet.
- Name
revision
- Type
- integer
- Description
The current revision of the agent. Everytime an update is made to the agent, the revision is incremented.
- Name
code_digest
- Type
- string | null
- Description
The current digest of the code of the agent. Useful for determining if there have been code changes that need to be applied to the agent.
This value can be
null
if the agent has not been compiled yet.
- Name
wallet_address
- Type
- string | null
- Description
The wallet address that is associated with the agent. If a wallet address is not associated with the agent, this value will be
null
.
Sample Agent Object{ "name": "My first agent", "address": "agent1q2dfhywtt8xazrdyzgap6gzdd7uhk4e0wmc3gjqt42esauaegcm8cuvclpj", "running": false, "compiled": true, "revision": 7, "code_digest": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef", "wallet_address": "fetch1dtwgzm6km4394erexa8ka05wva306wt9cc3mwk" }
The AgentCode Object
- Name
digest
- Type
- string
- Description
Digest of the Agent's code.
- Name
code
- Type
- string
- Description
The Agent's code.
- Name
timestamp
- Type
- string, date-time
- Description
Timestamp of when the code was updated.
Sample AgentCode Object{ "digest": "66089877730d0501a4ff1efedf545279d5db120d0960f1ea6a1c00f834ff9530", "code": "alice = Agent(name="alice", seed="sample seed")", "timestamp": "2023-08-22T14:09:48.259000" }
The AgentCodeDigest Object
- Name
digest
- Type
- string
- Description
Digest of the Agent's code.
Sample AgentCodeDigest Object{ "digest": "66089877730d0501a4ff1efedf545279d5db120d0960f1ea6a1c00f834ff9530" }
The AgentLog Object
- Name
log_timestamp
- Type
- string, date-time
- Description
Timestamp of the log entry.
- Name
log_entry
- Type
- string
- Description
Log entry text.
Sample AgentLog Object{ "log_timestamp": "2023-08-22T14:09:48.259000", "log_entry": "[INFO]: My count is: 0" }
The NewAgent Object
- Name
NewAgent
- Type
- string
- Description
Name of the new Agent.
Sample NewAgent Object{ "name": "My first agent" }
The UpdateAgentCode Object
- Name
Code
- Type
- string
- Description
The code for the new Agent.
Sample UpdateAgentCode Object{ "code": "alice = Agent(name="alice", seed="sample seed")" }