[Context OJS 3.1.2-4]
Trying to register an article via the DOAJ plugin throws an error:

DOAJ has released version 2 of the whole API. All the URLs that were currently used for the API should be changed from “/api/v1/{endpoint}” to “/api/v2/{endpoint}”. (https://blog.doaj.org/2020/07/27/third-update-on-changes-to-our-api-coming-in-q3-2020/)
Quick fix for me was simply to change "/api/v1/" for "/api/v2/" as mentioned here:
https://forum.pkp.sfu.ca/t/new-doaj-api-and-doaj-plugin/62062/2?u=marie-helene
Unsure if other parts need to be looked at.
Marie-Hélène
@dommitchell, is the API v2 backwards-compatible with the API v1? (There are thousands of deployed OJS installs that are going to be giving this error -- if it's possible to set the DOAJ service to respond to the v1 API without a redirect, that might save both our teams a lot of work!)
Thanks @asmecher and @mhvezina I am checking with our developers.
Asking @Steven-Eardley to comment here. Thanks!
The API has changed for Journals (retrieve) and Applications (CRUD) - the data model has changed slightly, so v1 requests are no longer compatible and receive a 400 error:
{
"status": "bad_request",
"error": "Version 1 is no longer supported."
}
The Articles v2 articles API is compatible with v1, so we use a 301 redirect to the correct v2 endpoint. It would be technically feasible to answer these requests without a redirect, but it's better for clients to follow the redirect since v1 has been deprecated.
Thanks, @Steven-Eardley. We're a distributed open-source application, so 10k+ users will need to upgrade or change their code to get it to follow the redirect; in practice, many of these don't have the tech resources they would need to do that. If it's possible to avoid the redirect on your end, it'll save both our teams a lot of support questions!
@asmecher I am opening an issue in the DOAJ repo and we will get this done.
Much appreciated, @dommitchell (and @Steven-Eardley)! Meanwhile I'm going to schedule this for OJS 3.3, scheduled for release in Q1 next year, and we can hopefully future-proof things a little and review the API interactions.