parent
166ab2ab75
commit
b9088d5f49
@ -0,0 +1,178 @@
|
||||
# Prompts API Documentation
|
||||
|
||||
The `https://swarms.world/api/add-prompt` endpoint allows users to add a new prompt to the Swarms platform. This API accepts a POST request with a JSON body containing details of the prompt, such as its name, description, use cases, and tags. The request must be authenticated using an API key.
|
||||
|
||||
## Endpoint: Add Prompt
|
||||
|
||||
- **URL:** `https://swarms.world/api/add-prompt`
|
||||
- **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 prompt. | Yes |
|
||||
| `prompt` | `string` | The prompt text. | Yes |
|
||||
| `description` | `string` | A brief description of the prompt. | Yes |
|
||||
| `useCases` | `array` | An array of use cases, each containing a title and description. | Yes |
|
||||
| `tags` | `string` | Comma-separated tags for the prompt. | No |
|
||||
|
||||
### `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 |
|
||||
|
||||
## Example Usage
|
||||
|
||||
### Python
|
||||
|
||||
```python
|
||||
import requests
|
||||
import json
|
||||
|
||||
url = "https://swarms.world/api/add-prompt"
|
||||
headers = {
|
||||
"Content-Type": "application/json",
|
||||
"Authorization": "Bearer {apiKey}"
|
||||
}
|
||||
data = {
|
||||
"name": "Example Prompt",
|
||||
"prompt": "This is an example prompt from an API route.",
|
||||
"description": "Description of the prompt.",
|
||||
"useCases": [
|
||||
{"title": "Use case 1", "description": "Description of use case 1"},
|
||||
{"title": "Use case 2", "description": "Description of use case 2"}
|
||||
],
|
||||
"tags": "example, prompt"
|
||||
}
|
||||
|
||||
response = requests.post(url, headers=headers, data=json.dumps(data))
|
||||
print(response.json())
|
||||
```
|
||||
|
||||
### Node.js
|
||||
|
||||
```javascript
|
||||
const fetch = require("node-fetch");
|
||||
|
||||
async function addPromptsHandler() {
|
||||
try {
|
||||
const response = await fetch("https://swarms.world/api/add-prompt", {
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
Authorization: "Bearer {apiKey}",
|
||||
},
|
||||
body: JSON.stringify({
|
||||
name: "Example Prompt",
|
||||
prompt: "This is an example prompt from an API route.",
|
||||
description: "Description of the prompt.",
|
||||
useCases: [
|
||||
{ title: "Use case 1", description: "Description of use case 1" },
|
||||
{ title: "Use case 2", description: "Description of use case 2" },
|
||||
],
|
||||
tags: "example, prompt",
|
||||
}),
|
||||
});
|
||||
|
||||
const result = await response.json();
|
||||
console.log(result);
|
||||
} catch (error) {
|
||||
console.error("An error has occurred", error);
|
||||
}
|
||||
}
|
||||
|
||||
addPromptsHandler();
|
||||
```
|
||||
|
||||
### Go
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
func main() {
|
||||
url := "https://swarms.world/api/add-prompt"
|
||||
payload := map[string]interface{}{
|
||||
"name": "Example Prompt",
|
||||
"prompt": "This is an example prompt from an API route.",
|
||||
"description": "Description of the prompt.",
|
||||
"useCases": []map[string]string{
|
||||
{"title": "Use case 1", "description": "Description of use case 1"},
|
||||
{"title": "Use case 2", "description": "Description of use case 2"},
|
||||
},
|
||||
"tags": "example, prompt",
|
||||
}
|
||||
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-prompt \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "Authorization: Bearer {apiKey}" \
|
||||
-d '{
|
||||
"name": "Example Prompt",
|
||||
"prompt": "This is an example prompt from an API route.",
|
||||
"description": "Description of the prompt.",
|
||||
"useCases": [
|
||||
{ "title": "Use case 1", "description": "Description of use case 1" },
|
||||
{ "title": "Use case 2", "description": "Description of use case 2" }
|
||||
],
|
||||
"tags": "example, prompt"
|
||||
}'
|
||||
```
|
||||
|
||||
## Response
|
||||
|
||||
The response will be a JSON object containing the result of the operation. Example response:
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"message": "Prompt added successfully",
|
||||
"data": {
|
||||
"id": "prompt_id",
|
||||
"name": "Example Prompt",
|
||||
"prompt": "This is an example prompt from an API route.",
|
||||
"description": "Description of the prompt.",
|
||||
"useCases": [
|
||||
{ "title": "Use case 1", "description": "Description of use case 1" },
|
||||
{ "title": "Use case 2", "description": "Description of use case 2" }
|
||||
],
|
||||
"tags": "example, prompt"
|
||||
}
|
||||
}
|
||||
```
|
@ -1,182 +1,3 @@
|
||||
# Prompts API Documentation
|
||||
|
||||
The `https://swarms.world/api/add-prompt` endpoint allows users to add a new prompt to the Swarms platform. This API accepts a POST request with a JSON body containing details of the prompt, such as its name, description, use cases, and tags. The request must be authenticated using an API key.
|
||||
|
||||
## Endpoint: Add Prompt
|
||||
|
||||
- **URL:** `https://swarms.world/api/add-prompt`
|
||||
- **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 prompt. | Yes |
|
||||
| `prompt` | `string` | The prompt text. | Yes |
|
||||
| `description` | `string` | A brief description of the prompt. | Yes |
|
||||
| `useCases` | `array` | An array of use cases, each containing a title and description. | Yes |
|
||||
| `tags` | `string` | Comma-separated tags for the prompt. | No |
|
||||
|
||||
### `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 |
|
||||
|
||||
## Example Usage
|
||||
|
||||
### Python
|
||||
|
||||
```python
|
||||
import requests
|
||||
import json
|
||||
|
||||
url = "https://swarms.world/api/add-prompt"
|
||||
headers = {
|
||||
"Content-Type": "application/json",
|
||||
"Authorization": "Bearer {apiKey}"
|
||||
}
|
||||
data = {
|
||||
"name": "Example Prompt",
|
||||
"prompt": "This is an example prompt from an API route.",
|
||||
"description": "Description of the prompt.",
|
||||
"useCases": [
|
||||
{"title": "Use case 1", "description": "Description of use case 1"},
|
||||
{"title": "Use case 2", "description": "Description of use case 2"}
|
||||
],
|
||||
"tags": "example, prompt"
|
||||
}
|
||||
|
||||
response = requests.post(url, headers=headers, data=json.dumps(data))
|
||||
print(response.json())
|
||||
```
|
||||
|
||||
### Node.js
|
||||
|
||||
```javascript
|
||||
const fetch = require("node-fetch");
|
||||
|
||||
async function addPromptsHandler() {
|
||||
try {
|
||||
const response = await fetch("https://swarms.world/api/add-prompt", {
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
Authorization: "Bearer {apiKey}",
|
||||
},
|
||||
body: JSON.stringify({
|
||||
name: "Example Prompt",
|
||||
prompt: "This is an example prompt from an API route.",
|
||||
description: "Description of the prompt.",
|
||||
useCases: [
|
||||
{ title: "Use case 1", description: "Description of use case 1" },
|
||||
{ title: "Use case 2", description: "Description of use case 2" },
|
||||
],
|
||||
tags: "example, prompt",
|
||||
}),
|
||||
});
|
||||
|
||||
const result = await response.json();
|
||||
console.log(result);
|
||||
} catch (error) {
|
||||
console.error("An error has occurred", error);
|
||||
}
|
||||
}
|
||||
|
||||
addPromptsHandler();
|
||||
```
|
||||
|
||||
### Go
|
||||
|
||||
```go
|
||||
package main
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
func main() {
|
||||
url := "https://swarms.world/api/add-prompt"
|
||||
payload := map[string]interface{}{
|
||||
"name": "Example Prompt",
|
||||
"prompt": "This is an example prompt from an API route.",
|
||||
"description": "Description of the prompt.",
|
||||
"useCases": []map[string]string{
|
||||
{"title": "Use case 1", "description": "Description of use case 1"},
|
||||
{"title": "Use case 2", "description": "Description of use case 2"},
|
||||
},
|
||||
"tags": "example, prompt",
|
||||
}
|
||||
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-prompt \
|
||||
-H "Content-Type: application/json" \
|
||||
-H "Authorization: Bearer {apiKey}" \
|
||||
-d '{
|
||||
"name": "Example Prompt",
|
||||
"prompt": "This is an example prompt from an API route.",
|
||||
"description": "Description of the prompt.",
|
||||
"useCases": [
|
||||
{ "title": "Use case 1", "description": "Description of use case 1" },
|
||||
{ "title": "Use case 2", "description": "Description of use case 2" }
|
||||
],
|
||||
"tags": "example, prompt"
|
||||
}'
|
||||
```
|
||||
|
||||
## Response
|
||||
|
||||
The response will be a JSON object containing the result of the operation. Example response:
|
||||
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"message": "Prompt added successfully",
|
||||
"data": {
|
||||
"id": "prompt_id",
|
||||
"name": "Example Prompt",
|
||||
"prompt": "This is an example prompt from an API route.",
|
||||
"description": "Description of the prompt.",
|
||||
"useCases": [
|
||||
{ "title": "Use case 1", "description": "Description of use case 1" },
|
||||
{ "title": "Use case 2", "description": "Description of use case 2" }
|
||||
],
|
||||
"tags": "example, prompt"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
# Endpoint: Edit Prompt
|
||||
|
||||
The `https://swarms.world/api/edit-prompt` endpoint allows users to edit an existing prompt on the Swarms platform. This API accepts a POST request with a JSON body containing the prompt details to be updated, such as its name, description, use cases, and tags. The request must be authenticated using an API key.
|
@ -0,0 +1,41 @@
|
||||
import requests
|
||||
import os
|
||||
|
||||
# API endpoint
|
||||
url = "https://swarms.world/api/add-agent" # replace with your actual API endpoint
|
||||
|
||||
# API key
|
||||
api_key = os.getenv("SWARMS_API_KEY") # replace with your actual API key
|
||||
|
||||
# Agent data
|
||||
agent_data = {
|
||||
"name": "Sample Agent",
|
||||
"agent": "SampleAgent001",
|
||||
"language": "Python",
|
||||
"description": "This is a sample agent description.",
|
||||
"requirements": [
|
||||
{"package": "numpy", "installation": "pip install numpy"},
|
||||
{"package": "pandas", "installation": "pip install pandas"}
|
||||
],
|
||||
"useCases": [
|
||||
{"title": "Data Analysis", "description": "Analyzes data using advanced algorithms."},
|
||||
{"title": "Prediction", "description": "Predicts outcomes based on data."}
|
||||
],
|
||||
"tags": "data,analysis,prediction"
|
||||
}
|
||||
|
||||
# Headers
|
||||
headers = {
|
||||
"Authorization": f"Bearer {api_key}",
|
||||
"Content-Type": "application/json"
|
||||
}
|
||||
|
||||
# Sending POST request
|
||||
response = requests.post(url, json=agent_data, headers=headers)
|
||||
|
||||
# Check response
|
||||
if response.status_code == 200:
|
||||
print("Agent created successfully!")
|
||||
else:
|
||||
print(f"Failed to create agent: {response.status_code}")
|
||||
print(response.json())
|
@ -0,0 +1,23 @@
|
||||
import requests
|
||||
import json
|
||||
import os
|
||||
|
||||
url = "https://swarms.world/api/add-prompt"
|
||||
headers = {
|
||||
"Content-Type": "application/json",
|
||||
"Authorization": f"Bearer {os.getenv('SWARMS_API_KEY')}"
|
||||
}
|
||||
|
||||
data = {
|
||||
"name": "Example Prompt",
|
||||
"prompt": "This is an example prompt from an API route.",
|
||||
"description": "Description of the prompt.",
|
||||
"useCases": [
|
||||
{"title": "Use case 1", "description": "Description of use case 1"},
|
||||
{"title": "Use case 2", "description": "Description of use case 2"}
|
||||
],
|
||||
"tags": "example, prompt"
|
||||
}
|
||||
|
||||
response = requests.post(url, headers=headers, data=json.dumps(data))
|
||||
print(response.json())
|
@ -0,0 +1,25 @@
|
||||
import requests
|
||||
import json
|
||||
import os
|
||||
|
||||
url = "https://swarms.world/api/edit-prompt"
|
||||
|
||||
headers = {
|
||||
"Content-Type": "application/json",
|
||||
"Authorization": f"Bearer {os.getenv('SWARMS_API_KEY')}"
|
||||
}
|
||||
|
||||
data = {
|
||||
"id": "prompt_id",
|
||||
"name": "Updated Prompt",
|
||||
"prompt": "This is an updated prompt from an API route.",
|
||||
"description": "Updated description of the prompt.",
|
||||
"useCases": [
|
||||
{"title": "Updated use case 1", "description": "Updated description of use case 1"},
|
||||
{"title": "Updated use case 2", "description": "Updated description of use case 2"}
|
||||
],
|
||||
"tags": "updated, prompt"
|
||||
}
|
||||
|
||||
response = requests.post(url, headers=headers, data=json.dumps(data))
|
||||
print(response.json())
|
@ -0,0 +1,25 @@
|
||||
import requests
|
||||
|
||||
# Fetch all prompts with optional filters
|
||||
def get_prompts(filters):
|
||||
response = requests.get('https://swarms.world/get-prompts', params=filters)
|
||||
|
||||
if response.status_code != 200:
|
||||
raise Exception(f'Error: {response.status_code}, {response.text}')
|
||||
|
||||
data = response.json()
|
||||
print(data)
|
||||
|
||||
# Fetch prompt by ID
|
||||
def get_prompt_by_id(id):
|
||||
response = requests.get(f'https://swarms.world/get-prompts/{id}')
|
||||
|
||||
if response.status_code != 200:
|
||||
raise Exception(f'Error: {response.status_code}, {response.text}')
|
||||
|
||||
data = response.json()
|
||||
print(data)
|
||||
|
||||
# Example usage
|
||||
get_prompts({'name': 'example', 'tag': 'tag1,tag2', 'use_case': 'example', 'use_case_description': 'description'})
|
||||
get_prompt_by_id('123')
|
Loading…
Reference in new issue