Vocab Bloom Hub

API publique v1

La référence de l'API du dictionnaire en lecture seule, générée à partir du document OpenAPI publié par le serveur — le même contrat dont sont construits les SDK.

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.

URL de basehttps://<instance>/api/v1
Chaque instance sert l'API sous sa propre origine ; les exemples ci-dessous utilisent un espace réservé.
Contrat
Document OpenAPI 3, servi par chaque instance à /api/v1/openapi.json; le fichier versionné
Pour aller plus loin

Points de terminaison

GET/api/v1/meta

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

Paramètres

Aucun paramètre.

Réponses

Exemple

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

Essayer dans le playground

GET/api/v1/openapi.json

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

Paramètres

Aucun paramètre.

Réponses

  • 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

Exemple

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.

Paramètres

NomDansTypeObligatoireDescription
searchquerystringouiThe term to search for
typequerystring
wordgrammar_patternphrase
nonRestrict the answer to one entry type
limitqueryintegernon
par défaut: 10
pagequeryintegernon
par défaut: 1
with_meaningsquerybooleannonJoin the meanings (with translations, synonyms, antonyms) of every item
par défaut: false
with_translationsquerybooleannonJoin the short translations of every item
par défaut: false
translation_languagesquerystring[]
ruesfrdeptzhar
nonKeep only these translation languages (a repeated key); omit the key for all of them
datasetquerystringnonPublic dataset name; omitted = the active dataset. Unknown or closed targets return 404, never a fallback.

Réponses

  • 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

Exemple

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

Essayer dans le playground

GET/api/v1/words/{word}

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

Paramètres

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

Réponses

Exemple

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

Essayer dans le playground

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

The meanings of a headword across its entries

Paramètres

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

Réponses

Exemple

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

Essayer dans le playground

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

The short and per-meaning translations of a headword

Paramètres

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

Réponses

Exemple

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

Essayer dans le playground

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

The inflected forms of a headword across its entries

Paramètres

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

Réponses

Exemple

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

Essayer dans le playground

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`.

Paramètres

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

Réponses

Exemple

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

Essayer dans le playground

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`.

Paramètres

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

Réponses

Exemple

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

Essayer dans le playground

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.

Paramètres

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

Réponses

Exemple

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

Essayer dans le playground

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.

Paramètres

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

Réponses

Exemple

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

Essayer dans le playground

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.

Paramètres

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

Réponses

Exemple

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

Essayer dans le playground

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

One dictionary entry by its numeric id

Paramètres

NomDansTypeObligatoireDescription
idpathnumberoui

Réponses

Exemple

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

Essayer dans le playground

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.

Paramètres

NomDansTypeObligatoireDescription
searchquerystringnonHeadword prefix, case-insensitive (`ru` lists run, rung, runner, …)
is_obsoletequerybooleannontrue: obsolete entries only, false: current ones only
part_of_speechquerystring[]
nounverbmodal_verbadjectiveadverbpronounnumeralnumeral_fractionaldeterminerinterjectionarticleprepositionconjunctionletterphrasegrammar_pattern
non
word_levelquerystring[]
A1A2B1B2C1C2
non
language_registerquerystring[]
formalinformalslang
non
categoryquerystring[]
scientifictechnicalmedicallegalbusinessITartpoliticalsportculinary
nonWords tagged with any of the categories
area_variantquerystring[]
commonbritishamericanaustralian
non
form_of_wordquerystring[]
base_formplural_formpossessive_singular_formpossessive_plural_formpast_simplepast_participlepresent_participlethird_person_singularcomparative_formsuperlative_formobjectpossessive_adjectivepossessive_pronounreflexiveordinalmultiplicative
nonDefaults to base forms only
par défaut: ["base_form"]
cursorquerystringnonThe `meta.next_cursor` of the previous page; omit for the first page
limitqueryintegernon
par défaut: 20
with_meaningsquerybooleannonJoin the meanings of every word
par défaut: false
with_translationsquerybooleannonJoin the short translations of every word
par défaut: false

Réponses

  • 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

