by Seren
No reviews yetUse Seren API directly for agent registration/authentication, account recovery, wallet funding, publisher discovery/execution, payment capability checks, and billing endpoints across api.serendb.com.
+18.5%
Sales Conversion %
AI estimate
Use this skill whenever a user needs direct platform-level Seren API calls (not just one publisher).
Canonical references:
https://api.serendb.com/skill.mdhttps://api.serendb.com/openapi.jsonhttps://api.serendb.comRegister an agent and receive an API key (shown once).
/auth/agentcurl -sS -X POST "https://api.serendb.com/auth/agent" \
-H "Content-Type: application/json" \
-d '{}'
Optional named registration:
curl -sS -X POST "https://api.serendb.com/auth/agent" \
-H "Content-Type: application/json" \
-d '{"name":"my-agent"}'
The current response shape provides the key at .data.agent.api_key.
/auth/meCheck the current authenticated agent's identity:
curl -sS "https://api.serendb.com/auth/me" \
-H "Authorization: Bearer $SEREN_API_KEY"
/auth/agentcurl -sS -X PATCH "https://api.serendb.com/auth/agent" \
-H "Authorization: Bearer $SEREN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email":"you@example.com"}'
A verified email is required before Stripe deposits. Updating the email sends a verification link — the user clicks the link to verify, no separate API call is needed.
All authenticated requests require your API key in the Authorization header.
export SEREN_API_KEY="seren_<your_key>"
curl -sS "https://api.serendb.com/wallet/balance" \
-H "Authorization: Bearer $SEREN_API_KEY"
Your API key is shown once at registration. If you lose it, use your recovery code (see Account Recovery).
The seren CLI stores credentials at:
~/.config/seren/credentials.toml%APPDATA%\\seren\\credentials.tomlYou can also store your key in environment variables or your agent's memory/secrets store.
The seren/api skill package includes wrapper scripts that auto-resolve credentials and simplify API calls:
# Bash/zsh — loads SEREN_API_KEY from env, credentials.toml, or mints a new key
eval "$(scripts/resolve_credentials.sh)"
scripts/seren_api.sh get /wallet/balance
scripts/seren_api.sh post /wallet/recovery --data '{}'
# PowerShell equivalent
.\scripts\resolve_credentials.ps1
.\scripts\seren_api.ps1 get /wallet/balance
Supported overrides:
SEREN_API_HOST (default https://api.serendb.com)SEREN_CREDENTIALS_FILE (explicit file path)SEREN_AUTO_CREATE_KEY=0 (disable auto-mint)Essential recovery flow:
/wallet/recoverycurl -sS -X POST "https://api.serendb.com/wallet/recovery" \
-H "Authorization: Bearer $SEREN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email":"you@example.com"}'
Save the recovery_code from the response — it is shown once and cannot be retrieved later.
/wallet/recovercurl -sS -X POST "https://api.serendb.com/wallet/recover" \
-H "Content-Type: application/json" \
-d '{"recovery_code":"ABCDEFGHJKLMNPQRSTUVWX23"}'
/wallet/recover rotates credentials and recovery code; save returned secrets immediately.
Essential wallet endpoints:
GET /wallet/balancePOST /wallet/deposit (Stripe checkout, $100 max, requires verified email)GET /wallet/transactionsGET /wallet/daily/eligibilityPOST /wallet/daily/claimPOST /wallet/bonus/payment-methodPOST /wallet/bonus/signupPOST /wallet/deposit/crypto (x402-style two-step payment)GET /wallet/referralPOST /wallet/referral/applyExamples:
/wallet/balancecurl -sS -X GET "https://api.serendb.com/wallet/balance" \
-H "Authorization: Bearer $SEREN_API_KEY"
/wallet/depositcurl -sS -X POST "https://api.serendb.com/wallet/deposit" \
-H "Authorization: Bearer $SEREN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"amount_cents":500}'
/wallet/transactionscurl -sS -X GET "https://api.serendb.com/wallet/transactions" \
-H "Authorization: Bearer $SEREN_API_KEY"
/wallet/daily/eligibilitycurl -sS -X GET "https://api.serendb.com/wallet/daily/eligibility" \
-H "Authorization: Bearer $SEREN_API_KEY"
/wallet/daily/claimcurl -sS -X POST "https://api.serendb.com/wallet/daily/claim" \
-H "Authorization: Bearer $SEREN_API_KEY"
/wallet/bonus/payment-methodcurl -sS -X POST "https://api.serendb.com/wallet/bonus/payment-method" \
-H "Authorization: Bearer $SEREN_API_KEY"
/wallet/bonus/signupcurl -sS -X POST "https://api.serendb.com/wallet/bonus/signup" \
-H "Authorization: Bearer $SEREN_API_KEY"
/wallet/deposit/cryptocurl -sS -X POST "https://api.serendb.com/wallet/deposit/crypto" \
-H "Authorization: Bearer $SEREN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"amount":"10.50","publisher_id":"<publisher_uuid>"}'
If HTTP 402 is returned, follow payment instructions and retry with payment headers.
/wallet/referralcurl -sS -X GET "https://api.serendb.com/wallet/referral" \
-H "Authorization: Bearer $SEREN_API_KEY"
/wallet/referral/applycurl -sS -X POST "https://api.serendb.com/wallet/referral/apply" \
-H "Authorization: Bearer $SEREN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"referral_code":"<code>"}'
Publisher discovery and execution endpoints:
GET /publishersGET /publishers/suggestGET /publishers/{slug}POST /publishers/{slug}POST /publishers/{slug}/estimateGET /publishers/{slug}/logoGET /publishers/{slug}/{path}POST /publishers/{slug}/{path}GET /payments/supported/publisherscurl -sS -X GET "https://api.serendb.com/publishers"
/publishers/suggestcurl -sS -X GET "https://api.serendb.com/publishers/suggest?query=web+scraping"
/publishers/{slug}curl -sS -X GET "https://api.serendb.com/publishers/<slug>"
/publishers/{slug}curl -sS -X POST "https://api.serendb.com/publishers/<slug>" \
-H "Authorization: Bearer $SEREN_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
/publishers/{slug}/estimatecurl -sS -X POST "https://api.serendb.com/publishers/<slug>/estimate" \
-H "Content-Type: application/json" \
-d '{"publisher_id":"<publisher_uuid>","query":"SELECT 1"}'
/publishers/{slug}/logocurl -sS -X GET "https://api.serendb.com/publishers/<slug>/logo"
/payments/supportedcurl -sS -X GET "https://api.serendb.com/payments/supported"
/publishers/{slug}/{path}curl -sS -X GET "https://api.serendb.com/publishers/<slug>/<path>" \
-H "Authorization: Bearer $SEREN_API_KEY"
/publishers/{slug}/{path}curl -sS -X POST "https://api.serendb.com/publishers/<slug>/<path>" \
-H "Authorization: Bearer $SEREN_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
GET /publishers/{slug}/_toolsGET /publishers/{slug}/_resourcesPOST /publishers/{slug}/{tool_name}GET /publishers/{slug}/{resource_path}Essential billing endpoints:
POST /billing/invoices/{id}/payGET /billing/invoices/{id}/paymentsGET /billing/payment-methodsPOST /billing/payment-methodsDELETE /billing/payment-methods/{id}/billing/invoices/{id}/paycurl -sS -X POST "https://api.serendb.com/billing/invoices/<id>/pay" \
-H "Authorization: Bearer $SEREN_API_KEY"
/billing/invoices/{id}/paymentscurl -sS -X GET "https://api.serendb.com/billing/invoices/<id>/payments" \
-H "Authorization: Bearer $SEREN_API_KEY"
/billing/payment-methodscurl -sS -X GET "https://api.serendb.com/billing/payment-methods" \
-H "Authorization: Bearer $SEREN_API_KEY"
/billing/payment-methodscurl -sS -X POST "https://api.serendb.com/billing/payment-methods" \
-H "Authorization: Bearer $SEREN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"set_as_default":true,"stripe_payment_method_id":"pm_..."}'
/billing/payment-methods/{id}curl -sS -X DELETE "https://api.serendb.com/billing/payment-methods/<id>" \
-H "Authorization: Bearer $SEREN_API_KEY"
Many Seren responses are wrapped. Use tolerant parsing:
jq '.data // .body // .'
Free
npx skills add serenorg/seren-skillsSelect “API” when prompted
Seren
Added March 1, 2026