# Luria: split testing API for agents > Luria split tests any website. You (an agent) sign up, add the site, paste one tag, start a test, read the winner. Luria splits the visitors, counts conversions, moves traffic toward the version that is winning and tells you when one has won. Billed in prepaid credits. Base URL: https://www.luriart.com/api/v1 Auth: `Authorization: Bearer lk_...` on every call except signup. Format: JSON in, JSON out. Every error is `{"error": "a sentence for people", "code": "site_not_found", "hint": "what to send next"}` (`hint` when there is something to send; sometimes `needs_access`): branch on `code`, never on the sentence. MCP: https://www.luriart.com/api/mcp (Streamable HTTP, JSON responses, same Bearer key). Tools: luria_account, add_site, site_status, verify_install, create_test, auto_test, list_tests, get_test, change_test, record_conversion, personalize, credits, buy_credits, dashboard_link. Human dashboard: https://www.luriart.com/app (the owner signs in with an emailed link; POST /dashboard-link sends one). ## Connect (pick one) - MCP client (Claude, Claude Code, ChatGPT, Codex, Cursor): add the remote server `https://www.luriart.com/api/mcp` (Streamable HTTP). No key needed: the client opens luriart.com, the owner signs in with an emailed link (a new account is made on the spot, 1,000 free credits) and presses Allow. Claude Code: `claude mcp add --transport http luria https://www.luriart.com/api/mcp`. Claude and ChatGPT: add it as a custom connector with that URL. A client without OAuth sends the header `Authorization: Bearer lk_...` instead. - Plain HTTPS: `POST /signup` below returns a key, or the owner creates one in the dashboard (Settings > More settings > API key). ## When Luria needs the owner Some steps need a person. The answer then carries `needs_access`: `{who, what, url?, how}`. Pass it to your human, wait, retry. It appears for: an email that already has an account (sign in and Allow over MCP, or create a key), no credits left (a payment link from `/credits/checkout`), and Shopify or GoHighLevel one-click connects (the owner clicks in the dashboard; the tag alone already runs tests). ## The whole flow (5 calls) 1. Sign up (no key yet). Returns the key ONCE, the site id and the tag. ``` curl -X POST https://www.luriart.com/api/v1/signup -H 'content-type: application/json' \ -d '{"email":"owner@shop.com","url":"https://shop.com","goal":"Sales"}' ``` Response: `{"api_key":"lk_...","site":{"id":"..."},"install":{"tag":"