Summary
records list --community <slug> does not filter. It returns every record the token can see, regardless of the flag's value.
Repro
zenodo records list --community c3-drexel --output json
Returns 8 records spanning 3 communities:
2 c3-drexel
2 salurbal
4 drexel-uhc
Passing a community that doesn't exist returns the identical 8 rows, which suggests the flag is dropped rather than mis-matched:
zenodo records list --community this-does-not-exist-xyz --output json
# Total: 8 records across 4 communities
# -> same 8 rows
Expected
Only the 2 c3-drexel records. A nonexistent slug should return 0 rows (or error).
Notes
The rows themselves carry a correct community field, so client-side filtering is a working workaround:
{
"community": "c3-drexel",
"created": "2026-07-29T17:57:10.409301Z",
"links.doi": "https://doi.org/10.5281/zenodo.21684082",
"stats.version_downloads": 0,
"stats.version_views": 0,
"title": "Quick Resource Guide - Reframing Sustainability: A Community-Centered Perspective"
}
Two smaller things noticed while testing, happy to split out if you'd rather:
- The header count is off — it prints
across 4 communities while only 3 distinct values appear in the rows.
- Default list fields omit
id, and links.doi is the version DOI. Getting from a list row to records get <id> means parsing the id out of the DOI string. An id (and ideally conceptdoi) in the default field set would remove that step.
records get <id> --output json is lossless by comparison — verified the description field matches the REST API byte-for-byte (518 chars).
Environment
- zenodo-cli
0.1.0-alpha, installed via scoop
- Windows 11
- authenticated,
production profile
Summary
records list --community <slug>does not filter. It returns every record the token can see, regardless of the flag's value.Repro
Returns 8 records spanning 3 communities:
Passing a community that doesn't exist returns the identical 8 rows, which suggests the flag is dropped rather than mis-matched:
Expected
Only the 2
c3-drexelrecords. A nonexistent slug should return 0 rows (or error).Notes
The rows themselves carry a correct
communityfield, so client-side filtering is a working workaround:{ "community": "c3-drexel", "created": "2026-07-29T17:57:10.409301Z", "links.doi": "https://doi.org/10.5281/zenodo.21684082", "stats.version_downloads": 0, "stats.version_views": 0, "title": "Quick Resource Guide - Reframing Sustainability: A Community-Centered Perspective" }Two smaller things noticed while testing, happy to split out if you'd rather:
across 4 communitieswhile only 3 distinct values appear in the rows.id, andlinks.doiis the version DOI. Getting from a list row torecords get <id>means parsing the id out of the DOI string. Anid(and ideallyconceptdoi) in the default field set would remove that step.records get <id> --output jsonis lossless by comparison — verified thedescriptionfield matches the REST API byte-for-byte (518 chars).Environment
0.1.0-alpha, installed via scoopproductionprofile