changedInput schema / properties / cursor / description
Previous value: -"Cursor token for deep paging. Pass \"*\" to start cursor-based paging (required past ~10K results), then pass the nextCursor value from each response until a response omits it, which means the list is exhausted. Cannot be combined with offset."New value: +"Cursor token for deep paging. Pass \"*\" to start cursor-based paging (required past ~10K results), then pass the nextCursor value from each response until a response omits it, which means the list is exhausted. Cannot be combined with offset, or with a publication-date sort (published, published-print, published-online), which Crossref does not walk by cursor."
changedInput schema / properties / fields / description
Previous value: -"Fields to return (reduces payload). Names are case-sensitive. Useful set: DOI, title, author, published, type, is-referenced-by-count, abstract, container-title, publisher, score. DOI is always returned whether or not it is listed here, so every result stays resolvable by crossref_get_work."New value: +"Fields to return (reduces payload). Names are case-sensitive, and each fills one output field: DOI → doi, title → title, type → type, author → authors and authorCount, published / published-print / published-online → published, container-title → containerTitle, publisher → publisher, is-referenced-by-count → isReferencedByCount, score → score, abstract → abstract, volume → volume, issue → issue, page → page, article-number → articleNumber, ISSN → issn. A selected field absent from a work means the record does not deposit it. DOI is always returned whether or not it is listed here, so every result stays resolvable by crossref_get_work, which also returns the fields this list does not cover (license, funder, references, and the rest of the record)."
addedInput schema / properties / fields / items / description
Added value: +"Crossref select name"
addedInput schema / properties / fields / items / enum
Added value: +[
+ "DOI",
+ "title",
+ "type",
+ "author",
+ "published",
+ "published-print",
+ "published-online",
+ "container-title",
+ "publisher",
+ "is-referenced-by-count",
+ "score",
+ "abstract",
+ "volume",
+ "issue",
+ "page",
+ "article-number",
+ "ISSN"
+]
changedInput schema / properties / filter / description
Previous value: -"Structured filter object using Crossref hyphen-separated keys. All values must be strings. Boolean flag keys (has-abstract, has-references, has-full-text) require string values \"true\" or \"false\". Example: {\"type\":\"journal-article\",\"has-abstract\":\"true\",\"from-pub-date\":\"2023-01-01\",\"directory\":\"DOAJ\"}"New value: +"Structured filter object using Crossref hyphen-separated keys. All values must be strings. Boolean flag keys (has-abstract, has-references, has-full-text) require string values \"true\" or \"false\". Example: {\"type\":\"journal-article\",\"has-abstract\":\"true\",\"from-pub-date\":\"2023-01-01\"}"
addedInput schema / properties / offset / maximum
Added value: +9007199254740991
changedInput schema / properties / offset / type
Previous value: -"number"New value: +"integer"
addedInput schema / properties / order / anyOf
Added value: +[
+ {
+ "const": "",
+ "type": "string"
+ },
+ {
+ "description": "Sort direction",
+ "enum": [
+ "asc",
+ "desc"
+ ],
+ "type": "string"
+ }
+]
removedInput schema / properties / order / enum
Removed value: -[
- "asc",
- "desc"
-]
removedInput schema / properties / order / type
Removed value: -"string"
changedInput schema / properties / rows / type
Previous value: -"number"New value: +"integer"
addedInput schema / properties / sort / anyOf
Added value: +[
+ {
+ "const": "",
+ "type": "string"
+ },
+ {
+ "description": "Crossref sort field",
+ "enum": [
+ "relevance",
+ "score",
+ "is-referenced-by-count",
+ "published",
+ "published-print",
+ "published-online",
+ "deposited",
+ "indexed",
+ "created",
+ "updated",
+ "references-count"
+ ],
+ "type": "string"
+ }
+]
changedInput schema / properties / sort / description
Previous value: -"Sort field"New value: +"Sort field. The publication-date sorts (published, published-print, published-online) work with offset paging only — Crossref refuses them alongside cursor; every other sort works with either."
removedInput schema / properties / sort / enum
Removed value: -[
- "relevance",
- "score",
- "is-referenced-by-count",
- "published",
- "published-print",
- "published-online",
- "deposited",
- "indexed",
- "created",
- "updated",
- "references-count"
-]
removedInput schema / properties / sort / type
Removed value: -"string"
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. `cursor_offset_conflict`: Both cursor and offset were supplied in the same request. `offset_too_large`: The requested offset exceeds the ~10K Crossref limit for offset-based paging. 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. `unknown_filter`: Crossref rejected a filter key it does not recognize (filter-not-available). `sort_cursor_conflict`: A publication-date sort (published, published-print, published-online) was combined with cursor paging, which Crossref refuses. `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. `cursor_offset_conflict`: Both cursor and offset were supplied in the same request. `offset_too_large`: The requested offset exceeds the ~10K Crossref limit for offset-based paging. 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",
- "cursor_offset_conflict",
- "offset_too_large"
-]New value: +[
+ "rate_limited",
+ "upstream_unavailable",
+ "malformed_response",
+ "request_timeout",
+ "unknown_filter",
+ "sort_cursor_conflict",
+ "invalid_cursor",
+ "invalid_parameter",
+ "cursor_offset_conflict",
+ "offset_too_large"
+]
changedOutput schema / properties / notice / description
Previous value: -"Guidance on an empty page, naming which of its three causes applies: a query nothing matched, an offset past the end of a list that did match, or a cursor walk that has reached the end of the list. On a page carrying records, present only when authorLimit cut at least one work list, naming how many and the route to the rest."New value: +"Guidance on an empty page, naming which of its three causes applies: a query nothing matched, an offset past the end of a list that did match, or a cursor walk that has reached the end of the list. On a page carrying records, present when authorLimit cut at least one work list, naming how many and the route to the rest, or when every query term and filter value was supplied blank, so the page lists the whole index unfiltered. A page needing more than one caveat carries them all in this one string."
addedOutput schema / properties / works / items / properties / articleNumber
Added value: +{
+ "description": "Article number, deposited by journals that number articles instead of paging them",
+ "type": "string"
+}
addedOutput schema / properties / works / items / properties / issn
Added value: +{
+ "description": "ISSN(s) of the containing journal",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+}
addedOutput schema / properties / works / items / properties / issue
Added value: +{
+ "description": "Issue of the container the work appears in",
+ "type": "string"
+}
addedOutput schema / properties / works / items / properties / page
Added value: +{
+ "description": "Page range as deposited, e.g. \"357-362\"",
+ "type": "string"
+}
addedOutput schema / properties / works / items / properties / volume
Added value: +{
+ "description": "Volume of the container the work appears in",
+ "type": "string"
+}