Exemple

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

Essayer dans le playground

GET/api/v1/random

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

Paramètres

NomDansTypeObligatoireDescription
searchquerystringnonHeadword prefix, case-insensitive (`ru` lists run, rung, runner, …)
is_obsoletequerybooleannontrue: obsolete entries only, false: current ones only
part_of_speechquerystring[]
nounverbmodal_verbadjectiveadverbpronounnumeralnumeral_fractionaldeterminerinterjectionarticleprepositionconjunctionletterphrasegrammar_pattern
non
word_levelquerystring[]
A1A2B1B2C1C2
non
language_registerquerystring[]
formalinformalslang
non
categoryquerystring[]
scientifictechnicalmedicallegalbusinessITartpoliticalsportculinary
nonWords tagged with any of the categories
area_variantquerystring[]
commonbritishamericanaustralian
non
form_of_wordquerystring[]
base_formplural_formpossessive_singular_formpossessive_plural_formpast_simplepast_participlepresent_participlethird_person_singularcomparative_formsuperlative_formobjectpossessive_adjectivepossessive_pronounreflexiveordinalmultiplicative
nonDefaults to base forms only
par défaut: ["base_form"]

Réponses

Exemple

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

Essayer dans le playground

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.

Paramètres

Aucun paramètre.

Réponses

Exemple

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

Essayer dans le playground

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.

Paramètres

NomDansTypeObligatoireDescription
queryquerystringouiA description of the intended meaning, in English or another language supported by the model.
datasetquerystringnonOne public dataset; omitted = active dataset. Closed/unknown targets return 404.
limitqueryintegernon
par défaut: 10

Réponses

  • 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

Exemple

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

Essayer dans le playground

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.

Paramètres

NomDansTypeObligatoireDescription
languagepathstring
enen_USen_GB
oui
wordpathstringouiHeadword spelling, case-insensitive (spaces URL-encoded for phrases). An inflected form resolves to its base entry

Réponses

Exemple

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

Essayer dans le playground

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.

Paramètres

NomDansTypeObligatoireDescription
languagepathstring
enen_USen_GB
oui
wordpathstringouiHeadword spelling, case-insensitive (spaces URL-encoded for phrases). An inflected form resolves to its base entry

Réponses

Exemple

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

Essayer dans le playground

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.

Paramètres

NomDansTypeObligatoireDescription
languagepathstringouien or all; other values return empty entries
wordpathstringouiExact case-sensitive spelling, encoded as one URL segment
prettyquerybooleannonIndent the whole response with two spaces; default false.
translationsquerybooleannonInclude supported translations; default false. Only true/false, first occurrence wins.

Réponses

  • 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

Exemple

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

Essayer dans le playground

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.

Paramètres

NomDansTypeObligatoireDescription
languagepathstring
enen_USen_GB
oui
wordpathstringouiHeadword spelling, case-insensitive (spaces URL-encoded for phrases). An inflected form resolves to its base entry

Réponses

Exemple

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

Essayer dans le playground

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.

Paramètres

NomDansTypeObligatoireDescription
languagepathstring
enen_USen_GB
oui
wordpathstringouiHeadword spelling, case-insensitive (spaces URL-encoded for phrases). An inflected form resolves to its base entry

Réponses

Exemple

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

Essayer dans le playground

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.

Paramètres

NomDansTypeObligatoireDescription
languagepathstringouien or all; other values return empty entries
wordpathstringouiExact case-sensitive spelling, encoded as one URL segment
prettyquerybooleannonIndent JSON with two spaces; default false.
translationsquerybooleannonInclude supported translations; default false. Only true/false, first occurrence wins.

Réponses

  • 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

Exemple

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

Essayer dans le playground

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.

Paramètres

NomDansTypeObligatoireDescription
prettyquerybooleannonIndent JSON with two spaces; default false.

Réponses

  • 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

Exemple

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

Essayer dans le playground

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.

Paramètres

