API reference
Where to find authoritative endpoint documentation and the conventions every endpoint follows.
The authoritative endpoint reference for LangSync is the live OpenAPI / Swagger spec served by the LangSync backend. The dashboard at app.norcube.com calls the same API for every action.
Endpoint paths can change. Treat the Swagger spec as the source of truth; this page captures conventions only.
Where to find the Swagger UI
The Swagger UI is served at /swagger/ on the LangSync service host.
The host is your Norcube account's LangSync API endpoint – exposed via
the PUBLIC_LANGSYNC_SERVICE_BACKEND environment variable in the JDS
dashboard repo and listed in your account settings.
Authentication
Every endpoint accepts one of two schemes in the Authorization header:
Bearer <JWT>– short-lived user-session token. Used by the dashboard and the LangSync CLI. The official tooling refreshes automatically; if you're integrating manually, mint org-scoped tokens via the auth service (see Platform → Tokens).Apikey <key>– long-lived application credential. See Manage API keys.Beareris also accepted with the same value for compatibility.
Resource groups
LangSync exposes endpoints under these resource groups:
- Namespaces – CRUD + language attach/detach.
- Terms – CRUD + translation cell edits + AI recommendation + bulk import (file upload + precheck + finish).
- Sync jobs – enqueue + poll.
- Glossary – CRUD on the org's glossary and its items + translations.
- Languages – list shared + custom; create/delete custom languages.
- Manual translation – translate arbitrary text + manage custom prompts.
- API keys – list / create / revoke.
- Public API – read-only translation fetch for runtime use. See Public API.
For exact paths, request bodies, and response shapes, open the Swagger UI.
Pagination
List endpoints use cursor-based pagination. Pass cursor and limit
query parameters; the response includes cursors.next (or null when
you've reached the end).
Errors
Every error response is a JSON object:
{
"code": "INVALID_TOKEN",
"message": "The provided token is invalid or has expired."
}The HTTP status code reflects the category (4xx client / 5xx server) and
the code field gives a programmatic identifier. See
Limits and errors for the
common codes.