Skip to main content
Dat 3rd Sem Fall 2025
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Rest Api Documentation

Documenting a REST API

You have hopefully noticed that a great advantage of architectures that rely on REST is that client and server code can be developed independently. For this to work, however, we must have a clear and unambiguous description of the API, including methods, parameters, return values, and reaction to errors. With such a description, two parties should truly be able to develop the two “ends” of an application independently and eventually connect the two, in a successful way.

There are tools we can use for this, but generally, there is no “one correct way” of doing it. In this document, we suggest a simple no-frills strategy that will be sufficient for everything you do this semester.

Use the examples below as a template for how you document your own API’s

MethodURLRequest Body (JSON)Response (JSON)Error (e)
GET/api/users[user, user, …] (1)
GET/api/users/{id}user (1)(e1)
POST/api/usersuser(1) without id(e2)
UPDATE/api/users/{id}user(1) without iduser (1)

Request Body and Response Formats

  • (1) User format (don’t provide ID, for POST)
 {  
    "id": Number,
    "age": Number,  
    "name": String,  
    "gender": String (“male” | “female”),  
    "email": String (email)  
  }

Errors

  • (e) All errors are reported using this format (with the HTTP-status code matching the number)

    { status : statusCode, "msg": "Explains the problem" }
    
  • (e1)

    { status : 404, "msg": "No content found for this request" }
    
  • (e2)

    { status : 400, "msg": "Field ‘xxx’ is required" }   (for example, no name provided)
    

Download template