addedInput schema / properties / funder_doi / anyOf
Added value: +[
+ {
+ "const": "",
+ "type": "string"
+ },
+ {
+ "description": "Funder registry ID or funder DOI, e.g. \"100000001\"",
+ "pattern": "^(?:(?:https?:\\/\\/(?:dx\\.)?doi\\.org\\/|doi:)?10\\.13039\\/)?\\d+$",
+ "type": "string"
+ }
+]
removedInput schema / properties / funder_doi / pattern
Removed value: -"^(?:(?:https?:\\/\\/(?:dx\\.)?doi\\.org\\/|doi:)?10\\.13039\\/)?\\d+$"
removedInput schema / properties / funder_doi / type
Removed value: -"string"
changedInput schema / properties / rows / type
Previous value: -"number"New value: +"integer"
changedInput schema / properties / works_cursor / description
Previous value: -"Cursor token for deep paging of the funded-works list when include_works is true. Pass \"*\" to start the walk at the newest work, then pass the nextWorksCursor value from each response. Has no offset ceiling and cannot be combined with works_offset. Each token runs about 1500 characters and is returned on both result surfaces, a fixed cost per page — raise rows to spread it across more works on a long walk."New value: +"Cursor token for deep paging of the funded-works list when include_works is true. Pass \"*\" to start the walk at the most recently registered work, then pass the nextWorksCursor value from each response. A walk runs by the date each DOI was registered with Crossref, newest first, not by publication date — Crossref does not walk a publication-date sort by cursor. Has no offset ceiling and cannot be combined with works_offset."
changedOutput schema / properties / error / properties / data / properties / reason / description
Previous value: -"Machine-readable failure mode. Declared by this tool: `rate_limited`: Crossref answered HTTP 429 and the limit did not clear inside the retry budget. `upstream_unavailable`: Crossref was unreachable, returned a 5xx status, or served an HTML error page instead of JSON. `malformed_response`: Crossref returned HTTP 200 with a body that is not valid JSON. `request_timeout`: Crossref did not respond within CROSSREF_TIMEOUT_MS, or answered HTTP 408/504. `funder_not_found`: Funder DOI lookup returned 404 — funder is not in the Crossref Funder Registry. `ambiguous_funder`: include_works is true but the name query matched more than one funder, making the target ambiguous. `offset_too_large`: offset + rows exceeds the 100000-record ceiling Crossref allows on funder name search. `works_offset_too_large`: works_offset + rows exceeds the 10000-record ceiling Crossref allows on a funded-works list. `works_cursor_offset_conflict`: include_works is true and works_cursor was supplied alongside a works_offset above zero. Other values are possible when a failure originates below the handler."New value: +"Machine-readable failure mode. Declared by this tool: `rate_limited`: Crossref answered HTTP 429 and the limit did not clear inside the retry budget. `upstream_unavailable`: Crossref was unreachable, returned a 5xx status, or served an HTML error page instead of JSON. `malformed_response`: Crossref returned HTTP 200 with a body that is not valid JSON. `request_timeout`: Crossref did not respond within CROSSREF_TIMEOUT_MS, or answered HTTP 408/504. `invalid_cursor`: Crossref did not recognize the cursor token (HTTP 404 cursor-invalid). `invalid_parameter`: Crossref rejected a parameter value (a filter value of the wrong type or form), or answered HTTP 400 with a body that did not parse. `funder_not_found`: Funder DOI lookup returned 404 — funder is not in the Crossref Funder Registry. `ambiguous_funder`: include_works is true but the name query matched more than one funder, making the target ambiguous. `offset_too_large`: offset + rows exceeds the 100000-record ceiling Crossref allows on funder name search. `works_offset_too_large`: works_offset + rows exceeds the 10000-record ceiling Crossref allows on a funded-works list. `works_cursor_offset_conflict`: include_works is true and works_cursor was supplied alongside a works_offset above zero. Other values are possible when a failure originates below the handler."
changedOutput schema / properties / error / properties / data / properties / reason / examples
Previous value: -[
- "rate_limited",
- "upstream_unavailable",
- "malformed_response",
- "request_timeout",
- "funder_not_found",
- "ambiguous_funder",
- "offset_too_large",
- "works_offset_too_large",
- "works_cursor_offset_conflict"
-]New value: +[
+ "rate_limited",
+ "upstream_unavailable",
+ "malformed_response",
+ "request_timeout",
+ "invalid_cursor",
+ "invalid_parameter",
+ "funder_not_found",
+ "ambiguous_funder",
+ "offset_too_large",
+ "works_offset_too_large",
+ "works_cursor_offset_conflict"
+]
changedOutput schema / properties / fundedWorks / description
Previous value: -"Page of works funded by the matched funder, ordered by publication date (newest first). Only present when include_works is true."New value: +"Page of works funded by the matched funder, newest first — by publication date on an offset page, by Crossref registration date on a works_cursor page. Only present when include_works is true."
changedOutput schema / properties / notice / description
Previous value: -"Guidance on a page that needs a caveat: a query nothing matched, an offset past the end of a list that did match, a page that stops at one of the route offset ceilings with records still unretrieved, or a returned funder that the Funder Registry has deprecated in favor of another entry. Absent otherwise. A page needing more than one caveat carries them all in this one string."New value: +"Guidance on a page that needs a caveat: a query nothing matched, an offset or works_offset past the end of a list that did match, a page that stops at one of the route offset ceilings with records still unretrieved, a returned funder that the Funder Registry has deprecated in favor of another entry, or a query or funder_doi supplied blank with nothing else to search by, so the page lists every funder unfiltered. Absent otherwise. A page needing more than one caveat carries them all in this one string."