Skip to content

Instantly share code, notes, and snippets.

@BeattieM
Last active May 14, 2025 15:27
Show Gist options
  • Save BeattieM/324063512d166122ba5c to your computer and use it in GitHub Desktop.
Save BeattieM/324063512d166122ba5c to your computer and use it in GitHub Desktop.

Revisions

  1. BeattieM revised this gist Feb 23, 2016. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions API Contract Example Spec.md
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,4 @@
    ##Users
    #Users
    * User object
    ```
    {
    @@ -142,7 +142,7 @@
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }`

    ##Products
    #Products
    * Product object
    ```
    {
    @@ -289,7 +289,7 @@
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }`

    ##Orders
    #Orders
    * Order object
    ```
    {
  2. BeattieM revised this gist Feb 23, 2016. 1 changed file with 20 additions and 3 deletions.
    23 changes: 20 additions & 3 deletions API Contract Example Spec.md
    Original file line number Diff line number Diff line change
    @@ -95,6 +95,8 @@
    }
    ```
    * **Success Response:**
    * **Code:** 200
    **Content:** `{ <user_object> }`

    **PATCH /users/:id**
    ----
    @@ -104,13 +106,16 @@
    * **Data Params**
    ```
    {
    username: string,
    email: string
    }
    ```
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Success Response:**
    * **Code:** 200
    **Content:** `{ <user_object> }`
    * **Error Response:**
    * **Code:** 404
    **Content:** `{ error : "User doesn't exist" }`
    @@ -182,6 +187,8 @@
    Content-Type: application/json
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Code:** 200
    **Content:** `{ <product_object> }`
    * **Error Response:**
    * **Code:** 404
    **Content:** `{ error : "Product doesn't exist" }`
    @@ -234,6 +241,8 @@
    * **Headers**
    Content-Type: application/json
    * **Success Response:**
    * **Code:** 200
    **Content:** `{ <product_object> }`

    **PATCH /products/:id**
    ----
    @@ -251,7 +260,9 @@
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Success Response:**
    * **Code:** 200
    **Content:** `{ <product_object> }`
    * **Error Response:**
    * **Code:** 404
    **Content:** `{ error : "Product doesn't exist" }`
    @@ -336,6 +347,8 @@
    Content-Type: application/json
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Code:** 200
    **Content:** `{ <order_object> }`
    * **Error Response:**
    * **Code:** 404
    **Content:** `{ error : "Order doesn't exist" }`
    @@ -406,6 +419,8 @@
    * **Headers**
    Content-Type: application/json
    * **Success Response:**
    * **Code:** 200
    **Content:** `{ <order_object> }`

    **PATCH /orders/:id**
    ----
    @@ -423,6 +438,8 @@
    Content-Type: application/json
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Code:** 200
    **Content:** `{ <order_object> }`
    * **Error Response:**
    * **Code:** 404
    **Content:** `{ error : "Order doesn't exist" }`
  3. BeattieM revised this gist Feb 23, 2016. 1 changed file with 13 additions and 5 deletions.
    18 changes: 13 additions & 5 deletions API Contract Example Spec.md
    Original file line number Diff line number Diff line change
    @@ -90,7 +90,8 @@
    * **Data Params**
    ```
    {
    username: string,
    email: string
    }
    ```
    * **Success Response:**
    @@ -225,7 +226,9 @@
    * **Data Params**
    ```
    {
    name: string
    cost: float(2)
    available_quantity: integer
    }
    ```
    * **Headers**
    @@ -240,7 +243,9 @@
    * **Data Params**
    ```
    {
    name: string
    cost: float(2)
    available_quantity: integer
    }
    ```
    * **Headers**
    @@ -393,7 +398,9 @@
    * **Data Params**
    ```
    {
    user_id: <user_id>
    product: <product_id>,
    quantity: integer
    }
    ```
    * **Headers**
    @@ -408,7 +415,8 @@
    * **Data Params**
    ```
    {
    product: <product_id>,
    quantity: integer
    }
    ```
    * **Headers**
  4. BeattieM revised this gist Feb 23, 2016. 1 changed file with 13 additions and 13 deletions.
    26 changes: 13 additions & 13 deletions API Contract Example Spec.md
    Original file line number Diff line number Diff line change
    @@ -49,7 +49,7 @@
    **Content:** `{ error : "User doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
    **Content:** `{ error : error : "You are unauthorized to make this request." }`

    **GET /users/:id/orders**
    ----
    @@ -78,7 +78,7 @@
    **Content:** `{ error : "User doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
    **Content:** `{ error : error : "You are unauthorized to make this request." }`

    **POST /users**
    ----
    @@ -115,7 +115,7 @@
    **Content:** `{ error : "User doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
    **Content:** `{ error : error : "You are unauthorized to make this request." }`

    **DELETE /users/:id**
    ----
    @@ -134,7 +134,7 @@
    **Content:** `{ error : "User doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
    **Content:** `{ error : error : "You are unauthorized to make this request." }`

    ##Products
    * Product object
    @@ -186,7 +186,7 @@
    **Content:** `{ error : "Product doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
    **Content:** `{ error : error : "You are unauthorized to make this request." }`

    **GET /products/:id/orders**
    ----
    @@ -215,7 +215,7 @@
    **Content:** `{ error : "Product doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
    **Content:** `{ error : error : "You are unauthorized to make this request." }`

    **POST /products**
    ----
    @@ -252,7 +252,7 @@
    **Content:** `{ error : "Product doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
    **Content:** `{ error : error : "You are unauthorized to make this request." }`

    **DELETE /products/:id**
    ----
    @@ -271,7 +271,7 @@
    **Content:** `{ error : "Product doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
    **Content:** `{ error : error : "You are unauthorized to make this request." }`

    ##Orders
    * Order object
    @@ -336,7 +336,7 @@
    **Content:** `{ error : "Order doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
    **Content:** `{ error : error : "You are unauthorized to make this request." }`

    **GET /orders/:id/products**
    ----
    @@ -365,7 +365,7 @@
    **Content:** `{ error : "Order doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
    **Content:** `{ error : error : "You are unauthorized to make this request." }`

    **GET /orders/:id/user**
    ----
    @@ -383,7 +383,7 @@
    **Content:** `{ error : "Order doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
    **Content:** `{ error : error : "You are unauthorized to make this request." }`

    **POST /orders**
    ----
    @@ -420,7 +420,7 @@
    **Content:** `{ error : "Order doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
    **Content:** `{ error : error : "You are unauthorized to make this request." }`

    **DELETE /orders/:id**
    ----
    @@ -439,4 +439,4 @@
    **Content:** `{ error : "Order doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
    **Content:** `{ error : error : "You are unauthorized to make this request." }`
  5. BeattieM revised this gist Feb 23, 2016. 1 changed file with 68 additions and 8 deletions.
    76 changes: 68 additions & 8 deletions API Contract Example Spec.md
    Original file line number Diff line number Diff line change
    @@ -19,7 +19,7 @@
    * **Headers**
    Content-Type: application/json
    * **Success Response:**
    * **Code:** 200 <br />
    * **Code:** 200
    **Content:**
    ```
    {
    @@ -41,7 +41,9 @@
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Success Response:**
    * **Code:** 200
    **Content:** `{ <user_object> }`
    * **Error Response:**
    * **Code:** 404
    **Content:** `{ error : "User doesn't exist" }`
    @@ -60,6 +62,17 @@
    Content-Type: application/json
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Code:** 200
    **Content:**
    ```
    {
    orders: [
    {<order_object>},
    {<order_object>},
    {<order_object>}
    ]
    }
    ```
    * **Error Response:**
    * **Code:** 404
    **Content:** `{ error : "User doesn't exist" }`
    @@ -114,7 +127,8 @@
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Success Response:**
    * **Code:** 204
    * **Error Response:**
    * **Code:** 404
    **Content:** `{ error : "User doesn't exist" }`
    @@ -143,7 +157,18 @@
    None
    * **Headers**
    Content-Type: application/json
    * **Success Response:**
    * **Success Response:**
    * **Code:** 200
    **Content:**
    ```
    {
    products: [
    {<product_object>},
    {<product_object>},
    {<product_object>}
    ]
    }
    ```

    **GET /products/:id**
    ----
    @@ -173,7 +198,18 @@
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Success Response:**
    * **Code:** 200
    **Content:**
    ```
    {
    orders: [
    {<order_object>},
    {<order_object>},
    {<order_object>}
    ]
    }
    ```
    * **Error Response:**
    * **Code:** 404
    **Content:** `{ error : "Product doesn't exist" }`
    @@ -229,6 +265,7 @@
    Content-Type: application/json
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Code:** 204
    * **Error Response:**
    * **Code:** 404
    **Content:** `{ error : "Product doesn't exist" }`
    @@ -270,7 +307,18 @@
    None
    * **Headers**
    Content-Type: application/json
    * **Success Response:**
    * **Success Response:**
    * **Code:** 200
    **Content:**
    ```
    {
    orders: [
    {<order_object>},
    {<order_object>},
    {<order_object>}
    ]
    }
    ```

    **GET /orders/:id**
    ----
    @@ -301,6 +349,17 @@
    Content-Type: application/json
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Code:** 200
    **Content:**
    ```
    {
    products: [
    {<product_object>},
    {<product_object>},
    {<product_object>}
    ]
    }
    ```
    * **Error Response:**
    * **Code:** 404
    **Content:** `{ error : "Order doesn't exist" }`
    @@ -318,7 +377,7 @@
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Success Response:** `{ <user_object> }`
    * **Error Response:**
    * **Code:** 404
    **Content:** `{ error : "Order doesn't exist" }`
    @@ -373,7 +432,8 @@
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Success Response:**
    * **Code:** 204
    * **Error Response:**
    * **Code:** 404
    **Content:** `{ error : "Order doesn't exist" }`
  6. BeattieM revised this gist Feb 23, 2016. 1 changed file with 7 additions and 5 deletions.
    12 changes: 7 additions & 5 deletions API Contract Example Spec.md
    Original file line number Diff line number Diff line change
    @@ -22,11 +22,13 @@
    * **Code:** 200 <br />
    **Content:**
    ```
    users: [
    {<user_object>},
    {<user_object>},
    {<user_object>}
    ]
    {
    users: [
    {<user_object>},
    {<user_object>},
    {<user_object>}
    ]
    }
    ```

    **GET /users/:id**
  7. BeattieM revised this gist Feb 23, 2016. 1 changed file with 7 additions and 7 deletions.
    14 changes: 7 additions & 7 deletions API Contract Example Spec.md
    Original file line number Diff line number Diff line change
    @@ -21,13 +21,13 @@
    * **Success Response:**
    * **Code:** 200 <br />
    **Content:**
    ```
    users: [
    {<user_object>},
    {<user_object>},
    {<user_object>}
    ]
    ```
    ```
    users: [
    {<user_object>},
    {<user_object>},
    {<user_object>}
    ]
    ```

    **GET /users/:id**
    ----
  8. BeattieM revised this gist Feb 23, 2016. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion API Contract Example Spec.md
    Original file line number Diff line number Diff line change
    @@ -20,7 +20,7 @@
    Content-Type: application/json
    * **Success Response:**
    * **Code:** 200 <br />
    **Content:**
    **Content:**
    ```
    users: [
    {<user_object>},
  9. BeattieM revised this gist Feb 23, 2016. 1 changed file with 74 additions and 25 deletions.
    99 changes: 74 additions & 25 deletions API Contract Example Spec.md
    Original file line number Diff line number Diff line change
    @@ -19,8 +19,15 @@
    * **Headers**
    Content-Type: application/json
    * **Success Response:**
    * **Error Response:**
    OR
    * **Code:** 200 <br />
    **Content:**
    ```
    users: [
    {<user_object>},
    {<user_object>},
    {<user_object>}
    ]
    ```
    **GET /users/:id**
    ----
    @@ -34,7 +41,11 @@
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
    * **Code:** 404
    **Content:** `{ error : "User doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
    **GET /users/:id/orders**
    ----
    @@ -48,7 +59,11 @@
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
    * **Code:** 404
    **Content:** `{ error : "User doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
    **POST /users**
    ----
    @@ -64,8 +79,6 @@
    }
    ```
    * **Success Response:**
    * **Error Response:**
    OR
    **PATCH /users/:id**
    ----
    @@ -83,7 +96,11 @@
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
    * **Code:** 404
    **Content:** `{ error : "User doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
    **DELETE /users/:id**
    ----
    @@ -97,7 +114,11 @@
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
    * **Code:** 404
    **Content:** `{ error : "User doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
    ##Products
    * Product object
    @@ -121,8 +142,6 @@
    * **Headers**
    Content-Type: application/json
    * **Success Response:**
    * **Error Response:**
    OR
    **GET /products/:id**
    ----
    @@ -136,7 +155,11 @@
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
    * **Code:** 404
    **Content:** `{ error : "Product doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
    **GET /products/:id/orders**
    ----
    @@ -150,7 +173,11 @@
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
    * **Code:** 404
    **Content:** `{ error : "Product doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
    **POST /products**
    ----
    @@ -166,8 +193,6 @@
    * **Headers**
    Content-Type: application/json
    * **Success Response:**
    * **Error Response:**
    OR
    **PATCH /products/:id**
    ----
    @@ -185,7 +210,11 @@
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
    * **Code:** 404
    **Content:** `{ error : "Product doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
    **DELETE /products/:id**
    ----
    @@ -199,7 +228,11 @@
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
    * **Code:** 404
    **Content:** `{ error : "Product doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
    ##Orders
    * Order object
    @@ -236,8 +269,6 @@
    * **Headers**
    Content-Type: application/json
    * **Success Response:**
    * **Error Response:**
    OR
    **GET /orders/:id**
    ----
    @@ -251,7 +282,11 @@
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
    * **Code:** 404
    **Content:** `{ error : "Order doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
    **GET /orders/:id/products**
    ----
    @@ -265,7 +300,11 @@
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
    * **Code:** 404
    **Content:** `{ error : "Order doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
    **GET /orders/:id/user**
    ----
    @@ -279,7 +318,11 @@
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
    * **Code:** 404
    **Content:** `{ error : "Order doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
    **POST /orders**
    ----
    @@ -295,8 +338,6 @@
    * **Headers**
    Content-Type: application/json
    * **Success Response:**
    * **Error Response:**
    OR
    **PATCH /orders/:id**
    ----
    @@ -314,7 +355,11 @@
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
    * **Code:** 404
    **Content:** `{ error : "Order doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
    **DELETE /orders/:id**
    ----
    @@ -328,4 +373,8 @@
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
    * **Code:** 404
    **Content:** `{ error : "Order doesn't exist" }`
    OR
    * **Code:** 401
    **Content:** `{ error : error : "You are unauthorized to make this request." }
  10. BeattieM revised this gist Feb 23, 2016. 1 changed file with 13 additions and 13 deletions.
    26 changes: 13 additions & 13 deletions API Contract Example Spec.md
    Original file line number Diff line number Diff line change
    @@ -31,7 +31,7 @@
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer ```<OAuth Token>```
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -45,7 +45,7 @@
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer ```<OAuth Token>```
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -80,7 +80,7 @@
    ```
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer ```<OAuth Token>```
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -94,7 +94,7 @@
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer ```<OAuth Token>```
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -133,7 +133,7 @@
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer ```<OAuth Token>```
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -147,7 +147,7 @@
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer ```<OAuth Token>```
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -182,7 +182,7 @@
    ```
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer ```<OAuth Token>```
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -196,7 +196,7 @@
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer ```<OAuth Token>```
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -248,7 +248,7 @@
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer ```<OAuth Token>```
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -262,7 +262,7 @@
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer ```<OAuth Token>```
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -276,7 +276,7 @@
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer ```<OAuth Token>```
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -311,7 +311,7 @@
    ```
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer ```<OAuth Token>```
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -325,7 +325,7 @@
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer ```<OAuth Token>```
    Authorization: Bearer `<OAuth Token>`
    * **Success Response:**
    * **Error Response:**
    OR
  11. BeattieM revised this gist Feb 23, 2016. 1 changed file with 13 additions and 13 deletions.
    26 changes: 13 additions & 13 deletions API Contract Example Spec.md
    Original file line number Diff line number Diff line change
    @@ -31,7 +31,7 @@
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    Authorization: Bearer ```<OAuth Token>```
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -45,7 +45,7 @@
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    Authorization: Bearer ```<OAuth Token>```
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -80,7 +80,7 @@
    ```
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    Authorization: Bearer ```<OAuth Token>```
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -94,7 +94,7 @@
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    Authorization: Bearer ```<OAuth Token>```
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -133,7 +133,7 @@
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    Authorization: Bearer ```<OAuth Token>```
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -147,7 +147,7 @@
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    Authorization: Bearer ```<OAuth Token>```
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -182,7 +182,7 @@
    ```
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    Authorization: Bearer ```<OAuth Token>```
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -196,7 +196,7 @@
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    Authorization: Bearer ```<OAuth Token>```
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -248,7 +248,7 @@
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    Authorization: Bearer ```<OAuth Token>```
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -262,7 +262,7 @@
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    Authorization: Bearer ```<OAuth Token>```
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -276,7 +276,7 @@
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    Authorization: Bearer ```<OAuth Token>```
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -311,7 +311,7 @@
    ```
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    Authorization: Bearer ```<OAuth Token>```
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -325,7 +325,7 @@
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    Authorization: Bearer ```<OAuth Token>```
    * **Success Response:**
    * **Error Response:**
    OR
  12. BeattieM revised this gist Feb 23, 2016. 1 changed file with 19 additions and 19 deletions.
    38 changes: 19 additions & 19 deletions API Contract Example Spec.md
    Original file line number Diff line number Diff line change
    @@ -17,7 +17,7 @@
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    Content-Type: application/json
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -30,7 +30,7 @@
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    @@ -44,7 +44,7 @@
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    @@ -56,7 +56,7 @@
    * **URL Params**
    None
    * **Headers**
    Content-Type: application/json
    Content-Type: application/json
    * **Data Params**
    ```
    {
    @@ -79,7 +79,7 @@
    }
    ```
    * **Headers**
    Content-Type: application/json
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    @@ -93,7 +93,7 @@
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    @@ -119,7 +119,7 @@
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    Content-Type: application/json
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -132,7 +132,7 @@
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    @@ -146,7 +146,7 @@
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    @@ -164,7 +164,7 @@
    }
    ```
    * **Headers**
    Content-Type: application/json
    Content-Type: application/json
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -181,7 +181,7 @@
    }
    ```
    * **Headers**
    Content-Type: application/json
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    @@ -195,7 +195,7 @@
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    @@ -234,7 +234,7 @@
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    Content-Type: application/json
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -247,7 +247,7 @@
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    @@ -261,7 +261,7 @@
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    @@ -275,7 +275,7 @@
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    @@ -293,7 +293,7 @@
    }
    ```
    * **Headers**
    Content-Type: application/json
    Content-Type: application/json
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -310,7 +310,7 @@
    }
    ```
    * **Headers**
    Content-Type: application/json
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    @@ -324,7 +324,7 @@
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
  13. BeattieM revised this gist Feb 23, 2016. 1 changed file with 13 additions and 13 deletions.
    26 changes: 13 additions & 13 deletions API Contract Example Spec.md
    Original file line number Diff line number Diff line change
    @@ -26,7 +26,7 @@
    ----
    Returns the specified user.
    * **URL Params**
    **Required:** `id=[integer]`
    *Required:* `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    @@ -40,7 +40,7 @@
    ----
    Returns all Orders associated with the specified user.
    * **URL Params**
    **Required:** `id=[integer]`
    *Required:* `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    @@ -71,7 +71,7 @@
    ----
    Updates fields on the specified user and returns the updated object.
    * **URL Params**
    **Required:** `id=[integer]`
    *Required:* `id=[integer]`
    * **Data Params**
    ```
    {
    @@ -89,7 +89,7 @@
    ----
    Deletes the specified user.
    * **URL Params**
    **Required:** `id=[integer]`
    *Required:* `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    @@ -128,7 +128,7 @@
    ----
    Returns the specified product.
    * **URL Params**
    **Required:** `id=[integer]`
    *Required:* `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    @@ -142,7 +142,7 @@
    ----
    Returns all Orders associated with the specified product.
    * **URL Params**
    **Required:** `id=[integer]`
    *Required:* `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    @@ -173,7 +173,7 @@
    ----
    Updates fields on the specified product and returns the updated object.
    * **URL Params**
    **Required:** `id=[integer]`
    *Required:* `id=[integer]`
    * **Data Params**
    ```
    {
    @@ -191,7 +191,7 @@
    ----
    Deletes the specified product.
    * **URL Params**
    **Required:** `id=[integer]`
    *Required:* `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    @@ -243,7 +243,7 @@
    ----
    Returns the specified order.
    * **URL Params**
    **Required:** `id=[integer]`
    *Required:* `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    @@ -257,7 +257,7 @@
    ----
    Returns all Products associated with the specified order.
    * **URL Params**
    **Required:** `id=[integer]`
    *Required:* `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    @@ -271,7 +271,7 @@
    ----
    Returns all Users associated with the specified order.
    * **URL Params**
    **Required:** `id=[integer]`
    *Required:* `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    @@ -302,7 +302,7 @@
    ----
    Updates fields on the specified order and returns the updated object.
    * **URL Params**
    **Required:** `id=[integer]`
    *Required:* `id=[integer]`
    * **Data Params**
    ```
    {
    @@ -320,7 +320,7 @@
    ----
    Deletes the specified order.
    * **URL Params**
    **Required:** `id=[integer]`
    *Required:* `id=[integer]`
    * **Data Params**
    None
    * **Headers**
  14. BeattieM revised this gist Feb 23, 2016. 1 changed file with 76 additions and 76 deletions.
    152 changes: 76 additions & 76 deletions API Contract Example Spec.md
    Original file line number Diff line number Diff line change
    @@ -12,67 +12,67 @@
    **GET /users**
    ----
    Returns all users in the system.
    * **URL Params**
    * **URL Params**
    None
    * **Data Params**
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    * **Success Response:**
    * **Error Response:**
    * **Success Response:**
    * **Error Response:**
    OR

    **GET /users/:id**
    ----
    Returns the specified user.
    * **URL Params**
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    * **Success Response:**
    * **Error Response:**
    OR

    **GET /users/:id/orders**
    ----
    Returns all Orders associated with the specified user.
    * **URL Params**
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    * **Success Response:**
    * **Error Response:**
    OR

    **POST /users**
    ----
    Creates a new User and returns the new object.
    * **URL Params**
    * **URL Params**
    None
    * **Headers**
    Content-Type: application/json
    * **Data Params**
    * **Data Params**
    ```
    {
    }
    ```
    * **Success Response:**
    * **Error Response:**
    * **Success Response:**
    * **Error Response:**
    OR

    **PATCH /users/:id**
    ----
    Updates fields on the specified user and returns the updated object.
    * **URL Params**
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    * **Data Params**
    ```
    {
    @@ -81,22 +81,22 @@
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    * **Success Response:**
    * **Error Response:**
    OR

    **DELETE /users/:id**
    ----
    Deletes the specified user.
    * **URL Params**
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    * **Success Response:**
    * **Error Response:**
    OR

    ##Products
    @@ -114,67 +114,67 @@
    **GET /products**
    ----
    Returns all products in the system.
    * **URL Params**
    * **URL Params**
    None
    * **Data Params**
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    * **Success Response:**
    * **Error Response:**
    * **Success Response:**
    * **Error Response:**
    OR

    **GET /products/:id**
    ----
    Returns the specified product.
    * **URL Params**
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    * **Success Response:**
    * **Error Response:**
    OR

    **GET /products/:id/orders**
    ----
    Returns all Orders associated with the specified product.
    * **URL Params**
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    * **Success Response:**
    * **Error Response:**
    OR

    **POST /products**
    ----
    Creates a new Product and returns the new object.
    * **URL Params**
    * **URL Params**
    None
    * **Data Params**
    * **Data Params**
    ```
    {
    }
    ```
    * **Headers**
    Content-Type: application/json
    * **Success Response:**
    * **Error Response:**
    * **Success Response:**
    * **Error Response:**
    OR

    **PATCH /products/:id**
    ----
    Updates fields on the specified product and returns the updated object.
    * **URL Params**
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    * **Data Params**
    ```
    {
    @@ -183,22 +183,22 @@
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    * **Success Response:**
    * **Error Response:**
    OR

    **DELETE /products/:id**
    ----
    Deletes the specified product.
    * **URL Params**
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    * **Success Response:**
    * **Error Response:**
    OR

    ##Orders
    @@ -229,81 +229,81 @@
    **GET /orders**
    ----
    Returns all users in the system.
    * **URL Params**
    * **URL Params**
    None
    * **Data Params**
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    * **Success Response:**
    * **Error Response:**
    * **Success Response:**
    * **Error Response:**
    OR

    **GET /orders/:id**
    ----
    Returns the specified order.
    * **URL Params**
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    * **Success Response:**
    * **Error Response:**
    OR

    **GET /orders/:id/products**
    ----
    Returns all Products associated with the specified order.
    * **URL Params**
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    * **Success Response:**
    * **Error Response:**
    OR

    **GET /orders/:id/user**
    ----
    Returns all Users associated with the specified order.
    * **URL Params**
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    * **Success Response:**
    * **Error Response:**
    OR

    **POST /orders**
    ----
    Creates a new Order and returns the new object.
    * **URL Params**
    * **URL Params**
    None
    * **Data Params**
    * **Data Params**
    ```
    {
    }
    ```
    * **Headers**
    Content-Type: application/json
    * **Success Response:**
    * **Error Response:**
    * **Success Response:**
    * **Error Response:**
    OR

    **PATCH /orders/:id**
    ----
    Updates fields on the specified order and returns the updated object.
    * **URL Params**
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    * **Data Params**
    ```
    {
    @@ -312,20 +312,20 @@
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    * **Success Response:**
    * **Error Response:**
    OR

    **DELETE /orders/:id**
    ----
    Deletes the specified order.
    * **URL Params**
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    * **Data Params**
    None
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    * **Success Response:**
    * **Error Response:**
    OR
  15. BeattieM revised this gist Feb 23, 2016. 1 changed file with 19 additions and 19 deletions.
    38 changes: 19 additions & 19 deletions API Contract Example Spec.md
    Original file line number Diff line number Diff line change
    @@ -16,7 +16,7 @@
    None
    * **Data Params**
    None
    * **Headers**
    * **Headers**
    Content-Type: application/json
    * **Success Response:**
    * **Error Response:**
    @@ -29,7 +29,7 @@
    **Required:** `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    @@ -43,7 +43,7 @@
    **Required:** `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    @@ -55,7 +55,7 @@
    Creates a new User and returns the new object.
    * **URL Params**
    None
    * **Headers**
    * **Headers**
    Content-Type: application/json
    * **Data Params**
    ```
    @@ -78,7 +78,7 @@
    }
    ```
    * **Headers**
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    @@ -92,7 +92,7 @@
    **Required:** `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    @@ -118,7 +118,7 @@
    None
    * **Data Params**
    None
    * **Headers**
    * **Headers**
    Content-Type: application/json
    * **Success Response:**
    * **Error Response:**
    @@ -131,7 +131,7 @@
    **Required:** `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    @@ -145,7 +145,7 @@
    **Required:** `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    @@ -163,7 +163,7 @@
    }
    ```
    * **Headers**
    * **Headers**
    Content-Type: application/json
    * **Success Response:**
    * **Error Response:**
    @@ -180,7 +180,7 @@
    }
    ```
    * **Headers**
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    @@ -194,7 +194,7 @@
    **Required:** `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    @@ -233,7 +233,7 @@
    None
    * **Data Params**
    None
    * **Headers**
    * **Headers**
    Content-Type: application/json
    * **Success Response:**
    * **Error Response:**
    @@ -246,7 +246,7 @@
    **Required:** `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    @@ -260,7 +260,7 @@
    **Required:** `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    @@ -274,7 +274,7 @@
    **Required:** `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    @@ -292,7 +292,7 @@
    }
    ```
    * **Headers**
    * **Headers**
    Content-Type: application/json
    * **Success Response:**
    * **Error Response:**
    @@ -309,7 +309,7 @@
    }
    ```
    * **Headers**
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    @@ -323,7 +323,7 @@
    **Required:** `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    * **Headers**
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
  16. BeattieM revised this gist Feb 23, 2016. 1 changed file with 32 additions and 19 deletions.
    51 changes: 32 additions & 19 deletions API Contract Example Spec.md
    Original file line number Diff line number Diff line change
    @@ -17,7 +17,7 @@
    * **Data Params**
    None
    * **Headers**
    None
    Content-Type: application/json
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -30,7 +30,8 @@
    * **Data Params**
    None
    * **Headers**
    None
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -43,7 +44,8 @@
    * **Data Params**
    None
    * **Headers**
    None
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -54,7 +56,7 @@
    * **URL Params**
    None
    * **Headers**
    None
    Content-Type: application/json
    * **Data Params**
    ```
    {
    @@ -77,7 +79,8 @@
    }
    ```
    * **Headers**
    None
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -90,7 +93,8 @@
    * **Data Params**
    None
    * **Headers**
    None
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -115,7 +119,7 @@
    * **Data Params**
    None
    * **Headers**
    None
    Content-Type: application/json
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -128,7 +132,8 @@
    * **Data Params**
    None
    * **Headers**
    None
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -141,7 +146,8 @@
    * **Data Params**
    None
    * **Headers**
    None
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -158,7 +164,7 @@
    }
    ```
    * **Headers**
    None
    Content-Type: application/json
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -175,7 +181,8 @@
    }
    ```
    * **Headers**
    None
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -188,7 +195,8 @@
    * **Data Params**
    None
    * **Headers**
    None
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -226,7 +234,7 @@
    * **Data Params**
    None
    * **Headers**
    None
    Content-Type: application/json
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -239,7 +247,8 @@
    * **Data Params**
    None
    * **Headers**
    None
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -252,7 +261,8 @@
    * **Data Params**
    None
    * **Headers**
    None
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -265,7 +275,8 @@
    * **Data Params**
    None
    * **Headers**
    None
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -282,7 +293,7 @@
    }
    ```
    * **Headers**
    None
    Content-Type: application/json
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -299,7 +310,8 @@
    }
    ```
    * **Headers**
    None
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    OR
    @@ -312,7 +324,8 @@
    * **Data Params**
    None
    * **Headers**
    None
    Content-Type: application/json
    Authorization: Bearer <OAuth Token>
    * **Success Response:**
    * **Error Response:**
    OR
  17. BeattieM revised this gist Feb 23, 2016. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions API Contract Example Spec.md
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,4 @@
    **Users**
    ##Users
    * User object
    ```
    {
    @@ -95,7 +95,7 @@
    * **Error Response:**
    OR

    **Products**
    ##Products
    * Product object
    ```
    {
    @@ -193,7 +193,7 @@
    * **Error Response:**
    OR

    **Orders**
    ##Orders
    * Order object
    ```
    {
  18. BeattieM revised this gist Feb 23, 2016. 1 changed file with 270 additions and 0 deletions.
    270 changes: 270 additions & 0 deletions API Contract Example Spec.md
    Original file line number Diff line number Diff line change
    @@ -9,6 +9,92 @@
    updated_at: datetime(iso 8601)
    }
    ```
    **GET /users**
    ----
    Returns all users in the system.
    * **URL Params**
    None
    * **Data Params**
    None
    * **Headers**
    None
    * **Success Response:**
    * **Error Response:**
    OR

    **GET /users/:id**
    ----
    Returns the specified user.
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    None
    * **Success Response:**
    * **Error Response:**
    OR

    **GET /users/:id/orders**
    ----
    Returns all Orders associated with the specified user.
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    None
    * **Success Response:**
    * **Error Response:**
    OR

    **POST /users**
    ----
    Creates a new User and returns the new object.
    * **URL Params**
    None
    * **Headers**
    None
    * **Data Params**
    ```
    {
    }
    ```
    * **Success Response:**
    * **Error Response:**
    OR

    **PATCH /users/:id**
    ----
    Updates fields on the specified user and returns the updated object.
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    ```
    {
    }
    ```
    * **Headers**
    None
    * **Success Response:**
    * **Error Response:**
    OR

    **DELETE /users/:id**
    ----
    Deletes the specified user.
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    None
    * **Success Response:**
    * **Error Response:**
    OR

    **Products**
    * Product object
    ```
    @@ -21,6 +107,92 @@
    updated_at: datetime(iso 8601)
    }
    ```
    **GET /products**
    ----
    Returns all products in the system.
    * **URL Params**
    None
    * **Data Params**
    None
    * **Headers**
    None
    * **Success Response:**
    * **Error Response:**
    OR

    **GET /products/:id**
    ----
    Returns the specified product.
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    None
    * **Success Response:**
    * **Error Response:**
    OR

    **GET /products/:id/orders**
    ----
    Returns all Orders associated with the specified product.
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    None
    * **Success Response:**
    * **Error Response:**
    OR

    **POST /products**
    ----
    Creates a new Product and returns the new object.
    * **URL Params**
    None
    * **Data Params**
    ```
    {
    }
    ```
    * **Headers**
    None
    * **Success Response:**
    * **Error Response:**
    OR

    **PATCH /products/:id**
    ----
    Updates fields on the specified product and returns the updated object.
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    ```
    {
    }
    ```
    * **Headers**
    None
    * **Success Response:**
    * **Error Response:**
    OR

    **DELETE /products/:id**
    ----
    Deletes the specified product.
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    None
    * **Success Response:**
    * **Error Response:**
    OR

    **Orders**
    * Order object
    ```
    @@ -46,3 +218,101 @@
    updated_at: datetime(iso 8601)
    }
    ```
    **GET /orders**
    ----
    Returns all users in the system.
    * **URL Params**
    None
    * **Data Params**
    None
    * **Headers**
    None
    * **Success Response:**
    * **Error Response:**
    OR

    **GET /orders/:id**
    ----
    Returns the specified order.
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    None
    * **Success Response:**
    * **Error Response:**
    OR

    **GET /orders/:id/products**
    ----
    Returns all Products associated with the specified order.
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    None
    * **Success Response:**
    * **Error Response:**
    OR

    **GET /orders/:id/user**
    ----
    Returns all Users associated with the specified order.
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    None
    * **Success Response:**
    * **Error Response:**
    OR

    **POST /orders**
    ----
    Creates a new Order and returns the new object.
    * **URL Params**
    None
    * **Data Params**
    ```
    {
    }
    ```
    * **Headers**
    None
    * **Success Response:**
    * **Error Response:**
    OR

    **PATCH /orders/:id**
    ----
    Updates fields on the specified order and returns the updated object.
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    ```
    {
    }
    ```
    * **Headers**
    None
    * **Success Response:**
    * **Error Response:**
    OR

    **DELETE /orders/:id**
    ----
    Deletes the specified order.
    * **URL Params**
    **Required:** `id=[integer]`
    * **Data Params**
    None
    * **Headers**
    None
    * **Success Response:**
    * **Error Response:**
    OR
  19. BeattieM revised this gist Feb 23, 2016. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions API Contract Example Spec.md
    Original file line number Diff line number Diff line change
    @@ -9,7 +9,7 @@
    updated_at: datetime(iso 8601)
    }
    ```
    **Product**
    **Products**
    * Product object
    ```
    {
    @@ -21,7 +21,7 @@
    updated_at: datetime(iso 8601)
    }
    ```
    **Order**
    **Orders**
    * Order object
    ```
    {
  20. BeattieM revised this gist Feb 23, 2016. 1 changed file with 35 additions and 0 deletions.
    35 changes: 35 additions & 0 deletions API Contract Example Spec.md
    Original file line number Diff line number Diff line change
    @@ -10,4 +10,39 @@
    }
    ```
    **Product**
    * Product object
    ```
    {
    id: integer
    name: string
    cost: float(2)
    available_quantity: integer
    created_at: datetime(iso 8601)
    updated_at: datetime(iso 8601)
    }
    ```
    **Order**
    * Order object
    ```
    {
    id: integer
    user_id: <user_id>
    total: float(2)
    products: [
    {
    product: <product_id>,
    quantity: integer
    },
    {
    product: <product_id>,
    quantity: integer
    },
    {
    product: <product_id>,
    quantity: integer
    },
    ]
    created_at: datetime(iso 8601)
    updated_at: datetime(iso 8601)
    }
    ```
  21. BeattieM renamed this gist Feb 23, 2016. 1 changed file with 0 additions and 0 deletions.
  22. BeattieM created this gist Feb 23, 2016.
    13 changes: 13 additions & 0 deletions API Contract Example Spec
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,13 @@
    **Users**
    * User object
    ```
    {
    id: integer
    username: string
    email: string
    created_at: datetime(iso 8601)
    updated_at: datetime(iso 8601)
    }
    ```
    **Product**
    **Order**