API 3 (Draft)

This is a draft for version 3 of the public API of gpodder.net.

Client Access

  • Require client keys to identify clients, get a communication channel to developers
  • Clients must send a valid User-Agent string
  • API usage free for open source clients
  • Quota for non-open clients – higher quota if more features are implemented; paid quota increase

Proposed Changes to API 2

  • The classification between Simple and Advanced API is dropped
  • A separate domain name for API requests will be used (something like api.gpodder.net, see API Parametrization
  • The /api/ prefix has been dropped (in favor of a API domain name) and a version prefix (/3/) has been added for all endpoints
  • Device-Data and Settings are updated with PUT instead of POST (because they overwrite existing data)
  • Things to consider: Evolving HTTP APIs

Additional Ideas

  • Use authentication protocol OAuth2

Open Questions