# FSE SB1 API Design Doc - Aishwarya Iteration 4 > API Design Ref: [ESN REST API Sample](https://docs.google.com/spreadsheets/d/1aHaiGxGVdY-UrNUoj1SaZdNqx7HnisuxNiucPQXcJE0/edit#gid=1001548426) [TOC] ## Donation API > Need JWT Auth for API Call ### Create Donation Entry #### Route ``` POST /api/donations ``` #### Payload ```json { resource: string, quantity: integer, } ``` #### Response ##### Code 201 OK ```json { type: DONATION, // enum data: { donation: [ { username: string, resource: string, status: string, quantity: number, }, ], }, message: string } ``` ### Get Resources #### Route > Get all donations for a user ``` GET /api/donations?username=${username} ``` > Get donations of all users except testUser ``` GET /api/donations?exclude=${username} ``` #### Payload > N/A #### Response ##### Code 200 OK ```json { type: DONATION, // enum data: { donations: [ { username: string, quantity: number, status: string, resource: string, }, ... ], }, message: string } ``` ### Update Resource Status #### Route ``` PUT /api/donations/${username}/${resource}/${quantity}/${status} ``` #### Payload > N/A #### Response ##### Code 200 OK ```json { type: DONATION, // enum data: { donation: [ { username: string, status: string, resource: string, }, ... ], }, message: string } ``` ## ChatRoom API > Need JWT Auth for API Call ### Get ChatRoom By Members #### Route ``` GET /api/messages/private/chatrooms/members/?sender=${sender_name}&receiver=${receiver_name} ``` #### Payload > N/A #### Response ##### Code 200 OK ```json { type: CHAT, // enum data: { donation: [ { _id: ObjectID, members: string array, }, ... ], }, message: string } ```