NomDansTypeObligatoireDescription
searchquerystringouiThe term to search for
typequerystring
wordgrammar_patternphrase
nonRestrict the answer to one entry type
limitqueryintegernon
par défaut: 10
pagequeryintegernon
par défaut: 1
with_meaningsquerybooleannonJoin the meanings (with translations, synonyms, antonyms) of every item
par défaut: false
with_translationsquerybooleannonJoin the short translations of every item
par défaut: false
translation_languagesquerystring[]
ruesfrdeptzhar
nonKeep only these translation languages (a repeated key); omit the key for all of them
datasetsquerystring[]ouiPublic dataset names as repeated keys. Groups follow installation order. Each selected dataset costs one unit of the shared public rate budget.

Réponses

Exemple

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

Essayer dans le playground

GET/api/v1/datasets

Publicly readable datasets and their terms, in installation order

Paramètres

Aucun paramètre.

Réponses

Exemple

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

Essayer dans le playground

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.

Corps de la requête · WordsBatchV1ReqDTO

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

Réponses

Exemple

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

Essayer dans le playground

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.

Corps de la requête · CreateSuggestionV1ReqDTO

NomTypeObligatoireDescription
datasetstringnonInstalled, publicly open dataset containing the headword and all supplied IDs. Omit to use the active dataset.
headwordstringouiThe headword the report is about; must exist in the dictionary
word_idobjectnonId of the entry (part of speech) the report points at, from the word answers
kindstring
reportedit
non
par défaut: "report"
messageobjectnonWhat is wrong and, ideally, what would be right. Required for a report; an optional comment on an edit
editsSuggestionEditV1DTO[]nonEdit flow: every touched target of the word form with its proposed values
author_nameobjectnonThe 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_consentobjectnonThe sender agrees that `author_name` is shown and exported; required when a name is given

Réponses

Exemple

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."}'

Essayer dans le playground

Schémas

SuggestionEditV1DTO

NomTypeObligatoireDescription
target_typestring
wordmeaningmeaning_translationshort_translation
oui
target_idnumberouiId of the targeted row, from the word answers
changesobjectouiThe 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

NomTypeObligatoireDescription
datasetstringnonInstalled, publicly open dataset containing the headword and all supplied IDs. Omit to use the active dataset.
headwordstringouiThe headword the report is about; must exist in the dictionary
word_idobjectnonId of the entry (part of speech) the report points at, from the word answers
kindstring
reportedit
non
par défaut: "report"
messageobjectnonWhat is wrong and, ideally, what would be right. Required for a report; an optional comment on an edit
editsSuggestionEditV1DTO[]nonEdit flow: every touched target of the word form with its proposed values
author_nameobjectnonThe 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_consentobjectnonThe sender agrees that `author_name` is shown and exported; required when a name is given

WordsBatchV1ReqDTO

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

PublicSearchV1MetaT

NomTypeObligatoireDescription
datasetstringnonPresent only for an explicitly selected dataset.
countintegeroui
fuzzybooleanoui
short_termbooleanoui

PublicSearchV1ResT

NomTypeObligatoireDescription
dataPublicSearchWordV1T[]oui
metaPublicSearchV1MetaToui

PublicSearchWordV1T

NomTypeObligatoireDescription
alternativesstring[]nonAlternative spellings of this headword, shared by all its parts of speech.
originsOriginT[]non
contributionsOriginT[]nonTerms of the datasets whose edits still contribute to this word.
licensesWordLicenseT[]non
idintegeroui
wordstringoui
part_of_speechEnPartOfSpeechEoui
form_of_wordEnWordFormsEoui
is_obsoletebooleanoui
is_abbreviationbooleanoui
word_levelWordLevelE | nulloui
area_variantEnAreaVariantsE | nulloui
categoriesCategoryE[]oui
language_registerLanguageRegisterE | nulloui
descriptionstring | nulloui
transcriptionstring | nulloui
pronunciationsPronunciationT[]nonOrdered pronunciations, with legacy transcription and base-form fallback.
patternstring[] | nulloui
noun___irregular_pluralboolean | nulloui
noun___uncountableboolean | nulloui
noun___is_properboolean | nulloui
noun___always_pluralboolean | nulloui
verb___is_irregularboolean | nulloui
verb___transitivityEnVerbTransitivityE | nulloui
verb___is_phrasalboolean | nulloui
verb___phrasal_object_patternEnPhrasalObjectPatternE | nulloui
base_phrasalstring | nulloui
formsPublicWordV1FormT[]oui
similaritynumbernon
sourcestringnon
modifiedbooleannon

