User talk:Clouserw/AMO/API

From MozillaWiki
Jump to: navigation, search

Ideas for splitting out properties for PUT

Simple text fields (minimal validation)

  • /api/addon/:id/properties/name
  • /api/addon/:id/properties/slug
  • /api/addon/:id/properties/summary
  • /api/addon/:id/properties/description
  • /api/addon/:id/properties/homepage
  • /api/addon/:id/properties/default_locale
  • /api/addon/:id/properties/support_email
  • /api/addon/:id/properties/support_url
  • /api/addon/:id/properties/developer_comments
  • /api/addon/:id/properties/tags
  • /api/addon/:id/properties/eula
  • /api/addon/:id/properties/privacy_policy

Accepts key/values: Name, URL, text (or should we split this up?)

  • /api/addon/:id/properties/license

User will need to GET /api/categories for a list of available category ids before POSTing here

  • /api/addon/:id/properties/categories

This accepts 2 text fields, one for URL, one for product

  • /api/addon/:id/properties/getsatisfaction

This accepts a single binary file

  • /api/addon/:id/properties/icon

This accepts multiple images/videos (maybe just single for starters)

  • /api/addon/:id/images
  • /api/addon/:id/videos

This accepts some form of a list of add-on ids

  • /api/addon/:id/properties/required_addons

This accepts a key/value pair of flags (or should we split this out into .../flags/$flag. There are about 4 or 5 of them

  • /api/addon/:id/properties/flags

This is GET only

  • /api/addon/:id/properties/guid
  • /api/addon/:id/authors

This accepts a key/value: permission level and a boolean for whether the user is listed. What should ?? be? The author's email addresss? If so, we could accept PUT directly to a URL.

  • /api/addon/:id/authors/??/permission

TODO: contributions stuff (backend isn't determined yet)

Simple text field

  • /api/addon/:id/versions/:id/release_notes

multipart: Accepts a single binary file, with a little metadata blob (platform, etc.)

  • /api/addon/:id/versions/:id/files

Accepts a blob of app+version compatibility. Clients will have to GET */api/???? first

  • /api/addon/:id/versions/:id/compatibility