Spaces:
Sleeping
Sleeping
File size: 7,217 Bytes
d8d14f1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 |
# Agents API Documentation
The `https://swarms.world/api/add-agent` endpoint allows users to add a new agent to the Swarms platform. This API accepts a POST request with a JSON body containing details of the agent, such as its name, description, use cases, language, tags and requirements. The request must be authenticated using an API key.
## Endpoint: Add Agent
- **URL:** `https://swarms.world/api/add-agent`
- **Method:** POST
- **Content-Type:** `application/json`
- **Authorization:** Bearer token required in the header
## Request Parameters
The request body should be a JSON object with the following attributes:
| Attribute | Type | Description | Required |
| -------------- | -------- | -------------------------------------------------------------------------- | -------- |
| `name` | `string` | The name of the agent. | Yes |
| `agent` | `string` | The agent text. | Yes |
| `description` | `string` | A brief description of the agent. | Yes |
| `language` | `string` | The agent's syntax language with a default of python | No |
| `useCases` | `array` | An array of use cases, each containing a title and description. | Yes |
| `requirements` | `array` | An array of requirements, each containing a package name and installation. | Yes |
| `tags` | `string` | Comma-separated tags for the agent. | Yes |
### `useCases` Structure
Each use case in the `useCases` array should be an object with the following attributes:
| Attribute | Type | Description | Required |
| ------------- | -------- | ------------------------------------ | -------- |
| `title` | `string` | The title of the use case. | Yes |
| `description` | `string` | A brief description of the use case. | Yes |
### `requirements` Structure
Each requirement in the `requirements` array should be an object with the following attributes:
| Attribute | Type | Description | Required |
| -------------- | -------- | ------------------------------------ | -------- |
| `package` | `string` | The name of the package. | Yes |
| `installation` | `string` | Installation command for the package | Yes |
## Example Usage
### Python
```python
import requests
import json
import os
url = "https://swarms.world/api/add-agent"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {os.getenv("SWARMS_API_KEY")}"
}
data = {
"name": "Example Agent",
"agent": "This is an example agent from an API route.",
"description": "Description of the agent.",
"language": "python",
"useCases": [
{"title": "Use case 1", "description": "Description of use case 1"},
{"title": "Use case 2", "description": "Description of use case 2"}
],
"requirements": [
{"package": "pip", "installation": "pip install"},
{"package": "pip3", "installation": "pip3 install"}
],
"tags": "example, agent"
}
response = requests.post(url, headers=headers, data=json.dumps(data))
print(response.json())
```
### Node.js
```javascript
const fetch = require("node-fetch");
async function addAgentHandler() {
try {
const response = await fetch("https://swarms.world/api/add-agent", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer {apiKey}",
},
body: JSON.stringify({
name: "Example Agent",
agent: "This is an example agent from an API route.",
description: "Description of the agent.",
language: "python",
useCases: [
{ title: "Use case 1", description: "Description of use case 1" },
{ title: "Use case 2", description: "Description of use case 2" },
],
requirements: [
{ package: "pip", installation: "pip install" },
{ package: "pip3", installation: "pip3 install" },
],
tags: "example, agent",
}),
});
const result = await response.json();
console.log(result);
} catch (error) {
console.error("An error has occurred", error);
}
}
addAgentHandler();
```
### Go
```go
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
url := "https://swarms.world/api/add-agent"
payload := map[string]interface{}{
"name": "Example Agent",
"agent": "This is an example agent from an API route.",
"description": "Description of the agent.",
"useCases": []map[string]string{
{"title": "Use case 1", "description": "Description of use case 1"},
{"title": "Use case 2", "description": "Description of use case 2"},
},
"requirements": []map[string]string{
{"package": "pip", "installation": "pip install"},
{"package": "pip3", "installation": "pip3 install"}
},
"tags": "example, agent",
}
jsonPayload, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonPayload))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer {apiKey}")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println("An error has occurred", err)
return
}
defer resp.Body.Close()
var result map[string]interface{}
json.NewDecoder(resp.Body).Decode(&result)
fmt.Println(result)
}
```
### cURL
```bash
curl -X POST https://swarms.world/api/add-agent \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {apiKey}" \
-d '{
"name": "Example Agent",
"agent": "This is an example agent from an API route.",
"description": "Description of the agent.",
"language": "python",
"useCases": [
{ title: "Use case 1", description: "Description of use case 1" },
{ title: "Use case 2", description: "Description of use case 2" },
],
"requirements": [
{ package: "pip", installation: "pip install" },
{ package: "pip3", installation: "pip3 install" },
],
"tags": "example, agent",
}'
```
## Response
The response will be a JSON object containing the result of the operation. Example response:
```json
{
"success": true,
"message": "Agent added successfully",
"data": {
"id": "agent_id",
"name": "Example Agent",
"agent": "This is an example agent from an API route.",
"description": "Description of the agent.",
"language": "python",
"useCases": [
{ "title": "Use case 1", "description": "Description of use case 1" },
{ "title": "Use case 2", "description": "Description of use case 2" }
],
"requirements": [
{ "package": "pip", "installation": "pip install" },
{ "package": "pip3", "installation": "pip3 install" }
],
"tags": "example, agent"
}
}
``` |