Using Central API to access Collect QR code

Interesting, that additional context is useful!

Yes, this is definitely possible by managing form access. The documentation for that is here, and you can also manage form access using the API.

Perhaps not much, so if your current workflow is working, there might not be strong reason to change it. However, having a single project might make it easier to access the submission data using the API: getting the list of forms would be a single API request, rather than a request to list the projects, then a request for each project to list the project's forms.

Users won't need to specify a username or password in ODK Collect: the server URL for the app user is sufficient to authenticate.

You actually don't need to specify all those keys, as most keys have sensible defaults. (Also, I'm not sure that's the most up-to-date list of keys. You might be interested in the discussion here.) You only need to specify the server_url key. (You should specify both general and admin, but admin can be empty.) For example:

{
  "general": {
    "server_url": "…/v1/key/[token]/projects/[projectId]"
  },
  "admin": {}
} 

The topic you linked to seems like a good place to start given that you're working in Python! It's in JavaScript, but you can also check out how we create the QR code in ODK Central here.

1 Like