{"protocol":{"name":"hexagon-agent-onboarding","version":"2026-07-05","status":"available"},"provider":{"name":"Hexagon Labs","domain":"joinhexagon.com","docs":"https://joinhexagon.com/docs/cli-workflow.md","ucp":"https://joinhexagon.com/.well-known/ucp"},"purpose":"Let terminal coding agents such as Claude Code, Codex, Cursor, and other CLI agents set up Hexagon without requiring the user to navigate Hexagon UI when direct Stripe Payment Links are configured.","no_hexagon_ui":{"status":"configuration_required","hexagon_ui_required":true,"user_visible_surfaces":["Hexagon onboarding fallback","Stripe-hosted Checkout","provider-hosted OAuth/authorization when applicable","local terminal"],"configuration_required":"Configure exact Stripe Payment Links in NEXT_PUBLIC_HEXAGON_STRIPE_STARTER_MONTHLY_LINK, NEXT_PUBLIC_HEXAGON_STRIPE_STARTER_ANNUAL_LINK, NEXT_PUBLIC_HEXAGON_STRIPE_PRO_MONTHLY_LINK, and NEXT_PUBLIC_HEXAGON_STRIPE_PRO_ANNUAL_LINK to make onboarding possible without Hexagon UI. Hexagon operators can create or reuse these links from the CLI with npm --prefix backend run stripe:agent-payment-links -- --live --write-frontend-env."},"cli_commands":{"discover":"curl -s https://joinhexagon.com/.well-known/agent-onboarding","docs":"curl -s https://joinhexagon.com/docs/cli-workflow.md","ucp":"curl -s https://joinhexagon.com/.well-known/ucp","payment_links":"curl -s https://joinhexagon.com/.well-known/agent-onboarding | jq '.payment.direct_stripe_payment_links'"},"operator_setup":{"audience":"Hexagon operators only; buyer agents should not run Stripe administration commands.","create_or_reuse_payment_links":"npm --prefix backend run stripe:agent-payment-links -- --live --write-frontend-env","test_mode":"npm --prefix backend run stripe:agent-payment-links -- --write-frontend-env","prerequisites":["Set STRIPE_SECRET_KEY_LIVE or STRIPE_SECRET_KEY to a current Stripe restricted key or secret key before running the live command.","Use --automatic-tax only after Stripe Tax registrations are configured for the account.","Never commit Stripe secret keys or restricted keys."],"generated_public_env":["NEXT_PUBLIC_HEXAGON_STRIPE_STARTER_MONTHLY_LINK","NEXT_PUBLIC_HEXAGON_STRIPE_STARTER_ANNUAL_LINK","NEXT_PUBLIC_HEXAGON_STRIPE_PRO_MONTHLY_LINK","NEXT_PUBLIC_HEXAGON_STRIPE_PRO_ANNUAL_LINK"]},"plans":[{"id":"free","billing_cycles":["free"],"payment_required":false,"next_step":"Use Hexagon onboarding fallback if account creation is required."},{"id":"starter","billing_cycles":["monthly","annual"],"payment_required":true,"payment_link_keys":["starter_monthly","starter_annual"]},{"id":"pro","billing_cycles":["monthly","annual"],"payment_required":true,"payment_link_keys":["pro_monthly","pro_annual"]},{"id":"enterprise","billing_cycles":["custom"],"payment_required":false,"contact":"sales@joinhexagon.com","scheduling":"https://calendly.com/ramon-joinhexagon/30min"}],"payment":{"preferred_method":"stripe_payment_link","direct_stripe_payment_links":{"status":"not_configured","note":"No direct Stripe Payment Links are configured in this deployment. Send the onboarding/payment link instead.","links":[]},"fallback_onboarding_link":"https://joinhexagon.com/onboarding","fallback_policy":"Use the fallback onboarding link only when direct Stripe Payment Links are not configured or the user explicitly accepts the Hexagon UI fallback.","rules":["Send only exact Stripe Payment Links published in this manifest.","Do not invent, mutate, scrape, or reuse buy.stripe.com URLs.","Do not request raw card numbers, CVC, CVV, bank details, or payment secrets.","The user completes payment on Stripe-hosted Checkout.","After payment, wait for the user to provide Hexagon credentials or confirm they are configured in the local environment."]},"agent_flow":[{"step":"discover","actor":"agent","action":"Fetch https://joinhexagon.com/.well-known/agent-onboarding and https://joinhexagon.com/docs/cli-workflow.md."},{"step":"choose_plan","actor":"agent_user","action":"Choose plan and billing cycle in the terminal conversation."},{"step":"send_payment_link","actor":"agent","action":"If direct_stripe_payment_links.status is available, send the exact matching Stripe Payment Link. Otherwise state that no-UI onboarding is not configured and offer the fallback onboarding link."},{"step":"complete_payment","actor":"agent_user","action":"Open Stripe-hosted Checkout, complete payment, and return to the terminal."},{"step":"configure_credentials","actor":"agent","action":"Ask the user to provide HEXAGON_MERCHANT_ID and HEXAGON_API_KEY or confirm they are already present in the local secret store. Never ask for payment card details."},{"step":"implement_repo","actor":"agent","action":"Install the documented SDK, add server-side integration code, run tests, and report remaining provider authorization steps."}],"agent_messages":{"no_ui_available":"I found Hexagon direct Stripe Payment Links. Pick a plan and billing cycle, then I will send the exact Stripe-hosted payment link here in the terminal.","no_ui_not_configured":"Hexagon no-UI onboarding is not configured because no direct Stripe Payment Links are published. I can continue with the fallback onboarding link, or stop until Hexagon publishes the exact Stripe links.","fallback_onboarding":"Fallback onboarding link: https://joinhexagon.com/onboarding. Use this only if you accept opening Hexagon UI."}}