Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,3 +127,15 @@ MIT, Apache
## Maintainers

Muwanga Erasto Kosea, Ouma Ronald

## πŸ“‘ API Documentation

Full API documentation is available here:

πŸ‘‰ /docs/api.md

This includes:
- All endpoints
- Request and response examples
- Authentication details
- Testing guidance
151 changes: 151 additions & 0 deletions docs/api.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
# πŸ“‘ API Documentation

This document provides details of all backend API endpoints.

---

## πŸ“Œ Overview

The API allows interaction with the system through HTTP requests.
All responses are returned in a structured format.

Base URL:
`/api`

---

## πŸ” Authentication

Some endpoints require authentication using a token.

**Header Format:**
Authorization: Bearer <token>

If authentication is required, it will be specified per endpoint.

---

## πŸ“ Endpoints

### 1. Get All Resources

**Endpoint:** GET /api/resources
**Authentication:** Optional

**Description:**
Fetch all resources from the system.

**Request Example:**
- Method: GET
- URL: /api/resources

**Response Example:**
- Status: Success
- Data:
- id: 1
name: Resource One
- id: 2
name: Resource Two

---

### 2. Get Resource by ID

**Endpoint:** GET /api/resources/{id}
**Authentication:** Optional

**Description:**
Fetch a single resource by its ID.

**Request Example:**
- Method: GET
- URL: /api/resources/1

**Response Example:**
- Status: Success
- Data:
- id: 1
- name: Resource One

---

### 3. Create Resource

**Endpoint:** POST /api/resources
**Authentication:** Required

**Description:**
Create a new resource.

**Request Example:**
- Method: POST
- URL: /api/resources
- Body:
- name: New Resource

**Response Example:**
- Status: Success
- Message: Resource created successfully

---

### 4. Update Resource

**Endpoint:** PUT /api/resources/{id}
**Authentication:** Required

**Description:**
Update an existing resource.

**Request Example:**
- Method: PUT
- URL: /api/resources/1
- Body:
- name: Updated Resource

**Response Example:**
- Status: Success
- Message: Resource updated successfully

---

### 5. Delete Resource

**Endpoint:** DELETE /api/resources/{id}
**Authentication:** Required

**Description:**
Delete a resource by ID.

**Request Example:**
- Method: DELETE
- URL: /api/resources/1

**Response Example:**
- Status: Success
- Message: Resource deleted successfully

---

## πŸ§ͺ Testing the API

You can test the API using:
- Postman
- cURL
- Browser (for GET endpoints)

---

## πŸ“Œ Notes

- Ensure correct HTTP methods are used
- Include authentication token where required
- Follow endpoint structure carefully

---

## πŸ“Ž Summary

- All endpoints are documented
- Request/response examples provided
- Authentication clearly defined
Loading