OriginT

NomTypeObligatoireDescription
idstringoui
namestringoui
versionstring | nulloui
urlstringnon
record_urlstringnon
licensesOriginLicenseT[]oui
license_relationstring
allany
ouiAll obligations apply, or the source explicitly offers a choice.
attributionstringoui
noticesstring[]oui
scopestring
worddataset
ouiDataset means that distribution between individual words is unknown.
methodstring
datasetmanual
oui
recorded_atstring | nulloui
acquisitionsOriginAcquisitionT[]nonCopy/fork events belonging to this source snapshot; absent before any acquisition.
inheritedbooleanouiAutomatically inherited terms cannot be removed by ordinary editing.

OriginLicenseT

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

NomTypeObligatoireDescription
spdxstringnon
namestringoui
urlstringoui
textstringnonRequired for custom licenses; preserved verbatim when supplied.

OriginAcquisitionT

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

NomTypeObligatoireDescription
idstringoui
methodstring
copyfork
oui
recorded_atstring | nulloui
revisionstringnon
viaobjectnonThe 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.

NomTypeObligatoireDescription
origin_idstringoui
spdxstringnon
namestringoui
urlstringoui
textstringnonRequired for custom licenses; preserved verbatim when supplied.

EnPartOfSpeechE

L'une des valeurs: noun, verb, modal_verb, adjective, adverb, pronoun, numeral, numeral_fractional, determiner, interjection, article, preposition, conjunction, letter, phrase, grammar_pattern

EnWordFormsE

L'une des valeurs: 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

L'une des valeurs: A1, A2, B1, B2, C1, C2

EnAreaVariantsE

L'une des valeurs: common, british, american, australian

CategoryE

L'une des valeurs: scientific, technical, medical, legal, business, IT, art, political, sport, culinary

LanguageRegisterE

L'une des valeurs: formal, informal, slang

PronunciationT

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

NomTypeObligatoireDescription
audioPronunciationAudioT[]nonRecordings carry their own terms, independent of the word's text.
typestring
ipaenpr
oui
textstring | nulloui
area_variantEnAreaVariantsEoui
sort_orderintegeroui

PronunciationAudioT

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

NomTypeObligatoireDescription
urlstringoui
source_urlstring | nullnon
attributionstring | nullnon
licensesOriginLicenseT[]oui
sort_orderintegeroui

EnVerbTransitivityE

L'une des valeurs: transitive, intransitive, both

EnPhrasalObjectPatternE

L'une des valeurs: no_object, inseparable, separable, separable_pronoun_only

PublicWordV1FormT

NomTypeObligatoireDescription
alternativesstring[]non
idintegeroui
wordstringoui
form_of_wordEnWordFormsEoui
area_variantEnAreaVariantsEoui
transcriptionstring | nulloui
pronunciationsPronunciationT[]nonOrdered pronunciations, with legacy transcription and base-form fallback.

PublicSearchDetailedV1MetaT

NomTypeObligatoireDescription
datasetstringnonPresent only for an explicitly selected dataset.
pageintegeroui
limitintegeroui
has_morebooleanoui
fuzzybooleanoui
short_termbooleanoui

PublicSearchDetailedV1ResT

NomTypeObligatoireDescription
dataPublicWordV1T[]oui
metaPublicSearchDetailedV1MetaToui

PublicWordV1T

