> For the complete documentation index, see [llms.txt](https://docs.mulearn.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mulearn.org/api-reference/models.md).

# Models

## The Achievement object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"Achievement":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"icon_url":{"type":"string","readOnly":true},"has_achievement":{"type":"string","readOnly":true},"name":{"type":"string","maxLength":75},"description":{"type":"string","maxLength":300},"icon":{"type":"string","maxLength":100},"has_vc":{"type":"boolean"},"tags":{},"type":{"type":"string","maxLength":36},"template_id":{"type":"string","nullable":true,"maxLength":100},"updated_at":{"type":"string","format":"date-time","readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"level_id":{"type":"string","nullable":true},"updated_by":{"type":"string"},"created_by":{"type":"string"}},"required":["created_at","created_by","description","has_achievement","has_vc","icon_url","name","tags","type","updated_at","updated_by"]}}}}
```

## The AchievementAuditLogItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"AchievementAuditLogItem":{"type":"object","properties":{"id":{"type":"string"},"achievement_id":{"type":"string"},"achievement_name":{"type":"string"},"action":{"type":"string","description":"e.g. ISSUED, REVOKED"},"rule_version":{"type":"integer","nullable":true},"metadata":{"type":"object","additionalProperties":{},"nullable":true},"performed_by":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time","nullable":true}},"required":["achievement_id","achievement_name","action","created_at","id","metadata","performed_by","rule_version"]}}}}
```

## The AchievementAuditLogResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"AchievementAuditLogResponse":{"type":"object","properties":{"hasError":{"type":"boolean","default":false},"statusCode":{"type":"integer","default":200},"message":{"type":"object","additionalProperties":{},"default":{}},"response":{"type":"array","items":{"$ref":"#/components/schemas/AchievementAuditLogItem"},"description":"Last 100 audit log entries for the given user's achievements"}},"required":["response"]},"AchievementAuditLogItem":{"type":"object","properties":{"id":{"type":"string"},"achievement_id":{"type":"string"},"achievement_name":{"type":"string"},"action":{"type":"string","description":"e.g. ISSUED, REVOKED"},"rule_version":{"type":"integer","nullable":true},"metadata":{"type":"object","additionalProperties":{},"nullable":true},"performed_by":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time","nullable":true}},"required":["achievement_id","achievement_name","action","created_at","id","metadata","performed_by","rule_version"]}}}}
```

## The AchievementBasic object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"AchievementBasic":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"achievement_name":{"type":"string"},"description":{"type":"string","maxLength":300},"icon":{"type":"string","maxLength":100},"icon_url":{"type":"string","readOnly":true},"level_id":{"type":"string","nullable":true},"tags":{},"template_id":{"type":"string","nullable":true,"maxLength":100}},"required":["achievement_name","description","icon_url","tags"]}}}}
```

## The AchievementProgressItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"AchievementProgressItem":{"type":"object","properties":{"achievement_id":{"type":"string"},"achievement_name":{"type":"string"},"eligible":{"type":"boolean"},"claimed":{"type":"boolean"},"reason":{"type":"string","nullable":true},"progress":{"type":"object","additionalProperties":{},"description":"Rule-engine progress data (e.g. current vs. required counts)"}},"required":["achievement_id","achievement_name","claimed","eligible","progress","reason"]}}}}
```

## The AchievementSimulateItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"AchievementSimulateItem":{"type":"object","properties":{"achievement_id":{"type":"string"},"achievement_name":{"type":"string"},"eligible":{"type":"boolean"},"claimed":{"type":"boolean"},"reason":{"type":"string","nullable":true},"progress":{"type":"object","additionalProperties":{},"description":"Rule-engine progress data for the target user"}},"required":["achievement_id","achievement_name","claimed","eligible","progress","reason"]}}}}
```

## The AchievementSimulateRulesResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"AchievementSimulateRulesResponse":{"type":"object","properties":{"hasError":{"type":"boolean","default":false},"statusCode":{"type":"integer","default":200},"message":{"type":"object","additionalProperties":{},"default":{}},"response":{"type":"array","items":{"$ref":"#/components/schemas/AchievementSimulateItem"},"description":"Simulated rule evaluation results for the given user (by muid)"}},"required":["response"]},"AchievementSimulateItem":{"type":"object","properties":{"achievement_id":{"type":"string"},"achievement_name":{"type":"string"},"eligible":{"type":"boolean"},"claimed":{"type":"boolean"},"reason":{"type":"string","nullable":true},"progress":{"type":"object","additionalProperties":{},"description":"Rule-engine progress data for the target user"}},"required":["achievement_id","achievement_name","claimed","eligible","progress","reason"]}}}}
```

## The AchievementUserProgressResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"AchievementUserProgressResponse":{"type":"object","properties":{"hasError":{"type":"boolean","default":false},"statusCode":{"type":"integer","default":200},"message":{"type":"object","additionalProperties":{},"default":{}},"response":{"type":"array","items":{"$ref":"#/components/schemas/AchievementProgressItem"},"description":"Progress towards every achievement for the current user"}},"required":["response"]},"AchievementProgressItem":{"type":"object","properties":{"achievement_id":{"type":"string"},"achievement_name":{"type":"string"},"eligible":{"type":"boolean"},"claimed":{"type":"boolean"},"reason":{"type":"string","nullable":true},"progress":{"type":"object","additionalProperties":{},"description":"Rule-engine progress data (e.g. current vs. required counts)"}},"required":["achievement_id","achievement_name","claimed","eligible","progress","reason"]}}}}
```

## The AddMember object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"AddMember":{"type":"object","description":"Accepts exactly one identity: muid, user_id, or external_name.","properties":{"muid":{"type":"string"},"user_id":{"type":"string"},"external_name":{"type":"string","maxLength":100},"role":{"type":"string","nullable":true,"maxLength":50}}}}}}
```

## The AffiliationList object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"AffiliationList":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"title":{"type":"string","maxLength":75},"organization_count":{"type":"string","readOnly":true},"created_by":{"type":"string"},"updated_by":{"type":"string"},"updated_at":{"type":"string","format":"date-time","readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true}},"required":["created_at","created_by","organization_count","title","updated_at","updated_by"]}}}}
```

## The ApplicationTracking object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ApplicationTracking":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"job":{"type":"string","readOnly":true},"applicant_name":{"type":"string","readOnly":true},"applicant_email":{"type":"string","readOnly":true},"resume_link":{"type":"string","readOnly":true,"nullable":true},"cover_letter":{"type":"string","readOnly":true,"nullable":true},"status":{"type":"string","maxLength":20},"rejection_reason":{"type":"string","nullable":true},"applied_at":{"type":"string","format":"date-time","readOnly":true}},"required":["applicant_email","applicant_name","applied_at","cover_letter","id","job","resume_link"]}}}}
```

## The AreaOfInterestAPI object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"AreaOfInterestAPI":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"name":{"type":"string","maxLength":75}},"required":["name"]}}}}
```

## The AuthAppleTokenResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"AuthAppleTokenResponse":{"type":"object","properties":{"hasError":{"type":"boolean","default":false},"statusCode":{"type":"integer","default":200},"message":{"type":"object","additionalProperties":{},"default":{}},"response":{"type":"object","additionalProperties":{},"description":"Upstream auth payload (access_token, refresh_token, user info, etc.)"}},"required":["response"]}}}}
```

## The AuthRefreshTokenResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"AuthRefreshTokenResponse":{"type":"object","properties":{"hasError":{"type":"boolean","default":false},"statusCode":{"type":"integer","default":200},"message":{"type":"object","additionalProperties":{},"default":{}},"response":{"type":"object","additionalProperties":{},"description":"Upstream token payload (new access_token, refresh_token, expiry, etc.)"}},"required":["response"]}}}}
```

## The AuthTokenResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"AuthTokenResponse":{"type":"object","properties":{"hasError":{"type":"boolean","default":false},"statusCode":{"type":"integer","default":200},"message":{"type":"object","additionalProperties":{},"default":{}},"response":{"type":"object","additionalProperties":{},"description":"Upstream auth payload (access_token, refresh_token, user info, etc.)"}},"required":["response"]}}}}
```

## The AuthUserAuthResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"AuthUserAuthResponse":{"type":"object","properties":{"hasError":{"type":"boolean","default":false},"statusCode":{"type":"integer","default":200},"message":{"type":"object","additionalProperties":{},"default":{}},"response":{"type":"object","additionalProperties":{},"description":"Upstream auth payload (access_token, refresh_token, user info, etc.)"}},"required":["response"]}}}}
```

## The AvailabilitySlot object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"AvailabilitySlot":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"mentor_user_id":{"type":"string","readOnly":true},"ig_id":{"type":"string","nullable":true,"readOnly":true},"ig_name":{"type":"string","readOnly":true},"weekday":{"type":"integer","maximum":32767,"minimum":-32768},"start_time":{"type":"string","format":"time"},"end_time":{"type":"string","format":"time"},"timezone":{"type":"string","maxLength":64},"is_active":{"type":"boolean"},"valid_from":{"type":"string","format":"date","nullable":true},"valid_to":{"type":"string","format":"date","nullable":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"updated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["created_at","end_time","ig_id","ig_name","mentor_user_id","start_time","updated_at","weekday"]}}}}
```

## The AvailabilitySlotCreateUpdate object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"AvailabilitySlotCreateUpdate":{"type":"object","properties":{"ig":{"type":"string","nullable":true},"weekday":{"type":"integer","maximum":32767,"minimum":-32768},"start_time":{"type":"string","format":"time"},"end_time":{"type":"string","format":"time"},"timezone":{"type":"string","maxLength":64},"is_active":{"type":"boolean"},"valid_from":{"type":"string","format":"date","nullable":true},"valid_to":{"type":"string","format":"date","nullable":true}},"required":["end_time","start_time","weekday"]}}}}
```

## The BankTransfer object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"BankTransfer":{"type":"object","description":"Serializer for bank transfer donation requests (amount >= 5L)","properties":{"amount":{"type":"string","format":"decimal","pattern":"^-?\\d{0,10}(?:\\.\\d{0,2})?$"},"name":{"type":"string","maxLength":255},"donation_name":{"type":"string","maxLength":100},"email":{"type":"string","format":"email"},"phone_number":{"type":"string","maxLength":20},"pan_number":{"type":"string","maxLength":10},"address":{"type":"string"},"company":{"type":"string","maxLength":255},"donation_type":{"enum":["one-time","monthly","yearly"],"type":"string","description":"* `one-time` - one-time\n* `monthly` - monthly\n* `yearly` - yearly","default":"one-time"},"is_organisation":{"type":"boolean","default":false},"proof_url":{"type":"string","format":"uri","maxLength":2000},"reference_code":{"type":"string","maxLength":50}},"required":["amount","email","name","reference_code"]}}}}
```

## The BroadcastNotification object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"BroadcastNotification":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"title":{"type":"string","maxLength":50},"description":{"type":"string","maxLength":200},"url":{"type":"string","nullable":true,"maxLength":100},"target_type":{"type":"string","maxLength":30},"target_id":{"type":"string","nullable":true,"maxLength":36},"created_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"}},"required":["created_at","created_by","description","expires_at","id","target_type","title"]}}}}
```

## The BroadcastNotificationAdmin object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"BroadcastNotificationAdmin":{"type":"object","description":"Extended serializer for admin CRUD on BroadcastNotification.\nAdds a `target_details` field that resolves the human-readable name of\nthe target entity from target_type + target_id.","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"title":{"type":"string","maxLength":50},"description":{"type":"string","maxLength":200},"url":{"type":"string","nullable":true,"maxLength":100},"target_type":{"type":"string","maxLength":30},"target_id":{"type":"string","nullable":true,"maxLength":36},"target_details":{"type":"string","readOnly":true},"created_by":{"type":"string","readOnly":true},"created_by_name":{"type":"string","readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"expires_at":{"type":"string","format":"date-time"}},"required":["created_at","created_by","created_by_name","description","expires_at","id","target_details","target_type","title"]}}}}
```

## The CampusCircleHealthData object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CampusCircleHealthData":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CampusCircleHealthItem"}}},"required":["data"]},"CampusCircleHealthItem":{"type":"object","properties":{"circle_id":{"type":"string"},"circle_name":{"type":"string"},"ig_id":{"type":"string"},"ig_name":{"type":"string","nullable":true},"member_count":{"type":"integer"},"sessions_per_month":{"type":"integer"},"last_session_at":{"type":"string","nullable":true},"status":{"type":"string"}},"required":["circle_id","circle_name","ig_id","ig_name","last_session_at","member_count","sessions_per_month","status"]}}}}
```

## The CampusCircleHealthItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CampusCircleHealthItem":{"type":"object","properties":{"circle_id":{"type":"string"},"circle_name":{"type":"string"},"ig_id":{"type":"string"},"ig_name":{"type":"string","nullable":true},"member_count":{"type":"integer"},"sessions_per_month":{"type":"integer"},"last_session_at":{"type":"string","nullable":true},"status":{"type":"string"}},"required":["circle_id","circle_name","ig_id","ig_name","last_session_at","member_count","sessions_per_month","status"]}}}}
```

## The CampusCircleHealthResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CampusCircleHealthResponse":{"type":"object","properties":{"hasError":{"type":"boolean"},"statusCode":{"type":"integer"},"message":{"type":"object","additionalProperties":{}},"response":{"$ref":"#/components/schemas/CampusCircleHealthData"}},"required":["hasError","message","response","statusCode"]},"CampusCircleHealthData":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CampusCircleHealthItem"}}},"required":["data"]},"CampusCircleHealthItem":{"type":"object","properties":{"circle_id":{"type":"string"},"circle_name":{"type":"string"},"ig_id":{"type":"string"},"ig_name":{"type":"string","nullable":true},"member_count":{"type":"integer"},"sessions_per_month":{"type":"integer"},"last_session_at":{"type":"string","nullable":true},"status":{"type":"string"}},"required":["circle_id","circle_name","ig_id","ig_name","last_session_at","member_count","sessions_per_month","status"]}}}}
```

## The CampusDashboardCircleHealth object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CampusDashboardCircleHealth":{"type":"object","properties":{"circle_id":{"type":"string"},"circle_name":{"type":"string"},"ig_id":{"type":"string"},"ig_name":{"type":"string","nullable":true},"member_count":{"type":"integer"},"sessions_per_month":{"type":"integer"},"last_session_at":{"type":"string","nullable":true},"status":{"type":"string"}},"required":["circle_id","circle_name","ig_id","ig_name","last_session_at","member_count","sessions_per_month","status"]}}}}
```

## The CampusDashboardFunnelStage object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CampusDashboardFunnelStage":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"count":{"type":"integer"},"percentage":{"type":"number","format":"double"}},"required":["count","key","label","percentage"]}}}}
```

## The CampusDashboardMemberFunnel object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CampusDashboardMemberFunnel":{"type":"object","properties":{"max":{"type":"integer"},"stages":{"type":"array","items":{"$ref":"#/components/schemas/CampusDashboardFunnelStage"}}},"required":["max","stages"]},"CampusDashboardFunnelStage":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"count":{"type":"integer"},"percentage":{"type":"number","format":"double"}},"required":["count","key","label","percentage"]}}}}
```

## The CampusDashboardRecentActivity object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CampusDashboardRecentActivity":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"created_at":{"type":"string","nullable":true},"actor":{"type":"object","additionalProperties":{}},"metadata":{"type":"object","additionalProperties":{}}},"required":["actor","created_at","description","id","metadata","title","type"]}}}}
```

## The CampusDashboardStatCard object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CampusDashboardStatCard":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"value":{"type":"integer","nullable":true},"delta":{"type":"integer"},"delta_type":{"type":"string"},"period":{"type":"string"}},"required":["delta","delta_type","key","label","period","value"]}}}}
```

## The CampusDashboardSummaryCampus object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CampusDashboardSummaryCampus":{"type":"object","properties":{"org_id":{"type":"string"},"college_name":{"type":"string"},"campus_code":{"type":"string"},"campus_zone":{"type":"string","nullable":true}},"required":["campus_code","campus_zone","college_name","org_id"]}}}}
```

## The CampusDashboardSummaryData object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CampusDashboardSummaryData":{"type":"object","properties":{"campus":{"$ref":"#/components/schemas/CampusDashboardSummaryCampus"},"stat_cards":{"type":"array","items":{"$ref":"#/components/schemas/CampusDashboardStatCard"}},"member_funnel":{"$ref":"#/components/schemas/CampusDashboardMemberFunnel"},"circle_health":{"type":"array","items":{"$ref":"#/components/schemas/CampusDashboardCircleHealth"}},"recent_activity":{"type":"array","items":{"$ref":"#/components/schemas/CampusDashboardRecentActivity"}}},"required":["campus","circle_health","member_funnel","recent_activity","stat_cards"]},"CampusDashboardSummaryCampus":{"type":"object","properties":{"org_id":{"type":"string"},"college_name":{"type":"string"},"campus_code":{"type":"string"},"campus_zone":{"type":"string","nullable":true}},"required":["campus_code","campus_zone","college_name","org_id"]},"CampusDashboardStatCard":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"value":{"type":"integer","nullable":true},"delta":{"type":"integer"},"delta_type":{"type":"string"},"period":{"type":"string"}},"required":["delta","delta_type","key","label","period","value"]},"CampusDashboardMemberFunnel":{"type":"object","properties":{"max":{"type":"integer"},"stages":{"type":"array","items":{"$ref":"#/components/schemas/CampusDashboardFunnelStage"}}},"required":["max","stages"]},"CampusDashboardFunnelStage":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"count":{"type":"integer"},"percentage":{"type":"number","format":"double"}},"required":["count","key","label","percentage"]},"CampusDashboardCircleHealth":{"type":"object","properties":{"circle_id":{"type":"string"},"circle_name":{"type":"string"},"ig_id":{"type":"string"},"ig_name":{"type":"string","nullable":true},"member_count":{"type":"integer"},"sessions_per_month":{"type":"integer"},"last_session_at":{"type":"string","nullable":true},"status":{"type":"string"}},"required":["circle_id","circle_name","ig_id","ig_name","last_session_at","member_count","sessions_per_month","status"]},"CampusDashboardRecentActivity":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"created_at":{"type":"string","nullable":true},"actor":{"type":"object","additionalProperties":{}},"metadata":{"type":"object","additionalProperties":{}}},"required":["actor","created_at","description","id","metadata","title","type"]}}}}
```

## The CampusDashboardSummaryResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CampusDashboardSummaryResponse":{"type":"object","properties":{"hasError":{"type":"boolean"},"statusCode":{"type":"integer"},"message":{"type":"object","additionalProperties":{}},"response":{"$ref":"#/components/schemas/CampusDashboardSummaryData"}},"required":["hasError","message","response","statusCode"]},"CampusDashboardSummaryData":{"type":"object","properties":{"campus":{"$ref":"#/components/schemas/CampusDashboardSummaryCampus"},"stat_cards":{"type":"array","items":{"$ref":"#/components/schemas/CampusDashboardStatCard"}},"member_funnel":{"$ref":"#/components/schemas/CampusDashboardMemberFunnel"},"circle_health":{"type":"array","items":{"$ref":"#/components/schemas/CampusDashboardCircleHealth"}},"recent_activity":{"type":"array","items":{"$ref":"#/components/schemas/CampusDashboardRecentActivity"}}},"required":["campus","circle_health","member_funnel","recent_activity","stat_cards"]},"CampusDashboardSummaryCampus":{"type":"object","properties":{"org_id":{"type":"string"},"college_name":{"type":"string"},"campus_code":{"type":"string"},"campus_zone":{"type":"string","nullable":true}},"required":["campus_code","campus_zone","college_name","org_id"]},"CampusDashboardStatCard":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"value":{"type":"integer","nullable":true},"delta":{"type":"integer"},"delta_type":{"type":"string"},"period":{"type":"string"}},"required":["delta","delta_type","key","label","period","value"]},"CampusDashboardMemberFunnel":{"type":"object","properties":{"max":{"type":"integer"},"stages":{"type":"array","items":{"$ref":"#/components/schemas/CampusDashboardFunnelStage"}}},"required":["max","stages"]},"CampusDashboardFunnelStage":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"count":{"type":"integer"},"percentage":{"type":"number","format":"double"}},"required":["count","key","label","percentage"]},"CampusDashboardCircleHealth":{"type":"object","properties":{"circle_id":{"type":"string"},"circle_name":{"type":"string"},"ig_id":{"type":"string"},"ig_name":{"type":"string","nullable":true},"member_count":{"type":"integer"},"sessions_per_month":{"type":"integer"},"last_session_at":{"type":"string","nullable":true},"status":{"type":"string"}},"required":["circle_id","circle_name","ig_id","ig_name","last_session_at","member_count","sessions_per_month","status"]},"CampusDashboardRecentActivity":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"created_at":{"type":"string","nullable":true},"actor":{"type":"object","additionalProperties":{}},"metadata":{"type":"object","additionalProperties":{}}},"required":["actor","created_at","description","id","metadata","title","type"]}}}}
```

## The CampusDetailsPublic object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CampusDetailsPublic":{"type":"object","properties":{"org_id":{"type":"string","readOnly":true},"college_name":{"type":"string","readOnly":true},"campus_code":{"type":"string","readOnly":true},"campus_zone":{"type":"string","readOnly":true},"campus_level":{"type":"string","readOnly":true},"total_karma":{"type":"string","readOnly":true},"total_members":{"type":"string","readOnly":true},"active_members":{"type":"string","readOnly":true},"rank":{"type":"string","readOnly":true},"social_links":{"type":"string","readOnly":true}},"required":["active_members","campus_code","campus_level","campus_zone","college_name","org_id","rank","social_links","total_karma","total_members"]}}}}
```

## The CampusKarmaByClusterCategory object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CampusKarmaByClusterCategory":{"type":"object","properties":{"total_karma":{"type":"integer"},"member_count":{"type":"integer"}},"required":["member_count","total_karma"]}}}}
```

## The CampusKarmaByClusterResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CampusKarmaByClusterResponse":{"type":"object","properties":{"hasError":{"type":"boolean"},"statusCode":{"type":"integer"},"message":{"type":"object","additionalProperties":{}},"response":{"$ref":"#/components/schemas/CampusKarmaByClusterCategory"}},"required":["hasError","message","response","statusCode"]},"CampusKarmaByClusterCategory":{"type":"object","properties":{"total_karma":{"type":"integer"},"member_count":{"type":"integer"}},"required":["member_count","total_karma"]}}}}
```

## The CampusLeaderboard object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CampusLeaderboard":{"type":"object","properties":{"user_id":{"type":"string"},"full_name":{"type":"string","readOnly":true},"muid":{"type":"string"},"karma":{"type":"integer"},"rank":{"type":"string","readOnly":true},"level":{"type":"string"},"join_date":{"type":"string"},"last_karma_gained":{"type":"string"},"graduation_year":{"type":"string"},"department":{"type":"string"},"is_alumni":{"type":"boolean"},"ig_count":{"type":"integer","default":0},"lc_count":{"type":"integer","default":0},"profile_pic":{"type":"string","readOnly":true}},"required":["department","full_name","graduation_year","is_alumni","join_date","karma","last_karma_gained","level","muid","profile_pic","rank","user_id"]}}}}
```

## The CampusList object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CampusList":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"title":{"type":"string","maxLength":100},"code":{"type":"string","maxLength":12}},"required":["code","title"]}}}}
```

## The CampusMemberFunnelData object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CampusMemberFunnelData":{"type":"object","properties":{"max":{"type":"integer"},"stages":{"type":"array","items":{"$ref":"#/components/schemas/CampusMemberFunnelStage"}}},"required":["max","stages"]},"CampusMemberFunnelStage":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"count":{"type":"integer"},"percentage":{"type":"number","format":"double"}},"required":["count","key","label","percentage"]}}}}
```

## The CampusMemberFunnelResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CampusMemberFunnelResponse":{"type":"object","properties":{"hasError":{"type":"boolean"},"statusCode":{"type":"integer"},"message":{"type":"object","additionalProperties":{}},"response":{"$ref":"#/components/schemas/CampusMemberFunnelData"}},"required":["hasError","message","response","statusCode"]},"CampusMemberFunnelData":{"type":"object","properties":{"max":{"type":"integer"},"stages":{"type":"array","items":{"$ref":"#/components/schemas/CampusMemberFunnelStage"}}},"required":["max","stages"]},"CampusMemberFunnelStage":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"count":{"type":"integer"},"percentage":{"type":"number","format":"double"}},"required":["count","key","label","percentage"]}}}}
```

## The CampusMemberFunnelStage object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CampusMemberFunnelStage":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"count":{"type":"integer"},"percentage":{"type":"number","format":"double"}},"required":["count","key","label","percentage"]}}}}
```

## The CampusMentorLeaderboard object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CampusMentorLeaderboard":{"type":"object","properties":{"mentor_id":{"type":"string"},"mentor_name":{"type":"string"},"profile_pic":{"type":"string","readOnly":true},"campus_name":{"type":"string","readOnly":true},"total_karma":{"type":"integer"},"completed_sessions":{"type":"integer"},"rank":{"type":"string","readOnly":true}},"required":["campus_name","completed_sessions","mentor_id","mentor_name","profile_pic","rank","total_karma"]}}}}
```

## The CampusRecentActivityData object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CampusRecentActivityData":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CampusRecentActivityItem"}}},"required":["data"]},"CampusRecentActivityItem":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"created_at":{"type":"string","nullable":true},"actor":{"type":"object","additionalProperties":{}},"metadata":{"type":"object","additionalProperties":{}}},"required":["actor","created_at","description","id","metadata","title","type"]}}}}
```

## The CampusRecentActivityItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CampusRecentActivityItem":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"created_at":{"type":"string","nullable":true},"actor":{"type":"object","additionalProperties":{}},"metadata":{"type":"object","additionalProperties":{}}},"required":["actor","created_at","description","id","metadata","title","type"]}}}}
```

## The CampusRecentActivityResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CampusRecentActivityResponse":{"type":"object","properties":{"hasError":{"type":"boolean"},"statusCode":{"type":"integer"},"message":{"type":"object","additionalProperties":{}},"response":{"$ref":"#/components/schemas/CampusRecentActivityData"}},"required":["hasError","message","response","statusCode"]},"CampusRecentActivityData":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CampusRecentActivityItem"}}},"required":["data"]},"CampusRecentActivityItem":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"created_at":{"type":"string","nullable":true},"actor":{"type":"object","additionalProperties":{}},"metadata":{"type":"object","additionalProperties":{}}},"required":["actor","created_at","description","id","metadata","title","type"]}}}}
```

## The CampusStudentInEachLevelResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CampusStudentInEachLevelResponse":{"type":"object","properties":{"hasError":{"type":"boolean"},"statusCode":{"type":"integer"},"message":{"type":"object","additionalProperties":{}},"response":{"type":"array","items":{"$ref":"#/components/schemas/CampusStudentLevelItem"}}},"required":["hasError","message","response","statusCode"]},"CampusStudentLevelItem":{"type":"object","properties":{"level":{"type":"integer"},"students":{"type":"integer"}},"required":["level","students"]}}}}
```

## The CampusStudentLevelItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CampusStudentLevelItem":{"type":"object","properties":{"level":{"type":"integer"},"students":{"type":"integer"}},"required":["level","students"]}}}}
```

## The CategoryList object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CategoryList":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"created_by":{"type":"string","readOnly":true},"updated_by":{"type":"string","readOnly":true},"name":{"type":"string","maxLength":255},"description":{"type":"string","nullable":true},"entity_id":{"type":"string","maxLength":36},"entity_type":{"enum":["event"],"type":"string","description":"* `event` - Event"},"updated_at":{"type":"string","format":"date-time","readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true}},"required":["created_at","created_by","entity_id","entity_type","name","updated_at","updated_by"]}}}}
```

## The ChangePassword object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ChangePassword":{"type":"object","properties":{"current_password":{"type":"string"},"new_password":{"type":"string","minLength":8},"confirm_password":{"type":"string","minLength":8}},"required":["confirm_password","current_password","new_password"]}}}}
```

## The ChannelList object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ChannelList":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"created_by":{"type":"string"},"updated_by":{"type":"string"},"name":{"type":"string","maxLength":75},"discord_id":{"type":"string","maxLength":36},"updated_at":{"type":"string","format":"date-time","readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true}},"required":["created_at","created_by","discord_id","id","name","updated_at","updated_by"]}}}}
```

## The ChapterArchiveResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ChapterArchiveResponse":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"}},"required":["id","status"]}}}}
```

## The ChapterDeleteResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ChapterDeleteResponse":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]}}}}
```

## The ChapterDetail object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ChapterDetail":{"type":"object","description":"Full serializer for chapter retrieval.","properties":{"id":{"type":"string","readOnly":true},"comic":{"type":"string","readOnly":true},"title":{"type":"string","readOnly":true},"slug":{"type":"string","readOnly":true},"description":{"type":"string","readOnly":true,"nullable":true},"chapter_number":{"type":"string","format":"decimal","pattern":"^-?\\d{0,4}(?:\\.\\d{0,2})?$","readOnly":true},"cover_image_key":{"type":"string","readOnly":true,"nullable":true},"status":{"enum":["draft","published","archived"],"type":"string","description":"* `draft` - Draft\n* `published` - Published\n* `archived` - Archived","readOnly":true},"published_at":{"type":"string","format":"date-time","readOnly":true,"nullable":true},"pages":{"type":"string","readOnly":true},"created_by":{"allOf":[{"$ref":"#/components/schemas/MinimalUser"}],"readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"updated_by":{"allOf":[{"$ref":"#/components/schemas/MinimalUser"}],"readOnly":true},"updated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["chapter_number","comic","cover_image_key","created_at","created_by","description","id","pages","published_at","slug","status","title","updated_at","updated_by"]},"MinimalUser":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"full_name":{"type":"string","maxLength":150},"muid":{"type":"string","maxLength":100},"profile_pic":{"type":"string","readOnly":true}},"required":["full_name","muid","profile_pic"]}}}}
```

## The ChapterList object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ChapterList":{"type":"object","description":"Lean serializer for listing chapters (e.g. comic chapter index).","properties":{"id":{"type":"string","readOnly":true},"comic":{"type":"string","readOnly":true},"title":{"type":"string","readOnly":true},"slug":{"type":"string","readOnly":true},"chapter_number":{"type":"string","format":"decimal","pattern":"^-?\\d{0,4}(?:\\.\\d{0,2})?$","readOnly":true},"cover_image_key":{"type":"string","readOnly":true,"nullable":true},"status":{"enum":["draft","published","archived"],"type":"string","description":"* `draft` - Draft\n* `published` - Published\n* `archived` - Archived","readOnly":true},"published_at":{"type":"string","format":"date-time","readOnly":true,"nullable":true},"created_at":{"type":"string","format":"date-time","readOnly":true}},"required":["chapter_number","comic","cover_image_key","created_at","id","published_at","slug","status","title"]}}}}
```

## The ChapterPage object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ChapterPage":{"type":"object","description":"Serializer representing individual pages in a chapter.","properties":{"id":{"type":"string","readOnly":true},"chapter":{"type":"string"},"page_number":{"type":"integer","maximum":4294967295,"minimum":0,"format":"int64"},"image_key":{"type":"string","maxLength":255},"created_at":{"type":"string","format":"date-time","readOnly":true}},"required":["chapter","created_at","id","image_key","page_number"]}}}}
```

## The ChapterPublishResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ChapterPublishResponse":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"}},"required":["id","status"]}}}}
```

## The ChapterUploadRequest object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ChapterUploadRequest":{"type":"object","properties":{"file":{"type":"string","format":"uri"}},"required":["file"]}}}}
```

## The ChapterWrite object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ChapterWrite":{"type":"object","description":"Input serializer for POST /chapters/ and PATCH /chapters/<id>/.\nCaller never directly specifies slug, status, published_at, or audit fields.","properties":{"comic":{"type":"string"},"title":{"type":"string","maxLength":150},"description":{"type":"string","nullable":true},"chapter_number":{"type":"string","format":"decimal","pattern":"^-?\\d{0,4}(?:\\.\\d{0,2})?$"},"cover_image_key":{"type":"string","nullable":true,"maxLength":255}},"required":["chapter_number","comic","title"]}}}}
```

## The CircleInvite object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CircleInvite":{"type":"object","description":"Validates the invite request body for POST /invite/<circle_id>/.","properties":{"muid":{"type":"string","description":"muid of the user to invite, e.g. user@mulearn"},"lead":{"type":"boolean","default":false}},"required":["muid"]}}}}
```

## The CircleInviteStatus object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CircleInviteStatus":{"type":"object","description":"Serializes a pending invitation from the invitee's perspective.","properties":{"link_id":{"type":"string","readOnly":true},"circle_id":{"type":"string","readOnly":true},"circle_title":{"type":"string","readOnly":true},"ig":{"type":"string","readOnly":true},"is_lead_invite":{"type":"boolean","readOnly":true},"invited_by":{"type":"string","readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true}},"required":["circle_id","circle_title","created_at","ig","invited_by","is_lead_invite","link_id"]}}}}
```

## The CircleJoinRequest object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CircleJoinRequest":{"type":"object","description":"Serializes a user-initiated join request (is_invited=False, accepted=None) from the lead's perspective.","properties":{"link_id":{"type":"string","readOnly":true},"user_id":{"type":"string","readOnly":true},"full_name":{"type":"string","readOnly":true},"profile_pic":{"type":"string","readOnly":true,"nullable":true},"muid":{"type":"string","readOnly":true},"requested_at":{"type":"string","format":"date-time","readOnly":true}},"required":["full_name","link_id","muid","profile_pic","requested_at","user_id"]}}}}
```

## The CircleMeetingLogCreateEdit object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CircleMeetingLogCreateEdit":{"type":"object","properties":{"circle_id":{"type":"string"},"title":{"type":"string","maxLength":100},"description":{"type":"string","maxLength":1000},"mode":{"enum":["online","offline"],"type":"string","description":"* `online` - Online\n* `offline` - Offline"},"platform":{"enum":["Zoom","Google Meet","Microsoft Teams","Discord","Other",null],"type":"string","nullable":true,"description":"Required for online meetings. One of: Zoom, Google Meet, Microsoft Teams, Other\n\n* `Zoom` - Zoom\n* `Google Meet` - Google Meet\n* `Microsoft Teams` - Microsoft Teams\n* `Discord` - Discord\n* `Other` - Other"},"meet_link":{"type":"string","format":"uri","nullable":true,"description":"Required for online meetings. Full URL of the meeting."},"meet_place":{"type":"string","nullable":true,"description":"Required for offline meetings. Address/venue name."},"coord_x":{"type":"number","format":"double","nullable":true,"description":"Required for offline meetings. Latitude coordinate."},"coord_y":{"type":"number","format":"double","nullable":true,"description":"Required for offline meetings. Longitude coordinate."},"meet_time":{"type":"string","format":"date-time"},"duration":{"type":"integer","maximum":2147483647,"minimum":-2147483648},"is_recurring":{"type":"boolean"},"recurrence_type":{"type":"string","nullable":true,"maxLength":10},"recurrence":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true},"is_report_needed":{"type":"boolean"},"report_description":{"type":"string","nullable":true,"maxLength":1000}},"required":["circle_id","description","duration","meet_time","mode","title"]}}}}
```

## The CircleMeetupInfo object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CircleMeetupInfo":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"title":{"type":"string","readOnly":true},"description":{"type":"string","maxLength":1000},"mode":{"enum":["online","offline"],"type":"string","description":"* `online` - Online\n* `offline` - Offline"},"meet_place":{"type":"string","readOnly":true},"meet_link":{"type":"string","nullable":true,"maxLength":200},"meet_time":{"type":"string","format":"date-time","readOnly":true},"ig":{"type":"string","readOnly":true},"is_report_needed":{"type":"boolean","readOnly":true},"report_description":{"type":"string","readOnly":true},"coord_x":{"type":"number","format":"double","readOnly":true},"coord_y":{"type":"number","format":"double","readOnly":true},"duration":{"type":"integer","readOnly":true},"is_started":{"type":"string","readOnly":true},"is_ended":{"type":"string","readOnly":true},"attendees":{"type":"string","readOnly":true},"is_member":{"type":"string","readOnly":true},"meet_code":{"type":"string","readOnly":true},"created_by_id":{"type":"string","readOnly":true}},"required":["attendees","coord_x","coord_y","created_by_id","description","duration","ig","is_ended","is_member","is_report_needed","is_started","meet_code","meet_place","meet_time","mode","report_description","title"]}}}}
```

## The CircleMeetupMin object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CircleMeetupMin":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"title":{"type":"string","readOnly":true},"description":{"type":"string","maxLength":1000},"org":{"type":"string","readOnly":true},"ig_id":{"type":"string","readOnly":true},"ig_name":{"type":"string","readOnly":true},"mode":{"enum":["online","offline"],"type":"string","description":"* `online` - Online\n* `offline` - Offline"},"is_recurring":{"type":"boolean"},"recurrence_type":{"type":"string","nullable":true,"maxLength":10},"recurrence":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true},"meet_place":{"type":"string","readOnly":true},"is_rsvp":{"type":"string","readOnly":true},"circle_id":{"type":"string","readOnly":true},"coord_x":{"type":"number","format":"double","readOnly":true},"coord_y":{"type":"number","format":"double","readOnly":true},"meet_time":{"type":"string","format":"date-time","readOnly":true},"meet_link":{"type":"string","nullable":true,"maxLength":200},"is_started":{"type":"string","readOnly":true},"is_ended":{"type":"string","readOnly":true},"is_joined":{"type":"string","readOnly":true},"attendees_count":{"type":"string","readOnly":true},"created_by":{"type":"string","readOnly":true},"created_by_id":{"type":"string","readOnly":true}},"required":["attendees_count","circle_id","coord_x","coord_y","created_by","created_by_id","description","ig_id","ig_name","is_ended","is_joined","is_rsvp","is_started","meet_place","meet_time","mode","org","title"]}}}}
```

## The CircleMeetupPublic object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CircleMeetupPublic":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"title":{"type":"string","readOnly":true},"description":{"type":"string","maxLength":1000},"org":{"type":"string","readOnly":true},"ig_id":{"type":"string","readOnly":true},"ig_name":{"type":"string","readOnly":true},"mode":{"enum":["online","offline"],"type":"string","description":"* `online` - Online\n* `offline` - Offline"},"is_recurring":{"type":"boolean"},"recurrence_type":{"type":"string","nullable":true,"maxLength":10},"recurrence":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true},"meet_place":{"type":"string","readOnly":true},"circle_id":{"type":"string"},"meet_time":{"type":"string","format":"date-time","readOnly":true},"meet_link":{"type":"string","nullable":true,"maxLength":200},"is_started":{"type":"string","readOnly":true},"is_ended":{"type":"string","readOnly":true},"created_by":{"type":"string","readOnly":true}},"required":["circle_id","created_by","description","ig_id","ig_name","is_ended","is_started","meet_place","meet_time","mode","org","title"]}}}}
```

## The CircleSentInvites object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CircleSentInvites":{"type":"object","description":"Serializes outgoing invites from the lead's perspective.","properties":{"link_id":{"type":"string","readOnly":true},"user_id":{"type":"string","readOnly":true},"full_name":{"type":"string","readOnly":true},"profile_pic":{"type":"string","readOnly":true,"nullable":true},"muid":{"type":"string","readOnly":true},"is_lead_invite":{"type":"boolean","readOnly":true},"status":{"type":"string","readOnly":true},"invited_at":{"type":"string","format":"date-time","readOnly":true}},"required":["full_name","invited_at","is_lead_invite","link_id","muid","profile_pic","status","user_id"]}}}}
```

## The CollegeChange object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CollegeChange":{"type":"object","properties":{"org_id":{"type":"string","maxLength":36},"department_id":{"type":"string","nullable":true,"maxLength":36}},"required":["org_id"]}}}}
```

## The CollegeData object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CollegeData":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"title":{"type":"string","maxLength":100},"district_name":{"type":"string"},"state":{"type":"string"},"total_users":{"type":"integer"},"level1":{"type":"integer"},"level2":{"type":"integer"},"level3":{"type":"integer"},"level4":{"type":"integer"}},"required":["district_name","level1","level2","level3","level4","state","title","total_users"]}}}}
```

## The CollegeInfo object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CollegeInfo":{"type":"object","properties":{"org_title":{"type":"string"},"learning_circle_count":{"type":"string"},"user_count":{"type":"string"}},"required":["learning_circle_count","org_title","user_count"]}}}}
```

## The CollegeList object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CollegeList":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"level":{"type":"integer","maximum":2147483647,"minimum":-2147483648},"org":{"type":"string"},"number_of_members":{"type":"string","readOnly":true},"total_karma":{"type":"string","readOnly":true},"no_of_lc":{"type":"string","readOnly":true},"no_of_alumni":{"type":"string","readOnly":true}},"required":["no_of_alumni","no_of_lc","number_of_members","org","total_karma"]}}}}
```

## The ComicArchiveResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ComicArchiveResponse":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"}},"required":["id","status"]}}}}
```

## The ComicDeleteResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ComicDeleteResponse":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]}}}}
```

## The ComicDetail object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ComicDetail":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"title":{"type":"string","maxLength":150},"slug":{"type":"string","maxLength":75},"description":{"type":"string","nullable":true},"cover_image_key":{"type":"string","nullable":true,"maxLength":255},"status":{"enum":["draft","published","archived"],"type":"string","description":"* `draft` - Draft\n* `published` - Published\n* `archived` - Archived"},"like_count":{"type":"integer","maximum":4294967295,"minimum":0,"format":"int64"},"comment_count":{"type":"integer","maximum":4294967295,"minimum":0,"format":"int64"},"bookmark_count":{"type":"integer","maximum":4294967295,"minimum":0,"format":"int64"},"published_at":{"type":"string","format":"date-time","nullable":true},"genres":{"type":"string","readOnly":true},"contributors":{"type":"string","readOnly":true},"created_by":{"allOf":[{"$ref":"#/components/schemas/MinimalUser"}],"readOnly":true},"created_at":{"type":"string","format":"date-time"},"updated_by":{"allOf":[{"$ref":"#/components/schemas/MinimalUser"}],"readOnly":true},"updated_at":{"type":"string","format":"date-time"}},"required":["contributors","created_at","created_by","genres","slug","title","updated_at","updated_by"]},"MinimalUser":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"full_name":{"type":"string","maxLength":150},"muid":{"type":"string","maxLength":100},"profile_pic":{"type":"string","readOnly":true}},"required":["full_name","muid","profile_pic"]}}}}
```

## The ComicGenreAssign object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ComicGenreAssign":{"type":"object","description":"Input serializer for POST /comics/{comicId}/genres/.\nValidates that:\n- The genre exists.\n- The genre is active (is_active=True).\n- The genre is not already assigned to this comic.","properties":{"genre_id":{"type":"string"}},"required":["genre_id"]}}}}
```

## The ComicGenreAssignResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ComicGenreAssignResponse":{"type":"object","properties":{"link_id":{"type":"string"},"genre":{"$ref":"#/components/schemas/GenreMinimalObj"}},"required":["genre","link_id"]},"GenreMinimalObj":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"}},"required":["id","name","slug"]}}}}
```

## The ComicGenreRemoveResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ComicGenreRemoveResponse":{"type":"object","properties":{"link_id":{"type":"string"}},"required":["link_id"]}}}}
```

## The ComicListItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ComicListItem":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"title":{"type":"string","maxLength":150},"slug":{"type":"string","maxLength":75},"cover_image_key":{"type":"string","nullable":true,"maxLength":255},"status":{"enum":["draft","published","archived"],"type":"string","description":"* `draft` - Draft\n* `published` - Published\n* `archived` - Archived"},"like_count":{"type":"integer","maximum":4294967295,"minimum":0,"format":"int64"},"comment_count":{"type":"integer","maximum":4294967295,"minimum":0,"format":"int64"},"bookmark_count":{"type":"integer","maximum":4294967295,"minimum":0,"format":"int64"},"published_at":{"type":"string","format":"date-time","nullable":true},"created_by":{"allOf":[{"$ref":"#/components/schemas/MinimalUser"}],"readOnly":true},"created_at":{"type":"string","format":"date-time"},"genres":{"type":"string","readOnly":true}},"required":["created_at","created_by","genres","slug","title"]},"MinimalUser":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"full_name":{"type":"string","maxLength":150},"muid":{"type":"string","maxLength":100},"profile_pic":{"type":"string","readOnly":true}},"required":["full_name","muid","profile_pic"]}}}}
```

## The ComicPublishResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ComicPublishResponse":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"}},"required":["id","status"]}}}}
```

## The ComicWrite object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ComicWrite":{"type":"object","description":"Input serializer for POST /comics/ and PATCH /comics/<id>/.\nThe caller never sends: slug, status, *_count, published_at, or audit fields.","properties":{"title":{"type":"string","maxLength":150},"description":{"type":"string","nullable":true},"cover_image_key":{"type":"string","nullable":true,"maxLength":255}},"required":["title"]}}}}
```

## The Comment object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"Comment":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"comment":{"type":"string"},"project":{"type":"string"},"user":{"type":"string","readOnly":true},"user_id":{"type":"string","readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"updated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["comment","created_at","project","updated_at","user","user_id"]}}}}
```

## The CommonGlobalCountData object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CommonGlobalCountData":{"type":"object","properties":{"members":{"type":"integer","description":"Total registered user count"},"org_type_counts":{"type":"array","items":{"$ref":"#/components/schemas/CommonOrgTypeCount"},"description":"Count of organisations per type (college, company, community)"},"enablers_mentors_count":{"type":"array","items":{"$ref":"#/components/schemas/CommonRoleCount"},"description":"Count of users with enabler / mentor roles"},"ig_count":{"type":"integer","description":"Total interest group count"},"learning_circle_count":{"type":"integer","description":"Total learning circle count"}},"required":["enablers_mentors_count","ig_count","learning_circle_count","members","org_type_counts"]},"CommonOrgTypeCount":{"type":"object","properties":{"org_type":{"type":"string"},"org_count":{"type":"integer"}},"required":["org_count","org_type"]},"CommonRoleCount":{"type":"object","properties":{"role__title":{"type":"string"},"role_count":{"type":"integer"}},"required":["role__title","role_count"]}}}}
```

## The CommonGlobalCountResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CommonGlobalCountResponse":{"type":"object","properties":{"hasError":{"type":"boolean","default":false},"statusCode":{"type":"integer","default":200},"message":{"type":"object","additionalProperties":{"type":"string"},"default":{}},"response":{"$ref":"#/components/schemas/CommonGlobalCountData"}},"required":["response"]},"CommonGlobalCountData":{"type":"object","properties":{"members":{"type":"integer","description":"Total registered user count"},"org_type_counts":{"type":"array","items":{"$ref":"#/components/schemas/CommonOrgTypeCount"},"description":"Count of organisations per type (college, company, community)"},"enablers_mentors_count":{"type":"array","items":{"$ref":"#/components/schemas/CommonRoleCount"},"description":"Count of users with enabler / mentor roles"},"ig_count":{"type":"integer","description":"Total interest group count"},"learning_circle_count":{"type":"integer","description":"Total learning circle count"}},"required":["enablers_mentors_count","ig_count","learning_circle_count","members","org_type_counts"]},"CommonOrgTypeCount":{"type":"object","properties":{"org_type":{"type":"string"},"org_count":{"type":"integer"}},"required":["org_count","org_type"]},"CommonRoleCount":{"type":"object","properties":{"role__title":{"type":"string"},"role_count":{"type":"integer"}},"required":["role__title","role_count"]}}}}
```

## The CommonGtasandshoreResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CommonGtasandshoreResponse":{"type":"object","properties":{"hasError":{"type":"boolean","default":false},"statusCode":{"type":"integer","default":200},"message":{"type":"object","additionalProperties":{"type":"string"},"default":{}},"response":{"type":"object","additionalProperties":{"type":"integer"},"description":"Map of normalised college name → submission count from devfolio"}},"required":["response"]}}}}
```

## The CommonLcDashboardData object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CommonLcDashboardData":{"type":"object","properties":{"lc_count":{"type":"integer","description":"Total number of learning circles"},"total_enrollment":{"type":"integer","description":"Total college-student enrollments"},"circle_count_by_ig":{"type":"array","items":{"$ref":"#/components/schemas/CommonLcDashboardIgStat"},"description":"Circle and user counts grouped by interest group"},"unique_users":{"type":"integer","description":"Number of unique enrolled users"}},"required":["circle_count_by_ig","lc_count","total_enrollment","unique_users"]},"CommonLcDashboardIgStat":{"type":"object","properties":{"name":{"type":"string"},"total_circles":{"type":"integer"},"total_users":{"type":"integer"}},"required":["name","total_circles","total_users"]}}}}
```

## The CommonLcDashboardIgStat object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CommonLcDashboardIgStat":{"type":"object","properties":{"name":{"type":"string"},"total_circles":{"type":"integer"},"total_users":{"type":"integer"}},"required":["name","total_circles","total_users"]}}}}
```

## The CommonLcDashboardResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CommonLcDashboardResponse":{"type":"object","properties":{"hasError":{"type":"boolean","default":false},"statusCode":{"type":"integer","default":200},"message":{"type":"object","additionalProperties":{"type":"string"},"default":{}},"response":{"$ref":"#/components/schemas/CommonLcDashboardData"}},"required":["response"]},"CommonLcDashboardData":{"type":"object","properties":{"lc_count":{"type":"integer","description":"Total number of learning circles"},"total_enrollment":{"type":"integer","description":"Total college-student enrollments"},"circle_count_by_ig":{"type":"array","items":{"$ref":"#/components/schemas/CommonLcDashboardIgStat"},"description":"Circle and user counts grouped by interest group"},"unique_users":{"type":"integer","description":"Number of unique enrolled users"}},"required":["circle_count_by_ig","lc_count","total_enrollment","unique_users"]},"CommonLcDashboardIgStat":{"type":"object","properties":{"name":{"type":"string"},"total_circles":{"type":"integer"},"total_users":{"type":"integer"}},"required":["name","total_circles","total_users"]}}}}
```

## The CommonLcDetailsData object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CommonLcDetailsData":{"type":"object","properties":{"name":{"type":"string"},"circle_code":{"type":"string"},"note":{"type":"string","nullable":true},"day":{"type":"string","nullable":true},"college":{"type":"string","nullable":true},"members":{"type":"array","items":{"type":"object","additionalProperties":{}}},"rank":{"type":"integer","nullable":true},"total_karma":{"type":"integer"},"ig_id":{"type":"string"},"ig_name":{"type":"string"},"ig_code":{"type":"string"}},"required":["circle_code","college","day","ig_code","ig_id","ig_name","members","name","note","rank","total_karma"]}}}}
```

## The CommonLcDetailsResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CommonLcDetailsResponse":{"type":"object","properties":{"hasError":{"type":"boolean","default":false},"statusCode":{"type":"integer","default":200},"message":{"type":"object","additionalProperties":{"type":"string"},"default":{}},"response":{"$ref":"#/components/schemas/CommonLcDetailsData"}},"required":["response"]},"CommonLcDetailsData":{"type":"object","properties":{"name":{"type":"string"},"circle_code":{"type":"string"},"note":{"type":"string","nullable":true},"day":{"type":"string","nullable":true},"college":{"type":"string","nullable":true},"members":{"type":"array","items":{"type":"object","additionalProperties":{}}},"rank":{"type":"integer","nullable":true},"total_karma":{"type":"integer"},"ig_id":{"type":"string"},"ig_name":{"type":"string"},"ig_code":{"type":"string"}},"required":["circle_code","college","day","ig_code","ig_id","ig_name","members","name","note","rank","total_karma"]}}}}
```

## The CommonLcListItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CommonLcListItem":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"ig_name":{"type":"string"},"org_name":{"type":"string","nullable":true},"member_count":{"type":"integer"},"members":{"type":"array","items":{"type":"object","additionalProperties":{}},"nullable":true},"meet_place":{"type":"string","nullable":true},"meet_time":{"type":"string","nullable":true},"lead_name":{"type":"string","nullable":true},"karma":{"type":"integer"}},"required":["id","ig_name","karma","lead_name","meet_place","meet_time","member_count","members","name","org_name"]}}}}
```

## The CommonLcListResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CommonLcListResponse":{"type":"object","properties":{"hasError":{"type":"boolean","default":false},"statusCode":{"type":"integer","default":200},"message":{"type":"object","additionalProperties":{"type":"string"},"default":{}},"response":{"type":"array","items":{"$ref":"#/components/schemas/CommonLcListItem"}},"pagination":{"type":"object","additionalProperties":{"type":"integer"}}},"required":["pagination","response"]},"CommonLcListItem":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"ig_name":{"type":"string"},"org_name":{"type":"string","nullable":true},"member_count":{"type":"integer"},"members":{"type":"array","items":{"type":"object","additionalProperties":{}},"nullable":true},"meet_place":{"type":"string","nullable":true},"meet_time":{"type":"string","nullable":true},"lead_name":{"type":"string","nullable":true},"karma":{"type":"integer"}},"required":["id","ig_name","karma","lead_name","meet_place","meet_time","member_count","members","name","org_name"]}}}}
```

## The CommonLevelItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CommonLevelItem":{"type":"object","properties":{"name":{"type":"string","description":"Level name"},"tasks":{"type":"array","items":{"$ref":"#/components/schemas/CommonLevelTask"}}},"required":["name","tasks"]},"CommonLevelTask":{"type":"object","properties":{"task_name":{"type":"string"},"discord_link":{"type":"string","nullable":true},"hashtag":{"type":"string","nullable":true},"active":{"type":"boolean"},"completed":{"type":"boolean"},"karma":{"type":"integer"},"task_description":{"type":"string","nullable":true},"interest_group":{"$ref":"#/components/schemas/CommonLevelTaskIG"},"submission_channel":{"$ref":"#/components/schemas/CommonLevelTaskChannel"}},"required":["active","completed","discord_link","hashtag","interest_group","karma","submission_channel","task_description","task_name"]},"CommonLevelTaskIG":{"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true}},"required":["id","name"]},"CommonLevelTaskChannel":{"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"discord_id":{"type":"string","nullable":true}},"required":["discord_id","id","name"]}}}}
```

## The CommonLevelTask object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CommonLevelTask":{"type":"object","properties":{"task_name":{"type":"string"},"discord_link":{"type":"string","nullable":true},"hashtag":{"type":"string","nullable":true},"active":{"type":"boolean"},"completed":{"type":"boolean"},"karma":{"type":"integer"},"task_description":{"type":"string","nullable":true},"interest_group":{"$ref":"#/components/schemas/CommonLevelTaskIG"},"submission_channel":{"$ref":"#/components/schemas/CommonLevelTaskChannel"}},"required":["active","completed","discord_link","hashtag","interest_group","karma","submission_channel","task_description","task_name"]},"CommonLevelTaskIG":{"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true}},"required":["id","name"]},"CommonLevelTaskChannel":{"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"discord_id":{"type":"string","nullable":true}},"required":["discord_id","id","name"]}}}}
```

## The CommonLevelTaskChannel object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CommonLevelTaskChannel":{"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"discord_id":{"type":"string","nullable":true}},"required":["discord_id","id","name"]}}}}
```

## The CommonLevelTaskIG object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CommonLevelTaskIG":{"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true}},"required":["id","name"]}}}}
```

## The CommonListAllLevelInfoResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CommonListAllLevelInfoResponse":{"type":"object","properties":{"hasError":{"type":"boolean","default":false},"statusCode":{"type":"integer","default":200},"message":{"type":"object","additionalProperties":{"type":"string"},"default":{}},"response":{"type":"array","items":{"$ref":"#/components/schemas/CommonLevelItem"},"description":"Levels with their associated tasks"}},"required":["response"]},"CommonLevelItem":{"type":"object","properties":{"name":{"type":"string","description":"Level name"},"tasks":{"type":"array","items":{"$ref":"#/components/schemas/CommonLevelTask"}}},"required":["name","tasks"]},"CommonLevelTask":{"type":"object","properties":{"task_name":{"type":"string"},"discord_link":{"type":"string","nullable":true},"hashtag":{"type":"string","nullable":true},"active":{"type":"boolean"},"completed":{"type":"boolean"},"karma":{"type":"integer"},"task_description":{"type":"string","nullable":true},"interest_group":{"$ref":"#/components/schemas/CommonLevelTaskIG"},"submission_channel":{"$ref":"#/components/schemas/CommonLevelTaskChannel"}},"required":["active","completed","discord_link","hashtag","interest_group","karma","submission_channel","task_description","task_name"]},"CommonLevelTaskIG":{"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true}},"required":["id","name"]},"CommonLevelTaskChannel":{"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"discord_id":{"type":"string","nullable":true}},"required":["discord_id","id","name"]}}}}
```

## The CommonListIGItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CommonListIGItem":{"type":"object","properties":{"name":{"type":"string","description":"Interest group name"}},"required":["name"]}}}}
```

## The CommonListIGResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CommonListIGResponse":{"type":"object","properties":{"hasError":{"type":"boolean","default":false},"statusCode":{"type":"integer","default":200},"message":{"type":"object","additionalProperties":{"type":"string"},"default":{}},"response":{"type":"array","items":{"$ref":"#/components/schemas/CommonListIGItem"},"description":"All interest groups"}},"required":["response"]},"CommonListIGItem":{"type":"object","properties":{"name":{"type":"string","description":"Interest group name"}},"required":["name"]}}}}
```

## The CommonListTopIgUsersResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CommonListTopIgUsersResponse":{"type":"object","properties":{"hasError":{"type":"boolean","default":false},"statusCode":{"type":"integer","default":200},"message":{"type":"object","additionalProperties":{"type":"string"},"default":{}},"response":{"type":"array","items":{"$ref":"#/components/schemas/CommonTopIgUserItem"},"description":"Top 100 users ranked by karma in the requested interest groups"}},"required":["response"]},"CommonTopIgUserItem":{"type":"object","properties":{"userid":{"type":"string","description":"User UUID"},"muid":{"type":"string","description":"User unique identifier"},"full_name":{"type":"string"},"ig_karma":{"type":"integer","description":"Total karma earned in the requested interest groups"},"igs":{"type":"array","items":{"type":"string"},"description":"All interest group names the user belongs to"}},"required":["full_name","ig_karma","igs","muid","userid"]}}}}
```

## The CommonOrgTypeCount object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CommonOrgTypeCount":{"type":"object","properties":{"org_type":{"type":"string"},"org_count":{"type":"integer"}},"required":["org_count","org_type"]}}}}
```

## The CommonRoleCount object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CommonRoleCount":{"type":"object","properties":{"role__title":{"type":"string"},"role_count":{"type":"integer"}},"required":["role__title","role_count"]}}}}
```

## The CommonTopIgUserItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CommonTopIgUserItem":{"type":"object","properties":{"userid":{"type":"string","description":"User UUID"},"muid":{"type":"string","description":"User unique identifier"},"full_name":{"type":"string"},"ig_karma":{"type":"integer","description":"Total karma earned in the requested interest groups"},"igs":{"type":"array","items":{"type":"string"},"description":"All interest group names the user belongs to"}},"required":["full_name","ig_karma","igs","muid","userid"]}}}}
```

## The CommonUserProfilePicData object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CommonUserProfilePicData":{"type":"object","properties":{"image":{"type":"string","nullable":true,"description":"URL or path to the user's profile picture"}},"required":["image"]}}}}
```

## The CommonUserProfilePicResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CommonUserProfilePicResponse":{"type":"object","properties":{"hasError":{"type":"boolean","default":false},"statusCode":{"type":"integer","default":200},"message":{"type":"object","additionalProperties":{"type":"string"},"default":{}},"response":{"$ref":"#/components/schemas/CommonUserProfilePicData"}},"required":["response"]},"CommonUserProfilePicData":{"type":"object","properties":{"image":{"type":"string","nullable":true,"description":"URL or path to the user's profile picture"}},"required":["image"]}}}}
```

## The CompanyDetail object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CompanyDetail":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"company_user_name":{"type":"string","readOnly":true},"company_user_email":{"type":"string","readOnly":true},"district_name":{"type":"string","readOnly":true},"name":{"type":"string","maxLength":75},"logo":{"type":"string","nullable":true},"description":{"type":"string"},"short_pitch":{"type":"string","nullable":true,"maxLength":900},"industry_sector":{"type":"string","nullable":true,"maxLength":75},"website_link":{"type":"string","nullable":true},"email":{"type":"string","nullable":true,"maxLength":100},"slug":{"type":"string","maxLength":100},"status":{"type":"string","maxLength":30},"location":{"type":"string","nullable":true,"maxLength":150},"legal_name":{"type":"string","nullable":true,"maxLength":150},"registration_number":{"type":"string","nullable":true,"maxLength":100},"tax_id":{"type":"string","nullable":true,"maxLength":100},"company_size":{"type":"string","nullable":true,"maxLength":50},"linkedin_url":{"type":"string","nullable":true},"verification_document_url":{"type":"string","nullable":true},"verification_requested_at":{"type":"string","format":"date-time","nullable":true},"verified_at":{"type":"string","format":"date-time","nullable":true},"verified_by":{"type":"string","nullable":true,"maxLength":36},"rejection_reason":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"updated_at":{"type":"string","format":"date-time","readOnly":true},"deleted_at":{"type":"string","format":"date-time","nullable":true},"updated_by":{"type":"string","nullable":true,"maxLength":36},"deleted_by":{"type":"string","nullable":true,"maxLength":36},"founded_year":{"type":"integer","maximum":65535,"minimum":0,"nullable":true},"remote_policy":{"type":"string","nullable":true,"maxLength":20},"culture_text":{"type":"string","nullable":true},"tech_stack":{"nullable":true},"perks":{"nullable":true},"testimonials":{"nullable":true},"gallery":{"nullable":true},"company_user":{"type":"string"},"district":{"type":"string","nullable":true},"state":{"type":"string","nullable":true},"country":{"type":"string","nullable":true}},"required":["company_user","company_user_email","company_user_name","created_at","description","district_name","name","slug","updated_at"]}}}}
```

## The CompanyGigAnalyticsResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CompanyGigAnalyticsResponse":{"type":"object","properties":{"total_gigs_posted":{"type":"integer"},"active_gigs":{"type":"integer"},"closed_gigs":{"type":"integer"},"average_hourly_rate":{"type":"number","format":"double"},"application_funnel":{"type":"object","additionalProperties":{}},"conversion_rate":{"type":"string"}},"required":["active_gigs","application_funnel","average_hourly_rate","closed_gigs","conversion_rate","total_gigs_posted"]}}}}
```

## The CompanyList object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CompanyList":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"name":{"type":"string","maxLength":75},"slug":{"type":"string","maxLength":100},"status":{"type":"string","maxLength":30},"email":{"type":"string","nullable":true,"maxLength":100},"company_user_id":{"type":"string","readOnly":true},"company_user_name":{"type":"string","readOnly":true},"industry_sector":{"type":"string","nullable":true,"maxLength":75},"company_size":{"type":"string","nullable":true,"maxLength":50},"location":{"type":"string","nullable":true,"maxLength":150},"district_name":{"type":"string","readOnly":true},"state_name":{"type":"string","readOnly":true},"country_name":{"type":"string","readOnly":true},"verification_requested_at":{"type":"string","format":"date-time","nullable":true},"verified_at":{"type":"string","format":"date-time","nullable":true}},"required":["company_user_id","company_user_name","country_name","district_name","name","slug","state_name"]}}}}
```

## The CompanyMentorList object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CompanyMentorList":{"type":"object","description":"Serializer for listing Company Mentor nominations.","properties":{"id":{"type":"string","maxLength":36},"user_id":{"type":"string","readOnly":true},"user_name":{"type":"string","readOnly":true},"user_email":{"type":"string","readOnly":true},"org_name":{"type":"string","readOnly":true},"mentor_tier":{"enum":["IG_MENTOR","MENTOR","COMPANY_MENTOR","CAMPUS_MENTOR"],"type":"string","description":"* `IG_MENTOR` - IG Mentor\n* `MENTOR` - Mentor\n* `COMPANY_MENTOR` - Company Mentor\n* `CAMPUS_MENTOR` - Campus Mentor"},"status":{"enum":["PENDING","APPROVED","REJECTED"],"type":"string","description":"* `PENDING` - Pending\n* `APPROVED` - Approved\n* `REJECTED` - Rejected"},"reason":{"type":"string","nullable":true,"maxLength":1000},"verification_note":{"type":"string","nullable":true,"maxLength":500},"verified_at":{"type":"string","format":"date-time","nullable":true}},"required":["org_name","user_email","user_id","user_name"]}}}}
```

## The CompanyMentorNominate object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CompanyMentorNominate":{"type":"object","description":"Nominate an existing platform user as a Company Mentor for the company.\n\nThe nominated user is identified by their ``muid`` (e.g. john-doe@mulearn)\nand must already be linked to the company's Organisation record.","properties":{"muid":{"type":"string","description":"MuID of the platform user to nominate (e.g. john-doe@mulearn)."},"reason":{"type":"string","description":"Optional reason / note to pass with the nomination."}},"required":["muid"]}}}}
```

## The CompanyRegister object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CompanyRegister":{"type":"object","properties":{"name":{"type":"string","maxLength":75},"logo":{"type":"string","nullable":true},"description":{"type":"string"},"short_pitch":{"type":"string","nullable":true,"maxLength":900},"industry_sector":{"type":"string","nullable":true,"maxLength":75},"website_link":{"type":"string","nullable":true},"email":{"type":"string","nullable":true,"maxLength":100},"location":{"type":"string","nullable":true,"maxLength":150},"district_id":{"type":"string","nullable":true},"state_id":{"type":"string","nullable":true},"country_id":{"type":"string","nullable":true},"legal_name":{"type":"string","nullable":true,"maxLength":150},"registration_number":{"type":"string","nullable":true,"maxLength":100},"tax_id":{"type":"string","nullable":true,"maxLength":100},"company_size":{"type":"string","nullable":true,"maxLength":50},"linkedin_url":{"type":"string","nullable":true},"founded_year":{"type":"integer","maximum":65535,"minimum":0,"nullable":true},"remote_policy":{"type":"string","nullable":true,"maxLength":20},"culture_text":{"type":"string","nullable":true},"tech_stack":{"nullable":true},"perks":{"nullable":true},"testimonials":{"nullable":true},"gallery":{"nullable":true}},"required":["description","name"]}}}}
```

## The CompanyTaskCreate object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CompanyTaskCreate":{"type":"object","description":"Serializer for company task creation.\nSimilar to mentor task creation but IG is optional and no IG validation.\nLocked fields (active, approval_status, requested_by, requested_at)\nare injected by the view via serializer.save(**overrides).","properties":{"hashtag":{"type":"string","maxLength":75},"title":{"type":"string","maxLength":75},"karma":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true},"usage_count":{"type":"integer","maximum":2147483647,"minimum":-2147483648},"description":{"type":"string","nullable":true},"type":{"type":"string"},"level":{"type":"string","nullable":true},"created_by":{"type":"string"},"updated_by":{"type":"string"}},"required":["created_by","hashtag","title","type","updated_by"]}}}}
```

## The CompanyTaskList object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CompanyTaskList":{"type":"object","description":"Read-only list/detail serializer for company tasks.","properties":{"id":{"type":"string","maxLength":36},"hashtag":{"type":"string","maxLength":75},"discord_link":{"type":"string","nullable":true,"maxLength":200},"title":{"type":"string","maxLength":75},"description":{"type":"string","nullable":true},"karma":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true},"channel":{"type":"string"},"type":{"type":"string"},"active":{"type":"boolean"},"variable_karma":{"type":"boolean"},"usage_count":{"type":"integer","maximum":2147483647,"minimum":-2147483648},"level":{"type":"string"},"org":{"type":"string"},"ig":{"type":"string"},"event":{"type":"string","nullable":true,"maxLength":50},"bonus_karma":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true},"bonus_time":{"type":"string","format":"date-time","nullable":true},"approval_status":{"enum":["approved","pending","rejected"],"type":"string","description":"* `approved` - Approved\n* `pending` - Pending\n* `rejected` - Rejected"},"rejection_reason":{"type":"string","nullable":true},"reviewed_at":{"type":"string","format":"date-time","nullable":true},"requested_by_name":{"type":"string"},"requested_at":{"type":"string","format":"date-time","nullable":true},"skills":{"type":"string","readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"updated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["created_at","hashtag","skills","title","type","updated_at"]}}}}
```

## The CompanyTaskListResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CompanyTaskListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","additionalProperties":{}}},"pagination":{"type":"object","additionalProperties":{}}},"required":["data","pagination"]}}}}
```

## The CompanyTaskUpdate object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CompanyTaskUpdate":{"type":"object","description":"Partial update serializer — same writable fields as create except created_by.","properties":{"hashtag":{"type":"string","maxLength":75},"title":{"type":"string","maxLength":75},"karma":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true},"usage_count":{"type":"integer","maximum":2147483647,"minimum":-2147483648},"description":{"type":"string","nullable":true},"type":{"type":"string"},"level":{"type":"string","nullable":true},"updated_by":{"type":"string"}},"required":["hashtag","title","type","updated_by"]}}}}
```

## The CompanyUpdate object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CompanyUpdate":{"type":"object","properties":{"name":{"type":"string","maxLength":75},"logo":{"type":"string","nullable":true},"description":{"type":"string"},"short_pitch":{"type":"string","nullable":true,"maxLength":900},"industry_sector":{"type":"string","nullable":true,"maxLength":75},"website_link":{"type":"string","nullable":true},"email":{"type":"string","nullable":true,"maxLength":100},"location":{"type":"string","nullable":true,"maxLength":150},"district_id":{"type":"string","nullable":true},"state_id":{"type":"string","nullable":true},"country_id":{"type":"string","nullable":true},"legal_name":{"type":"string","nullable":true,"maxLength":150},"registration_number":{"type":"string","nullable":true,"maxLength":100},"tax_id":{"type":"string","nullable":true,"maxLength":100},"company_size":{"type":"string","nullable":true,"maxLength":50},"linkedin_url":{"type":"string","nullable":true},"founded_year":{"type":"integer","maximum":65535,"minimum":0,"nullable":true},"remote_policy":{"type":"string","nullable":true,"maxLength":20},"culture_text":{"type":"string","nullable":true},"tech_stack":{"nullable":true},"perks":{"nullable":true},"testimonials":{"nullable":true},"gallery":{"nullable":true}},"required":["description","name"]}}}}
```

## The ContributorAddResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ContributorAddResponse":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}}}
```

## The ContributorList object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ContributorList":{"type":"object","description":"Output shape for GET /comics/{comicId}/contributors/.\nFlattens the ComicContributorLink → User / Comic relations.","properties":{"contributor_id":{"type":"string"},"user_id":{"type":"string"},"role":{"type":"string"},"name":{"type":"string"},"comic_name":{"type":"string"}},"required":["comic_name","contributor_id","name","role","user_id"]}}}}
```

## The ContributorRemoveResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ContributorRemoveResponse":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}}}
```

## The ContributorUpdateResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ContributorUpdateResponse":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}}}
```

## The ContributorWrite object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ContributorWrite":{"type":"object","description":"Input for POST /comics/{comicId}/contributors/.\nResolves `muid` → User object during validation so create() receives a\nready-to-use User instance.","properties":{"muid":{"type":"string"},"role":{"enum":["writer","artist","colorist","editor"],"type":"string","description":"* `writer` - Writer\n* `artist` - Artist\n* `colorist` - Colorist\n* `editor` - Editor"}},"required":["muid","role"]}}}}
```

## The Country object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"Country":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"name":{"type":"string","maxLength":75}},"required":["name"]}}}}
```

## The CouponApplyResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CouponApplyResponse":{"type":"object","properties":{"discount_type":{"type":"string"},"discount_value":{"type":"integer"},"ticket":{"type":"array","items":{"type":"string"}}},"required":["discount_type","discount_value","ticket"]}}}}
```

## The CredentialInfo object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"CredentialInfo":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"}},"required":["description","name"]}}}}
```

## The Department object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"Department":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"title":{"type":"string","maxLength":100}},"required":["title"]}}}}
```

## The DiscordPendingTasksResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"DiscordPendingTasksResponse":{"type":"object","properties":{"peer_pending":{"type":"integer"},"appraise_pending":{"type":"integer"}},"required":["appraise_pending","peer_pending"]}}}}
```

## The District object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"District":{"type":"object","properties":{"name":{"type":"string","maxLength":75},"zone":{"allOf":[{"$ref":"#/components/schemas/Zone"}],"readOnly":true}},"required":["name","zone"]},"Zone":{"type":"object","properties":{"name":{"type":"string","maxLength":75},"state":{"allOf":[{"$ref":"#/components/schemas/State"}],"readOnly":true}},"required":["name","state"]},"State":{"type":"object","properties":{"name":{"type":"string","maxLength":75},"country":{"type":"string","readOnly":true}},"required":["country","name"]}}}}
```

## The Donation object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"Donation":{"type":"object","description":"Serializer for Donation model - payment tracking","properties":{"donation_type":{"enum":["one-time","monthly","yearly"],"type":"string","description":"* `one-time` - one-time\n* `monthly` - monthly\n* `yearly` - yearly"},"order_id":{"type":"string","nullable":true,"maxLength":100},"payment_id":{"type":"string","nullable":true,"maxLength":100},"donation_name":{"type":"string","nullable":true,"maxLength":100},"payment_method":{"type":"string","nullable":true,"maxLength":50},"amount":{"type":"string","format":"decimal","pattern":"^-?\\d{0,10}(?:\\.\\d{0,2})?$"},"currency":{"type":"string","maxLength":10},"is_paid":{"type":"boolean"},"payment_status":{"type":"string","maxLength":30},"reference_code":{"type":"string","nullable":true,"maxLength":50},"proof_url":{"type":"string","nullable":true},"donor":{"type":"string"}},"required":["amount","donation_type","donor"]}}}}
```

## The DynamicTypeDropDownResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"DynamicTypeDropDownResponse":{"type":"object","properties":{"types":{"type":"array","items":{"type":"string"}}},"required":["types"]}}}}
```

## The EligibleStudent object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"EligibleStudent":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"full_name":{"type":"string","maxLength":150},"email":{"type":"string","readOnly":true},"muid":{"type":"string","maxLength":100},"profile_pic":{"type":"string","readOnly":true},"karma":{"type":"integer","default":0},"level":{"type":"string"},"college_name":{"type":"string","readOnly":true},"interest_groups":{"type":"string","readOnly":true},"roles":{"type":"string","readOnly":true},"rank":{"type":"string","readOnly":true},"karma_distribution":{"type":"string","readOnly":true},"application_id":{"type":"string","readOnly":true},"application_status":{"type":"string","readOnly":true},"application_timeline":{"type":"string","readOnly":true},"candidate_links":{"type":"string","readOnly":true}},"required":["application_id","application_status","application_timeline","candidate_links","college_name","email","full_name","interest_groups","karma_distribution","muid","profile_pic","rank","roles"]}}}}
```

## The EventAnalyticsResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"EventAnalyticsResponse":{"type":"object","properties":{"summary":{"type":"object","additionalProperties":{}},"interest_trend":{"type":"array","items":{"type":"object","additionalProperties":{}}},"task_breakdown":{"type":"array","items":{"type":"object","additionalProperties":{}}}},"required":["interest_trend","summary","task_breakdown"]}}}}
```

## The EventCalendarItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"EventCalendarItem":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"title":{"type":"string","maxLength":200},"slug":{"type":"string","maxLength":220},"status":{"enum":["draft","pending_campus_approval","pending_approval","pending_mentor_approval","published","ongoing","completed","cancelled","rejected"],"type":"string","description":"* `draft` - Draft\n* `pending_campus_approval` - Pending Campus Approval\n* `pending_approval` - Pending Approval\n* `pending_mentor_approval` - Pending Mentor Approval\n* `published` - Published\n* `ongoing` - Ongoing\n* `completed` - Completed\n* `cancelled` - Cancelled\n* `rejected` - Rejected"},"start":{"type":"string","format":"date-time","readOnly":true},"end":{"type":"string","format":"date-time","readOnly":true},"venue_type":{"enum":["physical","online","hybrid"],"type":"string","description":"* `physical` - Physical\n* `online` - Online\n* `hybrid` - Hybrid"},"organiser_name":{"type":"string","readOnly":true},"category_name":{"type":"string","readOnly":true,"nullable":true},"is_featured":{"type":"boolean"}},"required":["category_name","end","organiser_name","slug","start","title"]}}}}
```

## The EventCategoryItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"EventCategoryItem":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string","nullable":true}},"required":["description","id","name"]}}}}
```

## The EventCoOwner object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"EventCoOwner":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"entity_id":{"type":"string","maxLength":36},"user":{"type":"string","readOnly":true},"added_by":{"type":"string","readOnly":true},"added_at":{"type":"string","format":"date-time"}},"required":["added_at","added_by","entity_id","user"]}}}}
```

## The EventCollaborationTargets object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"EventCollaborationTargets":{"type":"object","properties":{"ig":{"type":"array","items":{"type":"object","additionalProperties":{}}},"campus":{"type":"array","items":{"type":"object","additionalProperties":{}}},"company":{"type":"array","items":{"type":"object","additionalProperties":{}}},"campus_ig":{"type":"array","items":{"type":"object","additionalProperties":{}}}},"required":["campus","campus_ig","company","ig"]}}}}
```

## The EventCollaborator object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"EventCollaborator":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"entity_type":{"enum":["user_ticket","co_owner","collab_ig","collab_campus","collab_campus_ig","collab_company"],"type":"string","description":"* `user_ticket` - User Ticket\n* `co_owner` - Co-owner\n* `collab_ig` - Collaborating IG\n* `collab_campus` - Collaborating Campus\n* `collab_campus_ig` - Collaborating Campus IG\n* `collab_company` - Collaborating Company"},"entity_id":{"type":"string","maxLength":36},"entity_detail":{"type":"string","readOnly":true},"role_label":{"type":"string","nullable":true,"maxLength":100},"invite_status":{"enum":["pending","accepted","rejected","",null],"type":"string","description":"* `pending` - Pending\n* `accepted` - Accepted\n* `rejected` - Rejected","nullable":true},"rejection_reason":{"type":"string","nullable":true,"maxLength":500},"responded_at":{"type":"string","format":"date-time","nullable":true},"created_at":{"type":"string","format":"date-time","readOnly":true}},"required":["created_at","entity_detail","entity_id","entity_type"]}}}}
```

## The EventDetail object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"EventDetail":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"title":{"type":"string","maxLength":200},"slug":{"type":"string","maxLength":220},"description":{"type":"string","nullable":true},"cover_image":{"type":"string","readOnly":true},"banner_image":{"type":"string","readOnly":true},"category_id":{"type":"string","readOnly":true,"nullable":true},"category_name":{"type":"string","readOnly":true,"nullable":true},"status":{"enum":["draft","pending_campus_approval","pending_approval","pending_mentor_approval","published","ongoing","completed","cancelled","rejected"],"type":"string","description":"* `draft` - Draft\n* `pending_campus_approval` - Pending Campus Approval\n* `pending_approval` - Pending Approval\n* `pending_mentor_approval` - Pending Mentor Approval\n* `published` - Published\n* `ongoing` - Ongoing\n* `completed` - Completed\n* `cancelled` - Cancelled\n* `rejected` - Rejected"},"scope":{"enum":["global","campus","ig","campus_ig","company"],"type":"string","description":"* `global` - Global\n* `campus` - Campus\n* `ig` - Interest Group\n* `campus_ig` - Campus IG\n* `company` - Company"},"event_scope":{"enum":["maker","coder","manager","creative"],"type":"string","description":"* `maker` - Maker\n* `coder` - Coder\n* `manager` - Manager\n* `creative` - Creative"},"event_type":{"enum":["hackathon","workshop","webinar","seminar","bootcamp","meetup","conference","competition","ideathon","cultural_event","sports_event","community_event","expo","networking_event","tech_talk","others"],"type":"string","description":"* `hackathon` - Hackathon\n* `workshop` - Workshop\n* `webinar` - Webinar\n* `seminar` - Seminar\n* `bootcamp` - Bootcamp\n* `meetup` - Meetup\n* `conference` - Conference\n* `competition` - Competition\n* `ideathon` - Ideathon\n* `cultural_event` - Cultural Event\n* `sports_event` - Sports Event\n* `community_event` - Community Event\n* `expo` - Expo\n* `networking_event` - Networking Event\n* `tech_talk` - Tech Talk\n* `others` - Others"},"scope_org":{"allOf":[{"$ref":"#/components/schemas/MinimalCampus"}],"readOnly":true,"nullable":true},"scope_ig":{"allOf":[{"$ref":"#/components/schemas/MinimalIG"}],"readOnly":true,"nullable":true},"scope_ci_id":{"type":"string","nullable":true,"maxLength":36},"organizer":{"$ref":"#/components/schemas/OrganizerInfo"},"venue":{"$ref":"#/components/schemas/EventVenue"},"start_datetime":{"type":"string","format":"date-time"},"end_datetime":{"type":"string","format":"date-time"},"registration_url":{"type":"string","nullable":true,"maxLength":500},"registration_deadline":{"type":"string","format":"date-time","nullable":true},"min_karma":{"type":"integer","maximum":9223372036854776000,"minimum":-9223372036854776000,"format":"int64","nullable":true},"is_featured":{"type":"boolean"},"is_collaboration":{"type":"boolean"},"interest_count":{"type":"integer","maximum":4294967295,"minimum":0,"format":"int64"},"tags":{"nullable":true},"user_limit":{"type":"integer","maximum":4294967295,"minimum":0,"format":"int64"},"linked_tasks":{"type":"string","readOnly":true},"co_owners":{"type":"string","readOnly":true},"collaborators":{"type":"string","readOnly":true},"viewer_interest_status":{"type":"string","readOnly":true},"viewer_can_access_registration":{"type":"string","readOnly":true},"viewer_access_blocked_reason":{"type":"string","readOnly":true},"created_by":{"allOf":[{"$ref":"#/components/schemas/MinimalUser"}],"readOnly":true},"updated_by":{"allOf":[{"$ref":"#/components/schemas/MinimalUser"}],"readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"updated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["banner_image","category_id","category_name","co_owners","collaborators","cover_image","created_at","created_by","end_datetime","event_scope","linked_tasks","organizer","scope_ig","scope_org","slug","start_datetime","title","updated_at","updated_by","venue","viewer_access_blocked_reason","viewer_can_access_registration","viewer_interest_status"]},"MinimalCampus":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"title":{"type":"string","maxLength":100},"org_type":{"type":"string","maxLength":25}},"required":["org_type","title"]},"MinimalIG":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"name":{"type":"string","maxLength":75},"icon":{"type":"string","maxLength":10}},"required":["icon","name"]},"OrganizerInfo":{"type":"object","description":"Reads organiser fields off the Event model directly.","properties":{"organiser_type":{"type":"string"},"organiser_ig":{"type":"string","readOnly":true},"organiser_campus":{"type":"string","readOnly":true},"organiser_company":{"type":"string","readOnly":true},"organiser_ci_id":{"type":"string","nullable":true}},"required":["organiser_campus","organiser_company","organiser_ig","organiser_type"]},"EventVenue":{"type":"object","description":"Flattens venue_* fields from the Event model.","properties":{"venue_type":{"type":"string"},"venue_address":{"type":"string","nullable":true},"venue_city":{"type":"string","nullable":true},"venue_maps_url":{"type":"string","format":"uri","nullable":true},"venue_online_link":{"type":"string","nullable":true},"venue_platform":{"type":"string","nullable":true}},"required":["venue_type"]},"MinimalUser":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"full_name":{"type":"string","maxLength":150},"muid":{"type":"string","maxLength":100},"profile_pic":{"type":"string","readOnly":true}},"required":["full_name","muid","profile_pic"]}}}}
```

## The EventInterestCreateResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"EventInterestCreateResponse":{"type":"object","properties":{"event_id":{"type":"string"},"user_id":{"type":"string"},"status":{"type":"string"}},"required":["event_id","status","user_id"]}}}}
```

## The EventListItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"EventListItem":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"title":{"type":"string","maxLength":200},"slug":{"type":"string","maxLength":220},"cover_image":{"type":"string","readOnly":true},"status":{"enum":["draft","pending_campus_approval","pending_approval","pending_mentor_approval","published","ongoing","completed","cancelled","rejected"],"type":"string","description":"* `draft` - Draft\n* `pending_campus_approval` - Pending Campus Approval\n* `pending_approval` - Pending Approval\n* `pending_mentor_approval` - Pending Mentor Approval\n* `published` - Published\n* `ongoing` - Ongoing\n* `completed` - Completed\n* `cancelled` - Cancelled\n* `rejected` - Rejected"},"scope":{"enum":["global","campus","ig","campus_ig","company"],"type":"string","description":"* `global` - Global\n* `campus` - Campus\n* `ig` - Interest Group\n* `campus_ig` - Campus IG\n* `company` - Company"},"event_scope":{"enum":["maker","coder","manager","creative"],"type":"string","description":"* `maker` - Maker\n* `coder` - Coder\n* `manager` - Manager\n* `creative` - Creative"},"event_type":{"enum":["hackathon","workshop","webinar","seminar","bootcamp","meetup","conference","competition","ideathon","cultural_event","sports_event","community_event","expo","networking_event","tech_talk","others"],"type":"string","description":"* `hackathon` - Hackathon\n* `workshop` - Workshop\n* `webinar` - Webinar\n* `seminar` - Seminar\n* `bootcamp` - Bootcamp\n* `meetup` - Meetup\n* `conference` - Conference\n* `competition` - Competition\n* `ideathon` - Ideathon\n* `cultural_event` - Cultural Event\n* `sports_event` - Sports Event\n* `community_event` - Community Event\n* `expo` - Expo\n* `networking_event` - Networking Event\n* `tech_talk` - Tech Talk\n* `others` - Others"},"start_datetime":{"type":"string","format":"date-time"},"end_datetime":{"type":"string","format":"date-time"},"venue":{"$ref":"#/components/schemas/EventVenue"},"organizer":{"$ref":"#/components/schemas/OrganizerInfo"},"is_featured":{"type":"boolean"},"is_collaboration":{"type":"boolean"},"interest_count":{"type":"integer","maximum":4294967295,"minimum":0,"format":"int64"},"min_karma":{"type":"integer","maximum":9223372036854776000,"minimum":-9223372036854776000,"format":"int64","nullable":true},"tags":{"nullable":true},"user_limit":{"type":"integer","maximum":4294967295,"minimum":0,"format":"int64"},"category_id":{"type":"string","readOnly":true,"nullable":true},"category_name":{"type":"string","readOnly":true,"nullable":true},"viewer_interest_status":{"type":"string","readOnly":true}},"required":["category_id","category_name","cover_image","end_datetime","event_scope","organizer","slug","start_datetime","title","venue","viewer_interest_status"]},"EventVenue":{"type":"object","description":"Flattens venue_* fields from the Event model.","properties":{"venue_type":{"type":"string"},"venue_address":{"type":"string","nullable":true},"venue_city":{"type":"string","nullable":true},"venue_maps_url":{"type":"string","format":"uri","nullable":true},"venue_online_link":{"type":"string","nullable":true},"venue_platform":{"type":"string","nullable":true}},"required":["venue_type"]},"OrganizerInfo":{"type":"object","description":"Reads organiser fields off the Event model directly.","properties":{"organiser_type":{"type":"string"},"organiser_ig":{"type":"string","readOnly":true},"organiser_campus":{"type":"string","readOnly":true},"organiser_company":{"type":"string","readOnly":true},"organiser_ci_id":{"type":"string","nullable":true}},"required":["organiser_campus","organiser_company","organiser_ig","organiser_type"]}}}}
```

## The EventOrganizerOptions object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"EventOrganizerOptions":{"type":"object","properties":{"can_create_as_ig":{"type":"array","items":{"type":"object","additionalProperties":{}}},"can_create_as_campus_ig":{"type":"array","items":{"type":"object","additionalProperties":{}}},"can_create_as_campus":{"type":"array","items":{"type":"object","additionalProperties":{}}},"can_create_as_company":{"type":"array","items":{"type":"object","additionalProperties":{}}},"can_create_as_admin":{"type":"boolean"},"campus_context":{"type":"object","additionalProperties":{},"nullable":true}},"required":["campus_context","can_create_as_admin","can_create_as_campus","can_create_as_campus_ig","can_create_as_company","can_create_as_ig"]}}}}
```

## The EventPublishResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"EventPublishResponse":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"}},"required":["id","status"]}}}}
```

## The EventTask object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"EventTask":{"type":"object","description":"Read serializer for event-linked tasks (list + detail responses).","properties":{"id":{"type":"string","maxLength":36},"hashtag":{"type":"string","maxLength":75},"title":{"type":"string","maxLength":75},"description":{"type":"string","nullable":true},"karma":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true},"approval_status":{"enum":["approved","pending","rejected"],"type":"string","description":"* `approved` - Approved\n* `pending` - Pending\n* `rejected` - Rejected"},"active":{"type":"boolean"},"type":{"type":"string","readOnly":true},"ig":{"allOf":[{"$ref":"#/components/schemas/MinimalIG"}],"readOnly":true},"level":{"type":"string","readOnly":true},"channel":{"type":"string"},"org":{"type":"string"},"variable_karma":{"type":"boolean"},"usage_count":{"type":"integer","maximum":2147483647,"minimum":-2147483648},"bonus_time":{"type":"string","format":"date-time","nullable":true},"bonus_karma":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true},"created_by":{"allOf":[{"$ref":"#/components/schemas/MinimalUser"}],"readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"updated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["created_at","created_by","hashtag","ig","level","title","type","updated_at"]},"MinimalIG":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"name":{"type":"string","maxLength":75},"icon":{"type":"string","maxLength":10}},"required":["icon","name"]},"MinimalUser":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"full_name":{"type":"string","maxLength":150},"muid":{"type":"string","maxLength":100},"profile_pic":{"type":"string","readOnly":true}},"required":["full_name","muid","profile_pic"]}}}}
```

## The EventTaskDeleteResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"EventTaskDeleteResponse":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}}}}
```

## The EventTaskMetaResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"EventTaskMetaResponse":{"type":"object","properties":{"task_types":{"type":"array","items":{"type":"object","additionalProperties":{}}},"interest_groups":{"type":"array","items":{"type":"object","additionalProperties":{}}},"levels":{"type":"array","items":{"type":"object","additionalProperties":{}}},"channels":{"type":"array","items":{"type":"object","additionalProperties":{}}},"organizations":{"type":"array","items":{"type":"object","additionalProperties":{}}}},"required":["channels","interest_groups","levels","organizations","task_types"]}}}}
```

## The EventTaskWrite object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"EventTaskWrite":{"type":"object","description":"Write serializer for creating/updating event-linked tasks.","properties":{"hashtag":{"type":"string","maxLength":75},"title":{"type":"string","maxLength":75},"description":{"type":"string","nullable":true},"karma":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true},"type":{"type":"string"},"ig":{"type":"string","nullable":true},"level":{"type":"string","nullable":true},"org":{"type":"string","nullable":true},"bonus_time":{"type":"string","format":"date-time","nullable":true}},"required":["hashtag","title","type"]}}}}
```

## The EventTypesScopesResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"EventTypesScopesResponse":{"type":"object","properties":{"event_type":{"type":"array","items":{"type":"string"}},"event_scope":{"type":"array","items":{"type":"string"}}},"required":["event_scope","event_type"]}}}}
```

## The EventVenue object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"EventVenue":{"type":"object","description":"Flattens venue_* fields from the Event model.","properties":{"venue_type":{"type":"string"},"venue_address":{"type":"string","nullable":true},"venue_city":{"type":"string","nullable":true},"venue_maps_url":{"type":"string","format":"uri","nullable":true},"venue_online_link":{"type":"string","nullable":true},"venue_platform":{"type":"string","nullable":true}},"required":["venue_type"]}}}}
```

## The EventWrite object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"EventWrite":{"type":"object","description":"Input serializer for POST /manage/ and PUT/PATCH /manage/<id>/.","properties":{"title":{"type":"string","maxLength":200},"description":{"type":"string","nullable":true},"cover_image":{"type":"string","nullable":true,"maxLength":512},"banner_image":{"type":"string","nullable":true,"maxLength":512},"category":{"type":"string","nullable":true},"start_datetime":{"type":"string","format":"date-time"},"end_datetime":{"type":"string","format":"date-time"},"registration_url":{"type":"string","nullable":true,"maxLength":500},"registration_deadline":{"type":"string","format":"date-time","nullable":true},"min_karma":{"type":"integer","maximum":9223372036854776000,"minimum":-9223372036854776000,"format":"int64","nullable":true},"venue_type":{"enum":["physical","online","hybrid"],"type":"string","description":"* `physical` - Physical\n* `online` - Online\n* `hybrid` - Hybrid"},"venue_address":{"type":"string","nullable":true,"maxLength":300},"venue_city":{"type":"string","nullable":true,"maxLength":100},"venue_maps_url":{"type":"string","nullable":true,"maxLength":500},"venue_online_link":{"type":"string","nullable":true,"maxLength":500},"venue_platform":{"type":"string","nullable":true,"maxLength":100},"scope":{"enum":["global","campus","ig","campus_ig","company"],"type":"string","description":"* `global` - Global\n* `campus` - Campus\n* `ig` - Interest Group\n* `campus_ig` - Campus IG\n* `company` - Company"},"scope_org":{"type":"string","nullable":true},"scope_ig":{"type":"string","nullable":true},"scope_ci_id":{"type":"string","nullable":true,"maxLength":36},"organiser_type":{"enum":["global_ig","campus_ig","campus","company","admin"],"type":"string","description":"* `global_ig` - Global IG\n* `campus_ig` - Campus IG\n* `campus` - Campus\n* `company` - Company\n* `admin` - Admin"},"organiser_ig":{"type":"string","nullable":true},"organiser_org":{"type":"string","nullable":true},"organiser_ci_id":{"type":"string","nullable":true,"maxLength":36},"is_collaboration":{"type":"boolean"},"is_featured":{"type":"boolean"},"tags":{"nullable":true},"user_limit":{"type":"integer","maximum":4294967295,"minimum":0,"format":"int64"},"event_scope":{"enum":["maker","coder","manager","creative"],"type":"string","description":"* `maker` - Maker\n* `coder` - Coder\n* `manager` - Manager\n* `creative` - Creative"},"event_type":{"enum":["hackathon","workshop","webinar","seminar","bootcamp","meetup","conference","competition","ideathon","cultural_event","sports_event","community_event","expo","networking_event","tech_talk","others"],"type":"string","description":"* `hackathon` - Hackathon\n* `workshop` - Workshop\n* `webinar` - Webinar\n* `seminar` - Seminar\n* `bootcamp` - Bootcamp\n* `meetup` - Meetup\n* `conference` - Conference\n* `competition` - Competition\n* `ideathon` - Ideathon\n* `cultural_event` - Cultural Event\n* `sports_event` - Sports Event\n* `community_event` - Community Event\n* `expo` - Expo\n* `networking_event` - Networking Event\n* `tech_talk` - Tech Talk\n* `others` - Others"}},"required":["end_datetime","start_datetime","title"]}}}}
```

## The ExternalUserDetails object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ExternalUserDetails":{"type":"object","description":"Serializer for external API to fetch basic public user details.\n\nThis serializer is specifically designed for external website integration,\nreturning only non-sensitive public information about users.\n\nExcludes: email, mobile, password, and other sensitive fields","properties":{"full_name":{"type":"string","maxLength":150},"muid":{"type":"string","maxLength":100},"interest_groups":{"type":"string","readOnly":true},"organizations":{"type":"string","readOnly":true},"profile_pic":{"type":"string","readOnly":true},"karma":{"type":"integer","default":0}},"required":["full_name","interest_groups","muid","organizations","profile_pic"]}}}}
```

## The ForgotPassword object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ForgotPassword":{"type":"object","properties":{"email":{"type":"string","format":"email"},"user_type":{"enum":["company","recruiter"],"type":"string","description":"* `company` - Company\n* `recruiter` - Recruiter"}},"required":["email","user_type"]}}}}
```

## The GenreDeactivateResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"GenreDeactivateResponse":{"type":"object","properties":{"id":{"type":"string"},"is_active":{"type":"boolean"}},"required":["id","is_active"]}}}}
```

## The GenreMinimalObj object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"GenreMinimalObj":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"}},"required":["id","name","slug"]}}}}
```

## The GenreRead object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"GenreRead":{"type":"object","description":"Output shape for genre list / detail responses.","properties":{"id":{"type":"string","maxLength":36},"name":{"type":"string","maxLength":75},"slug":{"type":"string","maxLength":75},"is_active":{"type":"boolean"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["created_at","name","slug","updated_at"]}}}}
```

## The GenreReinstateResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"GenreReinstateResponse":{"type":"object","properties":{"id":{"type":"string"},"is_active":{"type":"boolean"}},"required":["id","is_active"]}}}}
```

## The GenreWrite object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"GenreWrite":{"type":"object","description":"Input serializer for POST /comics/genres/ and PATCH /comics/genres/<id>/.\nCaller only sends `name`; slug and audit fields are set internally.","properties":{"name":{"type":"string","maxLength":75}},"required":["name"]}}}}
```

## The GetUserLink object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"GetUserLink":{"type":"object","properties":{"org_id":{"type":"string"},"org_title":{"type":"string"},"dept_id":{"type":"string","nullable":true},"dept_title":{"type":"string","nullable":true},"is_alumni":{"type":"boolean"}},"required":["is_alumni","org_id","org_title"]}}}}
```

## The HomeLearnerDashboardStats object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"HomeLearnerDashboardStats":{"type":"object","properties":{"weekly_karma":{"type":"integer"},"total_karma":{"type":"integer"},"rank":{"type":"integer"},"active_circles":{"type":"integer"},"streak_days":{"type":"integer"}},"required":["active_circles","rank","streak_days","total_karma","weekly_karma"]}}}}
```

## The HomeLearnerDashboardSummaryResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"HomeLearnerDashboardSummaryResponse":{"type":"object","properties":{"stats":{"$ref":"#/components/schemas/HomeLearnerDashboardStats"},"next_meeting":{"nullable":true},"quick_action_counts":{"$ref":"#/components/schemas/HomeLearnerQuickActionCounts"}},"required":["next_meeting","quick_action_counts","stats"]},"HomeLearnerDashboardStats":{"type":"object","properties":{"weekly_karma":{"type":"integer"},"total_karma":{"type":"integer"},"rank":{"type":"integer"},"active_circles":{"type":"integer"},"streak_days":{"type":"integer"}},"required":["active_circles","rank","streak_days","total_karma","weekly_karma"]},"HomeLearnerQuickActionCounts":{"type":"object","properties":{"circles":{"type":"integer"},"leaderboard_rank":{"type":"integer"},"job_openings":{"type":"integer"}},"required":["circles","job_openings","leaderboard_rank"]}}}}
```

## The HomeLearnerQuickActionCounts object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"HomeLearnerQuickActionCounts":{"type":"object","properties":{"circles":{"type":"integer"},"leaderboard_rank":{"type":"integer"},"job_openings":{"type":"integer"}},"required":["circles","job_openings","leaderboard_rank"]}}}}
```

## The HomeLearnerStreakResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"HomeLearnerStreakResponse":{"type":"object","properties":{"streak_days":{"type":"integer"},"last_activity_at":{"type":"string","nullable":true},"activity_dates":{"type":"array","items":{"type":"string"}}},"required":["activity_dates","last_activity_at","streak_days"]}}}}
```

## The IGMentorLeaderboard object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"IGMentorLeaderboard":{"type":"object","properties":{"mentor_id":{"type":"string"},"mentor_name":{"type":"string"},"profile_pic":{"type":"string","readOnly":true},"ig_name":{"type":"string","readOnly":true},"total_karma":{"type":"integer"},"completed_sessions":{"type":"integer"},"rank":{"type":"string","readOnly":true}},"required":["completed_sessions","ig_name","mentor_id","mentor_name","profile_pic","rank","total_karma"]}}}}
```

## The InstitutesRetrival object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"InstitutesRetrival":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"title":{"type":"string","maxLength":100},"district":{"type":"string"}},"required":["district","title"]}}}}
```

## The Institution object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"Institution":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"title":{"type":"string","maxLength":100},"code":{"type":"string","maxLength":12},"affiliation":{"type":"string","readOnly":true},"district":{"type":"string","readOnly":true},"zone":{"type":"string","readOnly":true},"state":{"type":"string","readOnly":true},"country":{"type":"string","readOnly":true},"user_count":{"type":"string","readOnly":true}},"required":["affiliation","code","country","district","state","title","user_count","zone"]}}}}
```

## The Integration object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"Integration":{"type":"object","properties":{"param":{"type":"string"},"title":{"type":"string"}},"required":["param","title"]}}}}
```

## The InterestGroup object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"InterestGroup":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"name":{"type":"string","maxLength":75},"resource":{"type":"string","nullable":true},"about":{"type":"string","nullable":true},"prerequisites":{"type":"string","nullable":true},"career_opportunities":{"type":"string","nullable":true},"top_blogs":{"type":"string","nullable":true},"people_to_follow":{"type":"string","nullable":true},"leads":{"type":"string","nullable":true},"mentors":{"type":"string","nullable":true},"thinktank":{"type":"string","nullable":true},"office_hours":{"type":"string","nullable":true,"maxLength":200},"icon":{"type":"string","maxLength":10},"code":{"type":"string","maxLength":10},"category":{"enum":["maker","coder","creative","manager","others"],"type":"string","description":"* `maker` - maker\n* `coder` - coder\n* `creative` - creative\n* `manager` - manager\n* `others` - others"},"status":{"enum":["active","requested","cancelled","rejected"],"type":"string","description":"* `active` - active\n* `requested` - requested\n* `cancelled` - cancelled\n* `rejected` - rejected"},"members":{"type":"string","readOnly":true},"updated_by":{"type":"string"},"updated_at":{"type":"string","format":"date-time","readOnly":true},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time","readOnly":true}},"required":["category","code","created_at","created_by","icon","members","name","status","updated_at","updated_by"]}}}}
```

## The IssueVC object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"IssueVC":{"type":"object","properties":{"subject_info":{"$ref":"#/components/schemas/SubjectInfo"},"credential_info":{"$ref":"#/components/schemas/CredentialInfo"},"template_id":{"type":"string"}},"required":["credential_info","subject_info","template_id"]},"SubjectInfo":{"type":"object","properties":{"type":{"type":"string"},"did":{"type":"string"},"full_name":{"type":"string"},"email":{"type":"string","format":"email"},"phone":{"type":"string"}},"required":["did","email","full_name","type"]},"CredentialInfo":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"}},"required":["description","name"]}}}}
```

## The JobApplication object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"JobApplication":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"job":{"type":"string"},"resume_link":{"type":"string","nullable":true},"cover_letter":{"type":"string","nullable":true},"status":{"type":"string","readOnly":true}},"required":["id","job","status"]}}}}
```

## The JobCreate object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"JobCreate":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"title":{"type":"string","maxLength":75},"experience":{"type":"string","nullable":true,"maxLength":20},"job_description":{"type":"string","nullable":true},"location":{"type":"string","nullable":true,"maxLength":75},"salary_range":{"type":"string","nullable":true,"maxLength":36},"job_type":{"type":"string","maxLength":20},"duration_value":{"type":"integer","maximum":65535,"minimum":0,"nullable":true},"duration_unit":{"type":"string","nullable":true,"maxLength":20},"hourly_rate":{"type":"string","format":"decimal","pattern":"^-?\\d{0,8}(?:\\.\\d{0,2})?$","nullable":true},"deliverables":{"nullable":true},"stipend":{"type":"string","nullable":true,"maxLength":75},"certificate_provided":{"type":"string","nullable":true,"maxLength":3},"rules":{"type":"array","items":{"$ref":"#/components/schemas/JobRule"}}},"required":["id","job_type","title"]},"JobRule":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"rule_type":{"type":"string","maxLength":50},"rule_value":{"type":"string","maxLength":150}},"required":["id","rule_type","rule_value"]}}}}
```

## The JobList object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"JobList":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"company_name":{"type":"string","readOnly":true},"company_logo":{"type":"string","readOnly":true},"title":{"type":"string","maxLength":75},"experience":{"type":"string","nullable":true,"maxLength":20},"job_description":{"type":"string","nullable":true},"location":{"type":"string","nullable":true,"maxLength":75},"salary_range":{"type":"string","nullable":true,"maxLength":36},"job_type":{"type":"string","maxLength":20},"status":{"type":"string","maxLength":20},"duration_value":{"type":"integer","maximum":65535,"minimum":0,"nullable":true},"duration_unit":{"type":"string","nullable":true,"maxLength":20},"hourly_rate":{"type":"string","format":"decimal","pattern":"^-?\\d{0,8}(?:\\.\\d{0,2})?$","nullable":true},"deliverables":{"nullable":true},"stipend":{"type":"string","nullable":true,"maxLength":75},"certificate_provided":{"type":"string","nullable":true,"maxLength":3},"rules":{"type":"array","items":{"$ref":"#/components/schemas/JobRule"},"readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true}},"required":["company_logo","company_name","created_at","job_type","rules","title"]},"JobRule":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"rule_type":{"type":"string","maxLength":50},"rule_value":{"type":"string","maxLength":150}},"required":["id","rule_type","rule_value"]}}}}
```

## The JobRule object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"JobRule":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"rule_type":{"type":"string","maxLength":50},"rule_value":{"type":"string","maxLength":150}},"required":["id","rule_type","rule_value"]}}}}
```

## The JobUpdate object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"JobUpdate":{"type":"object","properties":{"title":{"type":"string","maxLength":75},"experience":{"type":"string","nullable":true,"maxLength":20},"job_description":{"type":"string","nullable":true},"location":{"type":"string","nullable":true,"maxLength":75},"salary_range":{"type":"string","nullable":true,"maxLength":36},"job_type":{"type":"string","maxLength":20},"status":{"type":"string","maxLength":20},"duration_value":{"type":"integer","maximum":65535,"minimum":0,"nullable":true},"duration_unit":{"type":"string","nullable":true,"maxLength":20},"hourly_rate":{"type":"string","format":"decimal","pattern":"^-?\\d{0,8}(?:\\.\\d{0,2})?$","nullable":true},"deliverables":{"nullable":true},"stipend":{"type":"string","nullable":true,"maxLength":75},"certificate_provided":{"type":"string","nullable":true,"maxLength":3},"rules":{"type":"array","items":{"$ref":"#/components/schemas/JobRule"}}},"required":["job_type","title"]},"JobRule":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"rule_type":{"type":"string","maxLength":50},"rule_value":{"type":"string","maxLength":150}},"required":["id","rule_type","rule_value"]}}}}
```

## The KKEMUser object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"KKEMUser":{"type":"object","properties":{"mu_id":{"type":"string"},"email":{"type":"string","format":"email","maxLength":200},"jsid":{"type":"string","readOnly":true},"total_karma":{"type":"string","readOnly":true},"interest_groups":{"type":"string","readOnly":true}},"required":["email","interest_groups","jsid","mu_id","total_karma"]}}}}
```

## The KarmaActivityLog object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"KarmaActivityLog":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"full_name":{"type":"string"},"task_name":{"type":"string"},"status":{"type":"string","readOnly":true},"discordlink":{"type":"string"}},"required":["discordlink","full_name","status","task_name"]}}}}
```

## The KkemAuthorizationPatchResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"KkemAuthorizationPatchResponse":{"type":"object","properties":{"accessToken":{"type":"string"},"refreshToken":{"type":"string"}},"required":["accessToken","refreshToken"]}}}}
```

## The KkemIntegrationLoginDataResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"KkemIntegrationLoginDataResponse":{"type":"object","properties":{"email":{"type":"string"},"full_name":{"type":"string"},"muid":{"type":"string"},"link_id":{"type":"string"},"verified":{"type":"boolean"}},"required":["email","full_name","link_id","muid","verified"]}}}}
```

## The KkemIntegrationLoginResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"KkemIntegrationLoginResponse":{"type":"object","properties":{"accessToken":{"type":"string"},"refreshToken":{"type":"string"},"data":{"allOf":[{"$ref":"#/components/schemas/KkemIntegrationLoginDataResponse"}],"nullable":true}},"required":["accessToken","refreshToken"]},"KkemIntegrationLoginDataResponse":{"type":"object","properties":{"email":{"type":"string"},"full_name":{"type":"string"},"muid":{"type":"string"},"link_id":{"type":"string"},"verified":{"type":"boolean"}},"required":["email","full_name","link_id","muid","verified"]}}}}
```

## The LaunchPadID object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchPadID":{"type":"object","properties":{"launchpad_id":{"type":"string","maxLength":100}},"required":["launchpad_id"]}}}}
```

## The LaunchpadAcceptedStudentsResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadAcceptedStudentsResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","additionalProperties":{}}},"pagination":{"type":"object","additionalProperties":{}}},"required":["data","pagination"]}}}}
```

## The LaunchpadApplicationDecisionResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadApplicationDecisionResponse":{"type":"object","properties":{"application_id":{"type":"string"},"decision":{"type":"string"},"previous_status":{"type":"string"},"decision_made_at":{"type":"string","format":"date-time"},"decision_made_by":{"type":"object","additionalProperties":{}},"student_info":{"type":"object","additionalProperties":{}},"job_info":{"type":"object","additionalProperties":{}},"application_timeline":{"type":"object","additionalProperties":{}}},"required":["application_id","application_timeline","decision","decision_made_at","decision_made_by","job_info","previous_status","student_info"]}}}}
```

## The LaunchpadCompanies object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadCompanies":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"name":{"type":"string","maxLength":100},"poc_name":{"type":"string","maxLength":100},"poc_role":{"type":"string","maxLength":100},"poc_email":{"type":"string","maxLength":100},"website":{"type":"string","format":"uri","nullable":true,"maxLength":200},"description":{"type":"string","nullable":true},"address":{"type":"string","nullable":true,"maxLength":255},"poc_phone":{"type":"string","maxLength":20},"username":{"type":"string","maxLength":50},"password":{"type":"string","maxLength":255},"is_verified":{"type":"boolean"},"created_at":{"type":"string","format":"date-time","readOnly":true},"updated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["created_at","id","name","password","poc_email","poc_name","poc_phone","poc_role","updated_at","username"]}}}}
```

## The LaunchpadCompanyInfoResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadCompanyInfoResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"username":{"type":"string"},"poc_name":{"type":"string","nullable":true},"poc_role":{"type":"string","nullable":true},"poc_email":{"type":"string","nullable":true},"poc_phone":{"type":"string","nullable":true},"website":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"address":{"type":"string","nullable":true},"is_verified":{"type":"boolean"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"recruiters":{"type":"array","items":{"type":"object","additionalProperties":{}}}},"required":["address","created_at","description","id","is_verified","name","poc_email","poc_name","poc_phone","poc_role","recruiters","updated_at","username","website"]}}}}
```

## The LaunchpadCompanyPublic object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadCompanyPublic":{"type":"object","properties":{"name":{"type":"string","maxLength":100},"website":{"type":"string","format":"uri","nullable":true,"maxLength":200}},"required":["name"]}}}}
```

## The LaunchpadDetailsCountResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadDetailsCountResponse":{"type":"object","properties":{"total_participants":{"type":"integer"},"Level_1":{"type":"integer"},"Level_2":{"type":"integer"},"Level_3":{"type":"integer"},"Level_4":{"type":"integer"}},"required":["Level_1","Level_2","Level_3","Level_4","total_participants"]}}}}
```

## The LaunchpadHireRequestsResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadHireRequestsResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","additionalProperties":{}}},"pagination":{"type":"object","additionalProperties":{}}},"required":["data","pagination"]}}}}
```

## The LaunchpadIGLeaderboardResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadIGLeaderboardResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","additionalProperties":{}}},"pagination":{"type":"object","additionalProperties":{}}},"required":["data","pagination"]}}}}
```

## The LaunchpadJobUpdate object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadJobUpdate":{"type":"object","properties":{"title":{"type":"string","maxLength":100},"skills":{"type":"string","nullable":true,"maxLength":255},"experience":{"type":"string","nullable":true,"maxLength":255},"location":{"type":"string","nullable":true,"maxLength":255},"salary_range":{"type":"string","nullable":true,"maxLength":50},"job_type":{"type":"string","nullable":true,"maxLength":50},"interest_groups":{"type":"string","maxLength":255},"opening_type":{"enum":["General","Task"],"type":"string","description":"* `General` - General\n* `Task` - Task"},"task_description":{"type":"string"},"hashtags":{"type":"string"}}}}}}
```

## The LaunchpadJobs object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadJobs":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"company":{"type":"string"},"recruiter":{"type":"string"},"title":{"type":"string","maxLength":100},"skills":{"type":"string","nullable":true},"experience":{"type":"string","nullable":true},"domain":{"type":"string","maxLength":255},"opening_type":{"type":"string","nullable":true,"default":"General"},"location":{"type":"string","nullable":true,"maxLength":255},"salary_range":{"type":"string","nullable":true,"maxLength":50},"job_type":{"type":"string","nullable":true,"maxLength":50},"minimum_karma":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true},"interest_groups":{"type":"string","maxLength":255},"task":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"updated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["company","created_at","domain","id","interest_groups","recruiter","title","updated_at"]}}}}
```

## The LaunchpadLeaderBoard object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadLeaderBoard":{"type":"object","properties":{"rank":{"type":"integer"},"full_name":{"type":"string","maxLength":150},"actual_karma":{"type":"integer"},"karma":{"type":"integer"},"org":{"type":"string","nullable":true},"district_name":{"type":"string","nullable":true},"state":{"type":"string","nullable":true},"launchpad_id":{"allOf":[{"$ref":"#/components/schemas/LaunchPadID"}],"readOnly":true}},"required":["district_name","full_name","karma","launchpad_id","org","rank","state"]},"LaunchPadID":{"type":"object","properties":{"launchpad_id":{"type":"string","maxLength":100}},"required":["launchpad_id"]}}}}
```

## The LaunchpadListJobsResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadListJobsResponse":{"type":"object","properties":{"jobs":{"type":"array","items":{"type":"object","additionalProperties":{}}},"summary":{"type":"object","additionalProperties":{}}},"required":["jobs","summary"]}}}}
```

## The LaunchpadLoginCompanyResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadLoginCompanyResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"username":{"type":"string"},"poc_name":{"type":"string","nullable":true},"poc_email":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time"},"accessToken":{"type":"string"},"refreshToken":{"type":"string"}},"required":["accessToken","created_at","id","name","poc_email","poc_name","refreshToken","username"]}}}}
```

## The LaunchpadLoginRecruiterResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadLoginRecruiterResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string","nullable":true},"role":{"type":"string","nullable":true},"company_id":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"accessToken":{"type":"string"},"refreshToken":{"type":"string"}},"required":["accessToken","company_id","created_at","email","id","name","phone","refreshToken","role"]}}}}
```

## The LaunchpadParticipants object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadParticipants":{"type":"object","properties":{"full_name":{"type":"string","maxLength":150},"level":{"type":"string","nullable":true},"org":{"type":"string","nullable":true},"district_name":{"type":"string","nullable":true},"state":{"type":"string","nullable":true}},"required":["district_name","full_name","level","org","state"]}}}}
```

## The LaunchpadRecruiter object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadRecruiter":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"company":{"type":"string"},"name":{"type":"string","maxLength":100},"email":{"type":"string","maxLength":100},"phone":{"type":"string","maxLength":20},"password":{"type":"string","maxLength":255},"role":{"type":"string","nullable":true,"maxLength":50},"created_at":{"type":"string","format":"date-time","readOnly":true},"updated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["company","created_at","email","id","name","password","phone","updated_at"]}}}}
```

## The LaunchpadRecruiterInfoResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadRecruiterInfoResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string","nullable":true},"role":{"type":"string","nullable":true},"company_id":{"type":"string"},"company_name":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["company_id","company_name","created_at","email","id","name","phone","role","updated_at"]}}}}
```

## The LaunchpadRefreshTokenResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadRefreshTokenResponse":{"type":"object","properties":{"accessToken":{"type":"string"},"refreshToken":{"type":"string"}},"required":["accessToken","refreshToken"]}}}}
```

## The LaunchpadScheduleInterviewResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadScheduleInterviewResponse":{"type":"object","properties":{"application_id":{"type":"string"},"interview_date":{"type":"string","format":"date"},"interview_platform":{"type":"string","nullable":true},"interview_time":{"type":"string","format":"time","nullable":true},"status":{"type":"string"}},"required":["application_id","interview_date","interview_platform","interview_time","status"]}}}}
```

## The LaunchpadSendInvitationsResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadSendInvitationsResponse":{"type":"object","properties":{"job_info":{"type":"object","additionalProperties":{}},"invitation_summary":{"type":"object","additionalProperties":{}},"invited_students":{"type":"array","items":{"type":"object","additionalProperties":{}}},"already_invited_students":{"type":"array","items":{"type":"object","additionalProperties":{}}}},"required":["already_invited_students","invitation_summary","invited_students","job_info"]}}}}
```

## The LaunchpadStudentApplyResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadStudentApplyResponse":{"type":"object","properties":{"application_id":{"type":"string"},"job_info":{"type":"object","additionalProperties":{}},"application_details":{"type":"object","additionalProperties":{}},"status":{"type":"string"},"applied_at":{"type":"string","format":"date-time"}},"required":["application_details","application_id","applied_at","job_info","status"]}}}}
```

## The LaunchpadStudentInvitationsResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadStudentInvitationsResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","additionalProperties":{}}},"pagination":{"type":"object","additionalProperties":{}}},"required":["data","pagination"]}}}}
```

## The LaunchpadUpdateUser object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadUpdateUser":{"type":"object","properties":{"full_name":{"type":"string","nullable":true,"maxLength":255},"email":{"type":"string","maxLength":255},"phone_number":{"type":"string","nullable":true,"maxLength":15},"role":{"enum":["IEEEAdmin","IEEEDC"],"type":"string","description":"* `IEEEAdmin` - IEEEAdmin\n* `IEEEDC` - IEEEDC"},"district":{"type":"string","nullable":true,"maxLength":100},"zone":{"type":"string","nullable":true,"maxLength":100},"remove_colleges":{"type":"array","items":{"type":"string"}},"add_colleges":{"type":"array","items":{"type":"string"}}},"required":["add_colleges","email","remove_colleges","role"]}}}}
```

## The LaunchpadUser object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadUser":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"maxLength":36},"full_name":{"type":"string","nullable":true,"maxLength":255},"email":{"type":"string","maxLength":255},"phone_number":{"type":"string","nullable":true,"maxLength":15},"role":{"enum":["IEEEAdmin","IEEEDC"],"type":"string","description":"* `IEEEAdmin` - IEEEAdmin\n* `IEEEDC` - IEEEDC"},"district":{"type":"string","nullable":true,"maxLength":100},"zone":{"type":"string","nullable":true,"maxLength":100},"colleges":{"type":"array","items":{"type":"string"},"writeOnly":true}},"required":["colleges","email","id","role"]}}}}
```

## The LaunchpadUserList object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadUserList":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"full_name":{"type":"string","nullable":true,"maxLength":255},"email":{"type":"string","maxLength":255},"phone_number":{"type":"string","nullable":true,"maxLength":15},"role":{"type":"string","maxLength":20},"district":{"type":"string","nullable":true,"maxLength":100},"zone":{"type":"string","nullable":true,"maxLength":100},"colleges":{"type":"string","readOnly":true}},"required":["colleges","email","id","role"]}}}}
```

## The LaunchpadVerifyResetTokenResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LaunchpadVerifyResetTokenResponse":{"type":"object","properties":{"valid":{"type":"boolean"},"user_name":{"type":"string","nullable":true},"expires_at":{"type":"string","format":"date-time","nullable":true}},"required":["expires_at","user_name","valid"]}}}}
```

## The Leaderboard object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"Leaderboard":{"type":"object","properties":{"name":{"type":"string","maxLength":100},"count":{"type":"integer"},"muid":{"type":"string","maxLength":100}},"required":["count","muid","name"]}}}}
```

## The LeaderboardCollegeItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LeaderboardCollegeItem":{"type":"object","properties":{"id":{"type":"string"},"code":{"type":"string"},"title":{"type":"string"},"total_students":{"type":"integer"},"total_karma":{"type":"integer"}},"required":["code","id","title","total_karma","total_students"]}}}}
```

## The LeaderboardCollegeMonthlyItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LeaderboardCollegeMonthlyItem":{"type":"object","properties":{"id":{"type":"string"},"code":{"type":"string"},"total_karma":{"type":"integer"},"students":{"type":"integer"}},"required":["code","id","students","total_karma"]}}}}
```

## The LeaderboardStudentsMonthlyItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LeaderboardStudentsMonthlyItem":{"type":"object","properties":{"muid":{"type":"string"},"full_name":{"type":"string"},"total_karma":{"type":"integer"},"institution":{"type":"string","nullable":true},"profile_pic":{"type":"string","nullable":true}},"required":["full_name","institution","muid","profile_pic","total_karma"]}}}}
```

## The LearningCircleAttendeeReportGetResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LearningCircleAttendeeReportGetResponse":{"type":"object","properties":{"report":{"type":"string","nullable":true,"description":"Attendee's report text"},"report_link":{"type":"string","nullable":true,"description":"URL link to the attendee's report"}},"required":["report","report_link"]}}}}
```

## The LearningCircleDetail object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LearningCircleDetail":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"ig":{"type":"string","readOnly":true},"title":{"type":"string","maxLength":100},"description":{"type":"string","nullable":true,"maxLength":500},"org":{"type":"string","readOnly":true,"nullable":true},"created_by":{"type":"string","readOnly":true}},"required":["created_by","ig","org","title"]}}}}
```

## The LearningCircleEnrollment object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LearningCircleEnrollment":{"type":"object","properties":{"full_name":{"type":"string"},"muid":{"type":"string"},"email":{"type":"string"},"dwms_id":{"type":"string","nullable":true},"circle_name":{"type":"string"},"circle_ig":{"type":"string"},"organisation":{"type":"string"},"district":{"type":"string","nullable":true},"karma_earned":{"type":"integer"}},"required":["circle_ig","circle_name","district","dwms_id","email","full_name","karma_earned","muid","organisation"]}}}}
```

## The LearningCircleMemberDetailsOwner object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LearningCircleMemberDetailsOwner":{"type":"object","properties":{"id":{"type":"string","description":"UUID of the circle creator"},"full_name":{"type":"string","description":"Full name of the circle creator"},"profile_pic":{"type":"string","nullable":true,"description":"Profile picture URL of the circle creator"},"muid":{"type":"string","description":"Unique mulearn ID of the circle creator"}},"required":["full_name","id","muid","profile_pic"]}}}}
```

## The LearningCircleMemberDetailsResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LearningCircleMemberDetailsResponse":{"type":"object","properties":{"owner":{"$ref":"#/components/schemas/LearningCircleMemberDetailsOwner"},"members":{"type":"array","items":{"$ref":"#/components/schemas/LearningCircleMemberItem"},"description":"Accepted members sorted by ig_karma descending"}},"required":["members","owner"]},"LearningCircleMemberDetailsOwner":{"type":"object","properties":{"id":{"type":"string","description":"UUID of the circle creator"},"full_name":{"type":"string","description":"Full name of the circle creator"},"profile_pic":{"type":"string","nullable":true,"description":"Profile picture URL of the circle creator"},"muid":{"type":"string","description":"Unique mulearn ID of the circle creator"}},"required":["full_name","id","muid","profile_pic"]},"LearningCircleMemberItem":{"type":"object","properties":{"id":{"type":"string","description":"UUID of the member"},"full_name":{"type":"string","description":"Full name of the member"},"profile_pic":{"type":"string","nullable":true,"description":"Profile picture URL of the member"},"muid":{"type":"string","description":"Unique mulearn ID of the member"},"ig_karma":{"type":"integer","description":"Total karma earned by the member in this circle's interest group"},"is_leader":{"type":"boolean","description":"Whether this member holds the lead role in the circle"}},"required":["full_name","id","ig_karma","is_leader","muid","profile_pic"]}}}}
```

## The LearningCircleMemberItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LearningCircleMemberItem":{"type":"object","properties":{"id":{"type":"string","description":"UUID of the member"},"full_name":{"type":"string","description":"Full name of the member"},"profile_pic":{"type":"string","nullable":true,"description":"Profile picture URL of the member"},"muid":{"type":"string","description":"Unique mulearn ID of the member"},"ig_karma":{"type":"integer","description":"Total karma earned by the member in this circle's interest group"},"is_leader":{"type":"boolean","description":"Whether this member holds the lead role in the circle"}},"required":["full_name","id","ig_karma","is_leader","muid","profile_pic"]}}}}
```

## The LearningCircleReportAttendeeItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LearningCircleReportAttendeeItem":{"type":"object","properties":{"user_id":{"type":"string","description":"UUID of the attendee"},"full_name":{"type":"string","description":"Full name of the attendee"},"muid":{"type":"string","description":"Unique mulearn ID of the attendee"},"is_lc_approved":{"type":"boolean","nullable":true,"description":"Whether the organizer approved this attendee's participation"},"report":{"type":"string","nullable":true,"description":"Attendee's own report text"},"report_link":{"type":"string","nullable":true,"description":"URL to the attendee's report"}},"required":["full_name","is_lc_approved","muid","report","report_link","user_id"]}}}}
```

## The LearningCircleReportGetResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LearningCircleReportGetResponse":{"type":"object","properties":{"is_report_submitted":{"type":"boolean","description":"Whether the meeting report has been submitted by the organizer"},"report":{"type":"string","nullable":true,"description":"Meeting report text submitted by the organizer"},"attendees":{"type":"array","items":{"$ref":"#/components/schemas/LearningCircleReportAttendeeItem"},"description":"List of attendees who joined the meeting"}},"required":["attendees","is_report_submitted","report"]},"LearningCircleReportAttendeeItem":{"type":"object","properties":{"user_id":{"type":"string","description":"UUID of the attendee"},"full_name":{"type":"string","description":"Full name of the attendee"},"muid":{"type":"string","description":"Unique mulearn ID of the attendee"},"is_lc_approved":{"type":"boolean","nullable":true,"description":"Whether the organizer approved this attendee's participation"},"report":{"type":"string","nullable":true,"description":"Attendee's own report text"},"report_link":{"type":"string","nullable":true,"description":"URL to the attendee's report"}},"required":["full_name","is_lc_approved","muid","report","report_link","user_id"]}}}}
```

## The LearningCircleUser object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LearningCircleUser":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"muid":{"type":"string","maxLength":100},"full_name":{"type":"string","maxLength":150},"email":{"type":"string","format":"email","maxLength":200},"mobile":{"type":"string","nullable":true,"maxLength":15}},"required":["email","full_name","muid"]}}}}
```

## The LinkSocials object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LinkSocials":{"type":"object","properties":{"github":{"type":"string","nullable":true,"maxLength":60},"facebook":{"type":"string","nullable":true,"maxLength":60},"instagram":{"type":"string","nullable":true,"maxLength":60},"linkedin":{"type":"string","nullable":true,"maxLength":60},"dribble":{"type":"string","nullable":true,"maxLength":60},"behance":{"type":"string","nullable":true,"maxLength":60},"stackoverflow":{"type":"string","nullable":true,"maxLength":60},"medium":{"type":"string","nullable":true,"maxLength":60},"hackerrank":{"type":"string","nullable":true,"maxLength":60}}}}}}
```

## The Location object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"Location":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"location":{"type":"string","readOnly":true}},"required":["location"]}}}}
```

## The LocationCountryListResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LocationCountryListResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]}}}}
```

## The LocationStateListResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LocationStateListResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]}}}}
```

## The LocationZoneListResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"LocationZoneListResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]}}}}
```

## The MentorActivity object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"MentorActivity":{"type":"object","properties":{"id":{"type":"string"},"activity_type":{"type":"string"},"title":{"type":"string"},"description":{"type":"string","nullable":true},"date":{"type":"string","format":"date-time"},"status":{"type":"string","nullable":true}},"required":["activity_type","date","id","title"]}}}}
```

## The MentorAddParticipant object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"MentorAddParticipant":{"type":"object","properties":{"muid":{"type":"string"}},"required":["muid"]}}}}
```

## The MentorDetail object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"MentorDetail":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"user":{"type":"string"},"user_full_name":{"type":"string","readOnly":true},"user_email":{"type":"string","readOnly":true},"about":{"type":"string","nullable":true,"maxLength":1000},"expertise":{"type":"string","nullable":true},"reason":{"type":"string","nullable":true,"maxLength":1000},"hours":{"type":"integer","maximum":4294967295,"minimum":0,"format":"int64"},"mentor_tier":{"enum":["IG_MENTOR","MENTOR","COMPANY_MENTOR","CAMPUS_MENTOR"],"type":"string","description":"* `IG_MENTOR` - IG Mentor\n* `MENTOR` - Mentor\n* `COMPANY_MENTOR` - Company Mentor\n* `CAMPUS_MENTOR` - Campus Mentor"},"status":{"enum":["PENDING","APPROVED","REJECTED"],"type":"string","description":"* `PENDING` - Pending\n* `APPROVED` - Approved\n* `REJECTED` - Rejected"},"preferred_ig_ids":{"nullable":true},"org":{"type":"string","nullable":true},"verified_by":{"type":"string","nullable":true},"verified_at":{"type":"string","format":"date-time","nullable":true},"company":{"type":"string","readOnly":true},"created_at":{"type":"string","format":"date-time","nullable":true},"updated_at":{"type":"string","format":"date-time","nullable":true}},"required":["company","user","user_email","user_full_name"]}}}}
```

## The MentorIGDropdownResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"MentorIGDropdownResponse":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]}}}}
```

## The MentorList object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"MentorList":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"user_id":{"type":"string","readOnly":true},"user_full_name":{"type":"string","readOnly":true},"user_email":{"type":"string","readOnly":true},"muid":{"type":"string","readOnly":true},"about":{"type":"string","nullable":true,"maxLength":1000},"expertise":{"type":"string","nullable":true},"verification_note":{"type":"string","nullable":true,"maxLength":500},"verified_at":{"type":"string","format":"date-time","nullable":true},"mentor_tier":{"enum":["IG_MENTOR","MENTOR","COMPANY_MENTOR","CAMPUS_MENTOR"],"type":"string","description":"* `IG_MENTOR` - IG Mentor\n* `MENTOR` - Mentor\n* `COMPANY_MENTOR` - Company Mentor\n* `CAMPUS_MENTOR` - Campus Mentor"},"status":{"enum":["PENDING","APPROVED","REJECTED"],"type":"string","description":"* `PENDING` - Pending\n* `APPROVED` - Approved\n* `REJECTED` - Rejected"},"created_at":{"type":"string","format":"date-time","nullable":true},"updated_at":{"type":"string","format":"date-time","nullable":true}},"required":["muid","user_email","user_full_name","user_id"]}}}}
```

## The MentorOverviewData object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"MentorOverviewData":{"type":"object","properties":{"scopes":{"type":"array","items":{"$ref":"#/components/schemas/MentorScopeMetrics"}}},"required":["scopes"]},"MentorScopeMetrics":{"type":"object","properties":{"scope_type":{"type":"string"},"scope_id":{"type":"string"},"scope_name":{"type":"string","nullable":true},"metrics":{"type":"object","additionalProperties":{}}},"required":["metrics","scope_id","scope_name","scope_type"]}}}}
```

## The MentorRegister object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"MentorRegister":{"type":"object","properties":{"about":{"type":"string","nullable":true,"maxLength":1000},"expertise":{"type":"string","nullable":true},"reason":{"type":"string","nullable":true,"maxLength":1000},"hours":{"type":"integer","maximum":4294967295,"minimum":0,"format":"int64"},"preferred_ig_ids":{"nullable":true}}}}}}
```

## The MentorScopeGrant object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"MentorScopeGrant":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"scope_type":{"enum":["COMPANY_MENTOR","IG_MENTOR","CAMPUS_MENTOR","MENTOR"],"type":"string","description":"* `COMPANY_MENTOR` - Company Mentor\n* `IG_MENTOR` - IG Mentor\n* `CAMPUS_MENTOR` - Campus Mentor\n* `MENTOR` - Mentor"},"scope_id":{"type":"string","nullable":true,"maxLength":36},"is_active":{"type":"boolean"},"granted_by_name":{"type":"string","readOnly":true},"granted_at":{"type":"string","format":"date-time"},"revoked_by_name":{"type":"string","readOnly":true},"revoked_at":{"type":"string","format":"date-time","nullable":true}},"required":["granted_at","granted_by_name","revoked_by_name","scope_type"]}}}}
```

## The MentorScopeMetrics object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"MentorScopeMetrics":{"type":"object","properties":{"scope_type":{"type":"string"},"scope_id":{"type":"string"},"scope_name":{"type":"string","nullable":true},"metrics":{"type":"object","additionalProperties":{}}},"required":["metrics","scope_id","scope_name","scope_type"]}}}}
```

## The MentorTaskCreate object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"MentorTaskCreate":{"type":"object","description":"Mirrors admin TaskModifySerializer field-for-field.\nLocked fields (active, approval_status, requested_by, requested_at)\nare injected by the view via serializer.save(**overrides).","properties":{"hashtag":{"type":"string","maxLength":75},"title":{"type":"string","maxLength":75},"karma":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true},"usage_count":{"type":"integer","maximum":2147483647,"minimum":-2147483648},"description":{"type":"string","nullable":true},"type":{"type":"string"},"level":{"type":"string","nullable":true},"ig":{"type":"string"},"created_by":{"type":"string"},"updated_by":{"type":"string"}},"required":["created_by","hashtag","ig","title","type","updated_by"]}}}}
```

## The MentorTaskList object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"MentorTaskList":{"type":"object","description":"Read-only list/detail serializer — mirrors admin TaskListSerializer.","properties":{"id":{"type":"string","maxLength":36},"hashtag":{"type":"string","maxLength":75},"discord_link":{"type":"string","nullable":true,"maxLength":200},"title":{"type":"string","maxLength":75},"description":{"type":"string","nullable":true},"karma":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true},"channel":{"type":"string"},"type":{"type":"string"},"active":{"type":"boolean"},"variable_karma":{"type":"boolean"},"usage_count":{"type":"integer","maximum":2147483647,"minimum":-2147483648},"level":{"type":"string"},"org":{"type":"string"},"ig":{"type":"string"},"event":{"type":"string","nullable":true,"maxLength":50},"bonus_karma":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true},"bonus_time":{"type":"string","format":"date-time","nullable":true},"approval_status":{"enum":["approved","pending","rejected"],"type":"string","description":"* `approved` - Approved\n* `pending` - Pending\n* `rejected` - Rejected"},"rejection_reason":{"type":"string","nullable":true},"reviewed_at":{"type":"string","format":"date-time","nullable":true},"requested_by_name":{"type":"string"},"requested_at":{"type":"string","format":"date-time","nullable":true},"skills":{"type":"string","readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"updated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["created_at","hashtag","skills","title","type","updated_at"]}}}}
```

## The MentorTaskListResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"MentorTaskListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","additionalProperties":{}}},"pagination":{"type":"object","additionalProperties":{}}},"required":["data","pagination"]}}}}
```

## The MentorTaskUpdate object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"MentorTaskUpdate":{"type":"object","description":"Partial update serializer — same writable fields as create.\nThe view injects approval_status / active / review-reset fields via save().","properties":{"hashtag":{"type":"string","maxLength":75},"title":{"type":"string","maxLength":75},"karma":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true},"usage_count":{"type":"integer","maximum":2147483647,"minimum":-2147483648},"description":{"type":"string","nullable":true},"type":{"type":"string"},"level":{"type":"string","nullable":true},"ig":{"type":"string","nullable":true},"updated_by":{"type":"string"}},"required":["hashtag","title","type","updated_by"]}}}}
```

## The MentorUpdate object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"MentorUpdate":{"type":"object","properties":{"about":{"type":"string","nullable":true,"maxLength":1000},"expertise":{"type":"string","nullable":true},"reason":{"type":"string","nullable":true,"maxLength":1000},"hours":{"type":"integer","maximum":4294967295,"minimum":0,"format":"int64"},"preferred_ig_ids":{"nullable":true}}}}}}
```

## The MentorshipSessionCalendar object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"MentorshipSessionCalendar":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"title":{"type":"string","maxLength":150},"description":{"type":"string","nullable":true},"mode":{"enum":["ONLINE","OFFLINE","HYBRID"],"type":"string","description":"* `ONLINE` - Online\n* `OFFLINE` - Offline\n* `HYBRID` - Hybrid"},"starts_at":{"type":"string","format":"date-time"},"ends_at":{"type":"string","format":"date-time"},"status":{"enum":["REQUESTED","SCHEDULED","PENDING_APPROVAL","COMPLETED","CANCELLED","REJECTED"],"type":"string","description":"* `REQUESTED` - Requested\n* `SCHEDULED` - Scheduled\n* `PENDING_APPROVAL` - Pending Approval\n* `COMPLETED` - Completed\n* `CANCELLED` - Cancelled\n* `REJECTED` - Rejected"},"meeting_link":{"type":"string","nullable":true,"maxLength":500},"venue":{"type":"string","nullable":true,"maxLength":255},"mentor_name":{"type":"string","readOnly":true},"mentee_count":{"type":"string","readOnly":true}},"required":["ends_at","mentee_count","mentor_name","starts_at","status","title"]}}}}
```

## The MinimalCampus object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"MinimalCampus":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"title":{"type":"string","maxLength":100},"org_type":{"type":"string","maxLength":25}},"required":["org_type","title"]}}}}
```

## The MinimalIG object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"MinimalIG":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"name":{"type":"string","maxLength":75},"icon":{"type":"string","maxLength":10}},"required":["icon","name"]}}}}
```

## The MinimalUser object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"MinimalUser":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"full_name":{"type":"string","maxLength":150},"muid":{"type":"string","maxLength":100},"profile_pic":{"type":"string","readOnly":true}},"required":["full_name","muid","profile_pic"]}}}}
```

## The MulearnerDirectory object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"MulearnerDirectory":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"full_name":{"type":"string","maxLength":150},"muid":{"type":"string","maxLength":100},"email":{"type":"string","format":"email","maxLength":200},"karma":{"type":"string","readOnly":true},"level":{"type":"string","readOnly":true},"college":{"type":"string","readOnly":true},"department":{"type":"string","readOnly":true},"graduation_year":{"type":"string","readOnly":true}},"required":["college","department","email","full_name","graduation_year","karma","level","muid"]}}}}
```

## The MyEventInvite object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"MyEventInvite":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"entity_type":{"enum":["user_ticket","co_owner","collab_ig","collab_campus","collab_campus_ig","collab_company"],"type":"string","description":"* `user_ticket` - User Ticket\n* `co_owner` - Co-owner\n* `collab_ig` - Collaborating IG\n* `collab_campus` - Collaborating Campus\n* `collab_campus_ig` - Collaborating Campus IG\n* `collab_company` - Collaborating Company"},"entity_id":{"type":"string","maxLength":36},"entity_detail":{"type":"string","readOnly":true},"role_label":{"type":"string","nullable":true,"maxLength":100},"invite_status":{"enum":["pending","accepted","rejected","",null],"type":"string","description":"* `pending` - Pending\n* `accepted` - Accepted\n* `rejected` - Rejected","nullable":true},"rejection_reason":{"type":"string","nullable":true,"maxLength":500},"responded_at":{"type":"string","format":"date-time","nullable":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"event_id":{"type":"string","readOnly":true},"event_title":{"type":"string","readOnly":true},"event_start_datetime":{"type":"string","format":"date-time","readOnly":true},"event_cover_image":{"type":"string","readOnly":true}},"required":["created_at","entity_detail","entity_id","entity_type","event_cover_image","event_id","event_start_datetime","event_title"]}}}}
```

## The Notification object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"Notification":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"title":{"type":"string","maxLength":50},"description":{"type":"string","maxLength":200},"button":{"type":"string","nullable":true,"maxLength":10},"url":{"type":"string","nullable":true,"maxLength":100},"created_at":{"type":"string","format":"date-time","readOnly":true},"user":{"type":"string"},"created_by":{"type":"string"}},"required":["created_at","created_by","description","id","title","user"]}}}}
```

## The NotificationListResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"NotificationListResponse":{"type":"object","properties":{"direct":{"type":"array","items":{"$ref":"#/components/schemas/Notification"}},"broadcasts":{"type":"array","items":{"$ref":"#/components/schemas/BroadcastNotification"}}},"required":["broadcasts","direct"]},"Notification":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"title":{"type":"string","maxLength":50},"description":{"type":"string","maxLength":200},"button":{"type":"string","nullable":true,"maxLength":10},"url":{"type":"string","nullable":true,"maxLength":100},"created_at":{"type":"string","format":"date-time","readOnly":true},"user":{"type":"string"},"created_by":{"type":"string"}},"required":["created_at","created_by","description","id","title","user"]},"BroadcastNotification":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"title":{"type":"string","maxLength":50},"description":{"type":"string","maxLength":200},"url":{"type":"string","nullable":true,"maxLength":100},"target_type":{"type":"string","maxLength":30},"target_id":{"type":"string","nullable":true,"maxLength":36},"created_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"}},"required":["created_at","created_by","description","expires_at","id","target_type","title"]}}}}
```

## The Order object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"Order":{"type":"object","description":"Serializer for one-time order creation requests","properties":{"amount":{"type":"string","format":"decimal","pattern":"^-?\\d{0,10}(?:\\.\\d{0,2})?$"},"currency":{"type":"string","default":"INR"},"name":{"type":"string","maxLength":255},"donation_name":{"type":"string","maxLength":100},"email":{"type":"string","format":"email"},"phone_number":{"type":"string","maxLength":20},"pan_number":{"type":"string","maxLength":10},"address":{"type":"string"},"company":{"type":"string","maxLength":255},"donation_type":{"enum":["one-time","monthly","yearly"],"type":"string","description":"* `one-time` - one-time\n* `monthly` - monthly\n* `yearly` - yearly","default":"one-time"},"is_organisation":{"type":"boolean","default":false}},"required":["amount","email","name"]}}}}
```

## The Org object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"Org":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"title":{"type":"string","maxLength":100}},"required":["title"]}}}}
```

## The Organisation object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"Organisation":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"title":{"type":"string","maxLength":100},"code":{"type":"string","maxLength":12},"affiliation":{"type":"string","readOnly":true},"district":{"allOf":[{"$ref":"#/components/schemas/District"}],"readOnly":true}},"required":["affiliation","code","district","title"]},"District":{"type":"object","properties":{"name":{"type":"string","maxLength":75},"zone":{"allOf":[{"$ref":"#/components/schemas/Zone"}],"readOnly":true}},"required":["name","zone"]},"Zone":{"type":"object","properties":{"name":{"type":"string","maxLength":75},"state":{"allOf":[{"$ref":"#/components/schemas/State"}],"readOnly":true}},"required":["name","state"]},"State":{"type":"object","properties":{"name":{"type":"string","maxLength":75},"country":{"type":"string","readOnly":true}},"required":["country","name"]}}}}
```

## The OrganizationKarmaLogGetPostPatchDelete object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"OrganizationKarmaLogGetPostPatchDelete":{"type":"object","properties":{"org":{"type":"string"},"karma":{"type":"integer","maximum":2147483647,"minimum":-2147483648},"type":{"type":"string"}},"required":["karma","org","type"]}}}}
```

## The OrganizationKarmaTypeGetPostPatchDelete object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"OrganizationKarmaTypeGetPostPatchDelete":{"type":"object","properties":{"title":{"type":"string","maxLength":75},"karma":{"type":"integer","maximum":2147483647,"minimum":-2147483648},"description":{"type":"string","nullable":true,"maxLength":200}},"required":["karma","title"]}}}}
```

## The OrganizationVerify object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"OrganizationVerify":{"type":"object","properties":{"verified":{"type":"boolean"},"org_id":{"type":"string"}},"required":["org_id","verified"]}}}}
```

## The OrganizerInfo object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"OrganizerInfo":{"type":"object","description":"Reads organiser fields off the Event model directly.","properties":{"organiser_type":{"type":"string"},"organiser_ig":{"type":"string","readOnly":true},"organiser_campus":{"type":"string","readOnly":true},"organiser_company":{"type":"string","readOnly":true},"organiser_ci_id":{"type":"string","nullable":true}},"required":["organiser_campus","organiser_company","organiser_ig","organiser_type"]}}}}
```

## The PageDeleteResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PageDeleteResponse":{"type":"object","properties":{"id":{"type":"string"}},"required":["id"]}}}}
```

## The PageOrderItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PageOrderItem":{"type":"object","properties":{"id":{"type":"string"},"page_number":{"type":"integer"}},"required":["id","page_number"]}}}}
```

## The PageReorderRequest object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PageReorderRequest":{"type":"object","properties":{"page_orders":{"type":"array","items":{"$ref":"#/components/schemas/PageOrderItem"}}},"required":["page_orders"]},"PageOrderItem":{"type":"object","properties":{"id":{"type":"string"},"page_number":{"type":"integer"}},"required":["id","page_number"]}}}}
```

## The PageReorderResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PageReorderResponse":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"]}}}}
```

## The ParticipantList object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ParticipantList":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"session_id":{"type":"string","readOnly":true},"user_id":{"type":"string","readOnly":true},"user_full_name":{"type":"string","readOnly":true},"mu_id":{"type":"string","readOnly":true},"participant_role":{"enum":["MENTOR","MENTEE","CO_MENTOR"],"type":"string","description":"* `MENTOR` - Mentor\n* `MENTEE` - Mentee\n* `CO_MENTOR` - Co-Mentor"},"attendance_status":{"enum":["INVITED","ATTENDED","ABSENT"],"type":"string","description":"* `INVITED` - Invited\n* `ATTENDED` - Attended\n* `ABSENT` - Absent"},"progress_note":{"type":"string","nullable":true,"maxLength":500},"feedback":{"type":"string","nullable":true},"contributed_minutes":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"session_title":{"type":"string","readOnly":true},"session_starts_at":{"type":"string","format":"date-time","readOnly":true},"session_ends_at":{"type":"string","format":"date-time","readOnly":true},"session_mode":{"type":"string","readOnly":true},"session_meeting_link":{"type":"string","readOnly":true},"session_venue":{"type":"string","readOnly":true},"session_status":{"type":"string","readOnly":true},"session_entity_id":{"type":"string","readOnly":true},"session_entity_name":{"type":"string","readOnly":true}},"required":["created_at","mu_id","participant_role","session_ends_at","session_entity_id","session_entity_name","session_id","session_meeting_link","session_mode","session_starts_at","session_status","session_title","session_venue","user_full_name","user_id"]}}}}
```

## The ParticipantUpdate object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ParticipantUpdate":{"type":"object","properties":{"attendance_status":{"enum":["INVITED","ATTENDED","ABSENT"],"type":"string","description":"* `INVITED` - Invited\n* `ATTENDED` - Attended\n* `ABSENT` - Absent"},"progress_note":{"type":"string","nullable":true,"maxLength":500},"contributed_minutes":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true}}}}}}
```

## The PatchedAdminSessionVerify object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PatchedAdminSessionVerify":{"type":"object","properties":{"status":{"enum":["SCHEDULED","REJECTED","CANCELLED"],"type":"string","description":"* `SCHEDULED` - SCHEDULED\n* `REJECTED` - REJECTED\n* `CANCELLED` - CANCELLED"},"apply_to_series":{"type":"boolean","default":false}}}}}}
```

## The PatchedApplicationTracking object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PatchedApplicationTracking":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"job":{"type":"string","readOnly":true},"applicant_name":{"type":"string","readOnly":true},"applicant_email":{"type":"string","readOnly":true},"resume_link":{"type":"string","readOnly":true,"nullable":true},"cover_letter":{"type":"string","readOnly":true,"nullable":true},"status":{"type":"string","maxLength":20},"rejection_reason":{"type":"string","nullable":true},"applied_at":{"type":"string","format":"date-time","readOnly":true}}}}}}
```

## The PatchedAvailabilitySlotCreateUpdate object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PatchedAvailabilitySlotCreateUpdate":{"type":"object","properties":{"ig":{"type":"string","nullable":true},"weekday":{"type":"integer","maximum":32767,"minimum":-32768},"start_time":{"type":"string","format":"time"},"end_time":{"type":"string","format":"time"},"timezone":{"type":"string","maxLength":64},"is_active":{"type":"boolean"},"valid_from":{"type":"string","format":"date","nullable":true},"valid_to":{"type":"string","format":"date","nullable":true}}}}}}
```

## The PatchedChapterPage object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PatchedChapterPage":{"type":"object","description":"Serializer representing individual pages in a chapter.","properties":{"id":{"type":"string","readOnly":true},"chapter":{"type":"string"},"page_number":{"type":"integer","maximum":4294967295,"minimum":0,"format":"int64"},"image_key":{"type":"string","maxLength":255},"created_at":{"type":"string","format":"date-time","readOnly":true}}}}}}
```

## The PatchedChapterWrite object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PatchedChapterWrite":{"type":"object","description":"Input serializer for POST /chapters/ and PATCH /chapters/<id>/.\nCaller never directly specifies slug, status, published_at, or audit fields.","properties":{"comic":{"type":"string"},"title":{"type":"string","maxLength":150},"description":{"type":"string","nullable":true},"chapter_number":{"type":"string","format":"decimal","pattern":"^-?\\d{0,4}(?:\\.\\d{0,2})?$"},"cover_image_key":{"type":"string","nullable":true,"maxLength":255}}}}}}
```

## The PatchedCollegeChange object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PatchedCollegeChange":{"type":"object","properties":{"org_id":{"type":"string","maxLength":36},"department_id":{"type":"string","nullable":true,"maxLength":36}}}}}}
```

## The PatchedComicWrite object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PatchedComicWrite":{"type":"object","description":"Input serializer for POST /comics/ and PATCH /comics/<id>/.\nThe caller never sends: slug, status, *_count, published_at, or audit fields.","properties":{"title":{"type":"string","maxLength":150},"description":{"type":"string","nullable":true},"cover_image_key":{"type":"string","nullable":true,"maxLength":255}}}}}}
```

## The PatchedCompanyTaskPatch object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PatchedCompanyTaskPatch":{"type":"object","description":"Validates the payload when a company updates an existing task.\nAll fields are optional to support partial updates.","properties":{"title":{"type":"string","maxLength":75},"hashtag":{"type":"string","maxLength":75},"description":{"type":"string","nullable":true},"karma":{"type":"integer","minimum":1},"ig_id":{"type":"string","maxLength":36},"type_id":{"type":"string","maxLength":36},"channel_id":{"type":"string","nullable":true,"maxLength":36},"level_id":{"type":"string","nullable":true,"maxLength":36},"skill_ids":{"type":"array","items":{"type":"string","maxLength":36},"description":"List of active Skill UUIDs to link to this task."}}}}}}
```

## The PatchedCompanyUpdate object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PatchedCompanyUpdate":{"type":"object","properties":{"name":{"type":"string","maxLength":75},"logo":{"type":"string","nullable":true},"description":{"type":"string"},"short_pitch":{"type":"string","nullable":true,"maxLength":900},"industry_sector":{"type":"string","nullable":true,"maxLength":75},"website_link":{"type":"string","nullable":true},"email":{"type":"string","nullable":true,"maxLength":100},"location":{"type":"string","nullable":true,"maxLength":150},"district_id":{"type":"string","nullable":true},"state_id":{"type":"string","nullable":true},"country_id":{"type":"string","nullable":true},"legal_name":{"type":"string","nullable":true,"maxLength":150},"registration_number":{"type":"string","nullable":true,"maxLength":100},"tax_id":{"type":"string","nullable":true,"maxLength":100},"company_size":{"type":"string","nullable":true,"maxLength":50},"linkedin_url":{"type":"string","nullable":true},"founded_year":{"type":"integer","maximum":65535,"minimum":0,"nullable":true},"remote_policy":{"type":"string","nullable":true,"maxLength":20},"culture_text":{"type":"string","nullable":true},"tech_stack":{"nullable":true},"perks":{"nullable":true},"testimonials":{"nullable":true},"gallery":{"nullable":true}}}}}}
```

## The PatchedCompanyVerify object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PatchedCompanyVerify":{"type":"object","properties":{"status":{"enum":["verified","rejected"],"type":"string","description":"* `verified` - verified\n* `rejected` - rejected"},"rejection_reason":{"type":"string"}}}}}}
```

## The PatchedContributorRoleUpdate object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PatchedContributorRoleUpdate":{"type":"object","description":"Input for PATCH /comics/{comicId}/contributors/{contributorId}/.","properties":{"role":{"enum":["writer","artist","colorist","editor"],"type":"string","description":"* `writer` - Writer\n* `artist` - Artist\n* `colorist` - Colorist\n* `editor` - Editor"}}}}}}
```

## The PatchedEventTaskWrite object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PatchedEventTaskWrite":{"type":"object","description":"Write serializer for creating/updating event-linked tasks.","properties":{"hashtag":{"type":"string","maxLength":75},"title":{"type":"string","maxLength":75},"description":{"type":"string","nullable":true},"karma":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true},"type":{"type":"string"},"ig":{"type":"string","nullable":true},"level":{"type":"string","nullable":true},"org":{"type":"string","nullable":true},"bonus_time":{"type":"string","format":"date-time","nullable":true}}}}}}
```

## The PatchedGenreWrite object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PatchedGenreWrite":{"type":"object","description":"Input serializer for POST /comics/genres/ and PATCH /comics/genres/<id>/.\nCaller only sends `name`; slug and audit fields are set internally.","properties":{"name":{"type":"string","maxLength":75}}}}}}
```

## The PatchedJobUpdate object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PatchedJobUpdate":{"type":"object","properties":{"title":{"type":"string","maxLength":75},"experience":{"type":"string","nullable":true,"maxLength":20},"job_description":{"type":"string","nullable":true},"location":{"type":"string","nullable":true,"maxLength":75},"salary_range":{"type":"string","nullable":true,"maxLength":36},"job_type":{"type":"string","maxLength":20},"status":{"type":"string","maxLength":20},"duration_value":{"type":"integer","maximum":65535,"minimum":0,"nullable":true},"duration_unit":{"type":"string","nullable":true,"maxLength":20},"hourly_rate":{"type":"string","format":"decimal","pattern":"^-?\\d{0,8}(?:\\.\\d{0,2})?$","nullable":true},"deliverables":{"nullable":true},"stipend":{"type":"string","nullable":true,"maxLength":75},"certificate_provided":{"type":"string","nullable":true,"maxLength":3},"rules":{"type":"array","items":{"$ref":"#/components/schemas/JobRule"}}}},"JobRule":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"rule_type":{"type":"string","maxLength":50},"rule_value":{"type":"string","maxLength":150}},"required":["id","rule_type","rule_value"]}}}}
```

## The PatchedMentorStudentRequestVerify object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PatchedMentorStudentRequestVerify":{"type":"object","description":"Allows a mentor to approve or reject a student's session request.\n\nOn APPROVE:\n  - Optional overrides (starts_at, ends_at, mode, meeting_link, venue) are\n    applied so the mentor can adjust the proposed time / logistics.\n  - The session transitions from REQUESTED → PENDING_APPROVAL.\n  - created_by is updated to the approving mentor so the session appears in\n    their dashboard and they can edit/cancel it using existing APIs.\n  - requested_by is left untouched — permanent audit trail.\n\nOn REJECT:\n  - The session transitions from REQUESTED → REJECTED.\n  - requested_by remains set; the student can view their rejected requests.","properties":{"status":{"enum":["APPROVED","REJECTED"],"type":"string","description":"* `APPROVED` - APPROVED\n* `REJECTED` - REJECTED"},"starts_at":{"type":"string","format":"date-time","nullable":true},"ends_at":{"type":"string","format":"date-time","nullable":true},"mode":{"enum":["ONLINE","OFFLINE","HYBRID",null],"type":"string","description":"* `ONLINE` - Online\n* `OFFLINE` - Offline\n* `HYBRID` - Hybrid","nullable":true},"meeting_link":{"type":"string","nullable":true},"venue":{"type":"string","nullable":true}}}}}}
```

## The PatchedMentorUpdate object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PatchedMentorUpdate":{"type":"object","properties":{"about":{"type":"string","nullable":true,"maxLength":1000},"expertise":{"type":"string","nullable":true},"reason":{"type":"string","nullable":true,"maxLength":1000},"hours":{"type":"integer","maximum":4294967295,"minimum":0,"format":"int64"},"preferred_ig_ids":{"nullable":true}}}}}}
```

## The PatchedMentorVerify object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PatchedMentorVerify":{"type":"object","properties":{"status":{"enum":["APPROVED","REJECTED"],"type":"string","description":"* `APPROVED` - APPROVED\n* `REJECTED` - REJECTED"},"verification_note":{"type":"string"}}}}}}
```

## The PatchedParticipantFeedback object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PatchedParticipantFeedback":{"type":"object","properties":{"feedback":{"type":"string","nullable":true}}}}}}
```

## The PatchedParticipantUpdate object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PatchedParticipantUpdate":{"type":"object","properties":{"attendance_status":{"enum":["INVITED","ATTENDED","ABSENT"],"type":"string","description":"* `INVITED` - Invited\n* `ATTENDED` - Attended\n* `ABSENT` - Absent"},"progress_note":{"type":"string","nullable":true,"maxLength":500},"contributed_minutes":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true}}}}}}
```

## The PatchedSessionUpdate object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PatchedSessionUpdate":{"type":"object","properties":{"title":{"type":"string","maxLength":150},"description":{"type":"string","nullable":true},"mode":{"enum":["ONLINE","OFFLINE","HYBRID"],"type":"string","description":"* `ONLINE` - Online\n* `OFFLINE` - Offline\n* `HYBRID` - Hybrid"},"starts_at":{"type":"string","format":"date-time"},"ends_at":{"type":"string","format":"date-time"},"meeting_link":{"type":"string","nullable":true,"maxLength":500},"venue":{"type":"string","nullable":true,"maxLength":255},"max_participants":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true}}}}}}
```

## The PatchedUserApplicationResubmit object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PatchedUserApplicationResubmit":{"type":"object","properties":{"resume_link":{"type":"string","nullable":true},"cover_letter":{"type":"string","nullable":true}}}}}}
```

## The ProfileBadgesResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ProfileBadgesResponse":{"type":"object","properties":{"full_name":{"type":"string"},"completed_tasks":{"type":"array","items":{"type":"string"}}},"required":["completed_tasks","full_name"]}}}}
```

## The ProfileKarmaFeedResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ProfileKarmaFeedResponse":{"type":"object","properties":{"top_user":{"$ref":"#/components/schemas/ProfileKarmaFeedTopUser"},"top_college":{"$ref":"#/components/schemas/ProfileKarmaFeedTopCollege"}},"required":["top_college","top_user"]},"ProfileKarmaFeedTopUser":{"type":"object","properties":{"karma":{"type":"integer"},"full_name":{"type":"string","nullable":true},"muid":{"type":"string","nullable":true}},"required":["full_name","karma","muid"]},"ProfileKarmaFeedTopCollege":{"type":"object","properties":{"karma":{"type":"integer"},"name":{"type":"string","nullable":true}},"required":["karma","name"]}}}}
```

## The ProfileKarmaFeedTopCollege object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ProfileKarmaFeedTopCollege":{"type":"object","properties":{"karma":{"type":"integer"},"name":{"type":"string","nullable":true}},"required":["karma","name"]}}}}
```

## The ProfileKarmaFeedTopUser object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ProfileKarmaFeedTopUser":{"type":"object","properties":{"karma":{"type":"integer"},"full_name":{"type":"string","nullable":true},"muid":{"type":"string","nullable":true}},"required":["full_name","karma","muid"]}}}}
```

## The ProfileUserPreferencesOrg object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ProfileUserPreferencesOrg":{"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true}},"required":["id","name"]}}}}
```

## The ProfileUserPreferencesResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ProfileUserPreferencesResponse":{"type":"object","properties":{"domains":{"type":"array","items":{"type":"string"}},"endgoals":{"type":"array","items":{"type":"string"}},"orgs":{"type":"array","items":{"$ref":"#/components/schemas/ProfileUserPreferencesOrg"}}},"required":["domains","endgoals","orgs"]},"ProfileUserPreferencesOrg":{"type":"object","properties":{"id":{"type":"string","nullable":true},"name":{"type":"string","nullable":true}},"required":["id","name"]}}}}
```

## The Project object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"Project":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"title":{"type":"string","maxLength":50},"description":{"type":"string"},"status":{"enum":["draft","published","archived"],"type":"string","description":"* `draft` - Draft\n* `published` - Published\n* `archived` - Archived"},"logo":{"type":"string","format":"uri","nullable":true},"images":{"type":"array","items":{"$ref":"#/components/schemas/ProjectImage"},"readOnly":true},"links":{"type":"array","items":{"$ref":"#/components/schemas/ProjectLink"},"readOnly":true},"skills":{"type":"array","items":{"$ref":"#/components/schemas/ProjectSkill"},"readOnly":true},"members":{"type":"array","items":{"$ref":"#/components/schemas/ProjectMember"},"readOnly":true},"votes":{"type":"array","items":{"$ref":"#/components/schemas/Vote"},"readOnly":true},"comments":{"type":"array","items":{"$ref":"#/components/schemas/Comment"},"readOnly":true},"created_by":{"type":"string","readOnly":true},"created_by_id":{"type":"string","readOnly":true},"updated_by":{"type":"string","readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"updated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["comments","created_at","created_by","created_by_id","description","images","links","members","skills","title","updated_at","updated_by","votes"]},"ProjectImage":{"type":"object","properties":{"image":{"type":"string","format":"uri","nullable":true}}},"ProjectLink":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"label":{"type":"string","maxLength":50},"url":{"type":"string","maxLength":500},"position":{"type":"integer","maximum":2147483647,"minimum":-2147483648}},"required":["label","url"]},"ProjectSkill":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"code":{"type":"string"},"icon":{"type":"string"}},"required":["code","icon","id","name"]},"ProjectMember":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"is_linked":{"type":"string","readOnly":true},"user_id":{"type":"string","readOnly":true},"muid":{"type":"string","readOnly":true},"full_name":{"type":"string","readOnly":true},"profile_pic":{"type":"string","readOnly":true},"external_name":{"type":"string","nullable":true,"maxLength":100},"role":{"type":"string","nullable":true,"maxLength":50},"created_at":{"type":"string","format":"date-time","readOnly":true}},"required":["created_at","full_name","is_linked","muid","profile_pic","user_id"]},"Vote":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"vote":{"enum":["upvote","downvote"],"type":"string","description":"* `upvote` - Upvote\n* `downvote` - Downvote"},"project":{"type":"string"},"user":{"type":"string","readOnly":true},"user_id":{"type":"string","readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"updated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["created_at","project","updated_at","user","user_id","vote"]},"Comment":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"comment":{"type":"string"},"project":{"type":"string"},"user":{"type":"string","readOnly":true},"user_id":{"type":"string","readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"updated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["comment","created_at","project","updated_at","user","user_id"]}}}}
```

## The ProjectImage object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ProjectImage":{"type":"object","properties":{"image":{"type":"string","format":"uri","nullable":true}}}}}}
```

## The ProjectLink object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ProjectLink":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"label":{"type":"string","maxLength":50},"url":{"type":"string","maxLength":500},"position":{"type":"integer","maximum":2147483647,"minimum":-2147483648}},"required":["label","url"]}}}}
```

## The ProjectMember object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ProjectMember":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"is_linked":{"type":"string","readOnly":true},"user_id":{"type":"string","readOnly":true},"muid":{"type":"string","readOnly":true},"full_name":{"type":"string","readOnly":true},"profile_pic":{"type":"string","readOnly":true},"external_name":{"type":"string","nullable":true,"maxLength":100},"role":{"type":"string","nullable":true,"maxLength":50},"created_at":{"type":"string","format":"date-time","readOnly":true}},"required":["created_at","full_name","is_linked","muid","profile_pic","user_id"]}}}}
```

## The ProjectSkill object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ProjectSkill":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"code":{"type":"string"},"icon":{"type":"string"}},"required":["code","icon","id","name"]}}}}
```

## The ProjectUpdate object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ProjectUpdate":{"type":"object","description":"Accepts create / partial-update payload. Logo + images come as files;\nlinks + skills come as JSON-encoded strings (because the request is\nmultipart/form-data).","properties":{"title":{"type":"string","maxLength":50},"description":{"type":"string"},"status":{"enum":["draft","published","archived"],"type":"string","description":"* `draft` - Draft\n* `published` - Published\n* `archived` - Archived"},"logo":{"type":"string","format":"uri","nullable":true},"links_json":{"type":"string","writeOnly":true},"skill_ids_json":{"type":"string","writeOnly":true}}}}}}
```

## The PublicCompanyProfile object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"PublicCompanyProfile":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"name":{"type":"string","maxLength":75},"slug":{"type":"string","maxLength":100},"logo":{"type":"string","nullable":true},"description":{"type":"string"},"short_pitch":{"type":"string","nullable":true,"maxLength":900},"industry_sector":{"type":"string","nullable":true,"maxLength":75},"website_link":{"type":"string","nullable":true},"email":{"type":"string","nullable":true,"maxLength":100},"location":{"type":"string","nullable":true,"maxLength":150},"district_name":{"type":"string","readOnly":true},"state_name":{"type":"string","readOnly":true},"country_name":{"type":"string","readOnly":true},"company_size":{"type":"string","nullable":true,"maxLength":50},"linkedin_url":{"type":"string","nullable":true},"founded_year":{"type":"integer","maximum":65535,"minimum":0,"nullable":true},"remote_policy":{"type":"string","nullable":true,"maxLength":20},"culture_text":{"type":"string","nullable":true},"tech_stack":{"nullable":true},"perks":{"nullable":true},"testimonials":{"nullable":true},"gallery":{"nullable":true}},"required":["country_name","description","district_name","name","slug","state_name"]}}}}
```

## The QseverseConnectedUserDidsResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"QseverseConnectedUserDidsResponse":{"type":"object","properties":{"dids":{"type":"array","items":{"type":"string"}}},"required":["dids"]}}}}
```

## The QseverseConnectedUserItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"QseverseConnectedUserItem":{"type":"object","properties":{"did":{"type":"string"},"name":{"type":"string","nullable":true},"email":{"type":"string","format":"email","nullable":true}},"required":["did"]}}}}
```

## The QseverseCredentialItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"QseverseCredentialItem":{"type":"object","properties":{"credentialId":{"type":"string"},"templateId":{"type":"string"},"issuedTo":{"type":"string","nullable":true},"issuedAt":{"type":"string","nullable":true},"status":{"type":"string","nullable":true}},"required":["credentialId","templateId"]}}}}
```

## The Referral object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"Referral":{"type":"object","properties":{"muid":{"type":"string"},"user":{"type":"string"},"invite_code":{"type":"string"},"is_coin":{"type":"boolean"}}}}}}
```

## The ReferralList object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ReferralList":{"type":"object","properties":{"id":{"type":"string"},"full_name":{"type":"string"},"muid":{"type":"string"},"karma":{"type":"string","readOnly":true},"level":{"type":"string","readOnly":true}},"required":["full_name","id","karma","level","muid"]}}}}
```

## The Register object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"Register":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/User"},"integration":{"$ref":"#/components/schemas/Integration"},"referral":{"$ref":"#/components/schemas/Referral"}},"required":["user"]},"User":{"type":"object","properties":{"muid":{"type":"string","maxLength":100},"full_name":{"type":"string","maxLength":150},"email":{"type":"string","format":"email","maxLength":200},"mobile":{"type":"string","nullable":true,"maxLength":15},"gender":{"enum":["Male","Female","Other","Prefer not to say","",null],"type":"string","description":"* `Male` - Male\n* `Female` - Female\n* `Other` - Other\n* `Prefer not to say` - Prefer not to say","nullable":true},"dob":{"type":"string","format":"date","nullable":true},"exist_in_guild":{"type":"boolean"},"joined":{"type":"string"},"roles":{"type":"string","readOnly":true},"profile_pic":{"type":"string","readOnly":true},"dynamic_type":{"type":"string","readOnly":true},"user_domains":{"type":"string","readOnly":true},"user_endgoals":{"type":"string","readOnly":true},"interested_in_work":{"type":"boolean"},"interested_in_gig_work":{"type":"boolean"},"company":{"type":"string","readOnly":true}},"required":["company","dynamic_type","email","full_name","joined","muid","profile_pic","roles","user_domains","user_endgoals"]},"Integration":{"type":"object","properties":{"param":{"type":"string"},"title":{"type":"string"}},"required":["param","title"]},"Referral":{"type":"object","properties":{"muid":{"type":"string"},"user":{"type":"string"},"invite_code":{"type":"string"},"is_coin":{"type":"boolean"}}}}}}
```

## The RegisterCollegeItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"RegisterCollegeItem":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"}},"required":["id","title"]}}}}
```

## The RegisterCollegesResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"RegisterCollegesResponse":{"type":"object","properties":{"colleges":{"type":"array","items":{"$ref":"#/components/schemas/RegisterCollegeItem"}}},"required":["colleges"]},"RegisterCollegeItem":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"}},"required":["id","title"]}}}}
```

## The RegisterCompaniesResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"RegisterCompaniesResponse":{"type":"object","properties":{"companies":{"type":"array","items":{"$ref":"#/components/schemas/RegisterCompanyItem"}}},"required":["companies"]},"RegisterCompanyItem":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"}},"required":["id","title"]}}}}
```

## The RegisterCompanyItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"RegisterCompanyItem":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"}},"required":["id","title"]}}}}
```

## The RegisterImagesRequest object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"RegisterImagesRequest":{"type":"object","properties":{"image_keys":{"type":"array","items":{"type":"string"}}},"required":["image_keys"]}}}}
```

## The ResetPassword object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ResetPassword":{"type":"object","properties":{"token":{"type":"string"},"new_password":{"type":"string","minLength":8},"confirm_password":{"type":"string","minLength":8},"user_type":{"enum":["company","recruiter"],"type":"string","description":"* `company` - Company\n* `recruiter` - Recruiter"}},"required":["confirm_password","new_password","token","user_type"]}}}}
```

## The Role object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"Role":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"title":{"type":"string","maxLength":75}},"required":["id","title"]}}}}
```

## The RoleDropDown object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"RoleDropDown":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"title":{"type":"string","maxLength":75}},"required":["id","title"]}}}}
```

## The SessionCreate object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"SessionCreate":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"entity_id":{"type":"string","nullable":true,"maxLength":36},"session_type":{"enum":["ig_session","campus_session","company_session"],"type":"string","description":"* `ig_session` - IG Session\n* `campus_session` - Campus Session\n* `company_session` - Company Session"},"title":{"type":"string","maxLength":150},"description":{"type":"string","nullable":true},"mode":{"enum":["ONLINE","OFFLINE","HYBRID"],"type":"string","description":"* `ONLINE` - Online\n* `OFFLINE` - Offline\n* `HYBRID` - Hybrid"},"starts_at":{"type":"string","format":"date-time"},"ends_at":{"type":"string","format":"date-time"},"meeting_link":{"type":"string","nullable":true,"maxLength":500},"venue":{"type":"string","nullable":true,"maxLength":255},"max_participants":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true},"is_recurring":{"type":"boolean"},"recurrence_type":{"enum":["DAILY","WEEKLY","MONTHLY","",null],"type":"string","description":"* `DAILY` - Daily\n* `WEEKLY` - Weekly\n* `MONTHLY` - Monthly","nullable":true},"recurrence_interval":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true},"recurrence_end_date":{"type":"string","format":"date","nullable":true},"child_session_ids":{"type":"string","readOnly":true}},"required":["child_session_ids","ends_at","starts_at","title"]}}}}
```

## The SessionList object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"SessionList":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"entity_id":{"type":"string","nullable":true,"maxLength":36},"entity_name":{"type":"string","readOnly":true},"session_type":{"enum":["ig_session","campus_session","company_session"],"type":"string","description":"* `ig_session` - IG Session\n* `campus_session` - Campus Session\n* `company_session` - Company Session"},"title":{"type":"string","maxLength":150},"description":{"type":"string","nullable":true},"mode":{"enum":["ONLINE","OFFLINE","HYBRID"],"type":"string","description":"* `ONLINE` - Online\n* `OFFLINE` - Offline\n* `HYBRID` - Hybrid"},"starts_at":{"type":"string","format":"date-time"},"ends_at":{"type":"string","format":"date-time"},"status":{"enum":["REQUESTED","SCHEDULED","PENDING_APPROVAL","COMPLETED","CANCELLED","REJECTED"],"type":"string","description":"* `REQUESTED` - Requested\n* `SCHEDULED` - Scheduled\n* `PENDING_APPROVAL` - Pending Approval\n* `COMPLETED` - Completed\n* `CANCELLED` - Cancelled\n* `REJECTED` - Rejected"},"created_by_id":{"type":"string","readOnly":true},"created_by_name":{"type":"string","readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"max_participants":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true},"meeting_link":{"type":"string","nullable":true,"maxLength":500},"venue":{"type":"string","nullable":true,"maxLength":255},"is_recurring":{"type":"boolean"},"parent_session_id":{"type":"string","readOnly":true,"nullable":true},"recurrence_type":{"enum":["DAILY","WEEKLY","MONTHLY","",null],"type":"string","description":"* `DAILY` - Daily\n* `WEEKLY` - Weekly\n* `MONTHLY` - Monthly","nullable":true},"recurrence_interval":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true},"recurrence_end_date":{"type":"string","format":"date","nullable":true}},"required":["created_at","created_by_id","created_by_name","ends_at","entity_name","parent_session_id","starts_at","status","title"]}}}}
```

## The SessionUpdate object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"SessionUpdate":{"type":"object","properties":{"title":{"type":"string","maxLength":150},"description":{"type":"string","nullable":true},"mode":{"enum":["ONLINE","OFFLINE","HYBRID"],"type":"string","description":"* `ONLINE` - Online\n* `OFFLINE` - Offline\n* `HYBRID` - Hybrid"},"starts_at":{"type":"string","format":"date-time"},"ends_at":{"type":"string","format":"date-time"},"meeting_link":{"type":"string","nullable":true,"maxLength":500},"venue":{"type":"string","nullable":true,"maxLength":255},"max_participants":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true}},"required":["ends_at","starts_at","title"]}}}}
```

## The ShareUserProfileUpdate object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"ShareUserProfileUpdate":{"type":"object","properties":{"is_public":{"type":"boolean"},"updated_by":{"type":"string"},"updated_at":{"type":"string"}}}}}}
```

## The Skill object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"Skill":{"type":"object","description":"Full skill serializer for CRUD operations","properties":{"id":{"type":"string","readOnly":true},"name":{"type":"string","maxLength":75},"code":{"type":"string","maxLength":20},"description":{"type":"string","nullable":true},"icon":{"type":"string","nullable":true,"maxLength":100},"is_active":{"type":"boolean"},"created_at":{"type":"string","format":"date-time","readOnly":true},"updated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["code","created_at","id","name","updated_at"]}}}}
```

## The SkillDropdown object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"SkillDropdown":{"type":"object","description":"Minimal serializer for dropdown selections","properties":{"id":{"type":"string","maxLength":36},"name":{"type":"string","maxLength":75},"code":{"type":"string","maxLength":20}},"required":["code","name"]}}}}
```

## The State object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"State":{"type":"object","properties":{"name":{"type":"string","maxLength":75},"country":{"type":"string","readOnly":true}},"required":["country","name"]}}}}
```

## The StudentInfo object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"StudentInfo":{"type":"object","properties":{"full_name":{"type":"string"},"muid":{"type":"string"},"circle_name":{"type":"string"},"circle_ig":{"type":"string"},"organisation":{"type":"string"},"dwms_id":{"type":"string","nullable":true},"karma_earned":{"type":"integer"}},"required":["circle_ig","circle_name","dwms_id","full_name","karma_earned","muid","organisation"]}}}}
```

## The StudentLeaderboard object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"StudentLeaderboard":{"type":"object","properties":{"muid":{"type":"string","maxLength":100},"full_name":{"type":"string"},"total_karma":{"type":"integer","default":0},"institution":{"type":"string","readOnly":true},"profile_pic":{"type":"string","readOnly":true}},"required":["full_name","institution","muid","profile_pic"]}}}}
```

## The StudentSessionRequest object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"StudentSessionRequest":{"type":"object","description":"Used by students to create a session request.\n\nAll sessions are Interest-Group scoped, so only ``ig_session`` requests are\naccepted; company/campus session types are rejected.\n\nValidates:\n  - The session_type is ig_session and the student is a member of the target\n    Interest Group (entity_id).\n  - Time constraints (starts_at < ends_at, starts_at in future).\n  - Mode / venue / meeting-link consistency (same rules as SessionCreateSerializer).\n  - No duplicate pending request (same student + entity + title + starts_at).","properties":{"id":{"type":"string","maxLength":36},"session_type":{"enum":["ig_session","campus_session","company_session"],"type":"string","description":"* `ig_session` - IG Session\n* `campus_session` - Campus Session\n* `company_session` - Company Session"},"entity_id":{"type":"string","nullable":true,"maxLength":36},"title":{"type":"string","maxLength":150},"description":{"type":"string","nullable":true},"mode":{"enum":["ONLINE","OFFLINE","HYBRID"],"type":"string","description":"* `ONLINE` - Online\n* `OFFLINE` - Offline\n* `HYBRID` - Hybrid"},"starts_at":{"type":"string","format":"date-time"},"ends_at":{"type":"string","format":"date-time"},"meeting_link":{"type":"string","nullable":true,"maxLength":500},"venue":{"type":"string","nullable":true,"maxLength":255},"max_participants":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true}},"required":["ends_at","starts_at","title"]}}}}
```

## The StudentSessionRequestList object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"StudentSessionRequestList":{"type":"object","description":"Read-only serializer used by mentors to see incoming student session requests.\nIncludes the requesting student's name for quick identification.","properties":{"id":{"type":"string","maxLength":36},"session_type":{"enum":["ig_session","campus_session","company_session"],"type":"string","description":"* `ig_session` - IG Session\n* `campus_session` - Campus Session\n* `company_session` - Company Session"},"entity_id":{"type":"string","nullable":true,"maxLength":36},"entity_name":{"type":"string","readOnly":true},"title":{"type":"string","maxLength":150},"description":{"type":"string","nullable":true},"mode":{"enum":["ONLINE","OFFLINE","HYBRID"],"type":"string","description":"* `ONLINE` - Online\n* `OFFLINE` - Offline\n* `HYBRID` - Hybrid"},"starts_at":{"type":"string","format":"date-time"},"ends_at":{"type":"string","format":"date-time"},"meeting_link":{"type":"string","nullable":true,"maxLength":500},"venue":{"type":"string","nullable":true,"maxLength":255},"max_participants":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true},"status":{"enum":["REQUESTED","SCHEDULED","PENDING_APPROVAL","COMPLETED","CANCELLED","REJECTED"],"type":"string","description":"* `REQUESTED` - Requested\n* `SCHEDULED` - Scheduled\n* `PENDING_APPROVAL` - Pending Approval\n* `COMPLETED` - Completed\n* `CANCELLED` - Cancelled\n* `REJECTED` - Rejected"},"requested_by_id":{"type":"string","nullable":true,"readOnly":true},"requested_by_name":{"type":"string","readOnly":true},"requested_by_muid":{"type":"string","readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true}},"required":["created_at","ends_at","entity_name","requested_by_id","requested_by_muid","requested_by_name","starts_at","status","title"]}}}}
```

## The SubjectInfo object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"SubjectInfo":{"type":"object","properties":{"type":{"type":"string"},"did":{"type":"string"},"full_name":{"type":"string"},"email":{"type":"string","format":"email"},"phone":{"type":"string"}},"required":["did","email","full_name","type"]}}}}
```

## The Subscription object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"Subscription":{"type":"object","description":"Serializer for subscription creation requests","properties":{"amount":{"type":"string","format":"decimal","pattern":"^-?\\d{0,10}(?:\\.\\d{0,2})?$"},"currency":{"type":"string","default":"INR"},"name":{"type":"string","maxLength":255},"donation_name":{"type":"string","maxLength":100},"email":{"type":"string","format":"email"},"phone_number":{"type":"string","maxLength":20},"pan_number":{"type":"string","maxLength":10},"address":{"type":"string"},"company":{"type":"string","maxLength":255},"donation_type":{"enum":["one-time","monthly","yearly"],"type":"string","description":"* `one-time` - one-time\n* `monthly` - monthly\n* `yearly` - yearly"},"is_organisation":{"type":"boolean","default":false}},"required":["amount","donation_type","email","name"]}}}}
```

## The TaskCompletedLeaderBoard object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"TaskCompletedLeaderBoard":{"type":"object","properties":{"muid":{"type":"string","maxLength":100},"is_public":{"type":"boolean","default":false},"rank":{"type":"integer"},"full_name":{"type":"string","maxLength":150},"karma":{"type":"integer"},"org":{"type":"string","nullable":true},"district_name":{"type":"string","nullable":true},"state":{"type":"string","nullable":true},"profile_pic":{"type":"string","readOnly":true}},"required":["district_name","full_name","karma","muid","org","profile_pic","rank","state"]}}}}
```

## The TaskListPublic object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"TaskListPublic":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"hashtag":{"type":"string","maxLength":75},"title":{"type":"string","maxLength":75},"description":{"type":"string","nullable":true},"karma":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true},"channel":{"type":"string"},"discord_id":{"type":"string"},"type":{"type":"string"},"variable_karma":{"type":"boolean"},"level":{"type":"string"},"ig":{"type":"string"},"event":{"type":"string","nullable":true,"maxLength":50},"event_id":{"type":"string","nullable":true}},"required":["hashtag","title","type"]}}}}
```

## The TaskPublicListResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"TaskPublicListResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","additionalProperties":{}}},"pagination":{"type":"object","additionalProperties":{}}},"required":["data","pagination"]}}}}
```

## The Top100LeaderboardItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"Top100LeaderboardItem":{"type":"object","properties":{"id":{"type":"string"},"full_name":{"type":"string"},"profile_pic":{"type":"string","nullable":true},"total_karma":{"type":"integer","nullable":true},"org":{"type":"string","nullable":true},"dis":{"type":"string","nullable":true},"state":{"type":"string","nullable":true},"time_":{"type":"string","format":"date-time","nullable":true,"title":"Time "}},"required":["dis","full_name","id","org","profile_pic","state","time_","total_karma"]}}}}
```

## The UnverifiedOrganizationCreate object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"UnverifiedOrganizationCreate":{"type":"object","properties":{"title":{"type":"string","maxLength":100},"org_type":{"type":"string","maxLength":25},"graduation_year":{"type":"integer","nullable":true},"department":{"type":"string","nullable":true}},"required":["org_type","title"]}}}}
```

## The UnverifiedOrganizations object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"UnverifiedOrganizations":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"title":{"type":"string","maxLength":100},"org_type":{"type":"string","maxLength":25},"graduation_year":{"type":"integer","maximum":2147483647,"minimum":-2147483648,"nullable":true},"department":{"type":"string","readOnly":true},"created_by":{"type":"string","readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true}},"required":["created_at","created_by","department","id","org_type","title"]}}}}
```

## The UploadURLResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"UploadURLResponse":{"type":"object","properties":{"upload_url":{"type":"string"},"image_key":{"type":"string"}},"required":["image_key","upload_url"]}}}}
```

## The User object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"User":{"type":"object","properties":{"muid":{"type":"string","maxLength":100},"full_name":{"type":"string","maxLength":150},"email":{"type":"string","format":"email","maxLength":200},"mobile":{"type":"string","nullable":true,"maxLength":15},"gender":{"enum":["Male","Female","Other","Prefer not to say","",null],"type":"string","description":"* `Male` - Male\n* `Female` - Female\n* `Other` - Other\n* `Prefer not to say` - Prefer not to say","nullable":true},"dob":{"type":"string","format":"date","nullable":true},"exist_in_guild":{"type":"boolean"},"joined":{"type":"string"},"roles":{"type":"string","readOnly":true},"profile_pic":{"type":"string","readOnly":true},"dynamic_type":{"type":"string","readOnly":true},"user_domains":{"type":"string","readOnly":true},"user_endgoals":{"type":"string","readOnly":true},"interested_in_work":{"type":"boolean"},"interested_in_gig_work":{"type":"boolean"},"company":{"type":"string","readOnly":true}},"required":["company","dynamic_type","email","full_name","joined","muid","profile_pic","roles","user_domains","user_endgoals"]}}}}
```

## The UserAchievements object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"UserAchievements":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"user_id":{"type":"string"},"achievement":{"allOf":[{"$ref":"#/components/schemas/AchievementBasic"}],"readOnly":true},"is_issued":{"type":"boolean"},"vc_url":{"type":"string","maxLength":100}},"required":["achievement","user_id"]},"AchievementBasic":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"achievement_name":{"type":"string"},"description":{"type":"string","maxLength":300},"icon":{"type":"string","maxLength":100},"icon_url":{"type":"string","readOnly":true},"level_id":{"type":"string","nullable":true},"tags":{},"template_id":{"type":"string","nullable":true,"maxLength":100}},"required":["achievement_name","description","icon_url","tags"]}}}}
```

## The UserAppliedJobs object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"UserAppliedJobs":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"job":{"allOf":[{"$ref":"#/components/schemas/JobList"}],"readOnly":true},"resume_link":{"type":"string","nullable":true},"cover_letter":{"type":"string","nullable":true},"status":{"type":"string","maxLength":20},"rejection_reason":{"type":"string","nullable":true},"applied_at":{"type":"string","format":"date-time","readOnly":true}},"required":["applied_at","job"]},"JobList":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"company_name":{"type":"string","readOnly":true},"company_logo":{"type":"string","readOnly":true},"title":{"type":"string","maxLength":75},"experience":{"type":"string","nullable":true,"maxLength":20},"job_description":{"type":"string","nullable":true},"location":{"type":"string","nullable":true,"maxLength":75},"salary_range":{"type":"string","nullable":true,"maxLength":36},"job_type":{"type":"string","maxLength":20},"status":{"type":"string","maxLength":20},"duration_value":{"type":"integer","maximum":65535,"minimum":0,"nullable":true},"duration_unit":{"type":"string","nullable":true,"maxLength":20},"hourly_rate":{"type":"string","format":"decimal","pattern":"^-?\\d{0,8}(?:\\.\\d{0,2})?$","nullable":true},"deliverables":{"nullable":true},"stipend":{"type":"string","nullable":true,"maxLength":75},"certificate_provided":{"type":"string","nullable":true,"maxLength":3},"rules":{"type":"array","items":{"$ref":"#/components/schemas/JobRule"},"readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true}},"required":["company_logo","company_name","created_at","job_type","rules","title"]},"JobRule":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"rule_type":{"type":"string","maxLength":50},"rule_value":{"type":"string","maxLength":150}},"required":["id","rule_type","rule_value"]}}}}
```

## The UserBasicDetails object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"UserBasicDetails":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"full_name":{"type":"string","maxLength":150},"muid":{"type":"string","maxLength":100},"interest_groups":{"type":"string","readOnly":true},"organizations":{"type":"string","readOnly":true},"profile_pic":{"type":"string","readOnly":true},"karma":{"type":"string"}},"required":["full_name","interest_groups","karma","muid","organizations","profile_pic"]}}}}
```

## The UserCircleList object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"UserCircleList":{"type":"object","description":"Serializes a UserCircleLink entry for the 'My Circles' list.","properties":{"circle_id":{"type":"string","readOnly":true},"title":{"type":"string","readOnly":true},"ig":{"type":"string","readOnly":true},"org":{"type":"string","readOnly":true,"nullable":true},"is_lead":{"type":"boolean","readOnly":true},"total_members":{"type":"string","readOnly":true},"joined_at":{"type":"string","format":"date-time","readOnly":true}},"required":["circle_id","ig","is_lead","joined_at","org","title","total_members"]}}}}
```

## The UserCountry object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"UserCountry":{"type":"object","properties":{"country_name":{"type":"string"}},"required":["country_name"]}}}}
```

## The UserDetail object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"UserDetail":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"muid":{"type":"string","maxLength":100},"email":{"type":"string","format":"email","maxLength":200},"role":{"type":"string","readOnly":true},"full_name":{"type":"string","maxLength":150}},"required":["email","full_name","muid","role"]}}}}
```

## The UserIgEdit object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"UserIgEdit":{"type":"object","properties":{"interest_group":{"type":"array","items":{},"writeOnly":true}},"required":["interest_group"]}}}}
```

## The UserIgList object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"UserIgList":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"name":{"type":"string","maxLength":75}},"required":["name"]}}}}
```

## The UserLeaderboard object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"UserLeaderboard":{"type":"object","properties":{"full_name":{"type":"string","readOnly":true},"karma":{"type":"integer"},"interest_groups":{"type":"string","readOnly":true},"organizations":{"type":"string","readOnly":true}},"required":["full_name","interest_groups","karma","organizations"]}}}}
```

## The UserLevel object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"UserLevel":{"type":"object","properties":{"name":{"type":"string","maxLength":36},"tasks":{"type":"string","readOnly":true},"karma":{"type":"integer","maximum":2147483647,"minimum":-2147483648}},"required":["karma","name","tasks"]}}}}
```

## The UserLog object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"UserLog":{"type":"object","properties":{"task_name":{"type":"string","readOnly":true},"karma":{"type":"integer","maximum":2147483647,"minimum":-2147483648},"created_date":{"type":"string"}},"required":["created_date","karma","task_name"]}}}}
```

## The UserOrgLink object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"UserOrgLink":{"type":"object","properties":{"department":{"type":"string","nullable":true},"graduation_year":{"type":"string","nullable":true},"organization":{"type":"string","nullable":true},"is_alumni":{"type":"boolean"},"is_student":{"type":"boolean","nullable":true,"default":false}},"required":["organization"]}}}}
```

## The UserPermute object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"UserPermute":{"type":"object","properties":{"full_name":{"type":"string"},"user_domains":{"type":"string","readOnly":true},"college_name":{"type":"string","readOnly":true}},"required":["college_name","full_name","user_domains"]}}}}
```

## The UserProfile object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"UserProfile":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"joined":{"type":"string","format":"date-time"},"full_name":{"type":"string","maxLength":150},"gender":{"enum":["Male","Female","Other","Prefer not to say","",null],"type":"string","description":"* `Male` - Male\n* `Female` - Female\n* `Other` - Other\n* `Prefer not to say` - Prefer not to say","nullable":true},"muid":{"type":"string","maxLength":100},"roles":{"type":"string","readOnly":true},"role_verification":{"type":"string","readOnly":true},"lead_enabler_verified":{"type":"string","readOnly":true},"college_id":{"type":"string","readOnly":true},"college_code":{"type":"string","readOnly":true},"org_district_id":{"type":"string","readOnly":true},"karma":{"type":"integer"},"rank":{"type":"string","readOnly":true},"karma_distribution":{"type":"string","readOnly":true},"level":{"type":"string"},"profile_pic":{"type":"string","readOnly":true},"cover_pic":{"type":"string","readOnly":true},"interest_groups":{"type":"string","readOnly":true},"is_public":{"type":"boolean"},"percentile":{"type":"string","readOnly":true}},"required":["college_code","college_id","cover_pic","full_name","interest_groups","joined","karma_distribution","lead_enabler_verified","muid","org_district_id","percentile","profile_pic","rank","role_verification","roles"]}}}}
```

## The UserProfileEdit object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"UserProfileEdit":{"type":"object","properties":{"full_name":{"type":"string","maxLength":150},"email":{"type":"string","format":"email","maxLength":200},"mobile":{"type":"string","nullable":true,"maxLength":15},"communities":{"type":"array","items":{},"writeOnly":true},"gender":{"enum":["Male","Female","Other","Prefer not to say","",null],"type":"string","description":"* `Male` - Male\n* `Female` - Female\n* `Other` - Other\n* `Prefer not to say` - Prefer not to say","nullable":true},"dob":{"type":"string","format":"date","nullable":true},"district_id":{"type":"string","writeOnly":true,"nullable":true}},"required":["communities","email","full_name"]}}}}
```

## The UserRank object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"UserRank":{"type":"object","properties":{"full_name":{"type":"string"},"role":{"type":"string","readOnly":true},"rank":{"type":"string","readOnly":true},"karma":{"type":"string","readOnly":true},"interest_groups":{"type":"string","readOnly":true}},"required":["full_name","interest_groups","karma","rank","role"]}}}}
```

## The UserResetPasswordVerifyTokenResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"UserResetPasswordVerifyTokenResponse":{"type":"object","properties":{"muid":{"type":"string"}},"required":["muid"]}}}}
```

## The UserShareQrcode object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"UserShareQrcode":{"type":"object","properties":{"profile_pic":{"type":"string","readOnly":true}},"required":["profile_pic"]}}}}
```

## The UserState object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"UserState":{"type":"object","properties":{"state_name":{"type":"string"}},"required":["state_name"]}}}}
```

## The UserTerm object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"UserTerm":{"type":"object","properties":{"is_userterms_approved":{"type":"boolean"},"user":{"type":"string"}},"required":["user"]}}}}
```

## The UserZone object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"UserZone":{"type":"object","properties":{"zone_name":{"type":"string"}},"required":["zone_name"]}}}}
```

## The Vote object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"Vote":{"type":"object","properties":{"id":{"type":"string","maxLength":36},"vote":{"enum":["upvote","downvote"],"type":"string","description":"* `upvote` - Upvote\n* `downvote` - Downvote"},"project":{"type":"string"},"user":{"type":"string","readOnly":true},"user_id":{"type":"string","readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"updated_at":{"type":"string","format":"date-time","readOnly":true}},"required":["created_at","project","updated_at","user","user_id","vote"]}}}}
```

## The WadhwaniAuthTokenResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"WadhwaniAuthTokenResponse":{"type":"object","properties":{"access_token":{"type":"string"},"token_type":{"type":"string"},"expires_in":{"type":"integer"},"scope":{"type":"string"}},"required":["access_token","expires_in","token_type"]}}}}
```

## The WadhwaniCollegeLeaderboard object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"WadhwaniCollegeLeaderboard":{"type":"object","properties":{"code":{"type":"string"},"title":{"type":"string"},"total_karma":{"type":"integer"},"students":{"type":"integer"}},"required":["code","students","title","total_karma"]}}}}
```

## The WadhwaniCourseDetailsResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"WadhwaniCourseDetailsResponse":{"type":"object","properties":{"status":{"type":"string"},"courses":{"type":"array","items":{"$ref":"#/components/schemas/WadhwaniCourseItem"}}},"required":["status"]},"WadhwaniCourseItem":{"type":"object","properties":{"courseRootId":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"thumbnailUrl":{"type":"string","nullable":true}},"required":["courseRootId","name"]}}}}
```

## The WadhwaniCourseEnrollStatusResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"WadhwaniCourseEnrollStatusResponse":{"type":"object","properties":{"status":{"type":"string"},"enrolledCourses":{"type":"array","items":{"$ref":"#/components/schemas/WadhwaniEnrolledCourseItem"}}},"required":["status"]},"WadhwaniEnrolledCourseItem":{"type":"object","properties":{"courseRootId":{"type":"string"},"name":{"type":"string"},"enrollmentDate":{"type":"string","nullable":true},"completionStatus":{"type":"string","nullable":true}},"required":["courseRootId","name"]}}}}
```

## The WadhwaniCourseItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"WadhwaniCourseItem":{"type":"object","properties":{"courseRootId":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"thumbnailUrl":{"type":"string","nullable":true}},"required":["courseRootId","name"]}}}}
```

## The WadhwaniCourseQuizDataResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"WadhwaniCourseQuizDataResponse":{"type":"object","properties":{"status":{"type":"string"},"quizData":{"type":"array","items":{"$ref":"#/components/schemas/WadhwaniQuizItem"}}},"required":["status"]},"WadhwaniQuizItem":{"type":"object","properties":{"quizId":{"type":"string"},"quizName":{"type":"string"},"score":{"type":"number","format":"double","nullable":true},"totalMarks":{"type":"number","format":"double","nullable":true},"attemptDate":{"type":"string","nullable":true}},"required":["quizId","quizName"]}}}}
```

## The WadhwaniEnrolledCourseItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"WadhwaniEnrolledCourseItem":{"type":"object","properties":{"courseRootId":{"type":"string"},"name":{"type":"string"},"enrollmentDate":{"type":"string","nullable":true},"completionStatus":{"type":"string","nullable":true}},"required":["courseRootId","name"]}}}}
```

## The WadhwaniQuizItem object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"WadhwaniQuizItem":{"type":"object","properties":{"quizId":{"type":"string"},"quizName":{"type":"string"},"score":{"type":"number","format":"double","nullable":true},"totalMarks":{"type":"number","format":"double","nullable":true},"attemptDate":{"type":"string","nullable":true}},"required":["quizId","quizName"]}}}}
```

## The WadhwaniUserLoginResponse object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"WadhwaniUserLoginResponse":{"type":"object","properties":{"status":{"type":"string"},"accessToken":{"type":"string"},"expiresIn":{"type":"integer"},"userCreated":{"type":"boolean"},"courseEnrolled":{"type":"boolean"},"redirectionUrl":{"type":"string"}},"required":["status"]}}}}
```

## The WadhwaniZoneLeaderboard object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"WadhwaniZoneLeaderboard":{"type":"object","properties":{"zone_name":{"type":"string"},"total_karma":{"type":"integer"},"students":{"type":"integer"}},"required":["students","total_karma","zone_name"]}}}}
```

## The WeeklyKarma object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"WeeklyKarma":{"type":"object","properties":{"college_name":{"type":"string","readOnly":true}},"required":["college_name"]}}}}
```

## The Zone object

```json
{"openapi":"3.0.3","info":{"title":"muLearn API","version":"1.0.0"},"components":{"schemas":{"Zone":{"type":"object","properties":{"name":{"type":"string","maxLength":75},"state":{"allOf":[{"$ref":"#/components/schemas/State"}],"readOnly":true}},"required":["name","state"]},"State":{"type":"object","properties":{"name":{"type":"string","maxLength":75},"country":{"type":"string","readOnly":true}},"required":["country","name"]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.mulearn.org/api-reference/models.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
