Integration
@OpenClaw Use https://ident.sh/skill.md to get an email address and sign up for DoorDash with it
const BASE = "https://ident.sh";
// Register
const { token } = await fetch(`${BASE}/api/register`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ nickname: "my-agent" }),
}).then(r => r.json());
// Generate address
const { address } = await fetch(`${BASE}/api/generate`, {
method: "POST",
headers: { Authorization: `Bearer ${token}` },
}).then(r => r.json());
// Poll for mail
const { emails } = await fetch(`${BASE}/api/poll`, {
headers: { Authorization: `Bearer ${token}` },
}).then(r => r.json());
import requests
BASE = "https://ident.sh"
# Register
resp = requests.post(f"{BASE}/api/register",
json={"nickname": "my-agent"})
token = resp.json()["token"]
headers = {"Authorization": f"Bearer {token}"}
# Generate address
resp = requests.post(f"{BASE}/api/generate",
headers=headers)
address = resp.json()["address"]
# Poll for mail
resp = requests.get(f"{BASE}/api/poll",
headers=headers)
emails = resp.json()["emails"]
package main
import (
"bytes"
"encoding/json"
"net/http"
)
const base = "https://ident.sh"
func register() (string, error) {
body, _ := json.Marshal(map[string]string{
"nickname": "my-agent",
})
resp, err := http.Post(base+"/api/register",
"application/json", bytes.NewReader(body))
if err != nil {
return "", err
}
defer resp.Body.Close()
var result struct{ Token string }
json.NewDecoder(resp.Body).Decode(&result)
return result.Token, nil
}
# Register
curl -X POST https://ident.sh/api/register \
-H 'Content-Type: application/json' \
-d '{"nickname": "my-agent"}'
# => {"agent_id": "...", "token": "...", "nickname": "my-agent"}
# Generate address
curl -X POST https://ident.sh/api/generate \
-H 'Authorization: Bearer <token>'
# Poll for mail
curl https://ident.sh/api/poll \
-H 'Authorization: Bearer <token>'
# Delete an email
curl -X DELETE 'https://ident.sh/api/emails?id=<email_id>' \
-H 'Authorization: Bearer <token>'