From gPodderWiki
Jump to: navigation, search

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

Client Access[edit]

  • 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[edit]

  • 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[edit]

  • Use authentication protocol (OAuth2?)

Open Questions[edit]

  • What's the best way of documenting a REST API? [1] [2]
  • Specify deprecation guideline + timeline for when the old API will stop functioning