Skip to main content
A project is the top-level container for your localization work. Each project has a source language (the language your strings are written in) and one or more target languages that you want to translate into. All translation keys, translations, AI jobs, imports, and exports live under a project. Projects are scoped to an organization. API tokens are associated with an organization, so all project endpoints automatically filter to the organization that owns the token.

Endpoints

POST   /api/projects                        Create a project
GET    /api/projects                        List projects
GET    /api/projects/:id                    Get a project
PATCH  /api/projects/:id                    Update a project
DELETE /api/projects/:id                    Archive a project
POST   /api/projects/:id/languages          Add a target language
DELETE /api/projects/:id/languages/:lang    Remove a target language

Create a Project

curl -X POST https://api.nt3.io/api/projects \
  -H "X-API-Key: entri_your_token_here" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Marketing Website",
    "description": "All strings for the public marketing site",
    "sourceLanguage": "en",
    "targetLanguages": ["fr", "de", "es"]
  }'
Response:
{
  "_id": "proj_6abc123def456",
  "name": "Marketing Website",
  "description": "All strings for the public marketing site",
  "sourceLanguage": "en",
  "targetLanguages": ["fr", "de", "es"],
  "organization": "org_789xyz",
  "createdAt": "2025-03-01T10:00:00.000Z",
  "updatedAt": "2025-03-01T10:00:00.000Z"
}

List Projects

Returns all projects belonging to your organization.
curl https://api.nt3.io/api/projects \
  -H "X-API-Key: entri_your_token_here"

Get a Project

curl https://api.nt3.io/api/projects/proj_6abc123def456 \
  -H "X-API-Key: entri_your_token_here"

Update a Project

All fields are optional — only the fields you include will be updated.
curl -X PATCH https://api.nt3.io/api/projects/proj_6abc123def456 \
  -H "X-API-Key: entri_your_token_here" \
  -H "Content-Type: application/json" \
  -d '{"description": "Updated description"}'

Archive a Project

Deleting a project archives it rather than permanently destroying it. Archived projects and their data are retained for a recovery period.
curl -X DELETE https://api.nt3.io/api/projects/proj_6abc123def456 \
  -H "X-API-Key: entri_your_token_here"

Manage Target Languages

Add a language to a project’s target language list:
curl -X POST https://api.nt3.io/api/projects/proj_6abc123def456/languages \
  -H "X-API-Key: entri_your_token_here" \
  -H "Content-Type: application/json" \
  -d '{"language": "ja"}'
Remove a target language:
curl -X DELETE https://api.nt3.io/api/projects/proj_6abc123def456/languages/ja \
  -H "X-API-Key: entri_your_token_here"
Removing a target language does not delete the existing translations for that language, but the language will no longer appear in the editor or be returned by export endpoints.

Key Notes

  • Language codes follow the BCP 47 standard (for example en, fr, zh-TW, pt-BR).
  • The sourceLanguage of a project cannot be changed after creation.
  • Every action on a project is recorded in the Activity log.