JantaHR developer resources
Everything a developer or an AI agent needs to build on JantaHR: where the code is, how the API is called and authenticated, and the machine-readable descriptions of this site.
JantaHR source code
The API (NestJS, Prisma, Postgres), the web app (Next.js) and the mobile app (Expo) are in one repository under AGPL-3.0: github.com/devag7/jantahr. Contribution notes are in CONTRIBUTING.md, and the legal basis for each statutory rule is in docs/legal-2026.md.
JantaHR API
The web and mobile apps use a JSON REST API, served on this site under /api. /api/health reports whether it is up. Requests and responses are JSON, and every error has the same shape. Calls are limited to 300 a minute from one address.
JantaHR OpenAPI specification
The API is described in OpenAPI 3.0 at /openapi.json. It is generated from the routes and their validation rules, so it always matches the running API: each operation has an operationId, typed parameters, a request schema and the role or plan feature it needs. Handlers do not declare what they return, so success responses are described as JSON without a fixed shape. Running the API locally also gives a browsable Swagger page at /docs.
JantaHR API authentication
Every API call carries a Supabase Auth access token as a bearer token: Authorization: Bearer <access token>. A person signs in with email and password, a magic link or Google, with two-factor where they have enrolled it, and the API maps that sign-in to their JantaHR account, company and role. There are no long-lived API keys, so an integration acts as a signed-in user and can do only what that user's role allows.
JantaHR MCP server
A Model Context Protocol server is available at /mcp over the Streamable HTTP transport, with a discovery document at /.well-known/mcp. It needs no sign-in and is read-only: its tools return this site's pages as Markdown, the plans and prices, and contact details. It does not read or change company data.
For AI agents
/llms.txt describes when to use JantaHR and lists every public page. Each page is also served as Markdown when a request sends Accept: text/markdown, and /sitemap.xml lists the same pages for crawlers.
Self-hosting JantaHR
One command starts the product with a complete Supabase stack on Docker. Start with the self-hosting page, then the full guide in deploy/self-hosted/README.md.
Security reports
Please report vulnerabilities privately, as described in SECURITY.md, not in a public issue.
Questions: sales@jantahr.in, or see Contact us.