Hi all,

 

I’m finally getting around to playing with the REST API, but it’s not quite working as expected.

 

In koha-testing-docker (with the latest koha-testing-docker git repo and Docker images as of this writing), I’m getting the following in the browser:

 

  1. 200 OK
    1. http://localhost:8080/api/v1/.html
    2. http://localhost:8080/api/v1/ or http://localhost:8080/api/v1/.json
  2. 500 Internal Server error (with no obvious messages in the server logs other than a missing “Routing to a callback”)
    1. http://localhost:8080/api/v1/items
    2. http://localhost:8080/api/v1/patrons
    3. http://localhost:8080/api/v1/libraries

 

If I use “curl” or a Perl script, then I get a 401 error instead of a 500 error. (Although in Koha 19.11, I can get JSON results in either the browser or with curl for those endpoints, but that’s a whole other matter.)

 

RESTBasicAuth = 1 means I can use the API via curl, but still nothing via the browser. Which is fine I guess in practice but it’s not really what you’d expect. I often use browser requests to test out GET requests for APIs.

 

I don’t really get how RESTPublicAPI works either. If it’s disabled, it says ‘{"error":"Configuration prevents the usage of this endpoint by unprivileged users"}’, but that doesn’t seem accurate, since disabling that system preference blocks the /public APIs in general, right? Even if you use a privileged user, it still doesn’t work.

 

Actually, even with RESTPublicAPI enabled, I can’t get the /public endpoints to work. I get errors like this ‘{"error":"Authorization failure. Missing required permission(s).","required_permissions":null}’.

 

This email is getting a bit long and I think I have a million other API problems, so I might just work through one by one and open Bugzilla tickets as I go…

 

David Cook

Systems Librarian

Prosentient Systems

72/330 Wattle St

Ultimo, NSW 2007

Australia

 

Office: 02 9212 0899

Direct: 02 8005 0595