NomTypeObligatoireDescription
etymologiesobject[]non
meaningsPublicWordV1MeaningT[]oui
short_translationsPublicWordV1ShortTranslationT[]oui
phrasal_variantsstring[]non
alternativesstring[]nonAlternative spellings of this headword, shared by all its parts of speech.
originsOriginT[]non
contributionsOriginT[]nonTerms of the datasets whose edits still contribute to this word.
licensesWordLicenseT[]non
idintegeroui
wordstringoui
part_of_speechEnPartOfSpeechEoui
form_of_wordEnWordFormsEoui
is_obsoletebooleanoui
is_abbreviationbooleanoui
word_levelWordLevelE | nulloui
area_variantEnAreaVariantsE | nulloui
categoriesCategoryE[]oui
language_registerLanguageRegisterE | nulloui
descriptionstring | nulloui
transcriptionstring | nulloui
pronunciationsPronunciationT[]nonOrdered pronunciations, with legacy transcription and base-form fallback.
patternstring[] | nulloui
noun___irregular_pluralboolean | nulloui
noun___uncountableboolean | nulloui
noun___is_properboolean | nulloui
noun___always_pluralboolean | nulloui
verb___is_irregularboolean | nulloui
verb___transitivityEnVerbTransitivityE | nulloui
verb___is_phrasalboolean | nulloui
verb___phrasal_object_patternEnPhrasalObjectPatternE | nulloui
base_phrasalstring | nulloui
formsPublicWordV1FormT[]oui
similaritynumbernon
sourcestringnon
modifiedbooleannon

PublicWordV1MeaningT

NomTypeObligatoireDescription
etymology_numberinteger | nullnonLocal number of the owning word etymology; null when unknown.
idintegeroui
sort_orderintegeroui
titlestringoui
definitionstringoui
is_obsoletebooleanoui
examplesstring[]oui
quotesMeaningQuoteT[]non
categoriesCategoryE[]oui
meaning_levelWordLevelE | nulloui
area_variantEnAreaVariantsEoui
language_registerLanguageRegisterE | nulloui
translationsPublicWordV1MeaningTranslationT[]oui
synonymsstring[]oui
antonymsstring[]oui

MeaningQuoteT

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

NomTypeObligatoireDescription
textstringoui
referencestring | nulloui
source_urlstring | nullnon

PublicWordV1MeaningTranslationT

NomTypeObligatoireDescription
idintegeroui
languageAvailableTranslationLanguagesEoui
titlestringoui
definitionstringoui
variants_of_wordsstring[]oui

AvailableTranslationLanguagesE

L'une des valeurs: ru, es, fr, de, pt, zh, ar

PublicWordV1ShortTranslationT

NomTypeObligatoireDescription
idintegeroui
languageAvailableTranslationLanguagesEoui
descriptionstringoui
variants_of_wordsstring[]oui

PublicWordV1ResT

NomTypeObligatoireDescription
dataPublicWordV1Toui

PublicHeadwordV1MetaT

NomTypeObligatoireDescription
wordstringoui
countintegeroui
variantsstring[]non

PublicHeadwordV1ResT

NomTypeObligatoireDescription
dataPublicWordV1T[]oui
metaPublicHeadwordV1MetaToui

PublicMeaningV1T

NomTypeObligatoireDescription
originsOriginT[]non
contributionsOriginT[]non
licensesWordLicenseT[]non
word_idintegeroui
part_of_speechEnPartOfSpeechEoui
sourcestringnon
modifiedbooleannon
etymology_numberinteger | nullnonLocal number of the owning word etymology; null when unknown.
idintegeroui
sort_orderintegeroui
titlestringoui
definitionstringoui
is_obsoletebooleanoui
examplesstring[]oui
quotesMeaningQuoteT[]non
categoriesCategoryE[]oui
meaning_levelWordLevelE | nulloui
area_variantEnAreaVariantsEoui
language_registerLanguageRegisterE | nulloui
translationsPublicWordV1MeaningTranslationT[]oui
synonymsstring[]oui
antonymsstring[]oui

PublicHeadwordMeaningsV1ResT

NomTypeObligatoireDescription
dataPublicMeaningV1T[]oui
metaPublicHeadwordV1MetaToui

PublicWordFormV1T

