Create your workspace
This creates a hosted workspace on TCPcore and takes you to the console to sign in. The first account in a workspace is its administrator.
You are starting the Team tier at $99 per month, 10 seats. No card is taken on this page.
Already have a workspace? Sign in.
How this form is wired
The browser posts to /api/signup on this site, a Cloudflare Pages Function in this repository. The Function calls the API at https://tcpcore-api.onrender.com/api/auth/register server to server.
That indirection is deliberate. The API as deployed does not allow this site's origin through CORS: it answers a preflight fromhttps://tcpcore.dev without anaccess-control-allow-origin header, so a direct cross-origin post would be refused by the browser and the page could not even read why. The proxy costs one extra hop and removes that dependency entirely. Nothing needs to be set on the API for this form to work.
Both hostnames are configuration. The console is set by the build-timePUBLIC_CONSOLE_URL variable; the API is set by the Pages project's API_BASE_URL binding, which the Function reads per request. The value in use now is https://tcpcore-api.onrender.com, and changing either is a configuration change and a redeploy rather than a source edit.
What does still have to be true
- The licence on the API deployment must include the multi_tenant feature for a second workspace to be creatable. On a Community licence the first workspace is free and every later registration is refused with HTTP 402, which this form displays verbatim. This was observed on the live API, so a signup will not complete until the deployment is given a licence that includes multi-tenancy.
Observed unmet against the live API while this page was built, not hypothetical.
Where this goes next
A successful signup redirects tohttps://app.tcpcore.dev/login. That host is set by the build-time PUBLIC_CONSOLE_URL variable, because the console is being deployed to its Render URL before the custom domain is attached./login reads the same variable, so both move together. No source edit is needed to point them somewhere else, and the workspace is created either way.