Updates to CSL reference styles

Later today we will update the reference styles used by content negotiation. The content negotiation service enables single metadata records to be retrieved in a variety of formats, including formatted consistently with various bibliography style guidelines.

The formats we use for references are defined by the Citation Style Language and these change over time. As a result, we need to periodically update them. Users may notice small changes to a few styles, however in the majority of cases the results will remain the same.

1 Like

Hello,

We’ve noticed service degradation since yesterday which seems to coincide with this change. Our first issue is that the “chicago-fullnote-bibliography” format does not seem to exist anymore. When attempting to retrieve it we get a 500 Error response with what looks like a stack trace dump in the body.

It looks like “chicago-notes-bibliography-17th-edition” is a good replacement however, when we attempt to retrieve that one, it also results in a 500 Error response and stack dump. This response also takes well over 20 seconds most of the time which triggers timeouts on our end.

Are these temporary issues which you’re anticipating to be resolved sometime soon?

Example response:

> GET /v1/works/10.1007%2F978-3-032-15477-4_44/transform HTTP/2
> Host: api.crossref.org
> user-agent: NRC Digital Repository (https://nrc-digital-repository.canada.ca; mailto:NRC.DR-DN.CNRC@nrc-cnrc.gc.ca)
> accept: text/x-bibliography; style=chicago-notes-bibliography-17th-edition; locale=en-GB

< HTTP/2 500
< date: Fri, 17 Apr 2026 13:55:25 GMT
< content-type: application/json
< exception-name: class java.lang.IllegalArgumentException
< server: Jetty(9.4.40.v20210413)
< x-rate-limit-limit: 10
< x-rate-limit-interval: 1s
< x-concurrency-limit: 3
< x-api-pool: polite
< permissions-policy: interest-cohort=()
<
{"status":"error","message-type":"exception","message-version":"1.0.0","message":{"name":"class java.lang.IllegalArgumentException","description":"java.lang.IllegalArgumentException: Could not update items","message":"Could not update items","stack":["de.undercouch.citeproc.CSL.registerCitationItems(CSL.java:639)","cayenne.formats.citation$__GT_citation.invokeStatic(citation.clj:81)","cayenne.formats.citation$__GT_citation.doInvoke(citation.clj:72)","clojure.lang.RestFn.applyTo(RestFn.java:139)","clojure.core$apply.invokeStatic(core.clj:669)","clojure.core$apply.invoke(core.clj:662)"...

Thanks,

Marcin Paluch

Hello @mpaluch,

Thanks for reporting. I can get a response for the ‘chicago-fullnote-bibliography’ style, so it seems to be working. It looks like you might have been unlucky and hit a time when our servers were having issues. Could you try again and let me know if it’s working for you now?

Here’s the request I’m making:

curl -L -H "Accept: text/x-bibliography; style=chicago-fullnote-bibliography; location=en-GB" "https://doi.org/10.1007%2F978-3-032-15477-4_44"

Hi,

I’m still seeing the same issues as on Friday. The styles “chicago-fullnote-bibliography” and “chicago-notes-bibliography-17th-edition” both return errors for DOI 10.1007/978-3-032-15477-4_44. However the “mla” style works.

The commands that I’m running are essentially the same, just with the -v flag for verbose output.

Examples:

chicago-fullnote-bibliography - 500 response

curl -v -L -H "Accept: text/x-bibliography; style=chicago-fullnote-bibliography; locale=en-GB" https://doi.org/10.1007/978-3-032-15477-4_44

> GET /10.1007/978-3-032-15477-4_44 HTTP/2
> Host: doi.org
> user-agent: curl/7.76.1
> accept: text/x-bibliography; style=chicago-fullnote-bibliography; locale=en-GB
>
...

> GET /v1/works/10.1007%2F978-3-032-15477-4_44/transform HTTP/2
> Host: api.crossref.org
> user-agent: curl/7.76.1
> accept: text/x-bibliography; style=chicago-fullnote-bibliography; locale=en-GB
>
< HTTP/2 500
< date: Mon, 20 Apr 2026 14:52:44 GMT
< content-type: application/json
< exception-name: class java.io.FileNotFoundException
< server: Jetty(9.4.40.v20210413)
< x-rate-limit-limit: 5
< x-rate-limit-interval: 1s
< x-concurrency-limit: 1
< x-api-pool: public
< permissions-policy: interest-cohort=()
<
{"status":"error","message-type":"exception","message-version":"1.0.0","message":{"name":"class java.io.FileNotFoundException","description":"java.io.FileNotFoundException: Could not find style in classpath: \/chicago-fullnote-bibliography.csl","message":"Could not find style in classpath: \/chicago-fullnote-bibliography.csl","stack":["de.undercouch.citeproc.CSL.loadStyle(CSL.java:507)","de.undercouch.citeproc.CSL.<init>(CSL.java:278)","de.undercouch.citeproc.CSL.<init>(CSL.java:252)","de.undercouch.citeproc.CSL.<init>(CSL.java:231)","de.undercouch.citeproc.CSL.<init>(CSL.java:195)","java.base\/jdk.internal.reflect.DirectConstructorHandleAccessor.newInstance(DirectConstructorHandleAccessor.java:62)","java.base\/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:502)","java.base\/java.lang.reflect.Constructor.newInstance(Constructor.java:486)"
...
...

chicago-notes-bibliography-17th-edition - 500 response

curl -v -L -H "Accept: text/x-bibliography; style=chicago-notes-bibliography-17th-edition; locale=en-GB" https://doi.org/10.1007/978-3-032-15477-4_44

> GET /10.1007/978-3-032-15477-4_44 HTTP/2
> Host: doi.org
> user-agent: curl/7.76.1
> accept: text/x-bibliography; style=chicago-notes-bibliography-17th-edition; locale=en-GB
>
...

> GET /v1/works/10.1007%2F978-3-032-15477-4_44/transform HTTP/2
> Host: api.crossref.org
> user-agent: curl/7.76.1
> accept: text/x-bibliography; style=chicago-notes-bibliography-17th-edition; locale=en-GB
>
< HTTP/2 500
< date: Mon, 20 Apr 2026 14:58:39 GMT
< content-type: application/json
< exception-name: class java.lang.IllegalArgumentException
< server: Jetty(9.4.40.v20210413)
< x-rate-limit-limit: 5
< x-rate-limit-interval: 1s
< x-concurrency-limit: 1
< x-api-pool: public
< permissions-policy: interest-cohort=()
<
{"status":"error","message-type":"exception","message-version":"1.0.0","message":{"name":"class java.lang.IllegalArgumentException","description":"java.lang.IllegalArgumentException: Could not update items","message":"Could not update items","stack":["de.undercouch.citeproc.CSL.registerCitationItems(CSL.java:639)","cayenne.formats.citation$__GT_citation.invokeStatic(citation.clj:81)","cayenne.formats.citation$__GT_citation.doInvoke(citation.clj:72)","clojure.lang.RestFn.applyTo(RestFn.java:139)","clojure.core$apply.invokeStatic(core.clj:669)","clojure.core$apply.invoke(core.clj:662)","cayenne.api.transform$fn__32712.invokeStatic(transform.clj:88)","cayenne.api.transform$fn__32712.invoke(transform.clj:80)","clojure.lang.MultiFn.invoke(MultiFn.java:234)","cayenne.api.v1.routes$__GT_transform.invokeStatic(routes.clj:176)","cayenne.api.v1.routes$__GT_transform.invoke(routes.clj:163)","cayenne.api.v1.routes$work_transform_resource$fn__34599$fn__34606.invoke(routes.clj:202)","liberator.core$run_handler.invokeStatic(core.clj:176)","liberator.core$run_handler.invoke(core.clj:131)","liberator.core$handle_ok.invokeStatic(core.clj:224)"
...
...

mla - 200 response

curl -v -L -H "Accept: text/x-bibliography; style=mla; locale=en-GB" https://doi.org/10.1007/978-3-032-15477-4_44

> GET /10.1007/978-3-032-15477-4_44 HTTP/2
> Host: doi.org
> user-agent: curl/7.76.1
> accept: text/x-bibliography; style=mla; locale=en-GB
>
...

> GET /v1/works/10.1007%2F978-3-032-15477-4_44/transform HTTP/2
> Host: api.crossref.org
> user-agent: curl/7.76.1
> accept: text/x-bibliography; style=mla; locale=en-GB
>
< HTTP/2 200
< date: Mon, 20 Apr 2026 15:01:54 GMT
< content-type: text/x-bibliography
< vary: Accept
< access-control-expose-headers: Link
< access-control-allow-headers: X-Requested-With, Accept, Accept-Encoding, Accept-Charset, Accept-Language, Accept-Ranges, Cache-Control
< access-control-allow-origin: *
< server: Jetty(9.4.40.v20210413)
< x-rate-limit-limit: 5
< x-rate-limit-interval: 1s
< x-concurrency-limit: 1
< x-api-pool: public
< permissions-policy: interest-cohort=()
<
Rey, Alexander, et al. ‘Microplastic Pathways in the Arctic: Integrating the TELEMAC-3D Hydrodynamic Model with Advanced Ray Tracing Particle Tracking’. Coastal Dynamics 2025, 2026, pp. 286–92. Crossref, https://doi.org/10.1007/978-3-032-15477-4_44.

There was an error in my request and I can now see the exception you’ve reported. We’ll look into it and I’ll get back to you once we know more.

The chicago-fullnote-bibliography style is no longer supported by CSL (here is their library of current styles). I’d suggest that you look at one of the other Chicago styles as a replacement. In the meantime, we will add a fix to give a more informative response (with a 406 status code) in cases where the style isn’t present.

Hi,

Yes we’re trying to use “chicago-notes-bibliography-17th-edition” as our replacement format. However, as per my examples above, we’re seeing many requests for that format also failing with a 500 error response code and stack dump.

I checked 20 random DOIs from our system and only 8 could be successfully retrieved in this format. 12 out of the 20 requests failed.

Failed requests:

10.1139/cjce-2025-0373
10.1039/D5AN00986C
10.1049/el.2015.2419
10.1016/j.ijhydene.2015.12.022
10.1002/bms.1200211210
10.1051/0004-6361:20078196
10.1177/1468087410395873
10.1021/la049202p
10.1002/asna.201011514
10.1007/s11666-013-9900-4
10.1016/j.newast.2012.04.004
10.1109/TIM.2007.913752

Successful requests:

10.3390/bioengineering13020208
10.3389/fnins.2026.1654765
10.2514/6.2010-7530
10.3847/1538-3881/aa6cae
10.2514/6.2010-7529
10.1186/1471-2180-9-25
10.1088/0004-6256/142/6/192
10.1039/b708018b

Also, the average response time for the successful requests was almost 44 seconds, which is 40x slower than the previous average we saw with “chicago-fullnote-bibliography”.

Is there a problem with this specific style or is there another issue with the the updated service implementation?

We’ve done some testing with this and other styles. The slowness and unsuccessful requests appear to be related specifically to this style, although that doesn’t rule out other styles also being affected (we haven’t yet done an exhaustive check). Other styles we’ve checked are returning results as expected. I’ll update if we find out anything further.

Thanks for the examples. We have identified and fixed a bug that was affecting this style, they should all be successfully returning the reference string now, and much faster. Sorry for the inconvenience and thanks again for raising this.

1 Like

Hi,

I can confirm that all the chicago styles are working now, and I can see the 406 response for “chicago-fullnote-bibliography” too. Also, all the response times are below 1 second again. Thanks for the fixes.

Some examples for DOI 10.1109/tim.2007.913752:

Style: chicago-author-date
CN:   Flueraru, C., S. Latoui, J. Besse, and P. Legendre. 2008. “Error Analysis of a Rotating Quarter-Wave Plate Stokes’ Polarimeter.” IEEE Transactions on Instrumentation and Measurement 57 (4): 731–35. https://doi.org/10.1109/tim.2007.913752.
[CN: 0.25s]

Style: chicago-author-date-16th-edition
CN:   Flueraru, C., S. Latoui, J. Besse, and P. Legendre. 2008. “Error Analysis of a Rotating Quarter-Wave Plate Stokes’ Polarimeter.” Edited by . IEEE Transactions on Instrumentation and Measurement 57 (4). Institute of Electrical and Electronics Engineers (IEEE): 731–35. doi:10.1109/tim.2007.913752.
[CN: 0.23s]

Style: chicago-author-date-17th-edition
CN:   Flueraru, C., S. Latoui, J. Besse, and P. Legendre. 2008. “Error Analysis of a Rotating Quarter-Wave Plate Stokes’ Polarimeter.” IEEE Transactions on Instrumentation and Measurement 57 (4): 731–35. https://doi.org/10.1109/tim.2007.913752.
[CN: 0.23s]

Style: chicago-in-text-full
CN:   Flueraru, C., S. Latoui, J. Besse, and P. Legendre. “Error Analysis of a Rotating Quarter-Wave Plate Stokes’ Polarimeter.” IEEE Transactions on Instrumentation and Measurement 57, no. 4 [2008]: 731–35. https://doi.org/10.1109/tim.2007.913752.
[CN: 0.26s]

Style: chicago-notes-bibliography
CN:   Flueraru, C., S. Latoui, J. Besse, and P. Legendre. “Error Analysis of a Rotating Quarter-Wave Plate Stokes’ Polarimeter.” IEEE Transactions on Instrumentation and Measurement 57, no. 4 (2008): 731–35. https://doi.org/10.1109/tim.2007.913752.
[CN: 0.23s]

Style: chicago-notes-bibliography-16th-edition
CN:   Flueraru, C., S. Latoui, J. Besse, and P. Legendre. “Error Analysis of a Rotating Quarter-Wave Plate Stokes’ Polarimeter.” Edited by . IEEE Transactions on Instrumentation and Measurement 57, no. 4 (April 2008): 731–35. doi:10.1109/tim.2007.913752.
[CN: 0.25s]

Style: chicago-notes-bibliography-17th-edition
CN:   Flueraru, C., S. Latoui, J. Besse, and P. Legendre. “Error Analysis of a Rotating Quarter-Wave Plate Stokes’ Polarimeter.” IEEE Transactions on Instrumentation and Measurement 57, no. 4 (April 2008): 731–35. https://doi.org/10.1109/tim.2007.913752.
[CN: 0.22s]

Style: chicago-notes-bibliography-classic
CN:   Flueraru, C., S. Latoui, J. Besse, and P. Legendre. “Error Analysis of a Rotating Quarter-Wave Plate Stokes’ Polarimeter.” IEEE Transactions on Instrumentation and Measurement 57, no. 4 (2008): 731–35. https://doi.org/10.1109/tim.2007.913752.
[CN: 0.25s]

Style: chicago-shortened-notes-bibliography
CN:   Flueraru, C., S. Latoui, J. Besse, and P. Legendre. “Error Analysis of a Rotating Quarter-Wave Plate Stokes’ Polarimeter.” IEEE Transactions on Instrumentation and Measurement 57, no. 4 (2008): 731–35. https://doi.org/10.1109/tim.2007.913752.
[CN: 0.42s]

Style: chicago-shortened-notes-bibliography-classic
CN:   Flueraru, C., S. Latoui, J. Besse, and P. Legendre. “Error Analysis of a Rotating Quarter-Wave Plate Stokes’ Polarimeter.” IEEE Transactions on Instrumentation and Measurement 57, no. 4 (2008): 731–35. https://doi.org/10.1109/tim.2007.913752.
[CN: 0.24s]

Marcin

2 Likes