Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  1. Authentication
    1. OAUTH 1.0a
    2. Session
    3. API Key (Http basic - secret key passed into username, no password)
  2. Data Formats
    1. JSON
    2. XML
  3. API
    1. Pagination
    2. Error Handling
  4. System
    1. Rate limiting
  5. Documentation 
    1. Technical Implementation Manual
    2. Dynamic, explorable documentation (http://swagger.io/)
    3. Sample client program
    4. curl examples, atleast REQUEST/RESPONSE examples
  6. Integration Points
    1. REST API
    2. SOAP API
    3. Web Interactions using postMessage()?
  7. Versioning
    1. changelog for API
    2. version in the URL. 
    3. How to manage change
  8. Needed Improvements
    1. More consistent use of HTTP methods
    2. More consistent data modelling
    3. Expanding through extra parameters (relations)
    4. Consistent naming and url structure



Resources:

http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api

https://stripe.com/docs/api#intro

https://docs.box.com/docs/oauth-20

https://www.etsy.com/developers/documentation/getting_started/api_basics