Vocab Bloom Hub

Öffentliche API v1

Die Referenz der nur lesenden Wörterbuch-API, generiert aus dem OpenAPI-Dokument, das der Server veröffentlicht — derselbe Vertrag, aus dem die SDKs gebaut werden.

Read-only dictionary API under /api/v1 (contract version 1): no authentication, every answer in a { data, meta } envelope, errors as { statusCode, message, error: true }, X-API-Version on every response. The /api/compat/freedictionaryapi/v1 routes use freedictionaryapi.com objects, language lists and plain-text errors. The /api/compat/dictionaryapi routes use dictionaryapi.dev v1/v2 arrays and errors, with additive vocabBloom provenance. Compatibility lookups ending in /datasets wrap the responses from all installed datasets in { data, meta }; each group has dataset terms, status and response. Successful GET answers carry ETag, Last-Modified and Cache-Control. Documentation: https://vocab-bloom-hub.com/en/docs/api.

Basis-URLhttps://<instance>/api/v1
Jede Instanz liefert die API unter ihrem eigenen Ursprung aus; die Beispiele unten verwenden einen Platzhalter.
Vertrag
OpenAPI-3-Dokument, von jeder Instanz ausgeliefert unter /api/v1/openapi.json; die eingecheckte Datei
Weiterlesen

Endpunkte

GET/api/v1/meta

API and dataset versions, data license and counts of the served dictionary

Parameter

Keine Parameter.

Antworten

Beispiel

curl 'https://your-instance.example/api/v1/meta'

Im Playground ausprobieren

GET/api/v1/openapi.json

The OpenAPI 3 document of the public API (this contract)

Parameter

Keine Parameter.

Antworten

  • 200OK — object
  • 429Rate limit of the public prefix exceeded (PUBLIC_API_RATE_LIMIT); retry after the window — PublicApiErrorT
  • 503Not available: a selected dataset could not be read, the OpenAPI document is not ready, or the suggestion queue is full — PublicApiErrorT

Beispiel

curl 'https://your-instance.example/api/v1/openapi.json'

GET/api/v1/search/detailed

Search dictionary entries with pagination, meanings and translations

The detailed search: the same term and tiers, paged, with meanings and translations joined on request; the fields travel in the query string (`translation_languages` as a repeated key). Cacheable like every public GET.

Parameter

NameInTypErforderlichBeschreibung
searchquerystringjaThe term to search for
typequerystring
wordgrammar_patternphrase
neinRestrict the answer to one entry type
limitqueryintegernein
Standard: 10
pagequeryintegernein
Standard: 1
with_meaningsquerybooleanneinJoin the meanings (with translations, synonyms, antonyms) of every item
Standard: false
with_translationsquerybooleanneinJoin the short translations of every item
Standard: false
translation_languagesquerystring[]
ruesfrdeptzhar
neinKeep only these translation languages (a repeated key); omit the key for all of them
datasetquerystringneinPublic dataset name; omitted = the active dataset. Unknown or closed targets return 404, never a fallback.

Antworten

  • 200OK — PublicSearchDetailedV1ResT
  • 400Invalid input: an unknown field, a value outside the allowed set, or a foreign cursor — PublicApiErrorT
  • 404Nothing matches — PublicApiErrorT
  • 429Rate limit of the public prefix exceeded (PUBLIC_API_RATE_LIMIT); retry after the window — PublicApiErrorT
  • 503Not available: a selected dataset could not be read, the OpenAPI document is not ready, or the suggestion queue is full — PublicApiErrorT

Beispiel

curl 'https://your-instance.example/api/v1/search/detailed'

Im Playground ausprobieren

GET/api/v1/words/{word}

All entries of a headword: parts of speech, forms, meanings, translations, links

Parameter

NameInTypErforderlichBeschreibung
wordpathstringjaHeadword spelling, case-insensitive (spaces URL-encoded for phrases). An inflected form resolves to its base entry

Antworten

Beispiel

curl 'https://your-instance.example/api/v1/words/run'

Im Playground ausprobieren

GET/api/v1/words/{word}/meanings

The meanings of a headword across its entries

Parameter

NameInTypErforderlichBeschreibung
wordpathstringjaHeadword spelling, case-insensitive (spaces URL-encoded for phrases). An inflected form resolves to its base entry

Antworten

Beispiel

curl 'https://your-instance.example/api/v1/words/run/meanings'

Im Playground ausprobieren

GET/api/v1/words/{word}/translations

The short and per-meaning translations of a headword

Parameter

NameInTypErforderlichBeschreibung
wordpathstringjaHeadword spelling, case-insensitive (spaces URL-encoded for phrases). An inflected form resolves to its base entry
languagequerystring[]
ruesfrdeptzhar
neinTranslation languages; no value means all of them

Antworten

Beispiel

curl 'https://your-instance.example/api/v1/words/run/translations'

Im Playground ausprobieren

GET/api/v1/words/{word}/forms

The inflected forms of a headword across its entries

Parameter

NameInTypErforderlichBeschreibung
wordpathstringjaHeadword spelling, case-insensitive (spaces URL-encoded for phrases). An inflected form resolves to its base entry

Antworten

Beispiel

curl 'https://your-instance.example/api/v1/words/run/forms'

Im Playground ausprobieren

GET/api/v1/words/{word}/synonyms

The synonyms of a headword, per meaning

One item per linked headword and meaning; each names its `meaning_id`, `word_id` and `part_of_speech`.

Parameter

NameInTypErforderlichBeschreibung
wordpathstringjaHeadword spelling, case-insensitive (spaces URL-encoded for phrases). An inflected form resolves to its base entry

Antworten

Beispiel

curl 'https://your-instance.example/api/v1/words/run/synonyms'

Im Playground ausprobieren

GET/api/v1/words/{word}/antonyms

The antonyms of a headword, per meaning

One item per linked headword and meaning; each names its `meaning_id`, `word_id` and `part_of_speech`.

