canonical: https://jentic.com/apis/digitallinguistics.io/digitallinguistics

# Digitallinguistics DLx

The Digital Linguistics (DLx) REST API stores and serves linguistic field data - languages, lexemes, texts, and metadata - for researchers documenting and analysing the world's languages. Eighteen endpoints cover language records, lexeme entries, and the relationships between them, with simple header-based API key authentication. It is the canonical backend for DLx-compatible tools used in language documentation projects.

## For AI agents

Manage language and lexeme records for linguistic field-work projects through the DLx REST API.

## Scope

Does not handle audio transcription, machine translation, or speech recognition - use for DLx language and lexeme record operations only.

## Capabilities

- Catalogue languages with metadata such as ISO codes, family, and location
- Store and retrieve lexeme entries linked to a language record
- Look up entries by language and lexeme identifier
- Update lexeme glosses, transcriptions, and morphological data
- Browse the corpus of languages registered in the DLx system

## Use cases

### Field Linguistics Data Capture

Capture and store lexeme entries collected during language documentation field work. The /languages and /lexemes endpoints let researchers register a language and post lexeme records with transcription, gloss, and morphological metadata, building a structured corpus that other DLx-compatible tools can read. This replaces ad-hoc spreadsheets used by many documentation projects.

Example prompt: Register language with ISO code yuk, then post lexeme records for each entry collected in today's session with transcription and gloss

### Cross-Tool Lexicon Sync

Synchronise a lexicon between desktop linguistic tools (FieldWorks, Toolbox) and the DLx web platform. The DLx REST API serves as a neutral hand-off point - desktop tools push entries via /lexemes and the web platform reads them back, so collaborators on different tools share one corpus of record.

Example prompt: Read lexemes for language id en-us-app, transform them to FieldWorks XML, and write them out to the desktop tool's project file

### Public Language Resource Browser

Build a public browser over DLx-registered languages and their lexemes for educational and reference use. GET /languages lists languages and GET /languages/{languageID}/lexemes returns lexeme records, enabling a static-site generator to produce per-language pages without a live database.

Example prompt: For each registered language, fetch its lexeme list and generate a static HTML page listing transcriptions and glosses for public access

### AI Agent Linguistic Research Assistant

An AI assistant supporting linguistic research can query DLx through Jentic to fetch language metadata or lexeme entries on demand. Searching for "list lexemes for a language" returns the matching DLx operation and its schema, so the agent can answer field-data questions without a custom integration.

Example prompt: When the researcher asks "what lexemes have we recorded for Yurok?", call /languages/{languageID}/lexemes with the Yurok language id and summarise the results

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /languages | List registered languages |
| GET | /languages/{languageID} | Retrieve a language record |
| GET | /languages/{languageID}/lexemes | List lexemes for a language |
| GET | /languages/{languageID}/lexemes/{lexemeID} | Retrieve a specific lexeme entry |
| GET | /lexemes | List or search lexemes globally |
| GET | /lexemes/{lexemeID} | Retrieve a lexeme by id |

## Key resources

- **Languages** — Register and retrieve language records with ISO codes and metadata
- **Lexemes** — Store and look up lexeme entries with transcription and gloss data

## Why Jentic

- **Setup:** Wiring DLx by hand means handling its API key header, paging through language and lexeme collections, and threading record ids yourself. Through Jentic you install once, import the DLx API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** DLx puts the language id in the URL path (/languages/{languageID}/lexemes), so a rule can pin your agent to one language: it can read that language's records and lexemes and nothing else. You choose the operations it may call, so cross-language lexeme listing is not included unless you add it.
- **Credential handling:** Your DLx API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list lexemes for a language' or 'look up a single lexeme', and Jentic returns the matching DLx operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Wikimedia API** — Encyclopedic and structured language metadata to enrich DLx language records
- **Collins Dictionary API** — General-purpose dictionary lookup rather than field-collected lexeme data
- **OpenAI API** — Generative AI to draft glosses or analyse lexeme patterns

## FAQ

### What authentication does the DLx use?

DLx uses an API key passed in the Authorization header. Keys are issued by the DLx project for registered users. Through Jentic the key is held in the encrypted vault and injected at execution time only.

### Can I retrieve all lexemes for a single language?

Yes. GET /languages/{languageID}/lexemes returns the lexeme records linked to that language record, paginated when the list is large. Each entry includes transcription, gloss, and morphological fields.

### What are the rate limits for the DLx?

DLx is a research project and does not publish a fixed public rate limit. Polite use is expected; bulk imports should be batched and spaced out, and any 429 responses respected with backoff.

### How do I list lexemes for a language through Jentic?

Run a Jentic search for "list lexemes for a language". Jentic returns GET /languages/{languageID}/lexemes with its path-parameter schema. Load it, supply the language id, and execute - no need to read the DLx spec.

### Does the API support the full set of CRUD operations on lexemes?

The published spec exposes read access on languages and lexemes plus a small number of write paths for registered users. For destructive operations, project policy may require additional authorisation beyond the API key.

### How do I install the Jentic SDK to call DLx?

Run pip install jentic, set JENTIC_AGENT_API_KEY to your ak_* key, then use Jentic with SearchRequest, LoadRequest, and ExecutionRequest. Get started with Jentic One, the self-hosted execution layer.

### Can I limit what my agent is allowed to do with the DLx API?

Yes. Because you self-host Jentic One, your own rules decide which DLx operations the agent may call and which API key it uses. Since the language id sits in the URL path, such as /languages/{languageID}/lexemes, you can pin the agent to a single language so it only reads that language's records and lexemes. You can also limit it to read paths like GET /languages and GET /lexemes and leave global cross-language listing out unless you add it.
