128 shared schemas.
| Field | Type | Required | Description |
|---|
dependsOnTaskId | string (uuid) | yes | — |
Type: object
| Field | Type | Required | Description |
|---|
appKey | string | no | — |
name | string | no | — |
nameArabic | string | no | — |
categoryKey | string | no | — |
comingSoon | boolean | no | — |
listing | AdminAppListing | no | — |
orphan | boolean | no | A listing row exists for a key the feature catalog no longer contains. |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
communityId | string (uuid) | no | — |
title | string | no | — |
titleArabic | string | no | — |
imageUrl | string | no | — |
link | string | no | — |
position | string | no | — |
startDate | string (date-time) | no | — |
endDate | string (date-time) | no | — |
isActive | boolean | no | — |
impressions | integer | no | — |
clicks | integer | no | — |
createdAt | string (date-time) | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
communityId | string (uuid) | no | — |
title | string | no | — |
titleArabic | string | no | — |
description | string | no | — |
descriptionArabic | string | no | — |
coverImage | string | no | — |
imageCount | integer | no | — |
likeCount | integer | no | — |
commentCount | integer | no | — |
isPublished | boolean | no | — |
createdBy | string (uuid) | no | — |
createdAt | string (date-time) | no | — |
updatedAt | string (date-time) | no | — |
images | AlbumImage[] | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
url | string | no | — |
caption | string | no | — |
sortOrder | integer | no | — |
createdAt | string (date-time) | no | — |
An API key as it is safe to display. The secret is NEVER present on this shape — it is returned exactly once, by create.
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
communityId | string (uuid) | no | — |
name | string | no | — |
prefix | string | no | The visible, non-secret leading segments. Display it so an owner can tell which key to revoke; the full key is unrecoverable. |
scopes | enum: read, write[] | no | — |
createdByUserId | string (uuid) | no | The key acts as this user. It can never do more than they can, and stops working if their membership ends. |
lastUsedAt | string (date-time) | no | Updated at most once per minute per key, so treat it as accurate to the minute rather than to the request. |
expiresAt | string (date-time) | no | — |
revokedAt | string (date-time) | no | Non-null means the key is dead. Revocation takes effect on the very next request; there is no cache to wait for. |
revokedByUserId | string (uuid) | no | — |
createdAt | string (date-time) | no | — |
updatedAt | string (date-time) | no | — |
Tenant rows this app owns for this community. null means NOT DETERMINABLE for this app, never zero — some apps have no dedicated tenant table and we decline to guess.
| Field | Type | Required | Description |
|---|
appKey | string | no | — |
tables | string[] | no | — |
rows | integer | no | — |
One community's relationship with one app. At most one row exists per (community, app) — reinstalling UPDATES this row rather than creating a second one, which is what makes a reinstall lossless.
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
appKey | string | no | A Feature Registry key. The feature catalog IS the app catalog. |
status | enum: ACTIVE, TRIAL, SUSPENDED, UNINSTALLED | no | ACTIVE/TRIAL grant the app. SUSPENDED/UNINSTALLED stop this row granting — they do NOT force the app off when the community's plan grants it independently, and they never delete content. |
source | enum: PURCHASED, PLAN_INCLUDED, LEGACY_GRANDFATHERED, ADMIN_GRANTED | no | LEGACY_GRANDFATHERED is permanent and free and cannot be uninstalled. |
billingCycle | enum: MONTHLY, YEARLY, FREE | no | — |
price | number | no | SNAPSHOT taken at install time, never a live lookup. Editing the catalog price does not change this value for anyone already installed. |
currency | string | no | — |
installedAt | string (date-time) | no | — |
uninstalledAt | string (date-time) | no | — |
expiresAt | string (date-time) | no | End of the current paid period; null never expires. An elapsed row stops granting after a 7-day grace period — it never revokes an entitlement the plan or an override already provides. |
isEntitling | boolean | no | Whether THIS row currently contributes a grant. |
Published marketing content for one app. Never affects entitlement — publishing or unpublishing changes what a community READS, never what it may USE.
| Field | Type | Required | Description |
|---|
appKey | string | no | — |
summary | string | no | — |
summaryArabic | string | no | — |
description | string | no | — |
descriptionArabic | string | no | — |
highlights | string[] | no | — |
highlightsArabic | string[] | no | — |
screenshots | string (uri)[] | no | Display order is the array order. |
iconUrl | string (uri) | no | — |
docsUrl | string (uri) | no | — |
suitableFor | string[] | no | — |
suitableForArabic | string[] | no | — |
developer | string | no | — |
version | string | no | — |
integrationType | string | no | — |
isFeatured | boolean | no | — |
sortOrder | integer | no | — |
updatedAt | string (date-time) | no | — |
A catalog app decorated with its listing. listing: null means NO CONTENT YET, never "no such app" — the app list is built from the feature catalog.
| Field | Type | Required | Description |
|---|
appKey | string | no | — |
name | string | no | — |
nameArabic | string | no | — |
categoryKey | string | no | — |
comingSoon | boolean | no | — |
listing | AppListing | no | — |
The shelf price of an app today. monthly/yearly of null mean NOT SOLD on that cycle — never "free". Yearly is an independent price and is never 12 x monthly.
| Field | Type | Required | Description |
|---|
appKey | string | no | — |
currency | string | no | — |
monthly | number | no | — |
yearly | number | no | — |
isFree | boolean | no | — |
availableCycles | enum: MONTHLY, YEARLY, FREE[] | no | An empty array means the app cannot be installed right now. |
| Field | Type | Required | Description |
|---|
headingId | string (uuid) | yes | — |
customizations | object | no | — |
| Field | Type | Required | Description |
|---|
assignments | object[] | yes | — |
Type of assignee for task assignment
Type: enum: INDIVIDUAL, GROUP, ROLE
Attendance status (حالة الحضور)
Type: enum: GOING, MAYBE, NOT_GOING, ATTENDED, NO_SHOW
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
communityId | string (uuid) | no | — |
title | string | no | — |
titleArabic | string | no | — |
content | string | no | — |
contentHtml | string | no | — |
headerImage | string | no | — |
categoryId | string (uuid) | no | — |
category | BlogCategory | no | — |
isPublished | boolean | no | — |
isHidden | boolean | no | — |
viewCount | integer | no | — |
likeCount | integer | no | — |
commentCount | integer | no | — |
authorId | string (uuid) | no | — |
author | User | no | — |
createdAt | string (date-time) | no | — |
updatedAt | string (date-time) | no | — |
isLiked | boolean | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
name | string | no | — |
nameArabic | string | no | — |
color | string | no | — |
sortOrder | integer | no | — |
| Field | Type | Required | Description |
|---|
fingerprint | string | yes | MD5 fingerprint from top errors endpoint |
notes | string | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
content | string | no | — |
authorId | string (uuid) | no | — |
parentId | string (uuid) | no | — |
resourceType | enum: tweet, blog, event, album | no | — |
resourceId | string (uuid) | no | — |
likeCount | integer | no | — |
replyCount | integer | no | — |
isEdited | boolean | no | — |
createdAt | string (date-time) | no | — |
updatedAt | string (date-time) | no | — |
author | User | no | — |
isLiked | boolean | no | — |
replies | Comment[] | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
tenantId | string (uuid) | no | — |
name | string | no | — |
nameArabic | string | no | — |
description | string | no | — |
descriptionArabic | string | no | — |
logo | string | no | — |
coverImage | string | no | — |
type | enum: PUBLIC, PRIVATE | no | Community visibility — single source of truth. (The legacy isPublic field was removed in the Community.isPublic removal plan, commit 4.) |
memberCount | integer | no | — |
createdAt | string (date-time) | no | — |
| Field | Type | Required | Description |
|---|
firstName | string | no | — |
middleName | string | no | — |
grandfatherName | string | no | — |
familyName | string | no | — |
phone | string | no | — |
| Field | Type | Required | Description |
|---|
success | boolean | no | — |
data | object | no | — |
| Field | Type | Required | Description |
|---|
information | object | no | — |
identity | object | no | — |
admin | object | no | — |
socialMedia | object | no | — |
subscription | object | no | — |
settings | object | no | — |
overall | integer | no | — |
| Field | Type | Required | Description |
|---|
success | boolean | no | — |
message | string | no | — |
data | object | no | — |
| Field | Type | Required | Description |
|---|
primaryColor | string | no | Primary color in hex format |
secondaryColor | string | no | Secondary color in hex format |
| Field | Type | Required | Description |
|---|
name | string | yes | — |
nameArabic | string | yes | — |
description | string | no | — |
descriptionArabic | string | no | — |
type | enum: PUBLIC, PRIVATE | yes | — |
category | string | no | — |
country | string | no | — |
city | string | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
userId | string (uuid) | no | — |
communityId | string (uuid) | no | — |
role | MemberRole | no | — |
status | enum: PENDING, APPROVED, REJECTED, BANNED | no | — |
department | string | no | — |
position | string | no | — |
permissions | object | no | — |
isBanned | boolean | no | — |
joinedAt | string (date-time) | no | — |
user | User | no | — |
| Field | Type | Required | Description |
|---|
language | enum: ar, en | no | — |
timezone | string | no | — |
notifications | boolean | no | — |
moderation | string | no | Community regulations/moderation rules |
privacy | enum: public, private | no | — |
| Field | Type | Required | Description |
|---|
twitter | string | no | — |
facebook | string | no | — |
instagram | string | no | — |
linkedin | string | no | — |
website | string | no | — |
| Field | Type | Required | Description |
|---|
plan | string | no | Payment plan name |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
communityId | string (uuid) | no | — |
name | string | no | — |
nameArabic | string | no | — |
title | string | no | — |
titleArabic | string | no | — |
description | string | no | — |
descriptionArabic | string | no | — |
price | number | no | — |
bookingLink | string (uri) | no | — |
icon | string | no | — |
banner | string | no | — |
status | ConsultantStatus | no | — |
sortOrder | integer | no | — |
isActive | boolean | no | — |
createdBy | string (uuid) | no | — |
createdAt | string (date-time) | no | — |
updatedAt | string (date-time) | no | — |
types | ConsultantType[] | no | — |
Consultant availability status (حالة المستشار)
Type: enum: available, coming_soon, not_available, fully_booked
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
name | string | no | — |
nameArabic | string | no | — |
color | string | no | — |
sortOrder | integer | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
reporterId | string (uuid) | no | — |
resourceType | enum: tweet, comment, message, blog, album | no | — |
resourceId | string (uuid) | no | — |
reason | string | no | — |
description | string | no | — |
status | enum: PENDING, REVIEWED, RESOLVED, DISMISSED | no | — |
resolvedBy | string (uuid) | no | — |
resolution | string | no | — |
createdAt | string (date-time) | no | — |
| Field | Type | Required | Description |
|---|
title | string | yes | — |
titleArabic | string | yes | — |
description | string | no | — |
descriptionArabic | string | no | — |
images | string (binary)[] | no | — |
| Field | Type | Required | Description |
|---|
content | string | yes | — |
| Field | Type | Required | Description |
|---|
name | string | yes | — |
nameArabic | string | yes | — |
title | string | no | — |
titleArabic | string | no | — |
description | string | no | — |
descriptionArabic | string | no | — |
price | number | no | — |
bookingLink | string (uri) | yes | — |
status | ConsultantStatus | no | — |
typeIds | string (uuid)[] | no | — |
icon | string (binary) | no | — |
banner | string (binary) | no | — |
| Field | Type | Required | Description |
|---|
name | string | yes | — |
nameArabic | string | yes | — |
description | string | no | — |
price | number | yes | — |
currency | string | no | — |
features | object[] | yes | — |
maxMembers | integer | no | — |
maxStorage | integer | no | — |
| Field | Type | Required | Description |
|---|
question | string | yes | — |
options | string[] | yes | — |
endDate | string (date-time) | yes | — |
allowMultipleVotes | boolean | no | — |
| Field | Type | Required | Description |
|---|
templateId | string (uuid) | yes | — |
headingId | string (uuid) | yes | — |
frequency | RecurringFrequency | yes | — |
interval | integer | no | — |
dayOfWeek | integer | no | — |
dayOfMonth | integer | no | — |
customizations | object | no | — |
| Field | Type | Required | Description |
|---|
taskId | string (uuid) | yes | — |
frequency | RecurringFrequency | yes | — |
interval | integer | no | — |
dayOfWeek | integer | no | — |
dayOfMonth | integer | no | — |
| Field | Type | Required | Description |
|---|
tenantId | string (uuid) | yes | — |
planId | string (uuid) | yes | — |
paymentId | string | no | Payment transaction ID |
| Field | Type | Required | Description |
|---|
name | string | yes | — |
icon | string | yes | — |
description | string | no | — |
primaryColor | string | no | — |
secondaryColor | string | no | — |
| Field | Type | Required | Description |
|---|
headingId | string (uuid) | yes | — |
title | string | yes | — |
description | string | no | — |
dueDate | string (date-time) | no | — |
priority | TaskPriority | no | — |
points | integer | no | — |
estimatedMinutes | integer | no | — |
attachments | object[] | no | — |
tags | string[] | no | — |
| Field | Type | Required | Description |
|---|
name | string | yes | — |
icon | string | yes | — |
description | string | no | — |
primaryColor | string | no | — |
secondaryColor | string | no | — |
visibilityType | SectionVisibilityType | no | — |
memberIds | string (uuid)[] | no | For SPECIFIC_MEMBERS visibility |
| Field | Type | Required | Description |
|---|
taskId | string (uuid) | yes | — |
name | string | yes | — |
description | string | no | — |
category | string | no | — |
| Field | Type | Required | Description |
|---|
name | string | yes | — |
description | string | no | — |
category | string | no | — |
taskId | string (uuid) | no | Task to create template from |
| Field | Type | Required | Description |
|---|
content | string | yes | — |
groupId | string (uuid) | no | Optional group to post in |
type | TweetType | no | — |
media | string (binary)[] | no | Media files (images, videos, documents) |
poll | CreatePollRequest | no | — |
| Field | Type | Required | Description |
|---|
name | string | yes | — |
url | string (uri) | yes | — |
events | string[] | yes | — |
headers | object | no | — |
| Field | Type | Required | Description |
|---|
token | string | yes | — |
| Field | Type | Required | Description |
|---|
error | string | no | — |
message | string | no | — |
details | object | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
errorType | string | no | — |
errorCode | string | no | — |
message | string | no | Truncated to 1000 chars |
stackTrace | string | no | Truncated to 8192 chars |
statusCode | integer | no | — |
method | string | no | — |
path | string | no | — |
userId | string (uuid) | no | — |
tenantId | string | no | — |
communityId | string | no | — |
ipAddress | string | no | — |
userAgent | string | no | — |
requestBody | object | no | Sanitized request body |
isOperational | boolean | no | true = expected error, false = unexpected/bug |
fingerprint | string | no | MD5 hash for error grouping |
instanceId | string | no | — |
resolved | boolean | no | — |
resolvedBy | string | no | — |
resolvedAt | string (date-time) | no | — |
notes | string | no | Max 2000 chars |
createdAt | string (date-time) | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
communityId | string (uuid) | no | — |
title | string | no | — |
titleArabic | string | no | — |
description | string | no | — |
startDate | string (date-time) | no | — |
endDate | string (date-time) | no | — |
isOnline | boolean | no | — |
location | string | no | — |
meetingUrl | string | no | — |
capacity | integer | no | — |
fee | number | no | — |
hasCertificate | boolean | no | — |
allowGuests | boolean | no | — |
allowComments | boolean | no | — |
coverImage | string | no | — |
status | EventStatus | no | — |
attendeeCount | integer | no | — |
interestedCount | integer | no | — |
createdBy | string (uuid) | no | — |
createdAt | string (date-time) | no | — |
userAttendance | AttendanceStatus | no | — |
isInterested | boolean | no | — |
Event status (حالة الفعالية)
Type: enum: DRAFT, PUBLISHED, CANCELLED, COMPLETED
Event type (نوع الفعالية)
Type: enum: ONLINE, IN_PERSON, HYBRID
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
communityId | string (uuid) | no | — |
name | string | no | — |
nameArabic | string | no | — |
description | string | no | — |
descriptionArabic | string | no | — |
type | enum: PRIVATE, PUBLIC | no | — |
memberCount | integer | no | -1 for unlimited, positive number for limit |
currentMemberCount | integer | no | — |
canChat | boolean | no | — |
email | string (email) | no | — |
website | string (uri) | no | — |
icon | string | no | — |
coverImage | string | no | — |
createdAt | string (date-time) | no | — |
updatedAt | string (date-time) | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
groupId | string (uuid) | no | — |
senderId | string (uuid) | no | — |
content | string | no | — |
type | enum: TEXT, IMAGE, FILE, SYSTEM | no | — |
mediaUrl | string | no | — |
isEdited | boolean | no | — |
editedAt | string (date-time) | no | — |
createdAt | string (date-time) | no | — |
sender | User | no | — |
reactions | MessageReaction[] | no | — |
readBy | string (uuid)[] | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
sectionId | string (uuid) | no | — |
headingId | string (uuid) | no | — |
taskId | string (uuid) | no | — |
assigneeType | AssigneeType | no | — |
assigneeId | string (uuid) | no | — |
assigneeRole | enum: ADMIN, MODERATOR, MEMBER | no | — |
assigneeName | string | no | — |
assigneeEmail | string (email) | no | — |
assigneeDepartment | string | no | — |
createdBy | string (uuid) | no | — |
createdAt | string (date-time) | no | — |
source | enum: section, heading, task | no | — |
sourceName | string | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
communityId | string (uuid) | no | — |
code | string | no | — |
maxUses | integer | no | — |
usedCount | integer | no | — |
expiresAt | string (date-time) | no | — |
isActive | boolean | no | — |
createdBy | string (uuid) | no | — |
createdAt | string (date-time) | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
email | string (email) | no | — |
communityId | string (uuid) | no | — |
status | JoinRequestStatus | no | — |
firstName | string | no | — |
familyName | string | no | — |
message | string | no | — |
rejectionReason | string | no | — |
processedBy | string (uuid) | no | — |
createdAt | string (date-time) | no | — |
processedAt | string (date-time) | no | — |
Join request status (حالة طلب الانضمام)
Type: enum: PENDING, APPROVED, REJECTED, CANCELLED
| Field | Type | Required | Description |
|---|
userId | string (uuid) | no | — |
userName | string | no | — |
userAvatar | string | no | — |
userDepartment | string | no | — |
tasksCompleted | integer | no | — |
totalAssigned | integer | no | — |
pointsEarned | integer | no | — |
totalPossiblePoints | integer | no | — |
completionRate | number (float) | no | — |
avgDaysToComplete | number (float) | no | — |
rank | integer | no | — |
| Field | Type | Required | Description |
|---|
totalRequests | integer | no | — |
errorCount | integer | no | — |
errorRate | string | no | — |
avgDuration | integer | no | Average request duration in ms |
statusDistribution | object[] | no | — |
unresolvedErrors | integer | no | — |
operationalCount | integer | no | — |
unexpectedCount | integer | no | — |
| Field | Type | Required | Description |
|---|
email | string (email) | yes | — |
password | string | yes | — |
| Field | Type | Required | Description |
|---|
token | string | no | — |
user | User | no | — |
tenant | Tenant | no | — |
Member role in community (دور العضو)
Type: enum: ADMIN, MODERATOR, MEMBER
| Field | Type | Required | Description |
|---|
totalAssigned | integer | no | — |
completed | integer | no | — |
pending | integer | no | — |
inProgress | integer | no | — |
overdue | integer | no | — |
pointsEarned | integer | no | — |
completionRate | number (float) | no | — |
averageCompletionTime | number (float) | no | — |
recentActivity | object[] | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
emoji | string | no | — |
userId | string (uuid) | no | — |
createdAt | string (date-time) | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
userId | string (uuid) | no | — |
type | string | no | — |
title | string | no | — |
titleArabic | string | no | — |
message | string | no | — |
messageArabic | string | no | — |
data | object | no | — |
isRead | boolean | no | — |
createdAt | string (date-time) | no | — |
| Field | Type | Required | Description |
|---|
page | integer | no | — |
limit | integer | no | — |
total | integer | no | — |
pages | integer | no | — |
| Field | Type | Required | Description |
|---|
userId | string (uuid) | yes | — |
password | string | yes | — |
| Field | Type | Required | Description |
|---|
userId | string (uuid) | yes | — |
tenantId | string (uuid) | yes | — |
paymentId | string | yes | — |
paymentStatus | enum: success, failed, pending | yes | — |
amount | number | yes | — |
currency | string | yes | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
name | string | no | — |
nameArabic | string | no | — |
description | string | no | — |
price | number | no | — |
interval | enum: MONTHLY, YEARLY | no | — |
features | string[] | no | — |
maxMembers | integer | no | — |
maxStorage | integer | no | — |
isActive | boolean | no | — |
User permission flags
| Field | Type | Required | Description |
|---|
users:manage | boolean | no | — |
users:moderate | boolean | no | — |
posts:manage | boolean | no | — |
posts:create | boolean | no | — |
posts:moderate | boolean | no | — |
groups:manage | boolean | no | — |
groups:create | boolean | no | — |
groups:moderate | boolean | no | — |
blogs:manage | boolean | no | — |
blogs:create | boolean | no | — |
blogs:moderate | boolean | no | — |
albums:manage | boolean | no | — |
albums:create | boolean | no | — |
albums:moderate | boolean | no | — |
calendar:manage | boolean | no | — |
calendar:create | boolean | no | — |
calendar:moderate | boolean | no | — |
notifications:manage | boolean | no | — |
ads:manage | boolean | no | — |
settings:manage | boolean | no | — |
homepage:customize | boolean | no | — |
tasks:manage | boolean | no | — |
consultants:manage | boolean | no | — |
projects:manage | boolean | no | — |
projects:create | boolean | no | — |
projects:moderate | boolean | no | — |
projects:edit | boolean | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
name | string | no | — |
nameArabic | string | no | — |
description | string | no | — |
price | number | no | — |
currency | string | no | — |
features | object[] | no | — |
maxMembers | integer | no | — |
maxStorage | integer | no | — |
createdAt | string (date-time) | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
tweetId | string (uuid) | no | — |
question | string | no | — |
endDate | string (date-time) | no | — |
allowMultipleVotes | boolean | no | — |
totalVotes | integer | no | — |
options | PollOption[] | no | — |
hasVoted | boolean | no | — |
userVotes | string (uuid)[] | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
text | string | no | — |
voteCount | integer | no | — |
percentage | number | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
communityId | string (uuid) | no | — |
name | string | no | — |
nameArabic | string | no | — |
description | string | no | — |
startDate | string (date-time) | no | — |
endDate | string (date-time) | no | — |
status | ProjectStatus | no | — |
initialPrice | number | no | — |
finalPrice | number | no | — |
marketValue | number | no | — |
projectLink | string | no | — |
logo | string | no | — |
banner | string | no | — |
products | object[] | no | — |
createdBy | string (uuid) | no | — |
createdAt | string (date-time) | no | — |
types | ProjectType[] | no | — |
Project status (حالة المشروع)
Type: enum: PLANNING, IN_PROGRESS, ON_HOLD, COMPLETED, CANCELLED
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
name | string | no | — |
nameArabic | string | no | — |
color | string | no | — |
Recurring task frequency
Type: enum: DAILY, WEEKLY, MONTHLY
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
taskId | string (uuid) | no | — |
frequency | RecurringFrequency | no | — |
interval | integer | no | — |
dayOfWeek | integer | no | 0=Sunday, 6=Saturday |
dayOfMonth | integer | no | — |
nextRunDate | string (date-time) | no | — |
isActive | boolean | no | — |
createdAt | string (date-time) | no | — |
| Field | Type | Required | Description |
|---|
firstName | string | yes | — |
middleName | string | no | — |
grandfatherName | string | no | — |
familyName | string | yes | — |
email | string (email) | yes | — |
phone | string | no | — |
country | string | yes | — |
planId | string (uuid) | yes | — |
communityName | string | yes | — |
communityNameArabic | string | yes | — |
| Field | Type | Required | Description |
|---|
headingIds | string (uuid)[] | yes | — |
| Field | Type | Required | Description |
|---|
sectionIds | string (uuid)[] | yes | — |
| Field | Type | Required | Description |
|---|
taskIds | string (uuid)[] | yes | — |
| Field | Type | Required | Description |
|---|
message | string | yes | — |
| Field | Type | Required | Description |
|---|
notes | string | no | Optional resolution notes |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
memberId | string (uuid) | no | — |
type | RestrictionType | no | — |
reason | string | no | — |
blockedFeatures | string[] | no | — |
duration | integer | no | Duration in minutes |
expiresAt | string (date-time) | no | — |
isActive | boolean | no | — |
appliedBy | string (uuid) | no | — |
revokedBy | string (uuid) | no | — |
revokeReason | string | no | — |
createdAt | string (date-time) | no | — |
Type of restriction (نوع القيد)
Type: enum: MUTE, RESTRICT, SUSPEND, FEATURE_BLOCK
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
name | string | no | — |
icon | string | no | — |
primaryColor | string | no | — |
totalTasks | integer | no | — |
completedTasks | integer | no | — |
avgCompletionRate | number (float) | no | — |
topPerformer | object | no | — |
Section visibility configuration
Type: enum: ALL_MEMBERS, SPECIFIC_MEMBERS
| Field | Type | Required | Description |
|---|
content | string | yes | — |
type | enum: TEXT, IMAGE, FILE | no | — |
media | string (binary) | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
method | string | no | — |
path | string | no | — |
statusCode | integer | no | — |
duration | integer | no | Request duration in ms |
userId | string (uuid) | no | — |
tenantId | string | no | — |
communityId | string | no | — |
ipAddress | string | no | — |
userAgent | string | no | — |
requestBody | object | no | Sanitized request body (sensitive fields redacted) |
responseSize | integer | no | — |
instanceId | string | no | PM2/cluster instance ID |
createdAt | string (date-time) | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
communityId | string (uuid) | no | — |
planId | string (uuid) | no | — |
plan | Plan | no | — |
status | enum: PENDING, TRIAL, ACTIVE, CANCELLED, EXPIRED | no | — |
currentPeriodStart | string (date-time) | no | — |
currentPeriodEnd | string (date-time) | no | — |
cancelAtPeriodEnd | boolean | no | — |
tenantId | string (uuid) | no | — |
startDate | string (date-time) | no | — |
endDate | string (date-time) | no | — |
tenant | object | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
headingId | string (uuid) | no | — |
title | string | no | — |
description | string | no | — |
dueDate | string (date-time) | no | — |
priority | TaskPriority | no | — |
status | TaskStatus | no | — |
points | integer | no | — |
estimatedMinutes | integer | no | — |
attachments | object[] | no | — |
tags | string[] | no | — |
sortOrder | integer | no | — |
isActive | boolean | no | — |
createdBy | string (uuid) | no | — |
createdAt | string (date-time) | no | — |
updatedAt | string (date-time) | no | — |
completedAt | string (date-time) | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
taskId | string (uuid) | no | — |
assigneeType | AssigneeType | no | — |
assigneeId | string (uuid) | no | — |
assigneeRole | enum: ADMIN, MODERATOR, MEMBER | no | — |
status | TaskStatus | no | — |
completedAt | string (date-time) | no | — |
actualMinutes | integer | no | — |
helpRequested | boolean | no | — |
helpMessage | string | no | — |
helpRequestedAt | string (date-time) | no | — |
helpResolvedAt | string (date-time) | no | — |
helpResolvedBy | string (uuid) | no | — |
createdAt | string (date-time) | no | — |
Type: object
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
taskId | string (uuid) | no | The dependent task (blocked) |
dependsOnTaskId | string (uuid) | no | The prerequisite task |
createdAt | string (date-time) | no | — |
Type: object
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
sectionId | string (uuid) | no | — |
name | string | no | — |
icon | string | no | — |
description | string | no | — |
primaryColor | string | no | — |
secondaryColor | string | no | — |
isActive | boolean | no | — |
sortOrder | integer | no | — |
createdAt | string (date-time) | no | — |
updatedAt | string (date-time) | no | — |
Type: object
| Field | Type | Required | Description |
|---|
totalTasks | integer | no | — |
completedTasks | integer | no | — |
pendingTasks | integer | no | — |
inProgressTasks | integer | no | — |
overdueTasks | integer | no | — |
completionRate | number (float) | no | — |
totalPoints | integer | no | — |
averageCompletionTime | number (float) | no | — |
tasksByPriority | object | no | — |
tasksByStatus | object | no | — |
topSections | object[] | no | — |
Task priority level (أولوية المهمة)
Type: enum: HIGH, MEDIUM, LOW
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
communityId | string (uuid) | no | — |
name | string | no | — |
icon | string | no | — |
description | string | no | — |
primaryColor | string | no | — |
secondaryColor | string | no | — |
isActive | boolean | no | — |
sortOrder | integer | no | — |
visibilityType | SectionVisibilityType | no | — |
createdBy | string (uuid) | no | — |
createdAt | string (date-time) | no | — |
updatedAt | string (date-time) | no | — |
Type: object
Task status (حالة المهمة)
Type: enum: PENDING, IN_PROGRESS, COMPLETED, OVERDUE
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
communityId | string (uuid) | no | — |
name | string | no | — |
description | string | no | — |
templateData | object | no | Task data to apply when using template |
category | string | no | — |
createdBy | string (uuid) | no | — |
createdAt | string (date-time) | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
communityId | string (uuid) | no | — |
name | string | no | — |
url | string (uri) | no | — |
events | string[] | no | — |
headers | object | no | — |
isActive | boolean | no | — |
createdAt | string (date-time) | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
name | string | no | — |
nameArabic | string | no | — |
slug | string | no | — |
schema | string | no | — |
status | enum: ACTIVE, SUSPENDED, CANCELLED, TRIAL | no | — |
| Field | Type | Required | Description |
|---|
fingerprint | string | no | — |
errorType | string | no | — |
message | string | no | — |
path | string | no | — |
count | integer | no | — |
lastSeen | string (date-time) | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
communityId | string (uuid) | no | — |
groupId | string (uuid) | no | — |
authorId | string (uuid) | no | — |
content | string | no | — |
type | TweetType | no | — |
mediaUrl | string | no | — |
mediaUrls | string[] | no | — |
isPinned | boolean | no | — |
isEdited | boolean | no | — |
editedAt | string (date-time) | no | — |
likeCount | integer | no | — |
commentCount | integer | no | — |
createdAt | string (date-time) | no | — |
updatedAt | string (date-time) | no | — |
author | User | no | — |
isLiked | boolean | no | Whether current user liked this tweet |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
type | enum: IMAGE, VIDEO, DOCUMENT | no | — |
url | string | no | — |
filename | string | no | — |
mimeType | string | no | — |
size | integer | no | — |
Type of tweet content (نوع المنشور)
Type: enum: TEXT, IMAGE, VIDEO, DOCUMENT, POLL
Type: object
| Field | Type | Required | Description |
|---|
appKey | string | no | — |
accessEnded | boolean | no | THE FIELD THAT MATTERS. False means the community can still use the app because their plan (or a platform override) grants it independently of the installation. Read this before telling a user anything about what just happened. |
stillEntitledVia | enum: plan, override | no | — |
message | string | no | English. The frontends own translation. |
dataFootprint | AppDataFootprint | no | — |
| Field | Type | Required | Description |
|---|
status | TaskStatus | yes | — |
actualMinutes | integer | no | — |
| Field | Type | Required | Description |
|---|
title | string | no | — |
description | string | no | — |
dueDate | string (date-time) | no | — |
priority | TaskPriority | no | — |
status | TaskStatus | no | — |
points | integer | no | — |
estimatedMinutes | integer | no | — |
attachments | object[] | no | — |
tags | string[] | no | — |
isActive | boolean | no | — |
| Field | Type | Required | Description |
|---|
name | string | no | — |
icon | string | no | — |
description | string | no | — |
primaryColor | string | no | — |
secondaryColor | string | no | — |
isActive | boolean | no | — |
visibilityType | SectionVisibilityType | no | — |
memberIds | string (uuid)[] | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
email | string (email) | no | — |
name | string | no | — |
nameArabic | string | no | — |
phone | string | no | — |
avatar | string | no | — |
verified | boolean | no | — |
isActive | boolean | no | — |
createdAt | string (date-time) | no | — |
lastActive | string (date-time) | no | — |
One delivery ATTEMPT. A retried event produces several rows sharing a messageId.
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
endpointId | string (uuid) | no | — |
event | string | no | — |
messageId | string | no | Stable across retries of the same event — use it to deduplicate on your side. |
attempt | integer | no | — |
status | enum: PENDING, SUCCESS, FAILED | no | — |
responseStatus | integer | no | — |
responseBody | string | no | Your own server's response |
errorMessage | string | no | — |
durationMs | integer | no | — |
createdAt | string (date-time) | no | — |
A subscribed delivery target. The signing secret is NEVER present on this shape — it is returned exactly once, by create and rotate-secret.
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
communityId | string (uuid) | no | — |
url | string (uri) | no | — |
description | string | no | — |
events | string[] | no | Event names from the catalog. See GET /api/communities/communityId/webhooks for the list your plan exposes. |
isActive | boolean | no | — |
consecutiveFailures | integer | no | Reset to 0 by any successful delivery. When it crosses the threshold the endpoint is auto-disabled. |
disabledAt | string (date-time) | no | — |
disabledReason | string | no | Why the platform disabled this endpoint. Non-null means deliveries have stopped and a human must re-enable it. |
createdAt | string (date-time) | no | — |
updatedAt | string (date-time) | no | — |
| Field | Type | Required | Description |
|---|
id | string (uuid) | no | — |
communityId | string (uuid) | no | — |
type | enum: EVENTS, BLOGS, MEMBERS, PROJECTS | no | — |
title | string | no | — |
titleArabic | string | no | — |
config | object | no | — |
isActive | boolean | no | — |
embedCode | string | no | — |
createdAt | string (date-time) | no | — |
| Field | Type | Required | Description |
|---|
views | integer | no | — |
clicks | integer | no | — |
uniqueVisitors | integer | no | — |
period | string | no | — |