Analyze the provided {PROGRAMMING LANGUAGE} code for API definitions in the SOURCE CODE. Extract the following details for each API endpoint:

1. HTTP METHOD: The HTTP verb used (e.g., GET, POST, PUT, PATCH, DELETE).

2. URL: The endpoint's relative URL.

3. HEADERS: Any required headers for the request (if mentioned in the code).

4. REQUEST BODY: The JSON structure for the request body (if applicable).

5. Response: The type of response the API returns.

Format Output Example:
{
  "apis": [
 {
      "method": "GET",
      "url": "/api/books",
      "headers": null,
      "request_body": null, 
      "response": [
        { 
              "id": 1, 
              "title": "Book Title",
      
              "author": "Author Name",
              "publishedYear": 2023
        }
     ],
     "description": "Retrieves a list of all books."
},..
  ]
}

Source Code: {sourcecode}
Output?

