List Species
List the EUDR species taxonomy snapshot — each accepted binomial with
its known synonyms. The species counterpart to
List Annex I Entries, and the same
data behind the species_name_unresolved pre-submission blocker: what you
see here is exactly what the submit gate enforces.
Use it to drive a validated species picker (offer accepted binomials), or to show an operator the accepted name a declared synonym should be replaced with.
Reference data: global, not org-scoped — every org sees the same list.
The response is small (a curated timber set) and returned in one envelope;
there is no pagination. meta.count is the number of accepted species and
meta.snapshot_version is fixed by construction — a taxonomy refresh rewrites
this snapshot's rows under the same key — so cache on
meta.snapshot_updated_at (ISO 8601), which moves on every reseed.
meta.total_names counts accepted + synonyms. Entries are ordered by
accepted binomial.
▶Query params
| Param | Description |
|---|---|
version | Optional explicit snapshot version key (e.g. 2026-timber-gbif-v1). Defaults to the active snapshot. A non-active version is flagged via meta.is_active: false and a meta.notes advisory. |
▶Response
Each item is a JSON:API-style resource object (type / id / attributes),
matching the other resource list endpoints. id is the GBIF taxon key when
the record is GBIF-sourced, else the accepted binomial.
attributes field | Meaning |
|---|---|
accepted_binomial | The accepted scientific name (Genus species) to file |
common_name | Editorial English common name, or null |
synonyms | Known unaccepted synonyms that resolve to this accepted binomial. Declaring one of these trips species_name_unresolved with accepted_binomial as the suggested fix |
source | Provenance of the accepted record — e.g. GBIF:<taxonKey> for the GBIF-resolved snapshot |
▶How the gate uses this
At pre-submission (and mirrored in the audit-trail summary's
meta.submission), each declared timber speciesInfo.scientificName is
normalised (author stripped, genus + epithet, case-folded) and matched:
- Accepted binomial (an
accepted_binomialhere) → passes. - Known synonym (a
synonymsentry here) → blocked with the accepted binomial as the fix. - Malformed (not a binomial — a bare epithet,
sp., a delimited blob) → blocked. - Plausible but not in this list → passes in the current version (the snapshot is curated to commercial timber, not exhaustive).
▶Errors
| Status | Code | When |
|---|---|---|
| 400 | BAD_REQUEST | Over-long version |
| 401 | UNAUTHORIZED | Missing/invalid API key |
| 403 | FORBIDDEN | Key lacks both eudr:reference and eudr:read |
| 404 | NOT_FOUND | Unknown version, or no active snapshot |
Required scope:
eudr:referenceoreudr:read