addedInput schema / properties / maxResponseCharacters
Added value: +{
+ "description": "Opt-in ceiling for the whole response, in characters. Each record is measured as the JSON record it is returned as — title, authors, journal, abstract, identifiers, every field it carries. Records are kept in the order Europe PMC returned them until the next one would cross the ceiling; that record and the rest are deferred whole (never partially populated) and listed in `deferred.records`. Response envelope fields — `notFound`, `deferred` itself — are not counted. Omit to return every resolved record.",
+ "maximum": 1000000,
+ "minimum": 1,
+ "type": "integer"
+}
addedOutput schema / properties / deferred
Added value: +{
+ "additionalProperties": false,
+ "description": "Continuation state for records the whole-response budget withheld. Present only when `maxResponseCharacters` deferred at least one record.",
+ "properties": {
+ "deferredCount": {
+ "description": "Records that resolved but were withheld to stay under the ceiling",
+ "type": "number"
+ },
+ "maxResponseCharacters": {
+ "description": "The `maxResponseCharacters` ceiling this response was budgeted against",
+ "type": "number"
+ },
+ "nextDeferredCharacters": {
+ "description": "Serialized size of the next deferred record — the first entry in `records`, where the response stopped. Raise `maxResponseCharacters` to at least this to make progress; a smaller record further down `records` cannot be reached until this one fits.",
+ "type": "number"
+ },
+ "records": {
+ "description": "The deferred records, in response order, each as the resolved record's own `source` + `epmcId` — a `PMC` request answered by its `MED` record is listed as that `MED` pair. Pass them back as `records` to retrieve them. Never contains a pair from `notFound`.",
+ "items": {
+ "additionalProperties": false,
+ "description": "One deferred record, addressed by its own `source` + `epmcId`",
+ "properties": {
+ "epmcId": {
+ "description": "Europe PMC's internal record id",
+ "type": "string"
+ },
+ "source": {
+ "description": "Europe PMC source the record was resolved from",
+ "enum": [
+ "MED",
+ "PMC",
+ "PPR",
+ "PAT",
+ "AGR"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "source",
+ "epmcId"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "returnedCharacters": {
+ "description": "Serialized characters the returned records account for",
+ "type": "number"
+ }
+ },
+ "required": [
+ "maxResponseCharacters",
+ "returnedCharacters",
+ "deferredCount",
+ "records",
+ "nextDeferredCharacters"
+ ],
+ "type": "object"
+}
changedOutput schema / properties / notFound / description
Previous value: -"Requested `source` + `epmcId` pairs Europe PMC returned no record for"New value: +"Requested `source` + `epmcId` pairs Europe PMC returned no record for. Reported in full regardless of where a `maxResponseCharacters` cut lands — these are misses, not deferrals."
changedOutput schema / properties / notice / description
Previous value: -"Guidance when one or more requested records could not be resolved. Absent when every record came back."New value: +"Guidance when one or more requested records could not be resolved, or when `maxResponseCharacters` deferred records — naming how to retrieve them. Absent when every requested record came back."
changedOutput schema / properties / records / description
Previous value: -"Resolved records, in the order Europe PMC returned them"New value: +"Resolved records, in the order Europe PMC returned them. Under a `maxResponseCharacters` budget, only the leading records that fit; `deferred.records` lists the rest."
addedOutput schema / properties / truncated
Added value: +{
+ "description": "True when `maxResponseCharacters` withheld at least one resolved record. Absent when the response carries every record that resolved. The continuation state is in `deferred`.",
+ "type": "boolean"
+}