Parameter

NameInTypErforderlichBeschreibung
wordpathstringjaHeadword spelling, case-insensitive (spaces URL-encoded for phrases). An inflected form resolves to its base entry

Antworten

Beispiel

curl 'https://your-instance.example/api/v1/words/run/antonyms'

Im Playground ausprobieren

GET/api/v1/words/{word}/history

What was changed or added on the instance in the entries of a headword

The edits that still show in what is served, the latest first, with the values before and after: the entries of such a headword carry `modified: true`. Empty for a headword served as its source has it.

Parameter

NameInTypErforderlichBeschreibung
wordpathstringjaHeadword spelling, case-insensitive (spaces URL-encoded for phrases). An inflected form resolves to its base entry

Antworten

Beispiel

curl 'https://your-instance.example/api/v1/words/run/history'

Im Playground ausprobieren

GET/api/v1/words/{word}/datasets

A headword as every open dataset of the instance has it, grouped by dataset

One group per open dataset, never merged: the terms of the dataset (`license`, `attribution`, `license_text`, …) and the entries `GET /words/{word}` would answer if that dataset were the served one. The spelling is matched inside each dataset, so a group has its own `word` and `variants`; a dataset without the headword answers an empty `entries`, and the request fails with 404 when no dataset holds it. Entries taken from several groups are bound by the terms of each. One request against the rate limit.

Parameter

NameInTypErforderlichBeschreibung
wordpathstringjaHeadword spelling, case-insensitive (spaces URL-encoded for phrases). An inflected form resolves to its base entry

Antworten

Beispiel

curl 'https://your-instance.example/api/v1/words/run/datasets'

Im Playground ausprobieren

GET/api/v1/words/{word}/datasets/{dataset}/history

What was changed or added on the instance in the entries of a headword, in one dataset

The answer of `GET /words/{word}/history` for a dataset named by its `dataset`: the edits behind `modified: true` of the entries of that group. 404 for a closed dataset or a dataset the instance does not hold.

Parameter

NameInTypErforderlichBeschreibung
wordpathstringjaHeadword spelling, case-insensitive (spaces URL-encoded for phrases). An inflected form resolves to its base entry
datasetpathstringjaThe name of a dataset of the instance, as `dataset` of a group of `GET /words/{word}/datasets` says it

Antworten

Beispiel

curl 'https://your-instance.example/api/v1/words/run/datasets/default/history'

Im Playground ausprobieren

GET/api/v1/words/id/{id}

One dictionary entry by its numeric id

Parameter

NameInTypErforderlichBeschreibung
idpathnumberja

Antworten

Beispiel

curl 'https://your-instance.example/api/v1/words/id/1'

Im Playground ausprobieren

GET/api/v1/words

List dictionary entries by filters, cursor-paged and ordered by (word, id)

Every enum filter accepts a repeated key; values of one filter are OR-ed, filters are AND-ed. `search` keeps the headwords starting with the prefix (an autocomplete or an A–Z browser: cacheable, unlike the search). Pass `meta.next_cursor` back as `cursor` to read the next page.

Parameter

NameInTypErforderlichBeschreibung
searchquerystringneinHeadword prefix, case-insensitive (`ru` lists run, rung, runner, …)
is_obsoletequerybooleanneintrue: obsolete entries only, false: current ones only
part_of_speechquerystring[]
nounverbmodal_verbadjectiveadverbpronounnumeralnumeral_fractionaldeterminerinterjectionarticleprepositionconjunctionletterphrasegrammar_pattern
nein
word_levelquerystring[]
A1A2B1B2C1C2
nein
language_registerquerystring[]
formalinformalslang
nein
categoryquerystring[]
scientifictechnicalmedicallegalbusinessITartpoliticalsportculinary
neinWords tagged with any of the categories
area_variantquerystring[]
commonbritishamericanaustralian
nein
form_of_wordquerystring[]
base_formplural_formpossessive_singular_formpossessive_plural_formpast_simplepast_participlepresent_participlethird_person_singularcomparative_formsuperlative_formobjectpossessive_adjectivepossessive_pronounreflexiveordinalmultiplicative
neinDefaults to base forms only
Standard: ["base_form"]
cursorquerystringneinThe `meta.next_cursor` of the previous page; omit for the first page
limitqueryintegernein
Standard: 20
with_meaningsquerybooleanneinJoin the meanings of every word
Standard: false
with_translationsquerybooleanneinJoin the short translations of every word
Standard: false

Antworten

  • 200OK — PublicWordsV1ResT
  • 400Invalid input: an unknown field, a value outside the allowed set, or a foreign cursor — PublicApiErrorT
  • 429Rate limit of the public prefix exceeded (PUBLIC_API_RATE_LIMIT); retry after the window — PublicApiErrorT

Beispiel

curl 'https://your-instance.example/api/v1/words'

Im Playground ausprobieren

GET/api/v1/random

A random dictionary entry matching the filters (base forms unless form_of_word is given)

Parameter

NameInTypErforderlichBeschreibung
searchquerystringneinHeadword prefix, case-insensitive (`ru` lists run, rung, runner, …)
is_obsoletequerybooleanneintrue: obsolete entries only, false: current ones only
part_of_speechquerystring[]
nounverbmodal_verbadjectiveadverbpronounnumeralnumeral_fractionaldeterminerinterjectionarticleprepositionconjunctionletterphrasegrammar_pattern
nein
word_levelquerystring[]
A1A2B1B2C1C2
nein
language_registerquerystring[]
formalinformalslang
nein
categoryquerystring[]
scientifictechnicalmedicallegalbusinessITartpoliticalsportculinary
neinWords tagged with any of the categories
area_variantquerystring[]
commonbritishamericanaustralian
nein
form_of_wordquerystring[]
base_formplural_formpossessive_singular_formpossessive_plural_formpast_simplepast_participlepresent_participlethird_person_singularcomparative_formsuperlative_formobjectpossessive_adjectivepossessive_pronounreflexiveordinalmultiplicative
neinDefaults to base forms only
Standard: ["base_form"]