NomTypeObligatoireDescription
originsOriginT[]non
contributionsOriginT[]non
licensesWordLicenseT[]non
word_idintegeroui
part_of_speechEnPartOfSpeechEoui
sourcestringnon
modifiedbooleannon
alternativesstring[]non
idintegeroui
wordstringoui
form_of_wordEnWordFormsEoui
area_variantEnAreaVariantsEoui
transcriptionstring | nulloui
pronunciationsPronunciationT[]nonOrdered pronunciations, with legacy transcription and base-form fallback.

PublicHeadwordFormsV1ResT

NomTypeObligatoireDescription
dataPublicWordFormV1T[]oui
metaPublicHeadwordV1MetaToui

PublicShortTranslationV1T

NomTypeObligatoireDescription
originsOriginT[]non
contributionsOriginT[]non
licensesWordLicenseT[]non
word_idintegeroui
part_of_speechEnPartOfSpeechEoui
sourcestringnon
modifiedbooleannon
idintegeroui
languageAvailableTranslationLanguagesEoui
descriptionstringoui
variants_of_wordsstring[]oui

PublicMeaningTranslationV1T

NomTypeObligatoireDescription
meaning_idintegeroui
originsOriginT[]non
contributionsOriginT[]non
licensesWordLicenseT[]non
word_idintegeroui
part_of_speechEnPartOfSpeechEoui
sourcestringnon
modifiedbooleannon
idintegeroui
languageAvailableTranslationLanguagesEoui
titlestringoui
definitionstringoui
variants_of_wordsstring[]oui

PublicWordLinkV1T

NomTypeObligatoireDescription
meaning_idintegeroui
wordstringoui
originsOriginT[]non
contributionsOriginT[]non
licensesWordLicenseT[]non
word_idintegeroui
part_of_speechEnPartOfSpeechEoui
sourcestringnon
modifiedbooleannon

PublicHeadwordLinksV1ResT

NomTypeObligatoireDescription
dataPublicWordLinkV1T[]oui
metaPublicHeadwordV1MetaToui

PublicChangeV1T

NomTypeObligatoireDescription
inherited_fromOriginT | nullnon
contributionOriginT | nullnonTerms captured when this edit was made, independent of later dataset changes.
reasonstring | nullnon
created_atstringoui
wordstringoui
part_of_speechstring | nulloui
entityChangeEntityEoui
actionChangeActionEoui
recordChangeRecordT | nulloui
diffChangeDiffToui
originChangeOriginEoui
authorstring | nulloui
sourcestringnon

ChangeEntityE

What was edited

L'une des valeurs: word, word_form, meaning, meaning_translation, short_translation

ChangeActionE

L'une des valeurs: 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.

NomTypeObligatoireDescription

ChangeFormRecordT

NomTypeObligatoireDescription
wordstringoui
form_of_wordstringoui

ChangeMeaningRecordT

NomTypeObligatoireDescription
titlestringoui
sort_orderintegeroui

ChangeTranslationRecordT

NomTypeObligatoireDescription
meaningChangeMeaningRecordToui
languagestringoui
titlestringoui

ChangeShortTranslationRecordT

NomTypeObligatoireDescription
languagestringoui
descriptionstringoui

ChangeDiffT

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

NomTypeObligatoireDescription

ChangeOriginE

Where an edit came from

L'une des valeurs: admin, suggestion, revert

PublicHeadwordHistoryV1MetaT

NomTypeObligatoireDescription
wordstringoui
countintegeroui
variantsstring[]non

PublicHeadwordHistoryV1ResT

NomTypeObligatoireDescription
dataPublicChangeV1T[]oui
metaPublicHeadwordHistoryV1MetaToui

PublicDatasetTermsV1T

NomTypeObligatoireDescription
originsOriginT[]non
licensesWordLicenseT[]non
descriptionstring | nullnon
datasetstringoui
titlestringnon
activebooleanoui
sourcestringoui
dataset_versionstring | nulloui
licensestringoui
license_urlstringoui
attributionstringoui
attribution_urlstring | nulloui
noticestringoui
license_textstringoui

