{"error":false,"success":true,"data":{"name":"Salesbooth API","version":"1.20.2","base_url":"https://api.salesbooth.com/v1","documentation":"https://salesbooth.com/docs","openapi_spec":"https://api.salesbooth.com/openapi.json","recommended_spec":"https://api.salesbooth.com/core-openapi.json","specs":{"full":{"url":"https://api.salesbooth.com/openapi.json","description":"Default public compatibility specification. Admin and internal dashboard surfaces are not published."},"core":{"url":"https://api.salesbooth.com/core-openapi.json","description":"Recommended starting spec for customers, products, deals, contracts, payments, webhooks, and machine-readable commerce schemas."},"widget":{"url":"https://api.salesbooth.com/widget-openapi.json","description":"Embedded widget flows for configuration, validation, saved configs, pricing previews, bookings, and widget analytics."},"public":{"url":"https://api.salesbooth.com/public-openapi.json","description":"Compatibility alias for the default public spec that combines the legacy public core and widget surfaces in one document."},"agent":{"url":"https://api.salesbooth.com/agent-openapi.json","description":"Agent workflows, tools, trust, negotiation, federation, and executable commerce flows."}},"endpoints":{"api":{"url":"/api","methods":["GET"],"description":"API discovery and endpoint listing"},"openapi_json":{"url":"/v1/openapi.json","methods":["GET"],"description":"Serve the filtered public compatibility OpenAPI specification"},"health":{"url":"/v1/health","methods":["GET"],"description":"Get system health status"},"collect":{"url":"/v1/collect","methods":["POST"],"description":"Collect session replay events"},"widget_analytics":{"url":"/v1/widget-analytics","methods":["GET","POST"],"description":"Retrieve widget analytics data"},"deals":{"url":"/v1/deals","methods":["GET","POST","PATCH","DELETE"],"description":"List, retrieve, or bulk export deals (action=export for CSV/JSON/JSONL)"},"deals_verify":{"url":"/v1/deals/verify","methods":["GET"],"description":"Verify deal or contract integrity"},"customers":{"url":"/v1/customers","methods":["GET","POST","PATCH","DELETE"],"description":"List or retrieve customers"},"products":{"url":"/v1/products","methods":["GET","POST","PATCH","DELETE"],"description":"List or retrieve products"},"contracts":{"url":"/v1/contracts","methods":["GET","POST","PATCH","DELETE"],"description":"List or retrieve contracts"},"deal_discovery":{"url":"/v1/deal-discovery","methods":["GET"],"description":"Discover available deals"},"deal_negotiations":{"url":"/v1/deal-negotiations","methods":["GET","POST"],"description":"Get negotiation history for a deal"},"deal_templates":{"url":"/v1/deal-templates","methods":["GET","POST","PATCH","DELETE"],"description":"List or retrieve deal templates, versions, or diffs"},"deal_participants":{"url":"/v1/deal-participants","methods":["GET","POST","PATCH","DELETE"],"description":"List participants or settlements for a deal"},"delegations":{"url":"/v1/delegations","methods":["GET","POST","PUT","DELETE"],"description":"List or retrieve delegations; use action=check to validate the calling agent's active delegation; use action=spending&id={id} for spending totals; use action=analytics&id={id} for per-delegation analytics; use action=activity&id={id} for paginated/filtered audit trail"},"sandbox_reset":{"url":"/v1/sandbox/reset","methods":["POST"],"description":"Reset sandbox environment"},"sandbox_seed":{"url":"/v1/sandbox/seed","methods":["POST"],"description":"Seed test data"},"sandbox_simulate_webhook":{"url":"/v1/sandbox/simulate_webhook","methods":["POST"],"description":"Simulate a webhook event"},"sandbox_status":{"url":"/v1/sandbox/status","methods":["GET"],"description":"Get sandbox environment status"},"webhooks":{"url":"/v1/webhooks","methods":["GET","POST","PATCH","DELETE"],"description":"List all webhooks (or get single with ?id=X)"},"webhooks_deliveries":{"url":"/v1/webhooks/deliveries","methods":["GET"],"description":"Get delivery history for a webhook"},"webhooks_test":{"url":"/v1/webhooks/test","methods":["POST"],"description":"Send a test event to a webhook"},"webhooks_rotate_secret":{"url":"/v1/webhooks/rotate_secret","methods":["POST"],"description":"Rotate a webhook's signing secret"},"webhooks_events":{"url":"/v1/webhooks/events","methods":["GET"],"description":"List webhook event history"},"webhooks_dead_letter":{"url":"/v1/webhooks/dead_letter","methods":["GET"],"description":"List dead letter queue entries"},"webhooks_replay":{"url":"/v1/webhooks/replay","methods":["POST"],"description":"Replay webhook events from cursor"},"webhooks_retry":{"url":"/v1/webhooks/retry","methods":["POST"],"description":"Retry a failed webhook delivery"},"webhooks_cleanup":{"url":"/v1/webhooks/cleanup","methods":["POST"],"description":"Run webhook event retention cleanup"},"schema_state_machine":{"url":"/v1/schema/state-machine","methods":["GET"],"description":"Get state machine definitions"},"schema_deal_terms":{"url":"/v1/schema/deal-terms","methods":["GET"],"description":"Get deal terms JSON schema"},"deals_id_valid_transitions":{"url":"/v1/deals/{id}/valid-transitions","methods":["GET"],"description":"Get valid status transitions for a deal"},"audit_export":{"url":"/v1/audit/export","methods":["GET"],"description":"Export audit trail as a compliance evidence package"},"payments":{"url":"/v1/payments","methods":["GET","POST"],"description":"Get payment status for a deal or payment settings"},"subscriptions":{"url":"/v1/subscriptions","methods":["GET","POST"],"description":"List subscriptions or get subscription detail"},"tenant_public_key":{"url":"/v1/tenant/public-key","methods":["GET"],"description":"Get tenant's Ed25519 public key"},"bundle_rules":{"url":"/v1/bundle-rules","methods":["GET","POST","PATCH","DELETE"],"description":"List or retrieve bundle pricing rules"},"compatibility_rules":{"url":"/v1/compatibility-rules","methods":["GET","POST","PATCH","DELETE"],"description":"List or retrieve compatibility rules"},"option_groups":{"url":"/v1/option-groups","methods":["GET","POST","PATCH","DELETE"],"description":"List or retrieve option groups"},"product_families":{"url":"/v1/product-families","methods":["GET","POST","PATCH","DELETE"],"description":"List or retrieve product families"},"product_option_groups":{"url":"/v1/product-option-groups","methods":["GET","POST","PATCH","DELETE"],"description":"Get product option groups or availability"},"product_rules":{"url":"/v1/product-rules","methods":["GET","POST"],"description":"Get all compatibility and bundle rules for a product"},"uploads":{"url":"/v1/uploads","methods":["POST"],"description":"Upload an image file"},"saved_configs":{"url":"/v1/saved-configs","methods":["GET","POST","PATCH","DELETE"],"description":"Retrieve a saved configuration by short code"},"configuration":{"url":"/v1/configuration","methods":["GET","POST"],"description":"Get configuration schema with rules for a product, or list product families"},"tools":{"url":"/v1/tools","methods":["GET"],"description":"List available agent tool definitions"},"mcp":{"url":"/v1/mcp","methods":["POST"],"description":"Handle MCP JSON-RPC requests"},"fx_rate":{"url":"/v1/fx-rate","methods":["GET"],"description":"Get current exchange rate between two currencies"},"ab_tests":{"url":"/v1/ab-tests","methods":["GET","POST","PATCH"],"description":"List or retrieve A/B tests"},"ab_tests_promote":{"url":"/v1/ab-tests/promote","methods":["POST"],"description":"Promote A/B test winner"},"ab_tests_resolve":{"url":"/v1/ab-tests/resolve","methods":["GET"],"description":"Resolve which variant to show a visitor"},"widget_config":{"url":"/v1/widget-config","methods":["GET","POST","PATCH","DELETE"],"description":"List or retrieve widget configurations"},"widget_config_auto_configure":{"url":"/v1/widget-config/auto-configure","methods":["POST"],"description":"Auto-configure widget from product IDs"},"widget_config_from_template":{"url":"/v1/widget-config/from-template","methods":["POST"],"description":"Generate pre-filled widget config from a deal template"},"widget_config_embed_code":{"url":"/v1/widget-config/embed-code","methods":["GET"],"description":"Get ready-to-paste embed HTML with SRI integrity attributes"},"intelligence":{"url":"/v1/intelligence","methods":["GET","POST","PATCH"],"description":"Get deal intelligence data"},"widget_intelligence":{"url":"/v1/widget-intelligence","methods":["GET"],"description":"Get aggregated intelligence data for widget rendering"},"credits":{"url":"/v1/credits","methods":["GET","POST"],"description":"Get credit balance or ledger history"},"billing":{"url":"/v1/billing","methods":["GET","POST"],"description":"Get billing dashboard data, ledger, or usage"},"team":{"url":"/v1/team","methods":["GET","POST","PATCH","DELETE"],"description":"List team members"},"trust":{"url":"/v1/trust","methods":["GET"],"description":"Get trust level status, level change history, or score event history"},"agent_registry":{"url":"/v1/agent-registry","methods":["GET"],"description":"Discover active agents, query activity, or check product contention"},"agent_workflow":{"url":"/v1/agent-workflow","methods":["GET","POST"],"description":"List or retrieve agent workflows, spending summaries, anomalies, and agent stats"},"agent_trust":{"url":"/v1/agent-trust","methods":["GET"],"description":"Get agent trust level, capabilities, and progress"},"agent_trust_credentials":{"url":"/v1/agent-trust-credentials","methods":["GET","POST"],"description":"Export the current agent's trust credential"},"trust_revocations":{"url":"/v1/trust/revocations","methods":["GET"],"description":"Get revoked agent trust credentials list"},"did_document":{"url":"/v1/did-document","methods":["GET"],"description":"Get the tenant's DID document for credential verification"},"gdpr_erase":{"url":"/v1/gdpr/erase","methods":["DELETE"],"description":"Right to erasure — single-system (Art. 17)"},"gdpr_full_erase":{"url":"/v1/gdpr/full_erase","methods":["DELETE"],"description":"Full cross-system GDPR erasure (Art. 17)"},"gdpr_verify":{"url":"/v1/gdpr/verify","methods":["GET"],"description":"Verify erasure completeness"},"gdpr_export":{"url":"/v1/gdpr/export","methods":["GET"],"description":"Data export / portability (Art. 15/20)"},"gdpr_consent":{"url":"/v1/gdpr/consent","methods":["GET","POST","DELETE"],"description":"List consent records for a customer"},"gdpr_consent_withdraw_all":{"url":"/v1/gdpr/consent_withdraw_all","methods":["POST"],"description":"Batch withdraw all consent"},"gdpr_retention":{"url":"/v1/gdpr/retention","methods":["GET","PATCH"],"description":"Get retention policies"},"gdpr_register":{"url":"/v1/gdpr/register","methods":["GET"],"description":"Get data processing register (Art. 30)"},"gdpr_erasure_log":{"url":"/v1/gdpr/erasure_log","methods":["GET"],"description":"Get paginated erasure/export audit log"},"gdpr_consent_renew":{"url":"/v1/gdpr/consent_renew","methods":["POST"],"description":"Renew consent for a purpose"},"gdpr_consent_renew_all":{"url":"/v1/gdpr/consent_renew_all","methods":["POST"],"description":"Renew all consents for a customer"},"gdpr_consent_expiring":{"url":"/v1/gdpr/consent_expiring","methods":["GET"],"description":"Get consents expiring within N days"},"gdpr_consent_health":{"url":"/v1/gdpr/consent_health","methods":["GET"],"description":"Get consent health metrics"},"gdpr_consent_expiration_config":{"url":"/v1/gdpr/consent_expiration_config","methods":["GET","POST"],"description":"Get consent expiration config"},"gdpr_consent_purposes":{"url":"/v1/gdpr/consent_purposes","methods":["GET"],"description":"List available consent purposes with default expiration periods"},"gdpr_dashboard":{"url":"/v1/gdpr/dashboard","methods":["GET"],"description":"Compliance dashboard — consent health, recent DSARs, erasure stats"},"gdpr_search":{"url":"/v1/gdpr/search","methods":["GET"],"description":"Search customers with compliance context overlay"},"gdpr_compliance_evidence":{"url":"/v1/gdpr/compliance_evidence","methods":["GET"],"description":"Structured compliance evidence package for auditors (retention, consent stats, erasure log, audit integrity)"},"gdpr_audit_evidence":{"url":"/v1/gdpr/audit_evidence","methods":["GET"],"description":"Downloadable compliance evidence report with date range filter"},"federation_peers":{"url":"/v1/federation-peers","methods":["GET","POST","PATCH","DELETE"],"description":"List trusted federation peers for tenant"},"federation_discovery":{"url":"/v1/federation/discovery","methods":["GET"],"description":"Get federation discovery manifest"},"federation_negotiate":{"url":"/v1/federation/negotiate","methods":["GET","POST"],"description":"Get federation negotiation status"},"events_stream":{"url":"/v1/events/stream","methods":["GET"],"description":"Stream real-time events via SSE"},"staff":{"url":"/v1/staff","methods":["GET","POST","PATCH","DELETE"],"description":"List or retrieve staff members"},"availability":{"url":"/v1/availability","methods":["GET"],"description":"Check available booking time slots"},"bookings":{"url":"/v1/bookings","methods":["GET","POST","PATCH","DELETE"],"description":"List or retrieve bookings"},"playground_session":{"url":"/v1/playground/session","methods":["GET","POST"],"description":"Check if a playground session key is still valid"},"customer_auth":{"url":"/v1/customer-auth","methods":["POST"],"description":"Customer portal authentication actions"},"customer_portal":{"url":"/v1/customer-portal","methods":["GET","POST","PATCH"],"description":"Customer portal data retrieval"},"activity":{"url":"/v1/activity","methods":["GET","POST","PATCH","PUT","DELETE"],"description":"List activity feed events, notifications, or notification rules"},"batch":{"url":"/v1/batch","methods":["POST"],"description":"Execute multiple API operations in a single request (max 25)"},"payment_intent":{"url":"/v1/payment-intent","methods":["POST"],"description":"Create Stripe PaymentIntent for a deal's deposit or full amount"},"search":{"url":"/v1/search","methods":["GET"],"description":"Global search across customers, products, deals, and contracts"},"verify":{"url":"/v1/verify","methods":["POST"],"description":"Verify a credential signature and status (public, no auth required)"},"widget_contract":{"url":"/v1/widget-contract","methods":["POST"],"description":"Generate contract HTML from template or capture digital signature"},"widget_discount":{"url":"/v1/widget-discount","methods":["POST"],"description":"Validate a promo code for widget checkout"},"widget_validate":{"url":"/v1/widget-validate","methods":["GET","POST"],"description":"Get product compatibility and bundle rules for a public widget session"},"widget_payment_preview":{"url":"/v1/widget-payment-preview","methods":["POST"],"description":"Preview payment breakdown for a headless widget cart"},"audit":{"url":"/v1/audit","methods":["GET"],"description":"Retrieve immutable audit trail for a deal, contract, customer, or product"},"delegations_proposals":{"url":"/v1/delegations/proposals","methods":["GET","POST"],"description":"List pending delegation proposals targeting this agent"},"delegations_proposals_id_accept":{"url":"/v1/delegations/proposals/{id}/accept","methods":["POST"],"description":"Accept a pending delegation proposal"},"delegations_proposals_id_reject":{"url":"/v1/delegations/proposals/{id}/reject","methods":["POST"],"description":"Reject a pending delegation proposal"},"delegations_proposals_id_counter":{"url":"/v1/delegations/proposals/{id}/counter","methods":["POST"],"description":"Counter-propose delegation terms"},"usdc":{"url":"/v1/usdc","methods":["GET","POST"],"description":"Get USDC balance, summary, or transaction history"},"quotes":{"url":"/v1/quotes","methods":["GET","POST","DELETE"],"description":"List or retrieve quotes"},"quotes_by_code":{"url":"/v1/quotes/by-code","methods":["GET"],"description":"Retrieve a public quote by short code"},"deal_notifications":{"url":"/v1/deal-notifications","methods":["GET","POST"],"description":"Get customer contact preferences and recent notification history"},"simulate_pricing":{"url":"/v1/simulate-pricing","methods":["GET","POST"],"description":"Analyze historical negotiation patterns for a product or category"},"simulate_pricing_compare":{"url":"/v1/simulate-pricing/compare","methods":["POST"],"description":"Compare 2-4 pricing scenarios side by side"},"deals_id_settlements":{"url":"/v1/deals/{id}/settlements","methods":["GET"],"description":"Get revenue settlement breakdown for a deal"},"usdc_coinbase_webhook":{"url":"/v1/usdc/coinbase-webhook","methods":["POST"],"description":"Process Coinbase webhook events"},"widget_bookings":{"url":"/v1/widget-bookings","methods":["POST","PATCH"],"description":"Hold a booking slot for widget checkout"},"public_openapi_json":{"url":"/v1/public-openapi.json","methods":["GET"],"description":"Serve the filtered public compatibility OpenAPI specification"},"agent_openapi_json":{"url":"/v1/agent-openapi.json","methods":["GET"],"description":"Serve the AI agent API specification"},"core_openapi_json":{"url":"/v1/core-openapi.json","methods":["GET"],"description":"Serve the core commerce API specification"},"widget_openapi_json":{"url":"/v1/widget-openapi.json","methods":["GET"],"description":"Serve the embedded widget API specification"},"deals_export":{"url":"/v1/deals/export","methods":["GET"],"description":"Bulk export deals using a canonical resource path"},"deals_compare_terms":{"url":"/v1/deals/compare-terms","methods":["GET"],"description":"Compare structured terms between two deals"},"deals_id_audit":{"url":"/v1/deals/{id}/audit","methods":["GET"],"description":"Get the immutable audit trail for a deal"},"deals_id_verify_audit":{"url":"/v1/deals/{id}/verify-audit","methods":["GET"],"description":"Verify the cryptographic integrity of a deal audit chain"},"deals_id_escrow":{"url":"/v1/deals/{id}/escrow","methods":["GET"],"description":"Get escrow status for a deal"},"deals_id_credential":{"url":"/v1/deals/{id}/credential","methods":["GET"],"description":"Get the verifiable credential issued for a deal"},"deals_id_signing_certificate":{"url":"/v1/deals/{id}/signing-certificate","methods":["GET"],"description":"Get the structured signing certificate for a deal"},"deals_id_terms":{"url":"/v1/deals/{id}/terms","methods":["GET"],"description":"Get structured machine-readable terms for a deal"},"widget_negotiations":{"url":"/v1/widget-negotiations","methods":["GET","POST"],"description":"Get widget negotiation history for a widget-owned deal"}},"schema":{"state_machine":{"url":"/v1/schema/state-machine","methods":["GET"],"description":"Machine-readable state machine definitions for deals and contracts","authentication":"none"}},"agent":{"tools_url":"https://api.salesbooth.com/v1/tools","tools_description":"AI agent tool definitions for function-calling (universal, OpenAI, Anthropic)","mcp_url":"https://api.salesbooth.com/v1/mcp","mcp_description":"Model Context Protocol (MCP) server — JSON-RPC 2.0 over HTTP","agent_sdk_url":"https://api.salesbooth.com/sdk/v1/salesbooth-agent.js","agent_sdk_description":"Agent SDK with getToolDefinitions() and executeTool() methods","deal_terms_schema":"https://api.salesbooth.com/v1/schema/deal-terms","required_scopes":["agent:discover","agent:negotiate","agent:execute"]},"authentication":{"methods":["Authorization: Bearer {api_key}","X-API-Key: {api_key}","Session cookie (for browser requests)"],"key_format":"sb_live_* or sb_test_*"}}}