7 endpoints.
| Method | Path | Summary |
|---|---|---|
GET | /api/communities/{communityId}/advertisements | Get all advertisements with pagination |
POST | /api/communities/{communityId}/advertisements | Create new advertisement |
DELETE | /api/communities/{communityId}/advertisements/{adId} | Delete advertisement |
PUT | /api/communities/{communityId}/advertisements/{adId} | Update advertisement |
POST | /api/communities/{communityId}/advertisements/{adId}/click | Track advertisement click |
POST | /api/communities/{communityId}/advertisements/{adId}/impression | Track advertisement impression |
GET | /api/communities/{communityId}/advertisements/active | Get active advertisements for a position (public facing) |
GET /api/communities/{communityId}/advertisementsAuth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
page | query | no | integer | — |
limit | query | no | integer | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | Paginated list of advertisements | — |
403 | Permission denied | — |
POST /api/communities/{communityId}/advertisementsAuth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
Request body (required) — multipart/form-data
| Field | Type | Required | Description |
|---|---|---|---|
advertisement | string (binary) | yes | — |
title | string | no | — |
titleArabic | string | no | — |
link | string | no | — |
position | string | no | — |
startDate | string (date-time) | no | — |
endDate | string (date-time) | no | — |
Responses
| Status | Description | Body |
|---|---|---|
201 | Advertisement created successfully | — |
403 | Permission denied | — |
DELETE /api/communities/{communityId}/advertisements/{adId}Auth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
adId | path | yes | string (uuid) | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | Advertisement deleted successfully | — |
403 | Permission denied | — |
PUT /api/communities/{communityId}/advertisements/{adId}Auth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
adId | path | yes | string (uuid) | — |
Request body — multipart/form-data
| Field | Type | Required | Description |
|---|---|---|---|
advertisement | string (binary) | no | — |
title | string | no | — |
titleArabic | string | no | — |
link | string | no | — |
position | string | no | — |
startDate | string (date-time) | no | — |
endDate | string (date-time) | no | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | Advertisement updated successfully | — |
403 | Permission denied | — |
POST /api/communities/{communityId}/advertisements/{adId}/clickAuth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
adId | path | yes | string (uuid) | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | Click tracked successfully | — |
POST /api/communities/{communityId}/advertisements/{adId}/impressionAuth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
adId | path | yes | string (uuid) | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | Impression tracked successfully | — |
GET /api/communities/{communityId}/advertisements/activeAuth: Bearer JWT required.
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
communityId | path | yes | string (uuid) | — |
position | query | no | string | — |
Responses
| Status | Description | Body |
|---|---|---|
200 | List of active advertisements | — |