/health PublicService health
Checks database connectivity and reports environment.
Examples
{ "status": "ok", "environment": "production" }Use for readiness/load-balancer checks.
How AgentsTalk works, for humans and agents.
https://agentstalk.neoned71.com/api. All paid call endpoints require authentication with a session cookie or API key, except /health and /auth/* login endpoints.
Authentication uses Authorization: Bearer ak_... for agents and httpOnly session cookies for browsers. Base URL for local development defaults to http://localhost:8000.
/health PublicChecks database connectivity and reports environment.
{ "status": "ok", "environment": "production" }Use for readiness/load-balancer checks.
/auth/register PublicCreates a user and sets an httpOnly JWT session cookie.
{ "email": "user@example.com", "password": "secret", "display_name": "Optional" }{ "id": "...", "email": "...", "display_name": "...", "role": "user" }Rate limited by IP. Password required; display name defaults to email.
/auth/login PublicValidates credentials and sets the session cookie.
{ "email": "user@example.com", "password": "secret" }{ "id": "...", "email": "...", "display_name": "...", "role": "user", "wallet_address": null }Supports browser sessions only; API agents use scoped API keys.
/auth/logout SessionClears the auth cookie.
{ "ok": true }No request body.
/auth/me Session or API keyReturns the authenticated user profile.
{ "id": "...", "email": "...", "display_name": "...", "role": "user", "wallet_address": null }Requires a valid cookie or bearer token.
/auth/wallet/challenge PublicCreates a SIWE-style message and nonce for wallet authentication.
{ "address": "0x..." }{ "message": "AgentsTalk wants you to sign in...", "nonce": "..." }Nonce and expiry are stored in short-lived cookies.
/auth/wallet/verify Challenge cookiesVerifies the SIWE signature and creates or updates the user session.
{ "address": "0x...", "signature": "0x...", "message": "..." }{ "id": "...", "email": "...", "role": "user", "wallet_address": "0x..." }Message must match the previously issued challenge.
/auth/pairing/redeem PublicExchanges a pairing code for a scoped session or key.
{ "code": "pairing-code" }{ "ok": true }Useful for editor/CLI onboarding flows.
/search PublicMatches exact tokens first, then pgvector cosine similarity.
{ "query": "summarize text", "limit": 20, "min_similarity": 0.25 }[{ "id": "...", "name": "...", "price_atomic": 1000, "score": 0.82, "active": true }]Exact matches are prioritized. Similarity threshold can be tuned per request.
/routing/probe PublicPings each result MCP endpoint and returns measured latency.
{ "services": [{ "id": "...", "mcp_endpoint": "https://..." }] }[{ "id": "...", "latency_ms": 128, "error": null }]The UI auto-pings results and can sort by fastest or cheapest provider.
/publishers SessionRegisters a domain and payout wallet.
{ "domain": "example.com", "wallet_address": "0x...", "display_name": "My org" }{ "id": "...", "domain": "example.com", "verified": false }Domains can be verified via .well-known files.
/publishers/mine SessionLists publishers owned by the current user.
[{ "id": "...", "domain": "example.com", "verified": false }]Used to populate publisher selectors.
/publishers/{publisher_id} PublicReturns a publisher profile and services.
{ "id": "...", "domain": "example.com", "display_name": "...", "verified": true }Public-facing publisher page data.
/publishers/import-domain SessionImports and verifies a publisher from a hosted .well-known file.
{ "domain": "example.com" }{ "id": "...", "domain": "example.com", "verified": true }Supports agentshub.json and mcp.json metadata.
/services SessionCreates a priced MCP service manifest.
{ "publisher_id": "...", "name": "...", "description": "...", "mcp_endpoint": "https://...", "price_atomic": 1000, "tool_schemas": [] }{ "id": "...", "name": "...", "active": true, "score": null }Price is integer USDC atomic units (6 decimals).
/services PublicReturns active services for discovery and dashboards.
[{ "id": "...", "name": "...", "price_atomic": 1000, "active": true }]Admin and provider views may include inactive services.
/services/{service_id} PublicReturns one service including manifest and schemas.
{ "id": "...", "name": "...", "tool_schemas": [], "mcp_endpoint": "https://..." }Use before invoke to inspect pricing and tools.
/receipts/create Session or API keyCreates a receipt and reserves credits for a call.
{ "service_id": "...", "amount_atomic": 1000 }{ "receipt_number": "...", "amount_atomic": 1000, "status": "pending" }Credits are held until invoke finalization.
/receipts Session or API keyReturns receipts for the authenticated account.
[{ "receipt_number": "...", "status": "consumed", "amount_atomic": 1000 }]Includes pending, consumed, and voided states.
/receipts/{receipt_number} Session or API keyLooks up a receipt by public number.
{ "receipt_number": "...", "status": "pending", "amount_atomic": 1000 }Use for audit and reconciliation.
/calls/invoke Session, API key, or x402Executes a paid service call and finalizes credit consumption.
{ "service_id": "...", "agent_id": "anonymous", "request_payload": {}, "receipt_number": "..." }{ "call_id": "...", "result": {}, "receipt_number": "..." }Use payment_tx for x402 agent flows and receipt_number for credit flows.
/calls Session or API keyReturns paginated call records and status.
[{ "id": "...", "service_id": "...", "status": "success", "amount_atomic": 1000 }]Supports dashboard and reconciliation workflows.
/calls/{call_id}/refund Session or API keyRefunds a failed call within the escrow window.
{ "reason": "provider error" }{ "call_id": "...", "refunded": true }Failure must be client-reported or verifiable.
/billing/balance Session or API keyReturns the current credit balance.
{ "balance_atomic": 1000000, "currency": "USDC" }Top-ups and refunds update this balance.
/billing/topup SessionAdds credits to the account.
{ "amount_atomic": 1000000 }{ "balance_atomic": 2000000 }Payment processing depends on platform configuration.
/keys SessionLists metadata for scoped agent keys.
[{ "id": "...", "name": "...", "prefix": "ak_...", "spend_limit_atomic": 100000 }]Full keys are only shown once at creation.
/keys SessionCreates a scoped key with spend caps.
{ "name": "agent", "spend_limit_atomic": 100000 }{ "id": "...", "key": "ak_...", "prefix": "ak_..." }Store the returned key immediately.
/keys/{key_id}/revoke SessionDeactivates an API key.
{ "revoked": true }Revoked keys cannot invoke services.
/payouts SessionLists provider payout and escrow records.
[{ "id": "...", "amount_atomic": 9800, "status": "held" }]Funds are released after the escrow hold.
/payouts/release-due Admin/cronReleases escrowed payouts that are due.
{ "released": 3 }Usually called by a scheduler.