Antworten

Beispiel

curl 'https://your-instance.example/api/v1/random'

Im Playground ausprobieren

GET/api/v1/search/semantic/status

Whether the instance enables semantic search

Reflects only SEMANTIC_SEARCH_ENABLED. Performs no inference and does not promise model/vector availability. Never cached.

Parameter

Keine Parameter.

Antworten

Beispiel

curl 'https://your-instance.example/api/v1/search/semantic/status'

Im Playground ausprobieren

GET/api/v1/search/semantic

Find existing meanings from a description

Separate from spelling search; no lexical fallback. Requires SEMANTIC_SEARCH_ENABLED, PostgreSQL/pgvector, imported current vectors and a matching Ollama model. Disabled = 404 semantic_search_disabled; missing infrastructure, busy service or incompatible model = 503. Returns up to 20 meanings, ordered by cosine similarity then meaning ID. Scores are not confidence probabilities; no calibrated no-answer threshold. No pagination or cross-dataset ranking. Uses the shared public rate budget. Responses are no-store.

Parameter

NameInTypErforderlichBeschreibung
queryquerystringjaA description of the intended meaning, in English or another language supported by the model.
datasetquerystringneinOne public dataset; omitted = active dataset. Closed/unknown targets return 404.
limitqueryintegernein
Standard: 10

Antworten

  • 200OK — PublicSemanticSearchV1ResT
  • 400Invalid input: an unknown field, a value outside the allowed set, or a foreign cursor — PublicApiErrorT
  • 404Nothing matches — PublicApiErrorT
  • 429Rate limit of the public prefix exceeded (PUBLIC_API_RATE_LIMIT); retry after the window — PublicApiErrorT
  • 503Not available: a selected dataset could not be read, the OpenAPI document is not ready, or the suggestion queue is full — PublicApiErrorT

Beispiel

curl 'https://your-instance.example/api/v1/search/semantic'

Im Playground ausprobieren

GET/api/compat/dictionaryapi/v2/entries/{language}/{word}/datasets

dictionaryapi.dev v2 responses from every open dataset

One group per installed dataset with its terms, status and response in the adapter format. Missing words have status 404 and the adapter error in response. The outer request returns 200 even when no dataset matches. English only; the usual headword and inflection rules apply in each dataset. No query parameters. Does not activate any dataset. One public rate-limit unit; cached across all datasets.

Parameter

NameInTypErforderlichBeschreibung
languagepathstring
enen_USen_GB
ja
wordpathstringjaHeadword spelling, case-insensitive (spaces URL-encoded for phrases). An inflected form resolves to its base entry

Antworten

Beispiel

curl 'https://your-instance.example/api/compat/dictionaryapi/v2/entries/en/run/datasets'

Im Playground ausprobieren

GET/api/compat/dictionaryapi/v1/entries/{language}/{word}/datasets

dictionaryapi.dev v1 responses from every open dataset

One group per installed dataset with its terms, status and response in the adapter format. Missing words have status 404 and the adapter error in response. The outer request returns 200 even when no dataset matches. English only; the usual headword and inflection rules apply in each dataset. No query parameters. Does not activate any dataset. One public rate-limit unit; cached across all datasets.

Parameter

NameInTypErforderlichBeschreibung
languagepathstring
enen_USen_GB
ja
wordpathstringjaHeadword spelling, case-insensitive (spaces URL-encoded for phrases). An inflected form resolves to its base entry

Antworten

Beispiel

curl 'https://your-instance.example/api/compat/dictionaryapi/v1/entries/en/run/datasets'

Im Playground ausprobieren

GET/api/compat/freedictionaryapi/v1/entries/{language}/{word}/datasets

freedictionaryapi.com responses from every open dataset

One group per installed dataset with its terms, status 200 and the adapter object in response. Exact spelling; en and all read English. Missing words and other languages have empty response.entries. The outer request returns 200 even when no dataset matches. Does not activate any dataset. One public rate-limit unit; cached across all datasets. Empty source links point here rather than active-only /meta.

Parameter

NameInTypErforderlichBeschreibung
languagepathstringjaen or all; other values return empty entries
wordpathstringjaExact case-sensitive spelling, encoded as one URL segment
prettyquerybooleanneinIndent the whole response with two spaces; default false.
translationsquerybooleanneinInclude supported translations; default false. Only true/false, first occurrence wins.

Antworten

  • 200OK — FreeDictionaryDatasetsResT
  • 400Invalid input: an unknown field, a value outside the allowed set, or a foreign cursor
  • 429Rate limit of the public prefix exceeded (PUBLIC_API_RATE_LIMIT); retry after the window

Beispiel

curl 'https://your-instance.example/api/compat/freedictionaryapi/v1/entries/example/run/datasets'

Im Playground ausprobieren

GET/api/compat/dictionaryapi/v2/entries/{language}/{word}

dictionaryapi.dev v2 lookup in the active dataset

Array response, with lossless provenance in vocabBloom. English only; native headword and inflection resolution. No dataset query parameter.

Parameter

NameInTypErforderlichBeschreibung
languagepathstring
enen_USen_GB
ja
wordpathstringjaHeadword spelling, case-insensitive (spaces URL-encoded for phrases). An inflected form resolves to its base entry

Antworten

Beispiel

curl 'https://your-instance.example/api/compat/dictionaryapi/v2/entries/en/run'

Im Playground ausprobieren

GET/api/compat/dictionaryapi/v1/entries/{language}/{word}

dictionaryapi.dev legacy v1 lookup in the active dataset

Same entries and terms as v2, with a meaning object keyed by part of speech instead of meanings. English only.

Parameter

NameInTypErforderlichBeschreibung
languagepathstring
enen_USen_GB
ja
wordpathstringjaHeadword spelling, case-insensitive (spaces URL-encoded for phrases). An inflected form resolves to its base entry