PublicWordDatasetV1T

NomTypeObligatoireDescription
wordstringoui
variantsstring[]oui
countintegeroui
entriesPublicWordV1T[]oui
originsOriginT[]non
licensesWordLicenseT[]non
descriptionstring | nullnon
datasetstringoui
titlestringnon
activebooleanoui
sourcestringoui
dataset_versionstring | nulloui
licensestringoui
license_urlstringoui
attributionstringoui
attribution_urlstring | nulloui
noticestringoui
license_textstringoui

PublicWordDatasetsV1MetaT

NomTypeObligatoireDescription
wordstringoui
datasetsintegeroui
foundintegeroui

PublicWordDatasetsV1ResT

NomTypeObligatoireDescription
dataPublicWordDatasetV1T[]oui
metaPublicWordDatasetsV1MetaToui

PublicHeadwordTranslationsV1T

NomTypeObligatoireDescription
short_translationsPublicShortTranslationV1T[]oui
meaning_translationsPublicMeaningTranslationV1T[]oui

PublicHeadwordTranslationsV1ResT

NomTypeObligatoireDescription
metaPublicHeadwordV1MetaToui
dataPublicHeadwordTranslationsV1Toui

PublicWordsBatchItemV1T

NomTypeObligatoireDescription
wordstringoui
countintegeroui
entriesPublicWordV1T[]oui

PublicWordsBatchV1MetaT

NomTypeObligatoireDescription
countintegeroui
not_foundstring[]oui

PublicWordsBatchV1ResT

NomTypeObligatoireDescription
dataPublicWordsBatchItemV1T[]oui
metaPublicWordsBatchV1MetaToui

PublicWordsV1MetaT

NomTypeObligatoireDescription
limitintegeroui
has_morebooleanoui
next_cursorstring | nulloui

PublicWordsV1ResT

NomTypeObligatoireDescription
dataPublicWordV1T[]oui
metaPublicWordsV1MetaToui

PublicDatasetCountsV1T

NomTypeObligatoireDescription
entriesintegeroui
wordsintegeroui
phrasesintegeroui
grammar_patternsintegeroui
word_formsintegeroui
meaningsintegeroui
meaning_translationsintegeroui
short_translationsintegeroui

PublicMetaV1T

NomTypeObligatoireDescription
originsOriginT[]non
licensesWordLicenseT[]non
descriptionstring | nullnon
api_versionstringoui
app_versionstringoui
dataset_versionstring | nulloui
licensestringoui
license_urlstringoui
attributionstringoui
noticestringoui
datasetstringnon
titlestringnon
sourcestringnon
attribution_urlstring | nullnon
license_textstringnon
modified_entriesintegernon
countsPublicDatasetCountsV1Toui
available_languagesPublicAvailableLanguagesV1Toui

PublicAvailableLanguagesV1T

NomTypeObligatoireDescription
sourcestring[]oui
translationsAvailableTranslationLanguagesE[]oui

PublicMetaV1ResT

NomTypeObligatoireDescription
dataPublicMetaV1Toui

PublicSuggestionCreatedV1T

NomTypeObligatoireDescription
idintegeroui
statusstringoui

PublicSuggestionCreatedV1ResT

NomTypeObligatoireDescription
dataPublicSuggestionCreatedV1Toui

PublicApiErrorT

NomTypeObligatoireDescription
statusCodenumberoui
messagestringoui
errorbooleanoui

DictionaryApiV1DatasetsResT

NomTypeObligatoireDescription
dataobject[]oui
metaobjectouifound counts datasets with entries, including for adapters whose misses are HTTP 200.

DictionaryApiV1ResT

NomTypeObligatoireDescription

DictionaryApiDefinitionT

NomTypeObligatoireDescription
definitionstringoui
examplestringnon
synonymsstring[]oui
antonymsstring[]oui

DictionaryApiPhoneticT

NomTypeObligatoireDescription
textstringnon
audiostringoui
sourceUrlstringnon
licenseDictionaryApiLicenseTnon
vocabBloomobjectnonLossless recording terms; the upstream singular license cannot express all of these.

