# Skalyn — guide for AI agents > Skalyn is an AI marketing platform that turns a solo founder's onboarding answers into a complete launch pack, then runs their marketing week after week with an approve-first AI copilot. Skalyn is the AI marketing copilot for solo founders. Answer a short onboarding, and five AI agents build your launch pack — strategy, brand, launch plan, website copy, and assets. After launch, a weekly Growth Engine plans your marketing, drafts every piece, and tells you exactly what to do — four hours a week, no marketing degree required. You approve everything; nothing auto-posts. ## What you can do A five-agent launch pipeline (Market Strategist, Brand Architect, Launch Strategist, Website Copy, Launch Assets) turns onboarding answers into a complete launch pack. Then a weekly Growth Engine plans the week, drafts every piece, and assigns founder tasks. You approve every plan and draft; nothing publishes on its own. ## Creating an account (two doors — AG7) The free tier is created in the browser; API signup starts on a paid plan. - Browser (human): sign up at https://skalyn.ai/login — a CAPTCHA unlocks the normal free tier. - API (agent): POST https://skalyn.ai/api/v1/signup with {"email","password","acceptTerms":true} and NO captchaToken — always succeeds (202), but the account starts UNACTIVATED: zero entitlements until a paid plan is activated via checkout. No CAPTCHA is ever asked on this door. ## Getting your API key (no password exchange, no browser) ``` curl -X POST https://skalyn.ai/api/v1/signup \ -H "Content-Type: application/json" \ -d '{"email":"agent@yourdomain.com","password":"...","acceptTerms":true}' # → 202 {"status":"confirmation_required"} — a confirmation email is sent. # Extract token_hash from the confirmation link's query string, then: curl -X POST https://skalyn.ai/api/v1/keys/bootstrap \ -H "Content-Type: application/json" \ -d '{"tokenHash":"TOKEN_HASH","name":"my-agent"}' # → 200 {"apiKey":{"secret":"wgtm_sk_..."},"activation":{...}} — shown once; # retries within 15 minutes replay the same response if yours got lost. ``` The bootstrap confirms the email and proves inbox control in one step. An unactivated account can read (`/api/v1/me` shows an `activation` block with a checkout pointer) but not spend — complete checkout to unlock. Human-owned accounts can also mint keys in the browser at https://skalyn.ai/account. Send the key on every request: `Authorization: Bearer wgtm_sk_...` A key can do everything you can except delete your account or projects, manage billing, or use admin tools. ## Quickstart (REST) ``` curl https://skalyn.ai/api/v1/meta curl -H "Authorization: Bearer wgtm_sk_..." https://skalyn.ai/api/v1/me curl -X POST https://skalyn.ai/api/v1/projects \ -H "Authorization: Bearer wgtm_sk_..." -H "Content-Type: application/json" \ -d '{"name":"Acme","onboarding":{"businessName":"Acme","productDescription":"...","problemSolved":"..."}}' # Confirm onboarding (advances the project into the pipeline), then run the first agent curl -X POST https://skalyn.ai/api/v1/projects/PROJECT_ID/confirm -H "Authorization: Bearer wgtm_sk_..." curl -X POST https://skalyn.ai/api/v1/agents \ -H "Authorization: Bearer wgtm_sk_..." -H "Content-Type: application/json" \ -d '{"projectId":"PROJECT_ID","agentType":"market-strategist"}' ``` Long calls (run / plan / generate) block up to ~5 minutes; if your client times out the work still completes — poll https://skalyn.ai/api/v1/projects/{id} until the run settles. Full request/response schemas: https://skalyn.ai/api/v1/openapi.json ## MCP (Model Context Protocol) Prefer tools over raw REST? The same product is a remote MCP server at https://skalyn.ai/api/mcp (streamable HTTP, stateless; private beta). Authenticate with the same API key: ``` claude mcp add --transport http skalyn https://skalyn.ai/api/mcp \ --header "Authorization: Bearer wgtm_sk_..." ``` The ~20 tools mirror the REST loop — create_project → confirm_onboarding → run_pipeline_step → review_run, then start_growth → plan_week → approve_week_plan → generate_item → review_item → submit_retro — plus list/read tools, get_usage, and create_checkout_link for the payment handoff. Same plan gates, caps, and replay guards as REST; a 402 tool error includes the checkout hint. Key auth only for now (OAuth for public MCP hosts comes later). ## Plans & limits - Free (Free): 1 project, 15 runs/day, exports not included. - Pro ($24/mo): 1 project, 40 runs/day, exports included. - Studio ($89/mo): 10 projects, 100 runs/day per project, exports included. ## Errors Every non-2xx response is JSON with at least an `error` string, plus `code`/`retryable` where relevant. Authenticated responses carry an `X-Request-Id` header. - 400: Invalid request body or parameters. - 401: Missing or invalid API key. - 402: Plan lock — the body carries an `upgrade` block with a checkout pointer. - 404: Not found, or not yours. - 409: Conflict — an agent is already running, or the step isn't current. - 429: Rate / daily-run / hourly-write limit. See Retry-After + X-RateLimit-*. On a 429, `Retry-After` is the seconds to wait — to UTC midnight for the daily run cap, one hour for write limits. ## Paying (checkout handoff) Hitting a plan lock returns 402 with an `upgrade` block. POST the returned `upgrade.checkout` pointer verbatim (its `path` and `body`) to get a Stripe Checkout URL, then hand that URL to your human — plan changes only take effect after they complete checkout. Use the `body` it returns rather than a fixed plan: a project-limit lock needs Studio, other locks Pro. ## More - For AI agents: https://skalyn.ai/for-agents - API reference: https://skalyn.ai/docs/api - OpenAPI 3.1 spec: https://skalyn.ai/api/v1/openapi.json - Machine discovery (meta): https://skalyn.ai/api/v1/meta - MCP endpoint: https://skalyn.ai/api/mcp - Pricing: https://skalyn.ai/pricing