Antworten

Beispiel

curl 'https://your-instance.example/api/compat/dictionaryapi/v1/entries/en/run'

Im Playground ausprobieren

GET/api/compat/freedictionaryapi/v1/entries/{language}/{word}

freedictionaryapi.com lookup in the active dataset

Exact spelling. en and all read the English database; other languages and missing spellings return empty entries. Full terms in vocabBloom.

Parameter

NameInTypErforderlichBeschreibung
languagepathstringjaen or all; other values return empty entries
wordpathstringjaExact case-sensitive spelling, encoded as one URL segment
prettyquerybooleanneinIndent JSON with two spaces; default false.
translationsquerybooleanneinInclude supported translations; default false. Only true/false, first occurrence wins.

Antworten

  • 200OK — FreeDictionaryEntriesResT
  • 400Invalid input: an unknown field, a value outside the allowed set, or a foreign cursor
  • 429Rate limit of the public prefix exceeded (PUBLIC_API_RATE_LIMIT); retry after the window

Beispiel

curl 'https://your-instance.example/api/compat/freedictionaryapi/v1/entries/example/run'

Im Playground ausprobieren

GET/api/compat/freedictionaryapi/v1/languages

Available headword languages and readable spelling counts

English only. Counts include phrases, inflections and alternative-only entry rows in the active dataset, once per readable spelling; unlinked placeholders are excluded.

Parameter

NameInTypErforderlichBeschreibung
prettyquerybooleanneinIndent JSON with two spaces; default false.

Antworten

  • 200OK — FreeDictionaryLanguagesResT
  • 400Invalid input: an unknown field, a value outside the allowed set, or a foreign cursor
  • 429Rate limit of the public prefix exceeded (PUBLIC_API_RATE_LIMIT); retry after the window

Beispiel

curl 'https://your-instance.example/api/compat/freedictionaryapi/v1/languages'

Im Playground ausprobieren

GET/api/v1/search/datasets

Search up to five public datasets, in separate groups

Repeat datasets for each target (1–5 unique names). Groups follow installation order. The detailed search filters, limit (1–20) and page (1–20) apply independently to every group. Relevance scores are local to each dataset. Empty matches have status ok and an empty data array; failed readers have status unavailable and no results/pagination. Unknown or closed targets reject the entire request with 404. Partial failures return 200 with meta.partial and Cache-Control: no-store. Each selected dataset costs one unit of the shared public rate budget, including failed reads. Selected searches revalidate their ETag on every use.

Parameter

NameInTypErforderlichBeschreibung
searchquerystringjaThe term to search for
typequerystring
wordgrammar_patternphrase
neinRestrict the answer to one entry type
limitqueryintegernein
Standard: 10
pagequeryintegernein
Standard: 1
with_meaningsquerybooleanneinJoin the meanings (with translations, synonyms, antonyms) of every item
Standard: false
with_translationsquerybooleanneinJoin the short translations of every item
Standard: false
translation_languagesquerystring[]
ruesfrdeptzhar
neinKeep only these translation languages (a repeated key); omit the key for all of them
datasetsquerystring[]jaPublic dataset names as repeated keys. Groups follow installation order. Each selected dataset costs one unit of the shared public rate budget.

Antworten

Beispiel

curl 'https://your-instance.example/api/v1/search/datasets?search=run&datasets=default'

Im Playground ausprobieren

GET/api/v1/datasets

Publicly readable datasets and their terms, in installation order

Parameter

Keine Parameter.

Antworten

Beispiel

curl 'https://your-instance.example/api/v1/datasets'

Im Playground ausprobieren

POST/api/v1/words/batch

Up to 50 headwords in one request

Every spelling is matched like `GET /words/{word}`; the answer keeps the request order, collapses duplicates, and lists the spellings without an entry under `meta.not_found` instead of failing. One request against the rate limit, whatever the size of the batch.

Anfragetext · WordsBatchV1ReqDTO

NameTypErforderlichBeschreibung
wordsstring[]jaHeadword spellings, 50 at most, each matched like GET /words/{word} (case-insensitively; an inflected form resolves to its base entry)

Antworten

Beispiel

curl -X POST 'https://your-instance.example/api/v1/words/batch' \
  -H 'Content-Type: application/json' \
  -d '{"words":["run","walk","nonexistentword"]}'

Im Playground ausprobieren

POST/api/v1/suggestions

Report a mistake in the dictionary data

Files a report for the instance admin to review: what is wrong with a headword (optionally one specific entry of it) and, ideally, what would be right. The headword must exist in the selected publicly open dataset. Pass dataset to target a viewed dataset; omitted means the active dataset. All IDs must belong to that dataset and headword. Closed, unknown or removed targets answer 404 without fallback. Rate limits are shared across datasets; a full target queue answers 503.

Anfragetext · CreateSuggestionV1ReqDTO

