Open dandv opened 1 year ago
@dandv, this seems to be a multi-faceted issue. The core problem you're seeing is that the learn-weaviate
API key in fact lacks the permissions necessary to use the .checker()
method on the https://edu-demo.weaviate.network
URL. This is because .checker()
makes an HTTP HEAD request under-the-hood and this apparently requires elevated access.
You were unable to see this error in the client, however, due to the issue that you raised with regards to the return type in your MRE. A solution to this is open in a PR: https://github.com/weaviate/typescript-client/pull/71, but the fundamental problem will remain: the demo API key cannot make HEAD requests so cannot use the .checker()
method.
To see this for yourself, you can use POSTman or Insomnia to make a HEAD request to https://edu-demo.weaviate.network/v1/objects/WikiCity/00008ad0-f7f1-5fd8-8fd6-a03a203bd428
with an Authorization
header of Bearer learn-weaviate
and you will receive a 403 Forbidden error. On the other hand, if you remove this Authorization
header entirely, you will receive a 401 Unauthorized header signifying that the API key is genuine but lacks the required permissions.
The output will be this,
The object does exist,
BTW the tests for
checker()
lack.withClassName()
, which results in a warning, "Usage of objects paths without className is deprecated in Weaviate 1.19.6. Please provide className parameter".