Skip to main content
The Glossary is an organization-wide database of approved terminology. It ensures that key brand names, technical terms, and product concepts are translated consistently across all projects and by all translators — human and AI alike. When the AI translation engine processes a key, it automatically checks the glossary and applies the approved translations for any matched terms. Human translators see glossary matches highlighted in the editor.

Endpoints

Glossaries
POST   /api/organizations/:orgId/glossaries                      Create a glossary
GET    /api/organizations/:orgId/glossaries                      List glossaries
PATCH  /api/organizations/:orgId/glossaries/:id                  Update a glossary
DELETE /api/organizations/:orgId/glossaries/:id                  Delete a glossary
Terms
POST   /api/organizations/:orgId/glossaries/:id/terms            Add a term
GET    /api/organizations/:orgId/glossaries/:id/terms            List terms
PATCH  /api/organizations/:orgId/glossaries/terms/:termId        Update a term
DELETE /api/organizations/:orgId/glossaries/terms/:termId        Delete a term
Import / Export
POST   /api/organizations/:orgId/glossaries/:id/import           Import terms (CSV or TBX)
GET    /api/organizations/:orgId/glossaries/:id/export           Export terms (CSV or TBX)
Text check
POST   /api/organizations/:orgId/glossaries/check                Check text for glossary matches
Glossary endpoints are scoped to your organization. All glossaries and their terms are shared across all projects in the organization.

Create a Glossary

curl -X POST https://api.nt3.io/api/organizations/org_789xyz/glossaries \
  -H "Cookie: session=..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Product Glossary",
    "description": "Official terminology for all Entri products",
    "sourceLanguage": "en",
    "targetLanguages": ["fr", "de", "es"]
  }'
Response:
{
  "_id": "gloss_abc123",
  "name": "Product Glossary",
  "description": "Official terminology for all Entri products",
  "sourceLanguage": "en",
  "targetLanguages": ["fr", "de", "es"],
  "organizationId": "org_789xyz",
  "created": "2025-03-01T10:00:00.000Z"
}

Add a Glossary Term

curl -X POST https://api.nt3.io/api/organizations/org_789xyz/glossaries/gloss_abc123/terms \
  -H "Cookie: session=..." \
  -H "Content-Type: application/json" \
  -d '{
    "term": "onboarding",
    "definition": "The process of setting up a new user account and configuring initial settings"
  }'
Response:
{
  "_id": "gterm_abc123",
  "term": "onboarding",
  "definition": "The process of setting up a new user account",
  "translations": [
    { "language": "fr", "value": "intégration", "approved": true },
    { "language": "de", "value": "Einarbeitung", "approved": true }
  ],
  "glossaryId": "gloss_abc123",
  "created": "2025-03-01T10:00:00.000Z"
}
Note that translations is an array of objects, each with language, value, and approved fields.

List Glossary Terms

curl "https://api.nt3.io/api/organizations/org_789xyz/glossaries/gloss_abc123/terms?search=onboard" \
  -H "Cookie: session=..."
Use the search query parameter to filter terms by substring match.

Update a Term

curl -X PATCH https://api.nt3.io/api/organizations/org_789xyz/glossaries/terms/gterm_abc123 \
  -H "Cookie: session=..." \
  -H "Content-Type: application/json" \
  -d '{
    "definition": "Updated definition here"
  }'

Delete a Term

curl -X DELETE https://api.nt3.io/api/organizations/org_789xyz/glossaries/terms/gterm_abc123 \
  -H "Cookie: session=..."

Import Terms

Import terms from a CSV or TBX file by sending the file contents as a string in the request body:
curl -X POST https://api.nt3.io/api/organizations/org_789xyz/glossaries/gloss_abc123/import \
  -H "Cookie: session=..." \
  -H "Content-Type: application/json" \
  -d '{
    "format": "csv",
    "content": "term,definition,fr,de\nonboarding,Setup process,intégration,Einarbeitung"
  }'
Supported formats: csv, tbx. CSV format: First row is a header. Required column: term. Optional columns: definition, and any language code (e.g. fr, de).

Export Terms

curl "https://api.nt3.io/api/organizations/org_789xyz/glossaries/gloss_abc123/export?format=csv" \
  -H "Cookie: session=..."
Returns { "content": "...", "format": "csv" }.

Check Text for Glossary Matches

Scan a text string against all glossary terms for your organization. Useful for validating human translations before saving:
curl -X POST https://api.nt3.io/api/organizations/org_789xyz/glossaries/check \
  -H "Cookie: session=..." \
  -H "Content-Type: application/json" \
  -d '{
    "text": "The onboarding flow should be simple"
  }'
The text check endpoint is a POST request with a JSON body { "text": "..." }, not a GET with query parameters.
Response:
{
  "matches": [
    {
      "term": "onboarding",
      "definition": "The process of setting up a new user account",
      "position": { "start": 4, "end": 14 },
      "translations": [
        { "language": "fr", "value": "intégration", "approved": true }
      ]
    }
  ]
}