NameTypErforderlichBeschreibung
datasetstringneinInstalled, publicly open dataset containing the headword and all supplied IDs. Omit to use the active dataset.
headwordstringjaThe headword the report is about; must exist in the dictionary
word_idobjectneinId of the entry (part of speech) the report points at, from the word answers
kindstring
reportedit
nein
Standard: "report"
messageobjectneinWhat is wrong and, ideally, what would be right. Required for a report; an optional comment on an edit
editsSuggestionEditV1DTO[]neinEdit flow: every touched target of the word form with its proposed values
author_nameobjectneinThe name the sender wants to be credited by (issue #531). Kept only together with `author_consent: true`: once the correction is applied the name is shown next to it and travels with the copies of the data
author_consentobjectneinThe sender agrees that `author_name` is shown and exported; required when a name is given

Antworten

Beispiel

curl -X POST 'https://your-instance.example/api/v1/suggestions' \
  -H 'Content-Type: application/json' \
  -d '{"headword":"run","message":"Please check the definition of this word."}'

Im Playground ausprobieren

Schemas

SuggestionEditV1DTO

NameTypErforderlichBeschreibung
target_typestring
wordmeaningmeaning_translationshort_translation
ja
target_idnumberjaId of the targeted row, from the word answers
changesobjectjaThe proposed field values, e.g. { "definition": "…" }. The accepted fields depend on target_type; unknown fields, empty values and values equal to the current ones are rejected

CreateSuggestionV1ReqDTO

NameTypErforderlichBeschreibung
datasetstringneinInstalled, publicly open dataset containing the headword and all supplied IDs. Omit to use the active dataset.
headwordstringjaThe headword the report is about; must exist in the dictionary
word_idobjectneinId of the entry (part of speech) the report points at, from the word answers
kindstring
reportedit
nein
Standard: "report"
messageobjectneinWhat is wrong and, ideally, what would be right. Required for a report; an optional comment on an edit
editsSuggestionEditV1DTO[]neinEdit flow: every touched target of the word form with its proposed values
author_nameobjectneinThe name the sender wants to be credited by (issue #531). Kept only together with `author_consent: true`: once the correction is applied the name is shown next to it and travels with the copies of the data
author_consentobjectneinThe sender agrees that `author_name` is shown and exported; required when a name is given

WordsBatchV1ReqDTO

NameTypErforderlichBeschreibung
wordsstring[]jaHeadword spellings, 50 at most, each matched like GET /words/{word} (case-insensitively; an inflected form resolves to its base entry)

PublicSearchV1MetaT

NameTypErforderlichBeschreibung
datasetstringneinPresent only for an explicitly selected dataset.
countintegerja
fuzzybooleanja
short_termbooleanja

PublicSearchV1ResT

NameTypErforderlichBeschreibung
dataPublicSearchWordV1T[]ja
metaPublicSearchV1MetaTja

PublicSearchWordV1T

NameTypErforderlichBeschreibung
alternativesstring[]neinAlternative spellings of this headword, shared by all its parts of speech.
originsOriginT[]nein
contributionsOriginT[]neinTerms of the datasets whose edits still contribute to this word.
licensesWordLicenseT[]nein
idintegerja
wordstringja
part_of_speechEnPartOfSpeechEja
form_of_wordEnWordFormsEja
is_obsoletebooleanja
is_abbreviationbooleanja
word_levelWordLevelE | nullja
area_variantEnAreaVariantsE | nullja
categoriesCategoryE[]ja
language_registerLanguageRegisterE | nullja
descriptionstring | nullja
transcriptionstring | nullja
pronunciationsPronunciationT[]neinOrdered pronunciations, with legacy transcription and base-form fallback.
patternstring[] | nullja
noun___irregular_pluralboolean | nullja
noun___uncountableboolean | nullja
noun___is_properboolean | nullja
noun___always_pluralboolean | nullja
verb___is_irregularboolean | nullja
verb___transitivityEnVerbTransitivityE | nullja
verb___is_phrasalboolean | nullja
verb___phrasal_object_patternEnPhrasalObjectPatternE | nullja
base_phrasalstring | nullja
formsPublicWordV1FormT[]ja
similaritynumbernein
sourcestringnein
modifiedbooleannein

OriginT

NameTypErforderlichBeschreibung
idstringja
namestringja
versionstring | nullja
urlstringnein
record_urlstringnein
licensesOriginLicenseT[]ja
license_relationstring
allany
jaAll obligations apply, or the source explicitly offers a choice.
attributionstringja
noticesstring[]ja
scopestring
worddataset
jaDataset means that distribution between individual words is unknown.
methodstring
datasetmanual
ja
recorded_atstring | nullja
acquisitionsOriginAcquisitionT[]neinCopy/fork events belonging to this source snapshot; absent before any acquisition.
inheritedbooleanjaAutomatically inherited terms cannot be removed by ordinary editing.

OriginLicenseT

A durable statement of terms, not a pointer to a mutable dataset registry.

NameTypErforderlichBeschreibung
spdxstringnein
namestringja
urlstringja
textstringneinRequired for custom licenses; preserved verbatim when supplied.

OriginAcquisitionT

An acquisition of a source snapshot, without repeating its license terms.

NameTypErforderlichBeschreibung
idstringja
methodstring
copyfork
ja
recorded_atstring | nullja
revisionstringnein
viaobjectneinThe intermediate dataset the material passed through; this adds no license obligations.

WordLicenseT

One license can occur more than once; origin_id refers to origins or contributions.

NameTypErforderlichBeschreibung
origin_idstringja
spdxstringnein
namestringja
urlstringja
textstringneinRequired for custom licenses; preserved verbatim when supplied.

EnPartOfSpeechE

Eines von: noun, verb, modal_verb, adjective, adverb, pronoun, numeral, numeral_fractional, determiner, interjection, article, preposition, conjunction, letter, phrase, grammar_pattern

EnWordFormsE

Eines von: base_form, plural_form, possessive_singular_form, possessive_plural_form, past_simple, past_participle, present_participle, third_person_singular, comparative_form, superlative_form, object, possessive_adjective, possessive_pronoun, reflexive, ordinal, multiplicative

WordLevelE

Eines von: A1, A2, B1, B2, C1, C2

EnAreaVariantsE

Eines von: common, british, american, australian

CategoryE

Eines von: scientific, technical, medical, legal, business, IT, art, political, sport, culinary

LanguageRegisterE

Eines von: formal, informal, slang

PronunciationT

Portable pronunciation; database IDs never travel in datasets or public responses.

NameTypErforderlichBeschreibung
audioPronunciationAudioT[]neinRecordings carry their own terms, independent of the word's text.
typestring
ipaenpr
ja
textstring | nullja
area_variantEnAreaVariantsEja
sort_orderintegerja

PronunciationAudioT

External recordings only; missing license metadata is an empty list, never the text license.

NameTypErforderlichBeschreibung
urlstringja
source_urlstring | nullnein
attributionstring | nullnein
licensesOriginLicenseT[]ja
sort_orderintegerja

EnVerbTransitivityE

Eines von: transitive, intransitive, both

EnPhrasalObjectPatternE

Eines von: no_object, inseparable, separable, separable_pronoun_only

PublicWordV1FormT

NameTypErforderlichBeschreibung
alternativesstring[]nein
idintegerja
wordstringja
form_of_wordEnWordFormsEja
area_variantEnAreaVariantsEja
transcriptionstring | nullja
pronunciationsPronunciationT[]neinOrdered pronunciations, with legacy transcription and base-form fallback.

PublicSearchDetailedV1MetaT

NameTypErforderlichBeschreibung
datasetstringneinPresent only for an explicitly selected dataset.
pageintegerja
limitintegerja
has_morebooleanja
fuzzybooleanja
short_termbooleanja

PublicSearchDetailedV1ResT

NameTypErforderlichBeschreibung
dataPublicWordV1T[]ja
metaPublicSearchDetailedV1MetaTja

PublicWordV1T

NameTypErforderlichBeschreibung
etymologiesobject[]nein
meaningsPublicWordV1MeaningT[]ja
short_translationsPublicWordV1ShortTranslationT[]ja
phrasal_variantsstring[]nein
alternativesstring[]neinAlternative spellings of this headword, shared by all its parts of speech.
originsOriginT[]nein
contributionsOriginT[]neinTerms of the datasets whose edits still contribute to this word.
licensesWordLicenseT[]nein
idintegerja
wordstringja
part_of_speechEnPartOfSpeechEja
form_of_wordEnWordFormsEja
is_obsoletebooleanja
is_abbreviationbooleanja
word_levelWordLevelE | nullja
area_variantEnAreaVariantsE | nullja
categoriesCategoryE[]ja
language_registerLanguageRegisterE | nullja
descriptionstring | nullja
transcriptionstring | nullja
pronunciationsPronunciationT[]neinOrdered pronunciations, with legacy transcription and base-form fallback.
patternstring[] | nullja
noun___irregular_pluralboolean | nullja
noun___uncountableboolean | nullja
noun___is_properboolean | nullja
noun___always_pluralboolean | nullja
verb___is_irregularboolean | nullja
verb___transitivityEnVerbTransitivityE | nullja
verb___is_phrasalboolean | nullja
verb___phrasal_object_patternEnPhrasalObjectPatternE | nullja
base_phrasalstring | nullja
formsPublicWordV1FormT[]ja
similaritynumbernein
sourcestringnein
modifiedbooleannein

PublicWordV1MeaningT

NameTypErforderlichBeschreibung
etymology_numberinteger | nullneinLocal number of the owning word etymology; null when unknown.
idintegerja
sort_orderintegerja
titlestringja
definitionstringja
is_obsoletebooleanja
examplesstring[]ja
quotesMeaningQuoteT[]nein
categoriesCategoryE[]ja
meaning_levelWordLevelE | nullja
area_variantEnAreaVariantsEja
language_registerLanguageRegisterE | nullja
translationsPublicWordV1MeaningTranslationT[]ja
synonymsstring[]ja
antonymsstring[]ja

MeaningQuoteT

A sourced quotation, in authored array order. Missing attribution is explicit.

NameTypErforderlichBeschreibung
textstringja
referencestring | nullja
source_urlstring | nullnein

PublicWordV1MeaningTranslationT

NameTypErforderlichBeschreibung
idintegerja
languageAvailableTranslationLanguagesEja
titlestringja
definitionstringja
variants_of_wordsstring[]ja

AvailableTranslationLanguagesE

Eines von: ru, es, fr, de, pt, zh, ar

PublicWordV1ShortTranslationT

NameTypErforderlichBeschreibung
idintegerja
languageAvailableTranslationLanguagesEja
descriptionstringja
variants_of_wordsstring[]ja

PublicWordV1ResT

NameTypErforderlichBeschreibung
dataPublicWordV1Tja

PublicHeadwordV1MetaT

NameTypErforderlichBeschreibung
wordstringja
countintegerja
variantsstring[]nein

PublicHeadwordV1ResT

NameTypErforderlichBeschreibung
dataPublicWordV1T[]ja
metaPublicHeadwordV1MetaTja

PublicMeaningV1T

NameTypErforderlichBeschreibung
originsOriginT[]nein
contributionsOriginT[]nein
licensesWordLicenseT[]nein
word_idintegerja
part_of_speechEnPartOfSpeechEja
sourcestringnein
modifiedbooleannein
etymology_numberinteger | nullneinLocal number of the owning word etymology; null when unknown.
idintegerja
sort_orderintegerja
titlestringja
definitionstringja
is_obsoletebooleanja
examplesstring[]ja
quotesMeaningQuoteT[]nein
categoriesCategoryE[]ja
meaning_levelWordLevelE | nullja
area_variantEnAreaVariantsEja
language_registerLanguageRegisterE | nullja
translationsPublicWordV1MeaningTranslationT[]ja
synonymsstring[]ja
antonymsstring[]ja

PublicHeadwordMeaningsV1ResT

NameTypErforderlichBeschreibung
dataPublicMeaningV1T[]ja
metaPublicHeadwordV1MetaTja

PublicWordFormV1T

NameTypErforderlichBeschreibung
originsOriginT[]nein
contributionsOriginT[]nein
licensesWordLicenseT[]nein
word_idintegerja
part_of_speechEnPartOfSpeechEja
sourcestringnein
modifiedbooleannein
alternativesstring[]nein
idintegerja
wordstringja
form_of_wordEnWordFormsEja
area_variantEnAreaVariantsEja
transcriptionstring | nullja
pronunciationsPronunciationT[]neinOrdered pronunciations, with legacy transcription and base-form fallback.

PublicHeadwordFormsV1ResT

NameTypErforderlichBeschreibung
dataPublicWordFormV1T[]ja
metaPublicHeadwordV1MetaTja

PublicShortTranslationV1T

NameTypErforderlichBeschreibung
originsOriginT[]nein
contributionsOriginT[]nein
licensesWordLicenseT[]nein
word_idintegerja
part_of_speechEnPartOfSpeechEja
sourcestringnein
modifiedbooleannein
idintegerja
languageAvailableTranslationLanguagesEja
descriptionstringja
variants_of_wordsstring[]ja

PublicMeaningTranslationV1T

NameTypErforderlichBeschreibung
meaning_idintegerja
originsOriginT[]nein
contributionsOriginT[]nein
licensesWordLicenseT[]nein
word_idintegerja
part_of_speechEnPartOfSpeechEja
sourcestringnein
modifiedbooleannein
idintegerja
languageAvailableTranslationLanguagesEja
titlestringja
definitionstringja
variants_of_wordsstring[]ja

PublicWordLinkV1T

NameTypErforderlichBeschreibung
meaning_idintegerja
wordstringja
originsOriginT[]nein
contributionsOriginT[]nein
licensesWordLicenseT[]nein
word_idintegerja
part_of_speechEnPartOfSpeechEja
sourcestringnein
modifiedbooleannein

PublicHeadwordLinksV1ResT

NameTypErforderlichBeschreibung
dataPublicWordLinkV1T[]ja
metaPublicHeadwordV1MetaTja

PublicChangeV1T

NameTypErforderlichBeschreibung
inherited_fromOriginT | nullnein
contributionOriginT | nullneinTerms captured when this edit was made, independent of later dataset changes.
reasonstring | nullnein
created_atstringja
wordstringja
part_of_speechstring | nullja
entityChangeEntityEja
actionChangeActionEja
recordChangeRecordT | nullja
diffChangeDiffTja
originChangeOriginEja
authorstring | nullja
sourcestringnein

ChangeEntityE

What was edited

Eines von: word, word_form, meaning, meaning_translation, short_translation

ChangeActionE

Eines von: create, update, delete

ChangeRecordT

The record of an entry an edit is about, by what it says rather than by its id: ids change when a dataset is updated and differ between instances. Null for the word itself — the headword and the part of speech name it.

NameTypErforderlichBeschreibung

ChangeFormRecordT

NameTypErforderlichBeschreibung
wordstringja
form_of_wordstringja

ChangeMeaningRecordT

NameTypErforderlichBeschreibung
titlestringja
sort_orderintegerja

ChangeTranslationRecordT

NameTypErforderlichBeschreibung
meaningChangeMeaningRecordTja
languagestringja
titlestringja

ChangeShortTranslationRecordT

NameTypErforderlichBeschreibung
languagestringja
descriptionstringja

ChangeDiffT

The values an edit changed: `{ field: { before, after } }`; a creation has no `before`, a deletion no `after`

NameTypErforderlichBeschreibung

ChangeOriginE

Where an edit came from

Eines von: admin, suggestion, revert

PublicHeadwordHistoryV1MetaT

NameTypErforderlichBeschreibung
wordstringja
countintegerja
variantsstring[]nein

PublicHeadwordHistoryV1ResT

NameTypErforderlichBeschreibung
dataPublicChangeV1T[]ja
metaPublicHeadwordHistoryV1MetaTja

PublicDatasetTermsV1T

NameTypErforderlichBeschreibung
originsOriginT[]nein
licensesWordLicenseT[]nein
descriptionstring | nullnein
datasetstringja
titlestringnein
activebooleanja
sourcestringja
dataset_versionstring | nullja
licensestringja
license_urlstringja
attributionstringja
attribution_urlstring | nullja
noticestringja
license_textstringja

PublicWordDatasetV1T

NameTypErforderlichBeschreibung
wordstringja
variantsstring[]ja
countintegerja
entriesPublicWordV1T[]ja
originsOriginT[]nein
licensesWordLicenseT[]nein
descriptionstring | nullnein
datasetstringja
titlestringnein
activebooleanja
sourcestringja
dataset_versionstring | nullja
licensestringja
license_urlstringja
attributionstringja
attribution_urlstring | nullja
noticestringja
license_textstringja

PublicWordDatasetsV1MetaT

NameTypErforderlichBeschreibung
wordstringja
datasetsintegerja
foundintegerja

PublicWordDatasetsV1ResT

NameTypErforderlichBeschreibung
dataPublicWordDatasetV1T[]ja
metaPublicWordDatasetsV1MetaTja

PublicHeadwordTranslationsV1T

NameTypErforderlichBeschreibung
short_translationsPublicShortTranslationV1T[]ja
meaning_translationsPublicMeaningTranslationV1T[]ja

PublicHeadwordTranslationsV1ResT

NameTypErforderlichBeschreibung
metaPublicHeadwordV1MetaTja
dataPublicHeadwordTranslationsV1Tja

PublicWordsBatchItemV1T

NameTypErforderlichBeschreibung
wordstringja
countintegerja
entriesPublicWordV1T[]ja

PublicWordsBatchV1MetaT

NameTypErforderlichBeschreibung
countintegerja
not_foundstring[]ja

PublicWordsBatchV1ResT

NameTypErforderlichBeschreibung
dataPublicWordsBatchItemV1T[]ja
metaPublicWordsBatchV1MetaTja

PublicWordsV1MetaT

NameTypErforderlichBeschreibung
limitintegerja
has_morebooleanja
next_cursorstring | nullja

PublicWordsV1ResT

NameTypErforderlichBeschreibung
dataPublicWordV1T[]ja
metaPublicWordsV1MetaTja

PublicDatasetCountsV1T

NameTypErforderlichBeschreibung
entriesintegerja
wordsintegerja
phrasesintegerja
grammar_patternsintegerja
word_formsintegerja
meaningsintegerja
meaning_translationsintegerja
short_translationsintegerja

PublicMetaV1T

NameTypErforderlichBeschreibung
originsOriginT[]nein
licensesWordLicenseT[]nein
descriptionstring | nullnein
api_versionstringja
app_versionstringja
dataset_versionstring | nullja
licensestringja
license_urlstringja
attributionstringja
noticestringja
datasetstringnein
titlestringnein
sourcestringnein
attribution_urlstring | nullnein
license_textstringnein
modified_entriesintegernein
countsPublicDatasetCountsV1Tja
available_languagesPublicAvailableLanguagesV1Tja

PublicAvailableLanguagesV1T

NameTypErforderlichBeschreibung
sourcestring[]ja
translationsAvailableTranslationLanguagesE[]ja

PublicMetaV1ResT

NameTypErforderlichBeschreibung
dataPublicMetaV1Tja

PublicSuggestionCreatedV1T

NameTypErforderlichBeschreibung
idintegerja
statusstringja

PublicSuggestionCreatedV1ResT

NameTypErforderlichBeschreibung
dataPublicSuggestionCreatedV1Tja

PublicApiErrorT

NameTypErforderlichBeschreibung
statusCodenumberja
messagestringja
errorbooleanja

DictionaryApiV1DatasetsResT

NameTypErforderlichBeschreibung
dataobject[]ja
metaobjectjafound counts datasets with entries, including for adapters whose misses are HTTP 200.

DictionaryApiV1ResT

NameTypErforderlichBeschreibung

DictionaryApiDefinitionT

NameTypErforderlichBeschreibung
definitionstringja
examplestringnein
synonymsstring[]ja
antonymsstring[]ja

DictionaryApiPhoneticT

NameTypErforderlichBeschreibung
textstringnein
audiostringja
sourceUrlstringnein
licenseDictionaryApiLicenseTnein
vocabBloomobjectneinLossless recording terms; the upstream singular license cannot express all of these.

DictionaryApiLicenseT

NameTypErforderlichBeschreibung
namestringja
urlstringja

DictionaryApiErrorT

NameTypErforderlichBeschreibung
titlestringja
messagestringja
resolutionstringja

DictionaryApiV2DatasetsResT

NameTypErforderlichBeschreibung
dataobject[]ja
metaobjectjafound counts datasets with entries, including for adapters whose misses are HTTP 200.

DictionaryApiV2ResT

NameTypErforderlichBeschreibung

DictionaryApiMeaningT

NameTypErforderlichBeschreibung
partOfSpeechstringja
definitionsDictionaryApiDefinitionT[]ja
synonymsstring[]ja
antonymsstring[]ja

FreeDictionaryDatasetsResT

NameTypErforderlichBeschreibung
dataobject[]ja
metaobjectjafound counts datasets with entries, including for adapters whose misses are HTTP 200.

FreeDictionaryEntriesResT

NameTypErforderlichBeschreibung
wordstringja
entriesFreeDictionaryEntryT[]ja
sourceobjectja
vocabBloomPublicDatasetTermsV1TjaTerms of the dataset read. Word-specific origins are retained on each entry.

FreeDictionaryEntryT

NameTypErforderlichBeschreibung
languageFreeDictionaryLanguageTja
partOfSpeechstringja
pronunciationsobject[]ja
formsobject[]ja
sensesFreeDictionarySenseT[]ja
synonymsstring[]ja
antonymsstring[]ja
vocabBloomobjectjaNative entry identity and lossless terms; additive to the upstream format.

FreeDictionaryLanguageT

NameTypErforderlichBeschreibung
codestringja
namestringja

FreeDictionarySenseT

NameTypErforderlichBeschreibung
definitionstringja
tagsstring[]ja
examplesstring[]ja
quotesobject[]ja
synonymsstring[]ja
antonymsstring[]ja
translationsobject[]nein
subsensesFreeDictionarySenseT[]ja

FreeDictionaryErrorT

Upstream parameter errors are plain text, not the native error envelope.

NameTypErforderlichBeschreibung

FreeDictionaryLanguagesResT

NameTypErforderlichBeschreibung

PublicDatasetsV1ResT

Public selector inventory, in installation order; no dictionary connections or counts.

NameTypErforderlichBeschreibung
dataPublicDatasetTermsV1T[]ja
metaobjectja

PublicSearchDatasetResultV1T

NameTypErforderlichBeschreibung
statusstring
ok
ja
dataPublicWordV1T[]ja
metaPublicSearchDetailedV1MetaTja
originsOriginT[]nein
licensesWordLicenseT[]nein
descriptionstring | nullnein
datasetstringja
titlestringnein
activebooleanja
sourcestringja
dataset_versionstring | nullja
licensestringja
license_urlstringja
attributionstringja
attribution_urlstring | nullja
noticestringja
license_textstringja

PublicSearchDatasetUnavailableV1T

A failed reader has no result list or paging metadata; it is not an empty match.

NameTypErforderlichBeschreibung
statusstring
unavailable
ja
errorstring
dataset_unavailable
ja
originsOriginT[]nein
licensesWordLicenseT[]nein
descriptionstring | nullnein
datasetstringja
titlestringnein
activebooleanja
sourcestringja
dataset_versionstring | nullja
licensestringja
license_urlstringja
attributionstringja
attribution_urlstring | nullja
noticestringja
license_textstringja

PublicSearchDatasetV1T

NameTypErforderlichBeschreibung

PublicSearchDatasetsV1ResT

NameTypErforderlichBeschreibung
dataPublicSearchDatasetV1T[]ja
metaobjectja

PublicSemanticMatchV1T

A matching existing sense, with cosine similarity (not a confidence probability).

NameTypErforderlichBeschreibung
wordPublicSearchWordV1Tja
meaningobjectja
scorenumberjaCosine similarity from -1 to 1; no calibrated no-answer threshold.

PublicSemanticSearchV1ResT

NameTypErforderlichBeschreibung
dataPublicSemanticMatchV1T[]ja
metaobjectja

PublicSemanticStatusV1ResT

NameTypErforderlichBeschreibung
dataobjectja