DictionaryApiLicenseT

NomTypeObligatoireDescription
namestringoui
urlstringoui

DictionaryApiErrorT

NomTypeObligatoireDescription
titlestringoui
messagestringoui
resolutionstringoui

DictionaryApiV2DatasetsResT

NomTypeObligatoireDescription
dataobject[]oui
metaobjectouifound counts datasets with entries, including for adapters whose misses are HTTP 200.

DictionaryApiV2ResT

NomTypeObligatoireDescription

DictionaryApiMeaningT

NomTypeObligatoireDescription
partOfSpeechstringoui
definitionsDictionaryApiDefinitionT[]oui
synonymsstring[]oui
antonymsstring[]oui

FreeDictionaryDatasetsResT

NomTypeObligatoireDescription
dataobject[]oui
metaobjectouifound counts datasets with entries, including for adapters whose misses are HTTP 200.

FreeDictionaryEntriesResT

NomTypeObligatoireDescription
wordstringoui
entriesFreeDictionaryEntryT[]oui
sourceobjectoui
vocabBloomPublicDatasetTermsV1TouiTerms of the dataset read. Word-specific origins are retained on each entry.

FreeDictionaryEntryT

NomTypeObligatoireDescription
languageFreeDictionaryLanguageToui
partOfSpeechstringoui
pronunciationsobject[]oui
formsobject[]oui
sensesFreeDictionarySenseT[]oui
synonymsstring[]oui
antonymsstring[]oui
vocabBloomobjectouiNative entry identity and lossless terms; additive to the upstream format.

FreeDictionaryLanguageT

NomTypeObligatoireDescription
codestringoui
namestringoui

FreeDictionarySenseT

NomTypeObligatoireDescription
definitionstringoui
tagsstring[]oui
examplesstring[]oui
quotesobject[]oui
synonymsstring[]oui
antonymsstring[]oui
translationsobject[]non
subsensesFreeDictionarySenseT[]oui

FreeDictionaryErrorT

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

NomTypeObligatoireDescription

FreeDictionaryLanguagesResT

NomTypeObligatoireDescription

PublicDatasetsV1ResT

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

NomTypeObligatoireDescription
dataPublicDatasetTermsV1T[]oui
metaobjectoui

PublicSearchDatasetResultV1T

NomTypeObligatoireDescription
statusstring
ok
oui
dataPublicWordV1T[]oui
metaPublicSearchDetailedV1MetaToui
originsOriginT[]non
licensesWordLicenseT[]non
descriptionstring | nullnon
datasetstringoui
titlestringnon
activebooleanoui
sourcestringoui
dataset_versionstring | nulloui
licensestringoui
license_urlstringoui
attributionstringoui
attribution_urlstring | nulloui
noticestringoui
license_textstringoui

PublicSearchDatasetUnavailableV1T

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

NomTypeObligatoireDescription
statusstring
unavailable
oui
errorstring
dataset_unavailable
oui
originsOriginT[]non
licensesWordLicenseT[]non
descriptionstring | nullnon
datasetstringoui
titlestringnon
activebooleanoui
sourcestringoui
dataset_versionstring | nulloui
licensestringoui
license_urlstringoui
attributionstringoui
attribution_urlstring | nulloui
noticestringoui
license_textstringoui

PublicSearchDatasetV1T

NomTypeObligatoireDescription

PublicSearchDatasetsV1ResT

NomTypeObligatoireDescription
dataPublicSearchDatasetV1T[]oui
metaobjectoui

PublicSemanticMatchV1T

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

NomTypeObligatoireDescription
wordPublicSearchWordV1Toui
meaningobjectoui
scorenumberouiCosine similarity from -1 to 1; no calibrated no-answer threshold.

PublicSemanticSearchV1ResT

NomTypeObligatoireDescription
dataPublicSemanticMatchV1T[]oui
metaobjectoui

PublicSemanticStatusV1ResT

NomTypeObligatoireDescription
dataobjectoui