5 endpoints.
| Method | Path | Summary |
|---|---|---|
GET | /api/communities/{communityId}/projects | Get list of projects |
POST | /api/communities/{communityId}/projects | Create a new project |
DELETE | /api/communities/{communityId}/projects/{id} | Delete a project |
GET | /api/communities/{communityId}/projects/{id} | Get project details by ID |
PUT | /api/communities/{communityId}/projects/{id} | Update an existing project |
GET /api/communities/{communityId}/projectsAuth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
search | query | no | string | Search in project names and descriptions |
status | query | no | enum: PLANNING, IN_PROGRESS, ON_HOLD, COMPLETED, CANCELLED | Filter by project status |
page | query | no | integer | Page number |
pageSize | query | no | integer | Items per page |
Responses
| Status | Description | Body |
|---|---|---|
200 | Projects retrieved successfully | — |
400 | Validation error | — |
401 | Authentication required | — |
POST /api/communities/{communityId}/projectsAuth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
Request body (required) — multipart/form-data
| Field | Type | Required | Description |
|---|---|---|---|
communityId | string | yes | — |
name | string | yes | — |
nameArabic | string | yes | — |
description | string | yes | — |
startDate | string (date-time) | yes | — |
endDate | string (date-time) | no | — |
initialPrice | number | no | — |
finalPrice | number | no | — |
marketValue | number | no | — |
projectLink | string (uri) | no | — |
products | string | no | JSON string array of products |
projectLogo | string (binary) | yes | — |
projectBanner | string (binary) | yes | — |
productImage | string (binary)[] | no | — |
Responses
| Status | Description | Body |
|---|---|---|
201 | Project created successfully | — |
400 | Validation error | — |
401 | Authentication required | — |
DELETE /api/communities/{communityId}/projects/{id}Auth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
id | path | yes | string (uuid) | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | Project deleted successfully | — |
400 | Validation error | — |
401 | Authentication required | — |
403 | Permission denied (not owner or admin/moderator) | — |
404 | Project not found | — |
GET /api/communities/{communityId}/projects/{id}Auth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
id | path | yes | string (uuid) | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | Project details retrieved successfully | — |
400 | Validation error | — |
401 | Authentication required | — |
404 | Project not found | — |
PUT /api/communities/{communityId}/projects/{id}Auth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
id | path | yes | string (uuid) | — |
Request body (required) — multipart/form-data
| Field | Type | Required | Description |
|---|---|---|---|
name | string | no | — |
nameArabic | string | no | — |
description | string | no | — |
startDate | string (date-time) | no | — |
endDate | string (date-time) | no | — |
initialPrice | number | no | — |
finalPrice | number | no | — |
marketValue | number | no | — |
projectLink | string (uri) | no | — |
products | string | no | JSON string array of products |
projectLogo | string (binary) | no | — |
projectBanner | string (binary) | no | — |
removeLogo | enum: true | no | — |
removeBanner | enum: true | no | — |
typeIds | string | no | JSON string array of type IDs |
newTypes | string | no | JSON string array of new types |
Responses
| Status | Description | Body |
|---|---|---|
200 | Project updated successfully | — |
400 | Validation error | — |
401 | Authentication required | — |
404 | Project not found | — |