openapi: 3.0.3 info: title: muLearn API version: 1.0.0 description: API documentation for the muLearn Platform backend. paths: /api/v1/auth/apple-mobile/: post: operationId: auth_apple_mobile_create description: Create Apple Mobile Auth Proxy. tags: - Auth security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/AuthAppleTokenResponse' required: - hasError - statusCode - message - response description: '' /api/v1/auth/google-mobile/: post: operationId: auth_google_mobile_create description: Create Google Mobile Auth Proxy. tags: - Auth security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/AuthTokenResponse' required: - hasError - statusCode - message - response description: '' /api/v1/auth/refresh-token/: post: operationId: auth_refresh_token_create description: Create Refresh Token Proxy. tags: - Auth security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/AuthRefreshTokenResponse' required: - hasError - statusCode - message - response description: '' /api/v1/auth/user-authentication/: post: operationId: auth_user_authentication_create description: Create User Authentication Proxy. tags: - Auth security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/AuthUserAuthResponse' required: - hasError - statusCode - message - response description: '' /api/v1/calendar/campus-mentor/{campus_id}/sessions/: get: operationId: calendar_campus_mentor_sessions_list description: 'Calendar view of mentorship sessions for a specific campus. Returns sessions grouped as upcoming, ongoing, and completed. Filter by month using the `month` query parameter (format: YYYY-MM).' parameters: - in: path name: campus_id schema: type: string required: true - in: query name: month schema: type: string description: Filter by month (YYYY-MM) - in: query name: status schema: type: string description: 'Filter by status: SCHEDULED, COMPLETED, CANCELLED' tags: - Calendar security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/MentorshipSessionCalendar' required: - hasError - statusCode - message - response description: '' /api/v1/calendar/campus/{campus_id}/events/: get: operationId: calendar_campus_events_list description: Events calendar scoped to a specific Campus. Returns events grouped as upcoming, ongoing, and completed. Supports optional month filtering. parameters: - in: path name: campus_id schema: type: string required: true - in: query name: month schema: type: string description: Filter by month (YYYY-MM) - in: query name: status schema: type: string description: 'Filter by status: ongoing, upcoming, completed' tags: - Calendar security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/EventCalendarItem' required: - hasError - statusCode - message - response description: '' /api/v1/calendar/company/{company_id}/events/: get: operationId: calendar_company_events_list description: Events calendar scoped to a specific Company. Returns events grouped as upcoming, ongoing, and completed. Supports optional month filtering. parameters: - in: path name: company_id schema: type: string required: true - in: query name: month schema: type: string description: Filter by month (YYYY-MM) - in: query name: status schema: type: string description: 'Filter by status: ongoing, upcoming, completed' tags: - Calendar security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/EventCalendarItem' required: - hasError - statusCode - message - response description: '' /api/v1/calendar/company/{company_org_id}/sessions/: get: operationId: calendar_company_sessions_list description: 'Calendar view of mentorship sessions for a specific company org. Returns sessions grouped as upcoming, ongoing, and completed. Filter by month using the `month` query parameter (format: YYYY-MM).' parameters: - in: path name: company_org_id schema: type: string required: true - in: query name: month schema: type: string description: Filter by month (YYYY-MM) - in: query name: status schema: type: string description: 'Filter by status: SCHEDULED, COMPLETED, CANCELLED' tags: - Calendar security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/MentorshipSessionCalendar' required: - hasError - statusCode - message - response description: '' /api/v1/calendar/events/: get: operationId: calendar_events_list description: Global platform events calendar. Returns events grouped as upcoming, ongoing, and completed. Supports optional filtering by month (YYYY-MM) and scope. parameters: - in: query name: month schema: type: string description: Filter by month (YYYY-MM) - in: query name: scope schema: type: string description: 'Filter by scope: ig, campus, global, company' - in: query name: status schema: type: string description: 'Filter by status: ongoing, upcoming, completed' tags: - Calendar security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/EventCalendarItem' required: - hasError - statusCode - message - response description: '' /api/v1/calendar/ig-mentor/{ig_id}/sessions/: get: operationId: calendar_ig_mentor_sessions_list description: 'Calendar view of mentorship sessions for a specific Interest Group. Returns sessions grouped as upcoming, ongoing, and completed. Filter by month using the `month` query parameter (format: YYYY-MM).' parameters: - in: path name: ig_id schema: type: string required: true - in: query name: month schema: type: string description: Filter by month (YYYY-MM) - in: query name: status schema: type: string description: 'Filter by status: SCHEDULED, COMPLETED, CANCELLED' tags: - Calendar security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/MentorshipSessionCalendar' required: - hasError - statusCode - message - response description: '' /api/v1/calendar/ig/{ig_id}/events/: get: operationId: calendar_ig_events_list description: Events calendar scoped to a specific Interest Group. Returns events grouped as upcoming, ongoing, and completed. Supports optional month filtering. parameters: - in: path name: ig_id schema: type: string required: true - in: query name: month schema: type: string description: Filter by month (YYYY-MM) - in: query name: status schema: type: string description: 'Filter by status: ongoing, upcoming, completed' tags: - Calendar security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/EventCalendarItem' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/achievement/audit/{muid}/: get: operationId: dashboard_achievement_audit_retrieve description: Retrieve Audit Log. parameters: - in: path name: muid schema: type: string required: true tags: - Achievement security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/AchievementAuditLogResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/achievement/bulk-claim/: post: operationId: dashboard_achievement_bulk_claim_create description: Create Bulk Claim Task Achievement. tags: - Achievement security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Achievement' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/achievement/bulk-issue/: post: operationId: dashboard_achievement_bulk_issue_create description: Create Achievement Issue Bulk. tags: - Achievement security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Achievement' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/achievement/bulk-issue/template/: get: operationId: dashboard_achievement_bulk_issue_template_retrieve description: Retrieve Achievement Bulk Import Template. tags: - Achievement security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Achievement' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/achievement/claim/{achievement_id}/: post: operationId: dashboard_achievement_claim_create description: Create Claim Achievement. parameters: - in: path name: achievement_id schema: type: string required: true tags: - Achievement security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Achievement' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/achievement/create/: post: operationId: dashboard_achievement_create_create description: Create Achievement Create. tags: - Achievement security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Achievement' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/achievement/debug/{muid}/{achievement_id}/: get: operationId: dashboard_achievement_debug_retrieve description: Retrieve Debug Achievement. parameters: - in: path name: achievement_id schema: type: string required: true - in: path name: muid schema: type: string required: true tags: - Achievement security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Achievement' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/achievement/delete/{achievement_id}/: delete: operationId: dashboard_achievement_delete_destroy description: Delete Achievement Delete. parameters: - in: path name: achievement_id schema: type: string required: true tags: - Achievement security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Achievement' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/achievement/eligible/: get: operationId: dashboard_achievement_eligible_retrieve description: Retrieve Eligible Achievements. tags: - Achievement security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Achievement' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/achievement/issue-vc/: post: operationId: dashboard_achievement_issue_vc_create description: Create User Achievements Issue. tags: - Achievement security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Achievement' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/achievement/issued-log/: get: operationId: dashboard_achievement_issued_log_retrieve description: Retrieve Achievement Log List. tags: - Achievement security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Achievement' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/achievement/list/: get: operationId: dashboard_achievement_list_retrieve description: Retrieve Achievement List. Pass ?user_id= to include a 'has_achievement' flag per item. tags: - Achievement security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Achievement' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/achievement/list/user/{muid}/: get: operationId: dashboard_achievement_list_user_retrieve description: Retrieve User Achievements List. parameters: - in: path name: muid schema: type: string required: true tags: - Achievement security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserAchievements' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/achievement/manual-issue/: post: operationId: dashboard_achievement_manual_issue_create description: Create Manual Issue. tags: - Achievement security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': description: Achievement manually issued to user /api/v1/dashboard/achievement/progress/: get: operationId: dashboard_achievement_progress_retrieve description: Retrieve User Progress. tags: - Achievement security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/AchievementUserProgressResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/achievement/revoke/: post: operationId: dashboard_achievement_revoke_create description: Create Revoke Achievement. tags: - Achievement security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Achievement' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/achievement/rules/: get: operationId: dashboard_achievement_rules_retrieve description: Retrieve Achievement Rule List. tags: - Achievement security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Achievement' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/achievement/rules/{rule_id}/: get: operationId: dashboard_achievement_rules_retrieve_2 description: Retrieve Achievement Rule Detail. parameters: - in: path name: rule_id schema: type: string required: true tags: - Achievement security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Achievement' required: - hasError - statusCode - message - response description: '' patch: operationId: dashboard_achievement_rules_partial_update description: Update a rule's rule_type and/or conditions. Works for both active and deactivated rules. Version and achievement association are immutable. parameters: - in: path name: rule_id schema: type: string required: true tags: - Achievement security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Achievement' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/achievement/rules/{rule_id}/activate/: post: operationId: dashboard_achievement_rules_activate_create description: Activate an Achievement Rule. parameters: - in: path name: rule_id schema: type: string required: true tags: - Achievement security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Achievement' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/achievement/rules/{rule_id}/deactivate/: post: operationId: dashboard_achievement_rules_deactivate_create description: Create Achievement Rule Deactivate. parameters: - in: path name: rule_id schema: type: string required: true tags: - Achievement security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Achievement' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/achievement/rules/create/: post: operationId: dashboard_achievement_rules_create_create description: Create Achievement Rule Create. tags: - Achievement security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Achievement' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/achievement/simulate/{muid}/: get: operationId: dashboard_achievement_simulate_retrieve description: Retrieve Simulate Rules. parameters: - in: path name: muid schema: type: string required: true tags: - Achievement security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/AchievementSimulateRulesResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/achievement/update/{achievement_id}/: put: operationId: dashboard_achievement_update_update description: Update Achievement Update. parameters: - in: path name: achievement_id schema: type: string required: true tags: - Achievement security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Achievement' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/affiliation/: get: operationId: dashboard_affiliation_retrieve description: Retrieve Affiliation C R U D. tags: - Affiliation security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/AffiliationList' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_affiliation_create tags: - Affiliation security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_affiliation_update tags: - Affiliation security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_affiliation_destroy tags: - Affiliation security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/affiliation/{affiliation_id}/: get: operationId: dashboard_affiliation_retrieve_2 description: Retrieve Affiliation C R U D. parameters: - in: path name: affiliation_id schema: type: string required: true tags: - Affiliation security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/AffiliationList' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_affiliation_create_2 parameters: - in: path name: affiliation_id schema: type: string required: true tags: - Affiliation security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_affiliation_update_2 parameters: - in: path name: affiliation_id schema: type: string required: true tags: - Affiliation security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_affiliation_destroy_2 parameters: - in: path name: affiliation_id schema: type: string required: true tags: - Affiliation security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/calendar/events/: get: operationId: dashboard_calendar_events_list description: Unified dashboard calendar. Returns events and mentor sessions based on the caller's role (detected from JWT token). Supports date-range filtering via start_date and end_date. parameters: - in: query name: end_date schema: type: string format: date description: End of date range (YYYY-MM-DD). Required if month is not provided. - in: query name: month schema: type: string description: Optional. Filter by month name. Mutually exclusive with start_date/end_date. - in: query name: start_date schema: type: string format: date description: Start of date range (YYYY-MM-DD). Required if month is not provided. - in: query name: status schema: type: string description: 'Optional. Filter by status: upcoming, ongoing, completed.' - in: query name: year schema: type: integer description: Optional. Used with month filter (defaults to current year). tags: - Calendar security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/EventCalendarItem' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/campus/{org_id}/: get: operationId: dashboard_campus_retrieve description: Retrieve Campus Details Public. parameters: - in: path name: org_id schema: type: string required: true tags: - Campus security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CampusDetailsPublic' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/campus/{org_id}/karma-by-cluster/: get: operationId: dashboard_campus_karma_by_cluster_retrieve description: Retrieve Campus Karma By Cluster. parameters: - in: path name: org_id schema: type: string required: true tags: - Campus security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CampusKarmaByClusterResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/campus/{org_id}/leaderboard/: get: operationId: dashboard_campus_leaderboard_retrieve description: Retrieve Campus Student Leaderboard. parameters: - in: path name: org_id schema: type: string required: true tags: - Campus security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CampusLeaderboard' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/campus/analytics/growth/: get: operationId: dashboard_campus_analytics_growth_retrieve tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/campus/analytics/karma-trend/: get: operationId: dashboard_campus_analytics_karma_trend_retrieve tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/campus/assign-mentor/: post: operationId: dashboard_campus_assign_mentor_create tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/campus/campus-details/: get: operationId: dashboard_campus_campus_details_retrieve description: |- Campus Details API This API view allows authorized users with specific roles (Campus Lead or Enabler) to access details about their campus Attributes: authentication_classes (list): A list containing the CustomizePermission class for authentication. Method: get(request): Handles GET requests to retrieve campus details for the authenticated user. tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/campus/campus-list/: get: operationId: dashboard_campus_campus_list_retrieve description: Retrieve Campus List. tags: - Campus security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CampusList' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/campus/change-student-type/{member_id}/: patch: operationId: dashboard_campus_change_student_type_partial_update parameters: - in: path name: member_id schema: type: string required: true tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/campus/circle-health/: get: operationId: dashboard_campus_circle_health_retrieve description: Retrieve Campus Circle Health. tags: - Campus security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CampusCircleHealthResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/campus/events/: get: operationId: dashboard_campus_events_retrieve description: |- GET campus/events/ Returns paginated campus-scoped and campus-IG-scoped events for the authenticated campus lead's campus. tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/campus/events/distribution/: get: operationId: dashboard_campus_events_distribution_retrieve description: |- GET campus/events/distribution/ Returns ranked tag distribution for all campus events. Aggregates from Event.tags JSONField using Counter. tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/campus/execom/: get: operationId: dashboard_campus_execom_retrieve description: |- GET campus/execom/ — list all execom role holders POST campus/execom/ — appoint a member to a role DELETE campus/execom// — remove a role link tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_campus_execom_create description: |- GET campus/execom/ — list all execom role holders POST campus/execom/ — appoint a member to a role DELETE campus/execom// — remove a role link tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_campus_execom_destroy description: |- GET campus/execom/ — list all execom role holders POST campus/execom/ — appoint a member to a role DELETE campus/execom// — remove a role link tags: - Campus security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/campus/execom/{member_id}/: get: operationId: dashboard_campus_execom_retrieve_2 description: |- GET campus/execom/ — list all execom role holders POST campus/execom/ — appoint a member to a role DELETE campus/execom// — remove a role link parameters: - in: path name: member_id schema: type: string required: true tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_campus_execom_create_2 description: |- GET campus/execom/ — list all execom role holders POST campus/execom/ — appoint a member to a role DELETE campus/execom// — remove a role link parameters: - in: path name: member_id schema: type: string required: true tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_campus_execom_destroy_2 description: |- GET campus/execom/ — list all execom role holders POST campus/execom/ — appoint a member to a role DELETE campus/execom// — remove a role link parameters: - in: path name: member_id schema: type: string required: true tags: - Campus security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/campus/execom/roles/: get: operationId: dashboard_campus_execom_roles_retrieve description: |- GET campus/execom/roles/ — list all assignable roles POST campus/execom/roles/ — explicitly create a custom role tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_campus_execom_roles_create description: |- GET campus/execom/roles/ — list all assignable roles POST campus/execom/roles/ — explicitly create a custom role tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/campus/execom/search/: get: operationId: dashboard_campus_execom_search_retrieve description: |- GET campus/execom/search/?q= Searches campus members by full_name or muid (case-insensitive partial match). Returns all matching members regardless of whether they already hold an Execom role — this fixes the inconsistency where some existing Execom members were missing from search results because a plain exact-muid lookup was used. tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/campus/home-summary/: get: operationId: dashboard_campus_home_summary_retrieve description: Retrieve Campus Dashboard Summary. tags: - Campus security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CampusDashboardSummaryResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/campus/ig-chapters/: get: operationId: dashboard_campus_ig_chapters_retrieve tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_campus_ig_chapters_create tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_campus_ig_chapters_partial_update tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_campus_ig_chapters_destroy tags: - Campus security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/campus/ig-chapters/{chapter_id}/: get: operationId: dashboard_campus_ig_chapters_retrieve_2 parameters: - in: path name: chapter_id schema: type: string required: true tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_campus_ig_chapters_create_2 parameters: - in: path name: chapter_id schema: type: string required: true tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_campus_ig_chapters_partial_update_2 parameters: - in: path name: chapter_id schema: type: string required: true tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_campus_ig_chapters_destroy_2 parameters: - in: path name: chapter_id schema: type: string required: true tags: - Campus security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/campus/ig-chapters/{chapter_id}/join/: post: operationId: dashboard_campus_ig_chapters_join_create description: Join a Campus IG Chapter. The authenticated user must be a verified member of the same campus organization that hosts this chapter. parameters: - in: path name: chapter_id schema: type: string required: true tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/campus/ig-chapters/{chapter_id}/leave/: delete: operationId: dashboard_campus_ig_chapters_leave_destroy description: Leave a Campus IG Chapter. The authenticated user's active learner link to the Interest Group is deactivated. History is preserved. parameters: - in: path name: chapter_id schema: type: string required: true tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/campus/igs/: get: operationId: dashboard_campus_igs_retrieve tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/campus/igs/{ig_id}/members/: get: operationId: dashboard_campus_igs_members_retrieve parameters: - in: path name: ig_id schema: type: string required: true tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/campus/learning-circles/: get: operationId: dashboard_campus_learning_circles_retrieve tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/campus/learning-circles/{circle_id}/members/: get: operationId: dashboard_campus_learning_circles_members_retrieve parameters: - in: path name: circle_id schema: type: string required: true tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/campus/member-funnel/: get: operationId: dashboard_campus_member_funnel_retrieve description: Retrieve Campus Member Funnel. tags: - Campus security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CampusMemberFunnelResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/campus/recent-activity/: get: operationId: dashboard_campus_recent_activity_retrieve description: Retrieve Campus Recent Activity. tags: - Campus security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CampusRecentActivityResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/campus/sessions/list/: get: operationId: dashboard_campus_sessions_list_list description: List campus mentorship sessions. Admins, campus leads, enablers, and approved campus mentors see all statuses; other users see only scheduled sessions. parameters: - in: query name: status schema: type: string tags: - Campus security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/SessionList' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/campus/showcase/: get: operationId: dashboard_campus_showcase_retrieve tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_campus_showcase_partial_update tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/campus/social-links/: put: operationId: dashboard_campus_social_links_update tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_campus_social_links_destroy tags: - Campus security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/campus/social-links/{link_id}/: put: operationId: dashboard_campus_social_links_update_2 parameters: - in: path name: link_id schema: type: string required: true tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_campus_social_links_destroy_2 parameters: - in: path name: link_id schema: type: string required: true tags: - Campus security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/campus/student-details/: get: operationId: dashboard_campus_student_details_retrieve tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/campus/student-details/csv/: get: operationId: dashboard_campus_student_details_csv_retrieve tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/campus/student-level/: get: operationId: dashboard_campus_student_level_retrieve description: Retrieve Campus Student In Each Level. tags: - Campus security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CampusStudentInEachLevelResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/campus/student-level/{org_id}/: get: operationId: dashboard_campus_student_level_retrieve_2 description: Retrieve Campus Student In Each Level. parameters: - in: path name: org_id schema: type: string required: true tags: - Campus security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CampusStudentInEachLevelResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/campus/student-list/: get: operationId: dashboard_campus_student_list_retrieve tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/campus/students/{muid}/activity/: get: operationId: dashboard_campus_students_activity_retrieve parameters: - in: path name: muid schema: type: string required: true tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/campus/transfer-enabler-role/: post: operationId: dashboard_campus_transfer_enabler_role_create tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/campus/transfer-ig-role/: get: operationId: dashboard_campus_transfer_ig_role_retrieve tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_campus_transfer_ig_role_create tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/campus/transfer-lead-role/: post: operationId: dashboard_campus_transfer_lead_role_create tags: - Campus security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/campus/weekly-karma/: get: operationId: dashboard_campus_weekly_karma_retrieve description: Retrieve Weekly Karma. tags: - Campus security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/WeeklyKarma' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/campus/weekly-karma/{org_id}/: get: operationId: dashboard_campus_weekly_karma_retrieve_2 description: Retrieve Weekly Karma. parameters: - in: path name: org_id schema: type: string required: true tags: - Campus security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/WeeklyKarma' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/category/: get: operationId: dashboard_category_retrieve description: Retrieve Category. tags: - Category security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CategoryList' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_category_create tags: - Category security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_category_update tags: - Category security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_category_partial_update tags: - Category security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_category_destroy tags: - Category security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/category/{category_id}/: get: operationId: dashboard_category_retrieve_2 description: Retrieve Category. parameters: - in: path name: category_id schema: type: string required: true tags: - Category security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CategoryList' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_category_create_2 parameters: - in: path name: category_id schema: type: string required: true tags: - Category security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_category_update_2 parameters: - in: path name: category_id schema: type: string required: true tags: - Category security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_category_partial_update_2 parameters: - in: path name: category_id schema: type: string required: true tags: - Category security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_category_destroy_2 parameters: - in: path name: category_id schema: type: string required: true tags: - Category security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/channels/: get: operationId: dashboard_channels_retrieve description: Retrieve Channel C R U D. tags: - Channels security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ChannelList' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_channels_create tags: - Channels security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_channels_update tags: - Channels security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_channels_destroy tags: - Channels security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/channels/{channel_id}/: get: operationId: dashboard_channels_retrieve_2 description: Retrieve Channel C R U D. parameters: - in: path name: channel_id schema: type: string required: true tags: - Channels security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ChannelList' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_channels_create_2 parameters: - in: path name: channel_id schema: type: string required: true tags: - Channels security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_channels_update_2 parameters: - in: path name: channel_id schema: type: string required: true tags: - Channels security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_channels_destroy_2 parameters: - in: path name: channel_id schema: type: string required: true tags: - Channels security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/college/: get: operationId: dashboard_college_retrieve description: Retrieve College Api. tags: - College security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CollegeList' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/college/{college_code}/: get: operationId: dashboard_college_retrieve_2 description: Retrieve College Api. parameters: - in: path name: college_code schema: type: string required: true tags: - College security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CollegeList' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/college/change-college/: patch: operationId: dashboard_college_change_college_partial_update description: Partially update College Change. tags: - College requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedCollegeChange' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedCollegeChange' multipart/form-data: schema: $ref: '#/components/schemas/PatchedCollegeChange' security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CollegeChange' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/company/{company_id}/: get: operationId: dashboard_company_retrieve description: Get details of a specific company by ID. parameters: - in: path name: company_id schema: type: string required: true tags: - Company security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CompanyDetail' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/company/analytics/gigs/: get: operationId: dashboard_company_analytics_gigs_retrieve description: Retrieve analytics data for company gigs (creator or approved company mentor). tags: - Company security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CompanyGigAnalyticsResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/company/applications/{app_id}/resubmit/: patch: operationId: dashboard_company_applications_resubmit_partial_update description: Resubmit a rejected job application. parameters: - in: path name: app_id schema: type: string required: true tags: - Company requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedUserApplicationResubmit' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedUserApplicationResubmit' multipart/form-data: schema: $ref: '#/components/schemas/PatchedUserApplicationResubmit' security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body /api/v1/dashboard/company/applications/{app_id}/status/: patch: operationId: dashboard_company_applications_status_partial_update description: Update the status of a job application (creator or company mentor). parameters: - in: path name: app_id schema: type: string required: true tags: - Company requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedApplicationTracking' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedApplicationTracking' multipart/form-data: schema: $ref: '#/components/schemas/PatchedApplicationTracking' security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ApplicationTracking' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/company/applications/{app_id}/withdraw/: delete: operationId: dashboard_company_applications_withdraw_destroy description: Withdraw a submitted job application. parameters: - in: path name: app_id schema: type: string required: true tags: - Company security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '204': description: No response body /api/v1/dashboard/company/applications/me/: get: operationId: dashboard_company_applications_me_list description: List all jobs the user has applied to. tags: - Company security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/UserAppliedJobs' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/company/home-summary/: get: operationId: dashboard_company_home_summary_retrieve description: Retrieve dashboard summary statistics for the active company. tags: - Company security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body /api/v1/dashboard/company/jobs/: get: operationId: dashboard_company_jobs_list description: List all jobs for the authenticated company (creator or company mentor). tags: - Company security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/JobList' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_company_jobs_create description: Post a new job/gig. Jobs are always created with status='Draft' regardless of any status value sent in the request body. Use PATCH /jobs/{job_id}/ to change the status to 'Active' (or any other value) after creation. tags: - Company requestBody: content: application/json: schema: $ref: '#/components/schemas/JobCreate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/JobCreate' multipart/form-data: schema: $ref: '#/components/schemas/JobCreate' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/JobCreate' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/company/jobs/{job_id}/: get: operationId: dashboard_company_jobs_retrieve description: Retrieve details of a specific job. parameters: - in: path name: job_id schema: type: string required: true tags: - Company security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/JobList' required: - hasError - statusCode - message - response description: '' patch: operationId: dashboard_company_jobs_partial_update description: Update a specific job. parameters: - in: path name: job_id schema: type: string required: true tags: - Company requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedJobUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedJobUpdate' multipart/form-data: schema: $ref: '#/components/schemas/PatchedJobUpdate' security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/JobUpdate' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_company_jobs_destroy description: Delete a specific job. parameters: - in: path name: job_id schema: type: string required: true tags: - Company security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '204': description: No response body /api/v1/dashboard/company/jobs/{job_id}/analytics/: get: operationId: dashboard_company_jobs_analytics_retrieve description: Fetches detailed view, application, and hired statistics for a specific job posting. parameters: - in: path name: job_id schema: type: string required: true tags: - Company security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body /api/v1/dashboard/company/jobs/{job_id}/applications/: get: operationId: dashboard_company_jobs_applications_list description: List all applications for a specific job (creator or company mentor). parameters: - in: path name: job_id schema: type: string required: true tags: - Company security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/ApplicationTracking' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_company_jobs_applications_create description: Apply to a job. parameters: - in: path name: job_id schema: type: string required: true tags: - Company requestBody: content: application/json: schema: $ref: '#/components/schemas/JobApplication' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/JobApplication' multipart/form-data: schema: $ref: '#/components/schemas/JobApplication' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body /api/v1/dashboard/company/jobs/{job_id}/apply/: get: operationId: dashboard_company_jobs_apply_list description: List all applications for a specific job (creator or company mentor). parameters: - in: path name: job_id schema: type: string required: true tags: - Company security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/ApplicationTracking' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_company_jobs_apply_create description: Apply to a job. parameters: - in: path name: job_id schema: type: string required: true tags: - Company requestBody: content: application/json: schema: $ref: '#/components/schemas/JobApplication' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/JobApplication' multipart/form-data: schema: $ref: '#/components/schemas/JobApplication' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body /api/v1/dashboard/company/jobs/{job_id}/view/: post: operationId: dashboard_company_jobs_view_create description: Increment the view count for a specific job listing. parameters: - in: path name: job_id schema: type: string required: true tags: - Company security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body /api/v1/dashboard/company/jobs/all/: get: operationId: dashboard_company_jobs_all_list description: Public endpoint to list all active jobs. tags: - Company security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/JobList' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/company/list/: get: operationId: dashboard_company_list_list description: List all companies with filtering. parameters: - in: query name: company_size schema: type: string - in: query name: country_id schema: type: string format: uuid description: Filter by country UUID - in: query name: district_id schema: type: string format: uuid description: Filter by district UUID - in: query name: industry_sector schema: type: string - in: query name: state_id schema: type: string format: uuid description: Filter by state UUID - in: query name: status schema: type: string tags: - Company security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/CompanyList' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/company/mentor/list/: get: operationId: dashboard_company_mentor_list_list description: List all Company Mentor nominations for the authenticated company. tags: - Company security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/CompanyMentorList' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/company/mentor/nominate/: post: operationId: dashboard_company_mentor_nominate_create description: Nominate a platform user as a Company Mentor for your company. Provide the user's **muid** (e.g. `john-doe@mulearn`). The user must already be a member of the company's organisation (i.e. they appear in `UserOrganizationLink` for this company). Only the verified company creator can nominate. The nomination enters PENDING state until an admin approves it. tags: - Company requestBody: content: application/json: schema: $ref: '#/components/schemas/CompanyMentorNominate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CompanyMentorNominate' multipart/form-data: schema: $ref: '#/components/schemas/CompanyMentorNominate' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CompanyMentorList' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/company/mulearners/: get: operationId: dashboard_company_mulearners_list description: Directory of MuLearners available to companies (creator or company mentor). parameters: - in: query name: achievement schema: type: string - in: query name: college schema: type: string - in: query name: department schema: type: string - in: query name: graduation_year schema: type: string - in: query name: ig schema: type: string - in: query name: level schema: type: integer - in: query name: max_karma schema: type: integer - in: query name: min_karma schema: type: integer - in: query name: skill schema: type: string - in: query name: task schema: type: string tags: - Company security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/MulearnerDirectory' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/company/profile/: get: operationId: dashboard_company_profile_retrieve description: Retrieve the profile of the authenticated company (creator or approved company mentor). tags: - Company security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CompanyDetail' required: - hasError - statusCode - message - response description: '' patch: operationId: dashboard_company_profile_partial_update description: Update the profile of the authenticated company (creator or approved company mentor). tags: - Company requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedCompanyUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedCompanyUpdate' multipart/form-data: schema: $ref: '#/components/schemas/PatchedCompanyUpdate' security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CompanyUpdate' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/company/profile/public/{slug}/: get: operationId: dashboard_company_profile_public_retrieve description: Public endpoint to view a company's profile. parameters: - in: path name: slug schema: type: string required: true tags: - Company security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/PublicCompanyProfile' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/company/profile/public/{slug}/jobs/: get: operationId: dashboard_company_profile_public_jobs_list description: Public endpoint to view all active jobs for a specific company. parameters: - in: path name: slug schema: type: string required: true tags: - Company security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/JobList' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/company/register/: post: operationId: dashboard_company_register_create description: Submit a new company registration. tags: - Company requestBody: content: application/json: schema: $ref: '#/components/schemas/CompanyRegister' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CompanyRegister' multipart/form-data: schema: $ref: '#/components/schemas/CompanyRegister' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CompanyRegister' required: - hasError - statusCode - message - response description: '' patch: operationId: dashboard_company_register_partial_update description: Update or resubmit a pending/rejected company registration. tags: - Company requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedCompanyUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedCompanyUpdate' multipart/form-data: schema: $ref: '#/components/schemas/PatchedCompanyUpdate' security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CompanyUpdate' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/company/status/: get: operationId: dashboard_company_status_retrieve description: Check the status of a company registration. tags: - Company security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body /api/v1/dashboard/company/summary/: get: operationId: dashboard_company_summary_retrieve description: Get summary stats for companies for the admin dashboard. tags: - Company security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body /api/v1/dashboard/company/talent-pool/analytics/: get: operationId: dashboard_company_talent_pool_analytics_retrieve description: Retrieve analytics data for the talent pool. tags: - Company security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body /api/v1/dashboard/company/tasks/: get: operationId: dashboard_company_tasks_retrieve description: List all tasks submitted by the authenticated company user (creator or company mentor). Supports pagination, search, and sort. parameters: - in: query name: approval_status schema: type: string description: 'Filter by approval_status: pending | approved | rejected' tags: - Company security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CompanyTaskListResponse' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_company_tasks_create description: Create a new task for the company. The task is saved with approval_status='pending' and active=False until an admin approves it. Accepts an optional skill_ids list. tags: - Company requestBody: content: application/json: schema: $ref: '#/components/schemas/CompanyTaskCreate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CompanyTaskCreate' multipart/form-data: schema: $ref: '#/components/schemas/CompanyTaskCreate' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: Task submitted for approval. /api/v1/dashboard/company/tasks/{task_id}/: get: operationId: dashboard_company_tasks_retrieve_2 description: Retrieve the detail of a specific task submitted by the company. parameters: - in: path name: task_id schema: type: string required: true tags: - Company security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CompanyTaskList' required: - hasError - statusCode - message - response description: '' put: operationId: dashboard_company_tasks_update description: Update a task submitted by the company. Regardless of the current approval_status, the task reverts to 'pending' and active=False after editing. parameters: - in: path name: task_id schema: type: string required: true tags: - Company requestBody: content: application/json: schema: $ref: '#/components/schemas/CompanyTaskUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CompanyTaskUpdate' multipart/form-data: schema: $ref: '#/components/schemas/CompanyTaskUpdate' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: Task updated and re-submitted for approval. patch: operationId: dashboard_company_tasks_partial_update description: Update a task submitted by the company (partial update). Regardless of the current approval_status, the task reverts to pending and active=False. parameters: - in: path name: task_id schema: type: string required: true tags: - Company requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedCompanyTaskPatch' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedCompanyTaskPatch' multipart/form-data: schema: $ref: '#/components/schemas/PatchedCompanyTaskPatch' security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CompanyTaskList' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_company_tasks_destroy description: Soft-delete a task submitted by the company by marking it inactive. parameters: - in: path name: task_id schema: type: string required: true tags: - Company security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: Task deleted successfully. /api/v1/dashboard/company/verify/{company_id}/: patch: operationId: dashboard_company_verify_partial_update description: Verify or reject a company. parameters: - in: path name: company_id schema: type: string required: true tags: - Company requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedCompanyVerify' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedCompanyVerify' multipart/form-data: schema: $ref: '#/components/schemas/PatchedCompanyVerify' security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body /api/v1/dashboard/coupon/verify-coupon/: post: operationId: dashboard_coupon_verify_coupon_create description: Create Coupon Api. tags: - Coupon security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CouponApplyResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/discord-moderator/leaderboard/: get: operationId: dashboard_discord_moderator_leaderboard_retrieve description: Retrieve Leader Board. tags: - Discord Moderator security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Leaderboard' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/discord-moderator/pendingcounts/: get: operationId: dashboard_discord_moderator_pendingcounts_retrieve description: Retrieve Pending Tasks. tags: - Discord Moderator security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/DiscordPendingTasksResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/discord-moderator/tasklist/: get: operationId: dashboard_discord_moderator_tasklist_retrieve description: Retrieve Task List. tags: - Discord Moderator security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/KarmaActivityLog' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/district/college-details/: get: operationId: dashboard_district_college_details_retrieve tags: - District security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/district/college-details/csv/: get: operationId: dashboard_district_college_details_csv_retrieve tags: - District security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/district/district-details/: get: operationId: dashboard_district_district_details_retrieve tags: - District security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/district/student-details/: get: operationId: dashboard_district_student_details_retrieve tags: - District security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/district/student-details/csv/: get: operationId: dashboard_district_student_details_csv_retrieve tags: - District security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/district/student-level/: get: operationId: dashboard_district_student_level_retrieve tags: - District security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/district/top-campus/: get: operationId: dashboard_district_top_campus_retrieve tags: - District security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/dynamic-management/dynamic-role/: get: operationId: dashboard_dynamic_management_dynamic_role_retrieve tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_dynamic_management_dynamic_role_create tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_dynamic_management_dynamic_role_partial_update tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_dynamic_management_dynamic_role_destroy tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/dynamic-management/dynamic-role/create/: get: operationId: dashboard_dynamic_management_dynamic_role_create_retrieve tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_dynamic_management_dynamic_role_create_create tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_dynamic_management_dynamic_role_create_partial_update tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_dynamic_management_dynamic_role_create_destroy tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/dynamic-management/dynamic-role/delete/{type_id}/: get: operationId: dashboard_dynamic_management_dynamic_role_delete_retrieve parameters: - in: path name: type_id schema: type: string required: true tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_dynamic_management_dynamic_role_delete_create parameters: - in: path name: type_id schema: type: string required: true tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_dynamic_management_dynamic_role_delete_partial_update parameters: - in: path name: type_id schema: type: string required: true tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_dynamic_management_dynamic_role_delete_destroy parameters: - in: path name: type_id schema: type: string required: true tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/dynamic-management/dynamic-role/update/{type_id}/: get: operationId: dashboard_dynamic_management_dynamic_role_update_retrieve parameters: - in: path name: type_id schema: type: string required: true tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_dynamic_management_dynamic_role_update_create parameters: - in: path name: type_id schema: type: string required: true tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_dynamic_management_dynamic_role_update_partial_update parameters: - in: path name: type_id schema: type: string required: true tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_dynamic_management_dynamic_role_update_destroy parameters: - in: path name: type_id schema: type: string required: true tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/dynamic-management/dynamic-user/: get: operationId: dashboard_dynamic_management_dynamic_user_retrieve tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_dynamic_management_dynamic_user_create tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_dynamic_management_dynamic_user_partial_update tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_dynamic_management_dynamic_user_destroy tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/dynamic-management/dynamic-user/create/: get: operationId: dashboard_dynamic_management_dynamic_user_create_retrieve tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_dynamic_management_dynamic_user_create_create tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_dynamic_management_dynamic_user_create_partial_update tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_dynamic_management_dynamic_user_create_destroy tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/dynamic-management/dynamic-user/delete/{type_id}/: get: operationId: dashboard_dynamic_management_dynamic_user_delete_retrieve parameters: - in: path name: type_id schema: type: string required: true tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_dynamic_management_dynamic_user_delete_create parameters: - in: path name: type_id schema: type: string required: true tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_dynamic_management_dynamic_user_delete_partial_update parameters: - in: path name: type_id schema: type: string required: true tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_dynamic_management_dynamic_user_delete_destroy parameters: - in: path name: type_id schema: type: string required: true tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/dynamic-management/dynamic-user/update/{type_id}/: get: operationId: dashboard_dynamic_management_dynamic_user_update_retrieve parameters: - in: path name: type_id schema: type: string required: true tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_dynamic_management_dynamic_user_update_create parameters: - in: path name: type_id schema: type: string required: true tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_dynamic_management_dynamic_user_update_partial_update parameters: - in: path name: type_id schema: type: string required: true tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_dynamic_management_dynamic_user_update_destroy parameters: - in: path name: type_id schema: type: string required: true tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/dynamic-management/roles/: get: operationId: dashboard_dynamic_management_roles_retrieve description: Retrieve Role Drop Down. tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/RoleDropDown' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/dynamic-management/types/: get: operationId: dashboard_dynamic_management_types_retrieve description: Retrieve Dynamic Type Drop Down. tags: - Dynamic Management security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/DynamicTypeDropDownResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/enabler/campuses/: get: operationId: dashboard_enabler_campuses_retrieve tags: - Enabler security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/enabler/campuses/{campus_id}/notes/: get: operationId: dashboard_enabler_campuses_notes_retrieve parameters: - in: path name: campus_id schema: type: string required: true tags: - Enabler security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_enabler_campuses_notes_create parameters: - in: path name: campus_id schema: type: string required: true tags: - Enabler security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_enabler_campuses_notes_partial_update parameters: - in: path name: campus_id schema: type: string required: true tags: - Enabler security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_enabler_campuses_notes_destroy parameters: - in: path name: campus_id schema: type: string required: true tags: - Enabler security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/enabler/campuses/{campus_id}/review/: get: operationId: dashboard_enabler_campuses_review_retrieve parameters: - in: path name: campus_id schema: type: string required: true tags: - Enabler security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/enabler/home-summary/: get: operationId: dashboard_enabler_home_summary_retrieve tags: - Enabler security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/enabler/reports/: get: operationId: dashboard_enabler_reports_retrieve tags: - Enabler security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/error-log/: get: operationId: dashboard_error_log_retrieve description: |- API view for logging errors. Args: request: The HTTP request object. Returns: CustomResponse: The response object containing formatted error logs. Raises: IOError: If there is an error reading the error log file. Examples: >>> logger_api = LoggerAPI() >>> response = logger_api.get(request) tags: - Error Log security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_error_log_partial_update description: |- API view for logging errors. Args: request: The HTTP request object. Returns: CustomResponse: The response object containing formatted error logs. Raises: IOError: If there is an error reading the error log file. Examples: >>> logger_api = LoggerAPI() >>> response = logger_api.get(request) tags: - Error Log security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/error-log/{log_name}/: get: operationId: dashboard_error_log_retrieve_2 parameters: - in: path name: log_name schema: type: string required: true tags: - Error Log security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/error-log/clear/{log_name}/: post: operationId: dashboard_error_log_clear_create parameters: - in: path name: log_name schema: type: string required: true tags: - Error Log security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/error-log/graph/: get: operationId: dashboard_error_log_graph_retrieve description: |- A class representing the ErrorGraphAPI view. This view handles the GET request to retrieve formatted error data including a heatmap of URL hits, incident information, and affected users. It requires authentication and specific roles to access. Args: self: The instance of the class itself. tags: - Error Log security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/error-log/patch/{error_id}/: get: operationId: dashboard_error_log_patch_retrieve description: |- API view for logging errors. Args: request: The HTTP request object. Returns: CustomResponse: The response object containing formatted error logs. Raises: IOError: If there is an error reading the error log file. Examples: >>> logger_api = LoggerAPI() >>> response = logger_api.get(request) parameters: - in: path name: error_id schema: type: string required: true tags: - Error Log security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_error_log_patch_partial_update description: |- API view for logging errors. Args: request: The HTTP request object. Returns: CustomResponse: The response object containing formatted error logs. Raises: IOError: If there is an error reading the error log file. Examples: >>> logger_api = LoggerAPI() >>> response = logger_api.get(request) parameters: - in: path name: error_id schema: type: string required: true tags: - Error Log security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/error-log/tab/: get: operationId: dashboard_error_log_tab_retrieve description: |- A class representing the ErrorTabAPI view. This view handles the GET request to retrieve grouped URL patterns based on user roles. It requires authentication and specific roles to access. Args: self: The instance of the class itself. tags: - Error Log security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/error-log/view/{log_name}/: get: operationId: dashboard_error_log_view_retrieve parameters: - in: path name: log_name schema: type: string required: true tags: - Error Log security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/events/: get: operationId: dashboard_events_retrieve description: Retrieve Event List. tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventListItem' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/{event_id}/: get: operationId: dashboard_events_retrieve_2 description: Retrieve Event Detail. parameters: - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventDetail' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/{event_id}/interest/: post: operationId: dashboard_events_interest_create description: Create Event Interest. parameters: - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventInterestCreateResponse' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_events_interest_destroy description: Delete Event Interest. parameters: - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': description: Interest removed successfully. /api/v1/dashboard/events/admin/: get: operationId: dashboard_events_admin_retrieve description: |- GET /events/admin/ Returns ALL events on the platform (all statuses, including cancelled). Supports additional admin filters: organiser_type, created_by. tags: - Events security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/events/admin/{event_id}/approve/: post: operationId: dashboard_events_admin_approve_create description: |- POST /events/admin//approve/ Advances a pending event through the approval pipeline. Transitions: pending_campus_approval → pending_approval pending_approval → published pending_mentor_approval → published parameters: - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/events/admin/{event_id}/feature/: patch: operationId: dashboard_events_admin_feature_partial_update description: |- PATCH /events/admin//feature/ Toggles is_featured on/off. Optionally accepts body: { "is_featured": true/false } If not provided, current value is toggled. parameters: - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/events/admin/{event_id}/reject/: post: operationId: dashboard_events_admin_reject_create description: |- POST /events/admin//reject/ Rejects a pending event, changing its status to 'rejected'. Body: { "reason": "..." } parameters: - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/events/calendar/: get: operationId: dashboard_events_calendar_retrieve description: Retrieve Event Calendar. tags: - Events security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventCalendarItem' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/campus-ig/{campus_ig_id}/: get: operationId: dashboard_events_campus_ig_retrieve description: Retrieve Campus I G Event List. parameters: - in: path name: campus_ig_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventListItem' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/campus/{campus_id}/: get: operationId: dashboard_events_campus_retrieve description: Retrieve Campus Event List. parameters: - in: path name: campus_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventListItem' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/campus/{event_id}/approve/: post: operationId: dashboard_events_campus_approve_create parameters: - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/events/campus/{event_id}/reject/: post: operationId: dashboard_events_campus_reject_create parameters: - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/events/company/{company_id}/: get: operationId: dashboard_events_company_retrieve description: Retrieve Company Event List. parameters: - in: path name: company_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventListItem' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/featured/: get: operationId: dashboard_events_featured_retrieve description: Retrieve Event Featured. tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventListItem' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/ig/{ig_id}/: get: operationId: dashboard_events_ig_retrieve description: Retrieve I G Event List. parameters: - in: path name: ig_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventListItem' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/ig/cluster/{cluster}/: get: operationId: dashboard_events_ig_cluster_retrieve description: Retrieve Cluster Event List. parameters: - in: path name: cluster schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventListItem' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/is-featured/: get: operationId: dashboard_events_is_featured_retrieve description: Retrieve Event Featured. tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventListItem' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/manage/: get: operationId: dashboard_events_manage_retrieve description: Retrieve Manage Event List Create. tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventListItem' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_events_manage_create description: Create Manage Event List Create. tags: - Events requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/EventWrite' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EventWrite' application/json: schema: $ref: '#/components/schemas/EventWrite' required: true security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventDetail' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/manage/{event_id}/: get: operationId: dashboard_events_manage_retrieve_2 description: Retrieve Manage Event Detail. parameters: - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventDetail' required: - hasError - statusCode - message - response description: '' put: operationId: dashboard_events_manage_update description: Update Manage Event Detail. parameters: - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventDetail' required: - hasError - statusCode - message - response description: '' patch: operationId: dashboard_events_manage_partial_update description: Partially update Manage Event Detail. parameters: - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventDetail' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_events_manage_destroy description: Delete Manage Event Detail. parameters: - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventDetail' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/manage/{event_id}/analytics/: get: operationId: dashboard_events_manage_analytics_retrieve description: Retrieve analytics and performance stats for an event. parameters: - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventAnalyticsResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/manage/{event_id}/co-owners/: get: operationId: dashboard_events_manage_co_owners_retrieve description: Retrieve Manage Event Co Owner. parameters: - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventCoOwner' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_events_manage_co_owners_create description: Create Manage Event Co Owner. parameters: - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventCoOwner' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/manage/{event_id}/co-owners/{co_owner_id}/: delete: operationId: dashboard_events_manage_co_owners_destroy description: Delete Manage Event Co Owner Remove. parameters: - in: path name: co_owner_id schema: type: string required: true - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventCoOwner' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/manage/{event_id}/collaborators/: get: operationId: dashboard_events_manage_collaborators_retrieve description: Retrieve Manage Event Collaborator. parameters: - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventCollaborator' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_events_manage_collaborators_create description: Create Manage Event Collaborator. parameters: - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventCollaborator' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/manage/{event_id}/collaborators/{collaborator_id}/: delete: operationId: dashboard_events_manage_collaborators_destroy description: Delete Manage Event Collaborator Remove. parameters: - in: path name: collaborator_id schema: type: string required: true - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventCollaborator' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/manage/{event_id}/collaborators/{collaborator_id}/accept/: post: operationId: dashboard_events_manage_collaborators_accept_create description: Create Manage Event Collaborator Accept. parameters: - in: path name: collaborator_id schema: type: string required: true - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventCollaborator' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/manage/{event_id}/collaborators/{collaborator_id}/reject/: post: operationId: dashboard_events_manage_collaborators_reject_create description: Create Manage Event Collaborator Reject. parameters: - in: path name: collaborator_id schema: type: string required: true - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventCollaborator' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/manage/{event_id}/publish/: post: operationId: dashboard_events_manage_publish_create description: Create Manage Event Publish. parameters: - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventPublishResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/manage/{event_id}/tasks/: get: operationId: dashboard_events_manage_tasks_list description: List all tasks linked to an event. parameters: - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/EventTask' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_events_manage_tasks_create description: Create a new task linked to an event. Task will require admin approval. parameters: - in: path name: event_id schema: type: string required: true tags: - Events requestBody: content: application/json: schema: $ref: '#/components/schemas/EventTaskWrite' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/EventTaskWrite' multipart/form-data: schema: $ref: '#/components/schemas/EventTaskWrite' required: true security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventTask' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/manage/{event_id}/tasks/{task_id}/: get: operationId: dashboard_events_manage_tasks_retrieve description: Retrieve a specific task linked to an event. parameters: - in: path name: event_id schema: type: string required: true - in: path name: task_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventTask' required: - hasError - statusCode - message - response description: '' patch: operationId: dashboard_events_manage_tasks_partial_update description: Partially update a task linked to an event. parameters: - in: path name: event_id schema: type: string required: true - in: path name: task_id schema: type: string required: true tags: - Events requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedEventTaskWrite' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedEventTaskWrite' multipart/form-data: schema: $ref: '#/components/schemas/PatchedEventTaskWrite' security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventTask' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_events_manage_tasks_destroy description: Delete a task linked to an event. parameters: - in: path name: event_id schema: type: string required: true - in: path name: task_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventTaskDeleteResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/manage/{event_id}/tasks/meta/: get: operationId: dashboard_events_manage_tasks_meta_retrieve description: Retrieve dropdown metadata for event task forms. parameters: - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventTaskMetaResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/mentor/{event_id}/approve/: post: operationId: dashboard_events_mentor_approve_create parameters: - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/events/mentor/{event_id}/reject/: post: operationId: dashboard_events_mentor_reject_create parameters: - in: path name: event_id schema: type: string required: true tags: - Events security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/events/meta/categories/: get: operationId: dashboard_events_meta_categories_list description: Retrieve Event Categories. tags: - Events security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/EventCategoryItem' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/meta/collaboration-targets/: get: operationId: dashboard_events_meta_collaboration_targets_retrieve description: Retrieve Collaboration Targets. tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventCollaborationTargets' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/meta/event-type-scope/: get: operationId: dashboard_events_meta_event_type_scope_retrieve description: Retrieve Event Types and Scopes. tags: - Events security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventTypesScopesResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/meta/organizer-options/: get: operationId: dashboard_events_meta_organizer_options_retrieve description: Retrieve Organizer Options. tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EventOrganizerOptions' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/my-invites/: get: operationId: dashboard_events_my_invites_retrieve description: Retrieve My Event Invites. tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/MyEventInvite' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/events/tasks/: get: operationId: dashboard_events_tasks_list description: Scope-aware list of tasks for events the caller can access. Unauthenticated callers receive only global-event tasks. tags: - Events security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/TaskListPublic' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/home/learner/streak/: get: operationId: dashboard_home_learner_streak_retrieve description: Retrieve Learner Streak. tags: - Home security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/HomeLearnerStreakResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/home/learner/summary/: get: operationId: dashboard_home_learner_summary_retrieve description: Retrieve Learner Dashboard Summary. tags: - Home security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/HomeLearnerDashboardSummaryResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/ig/: get: operationId: dashboard_ig_retrieve description: Retrieve Interest Group. tags: - Ig security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/InterestGroup' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_ig_create tags: - Ig security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_ig_update tags: - Ig security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_ig_destroy tags: - Ig security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/ig/{id}/: get: operationId: dashboard_ig_retrieve_2 description: Retrieve Interest Group. parameters: - in: path name: id schema: type: string required: true tags: - Ig security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/InterestGroup' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_ig_create_2 parameters: - in: path name: id schema: type: string required: true tags: - Ig security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_ig_update_2 parameters: - in: path name: id schema: type: string required: true tags: - Ig security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_ig_destroy_2 parameters: - in: path name: id schema: type: string required: true tags: - Ig security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/ig/{id}/join/: post: operationId: dashboard_ig_join_create description: Join Interest Group instantly. parameters: - in: path name: id schema: type: string required: true tags: - Ig security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/InterestGroup' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_ig_join_destroy description: Leave Interest Group instantly. parameters: - in: path name: id schema: type: string required: true tags: - Ig security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/InterestGroup' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/ig/{id}/leave/: post: operationId: dashboard_ig_leave_create description: Join Interest Group instantly. parameters: - in: path name: id schema: type: string required: true tags: - Ig security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/InterestGroup' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_ig_leave_destroy description: Leave Interest Group instantly. parameters: - in: path name: id schema: type: string required: true tags: - Ig security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/InterestGroup' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/ig/csv/: get: operationId: dashboard_ig_csv_retrieve tags: - Ig security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/ig/get/{id}/: get: operationId: dashboard_ig_get_retrieve parameters: - in: path name: id schema: type: string required: true tags: - Ig security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_ig_get_partial_update parameters: - in: path name: id schema: type: string required: true tags: - Ig security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/ig/list/: get: operationId: dashboard_ig_list_retrieve description: Retrieve Interest Group List Api. tags: - Ig security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/InterestGroup' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/ig/request/: get: operationId: dashboard_ig_request_retrieve description: API endpoint for users to submit and retrieve IG creation requests. tags: - Ig security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_ig_request_create description: API endpoint for users to submit and retrieve IG creation requests. tags: - Ig security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_ig_request_partial_update description: API endpoint for users to submit and retrieve IG creation requests. tags: - Ig security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_ig_request_destroy description: API endpoint for users to submit and retrieve IG creation requests. tags: - Ig security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/ig/request/{id}/: get: operationId: dashboard_ig_request_retrieve_2 description: API endpoint for users to submit and retrieve IG creation requests. parameters: - in: path name: id schema: type: string required: true tags: - Ig security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_ig_request_create_2 description: API endpoint for users to submit and retrieve IG creation requests. parameters: - in: path name: id schema: type: string required: true tags: - Ig security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_ig_request_partial_update_2 description: API endpoint for users to submit and retrieve IG creation requests. parameters: - in: path name: id schema: type: string required: true tags: - Ig security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_ig_request_destroy_2 description: API endpoint for users to submit and retrieve IG creation requests. parameters: - in: path name: id schema: type: string required: true tags: - Ig security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/intern/guilds/: get: operationId: dashboard_intern_guilds_retrieve tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/leaderboard/: get: operationId: dashboard_intern_leaderboard_retrieve tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/leaderboard/me/: get: operationId: dashboard_intern_leaderboard_me_retrieve tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/leave/: get: operationId: dashboard_intern_leave_retrieve tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_intern_leave_create tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_intern_leave_partial_update tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/leave/{leave_id}/: get: operationId: dashboard_intern_leave_retrieve_2 parameters: - in: path name: leave_id schema: type: string required: true tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_intern_leave_create_2 parameters: - in: path name: leave_id schema: type: string required: true tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_intern_leave_partial_update_2 parameters: - in: path name: leave_id schema: type: string required: true tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/leave/{leave_id}/cancel/: get: operationId: dashboard_intern_leave_cancel_retrieve parameters: - in: path name: leave_id schema: type: string required: true tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_intern_leave_cancel_create parameters: - in: path name: leave_id schema: type: string required: true tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_intern_leave_cancel_partial_update parameters: - in: path name: leave_id schema: type: string required: true tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/leave/balance/: get: operationId: dashboard_intern_leave_balance_retrieve tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/leave/history/: get: operationId: dashboard_intern_leave_history_retrieve tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/minutes/: get: operationId: dashboard_intern_minutes_retrieve description: |- Intern Lead's guild minutes endpoint. GET /api/v1/intern/minutes/ — List minutes (filterable by guild/date) POST /api/v1/intern/minutes/ — Upload new guild minutes (Intern Lead only) PUT /api/v1/intern/minutes// — Edit existing minutes (Intern Lead only) DELETE /api/v1/intern/minutes// — Delete minutes (Intern Lead only) tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_intern_minutes_create description: |- Intern Lead's guild minutes endpoint. GET /api/v1/intern/minutes/ — List minutes (filterable by guild/date) POST /api/v1/intern/minutes/ — Upload new guild minutes (Intern Lead only) PUT /api/v1/intern/minutes// — Edit existing minutes (Intern Lead only) DELETE /api/v1/intern/minutes// — Delete minutes (Intern Lead only) tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_intern_minutes_update description: |- Intern Lead's guild minutes endpoint. GET /api/v1/intern/minutes/ — List minutes (filterable by guild/date) POST /api/v1/intern/minutes/ — Upload new guild minutes (Intern Lead only) PUT /api/v1/intern/minutes// — Edit existing minutes (Intern Lead only) DELETE /api/v1/intern/minutes// — Delete minutes (Intern Lead only) tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_intern_minutes_destroy description: |- Intern Lead's guild minutes endpoint. GET /api/v1/intern/minutes/ — List minutes (filterable by guild/date) POST /api/v1/intern/minutes/ — Upload new guild minutes (Intern Lead only) PUT /api/v1/intern/minutes// — Edit existing minutes (Intern Lead only) DELETE /api/v1/intern/minutes// — Delete minutes (Intern Lead only) tags: - Intern security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/intern/minutes/{minute_id}/: get: operationId: dashboard_intern_minutes_retrieve_2 description: |- Intern Lead's guild minutes endpoint. GET /api/v1/intern/minutes/ — List minutes (filterable by guild/date) POST /api/v1/intern/minutes/ — Upload new guild minutes (Intern Lead only) PUT /api/v1/intern/minutes// — Edit existing minutes (Intern Lead only) DELETE /api/v1/intern/minutes// — Delete minutes (Intern Lead only) parameters: - in: path name: minute_id schema: type: string required: true tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_intern_minutes_create_2 description: |- Intern Lead's guild minutes endpoint. GET /api/v1/intern/minutes/ — List minutes (filterable by guild/date) POST /api/v1/intern/minutes/ — Upload new guild minutes (Intern Lead only) PUT /api/v1/intern/minutes// — Edit existing minutes (Intern Lead only) DELETE /api/v1/intern/minutes// — Delete minutes (Intern Lead only) parameters: - in: path name: minute_id schema: type: string required: true tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_intern_minutes_update_2 description: |- Intern Lead's guild minutes endpoint. GET /api/v1/intern/minutes/ — List minutes (filterable by guild/date) POST /api/v1/intern/minutes/ — Upload new guild minutes (Intern Lead only) PUT /api/v1/intern/minutes// — Edit existing minutes (Intern Lead only) DELETE /api/v1/intern/minutes// — Delete minutes (Intern Lead only) parameters: - in: path name: minute_id schema: type: string required: true tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_intern_minutes_destroy_2 description: |- Intern Lead's guild minutes endpoint. GET /api/v1/intern/minutes/ — List minutes (filterable by guild/date) POST /api/v1/intern/minutes/ — Upload new guild minutes (Intern Lead only) PUT /api/v1/intern/minutes// — Edit existing minutes (Intern Lead only) DELETE /api/v1/intern/minutes// — Delete minutes (Intern Lead only) parameters: - in: path name: minute_id schema: type: string required: true tags: - Intern security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/intern/overview/activity/: get: operationId: dashboard_intern_overview_activity_retrieve tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/overview/leaderboard/top/: get: operationId: dashboard_intern_overview_leaderboard_top_retrieve tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/overview/status/: get: operationId: dashboard_intern_overview_status_retrieve tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/reviews/: get: operationId: dashboard_intern_reviews_retrieve tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_intern_reviews_create tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_intern_reviews_partial_update tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/reviews/{review_id}/: get: operationId: dashboard_intern_reviews_retrieve_2 parameters: - in: path name: review_id schema: type: string required: true tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_intern_reviews_create_2 parameters: - in: path name: review_id schema: type: string required: true tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_intern_reviews_partial_update_2 parameters: - in: path name: review_id schema: type: string required: true tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/reviews/current/: get: operationId: dashboard_intern_reviews_current_retrieve tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/reviews/history/: get: operationId: dashboard_intern_reviews_history_retrieve tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/reviews/prefill/: get: operationId: dashboard_intern_reviews_prefill_retrieve tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/tasks/{task_id}/: patch: operationId: dashboard_intern_tasks_partial_update description: |- Allows an intern to directly set task status and output_link without going through a timesheet submission. parameters: - in: path name: task_id schema: type: string required: true tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/tasks/{task_id}/detail/: get: operationId: dashboard_intern_tasks_detail_retrieve parameters: - in: path name: task_id schema: type: string required: true tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/tasks/{task_id}/submit/: patch: operationId: dashboard_intern_tasks_submit_partial_update description: |- Allows an intern to directly set task status and output_link without going through a timesheet submission. parameters: - in: path name: task_id schema: type: string required: true tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/tasks/categories/: get: operationId: dashboard_intern_tasks_categories_retrieve tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/tasks/mine/: get: operationId: dashboard_intern_tasks_mine_retrieve tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/timesheets/: get: operationId: dashboard_intern_timesheets_retrieve tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_intern_timesheets_create tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_intern_timesheets_partial_update tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/timesheets/{timesheet_id}/: get: operationId: dashboard_intern_timesheets_retrieve_2 parameters: - in: path name: timesheet_id schema: type: string required: true tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_intern_timesheets_create_2 parameters: - in: path name: timesheet_id schema: type: string required: true tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_intern_timesheets_partial_update_2 parameters: - in: path name: timesheet_id schema: type: string required: true tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/timesheets/history/: get: operationId: dashboard_intern_timesheets_history_retrieve tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/timesheets/prefill/: get: operationId: dashboard_intern_timesheets_prefill_retrieve tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/timesheets/summary/: get: operationId: dashboard_intern_timesheets_summary_retrieve tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/intern/timesheets/today/: get: operationId: dashboard_intern_timesheets_today_retrieve tags: - Intern security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/karma-voucher/: get: operationId: dashboard_karma_voucher_retrieve tags: - Karma Voucher security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_karma_voucher_create tags: - Karma Voucher security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_karma_voucher_partial_update tags: - Karma Voucher security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_karma_voucher_destroy tags: - Karma Voucher security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/karma-voucher/base-template/: get: operationId: dashboard_karma_voucher_base_template_retrieve description: Retrieve Voucher Base Template. tags: - Karma Voucher security: - jwtAuth: [] - {} responses: '200': description: XLSX file download /api/v1/dashboard/karma-voucher/create/: get: operationId: dashboard_karma_voucher_create_retrieve tags: - Karma Voucher security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_karma_voucher_create_create tags: - Karma Voucher security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_karma_voucher_create_partial_update tags: - Karma Voucher security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_karma_voucher_create_destroy tags: - Karma Voucher security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/karma-voucher/delete/{voucher_id}/: get: operationId: dashboard_karma_voucher_delete_retrieve parameters: - in: path name: voucher_id schema: type: string required: true tags: - Karma Voucher security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_karma_voucher_delete_create parameters: - in: path name: voucher_id schema: type: string required: true tags: - Karma Voucher security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_karma_voucher_delete_partial_update parameters: - in: path name: voucher_id schema: type: string required: true tags: - Karma Voucher security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_karma_voucher_delete_destroy parameters: - in: path name: voucher_id schema: type: string required: true tags: - Karma Voucher security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/karma-voucher/export/: get: operationId: dashboard_karma_voucher_export_retrieve tags: - Karma Voucher security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/karma-voucher/import/: post: operationId: dashboard_karma_voucher_import_create tags: - Karma Voucher security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/karma-voucher/update/{voucher_id}/: get: operationId: dashboard_karma_voucher_update_retrieve parameters: - in: path name: voucher_id schema: type: string required: true tags: - Karma Voucher security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_karma_voucher_update_create parameters: - in: path name: voucher_id schema: type: string required: true tags: - Karma Voucher security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_karma_voucher_update_partial_update parameters: - in: path name: voucher_id schema: type: string required: true tags: - Karma Voucher security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_karma_voucher_update_destroy parameters: - in: path name: voucher_id schema: type: string required: true tags: - Karma Voucher security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/learningcircle/create/: get: operationId: dashboard_learningcircle_create_retrieve description: Retrieve Learning Circle. tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleDetail' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_learningcircle_create_create description: Create Learning Circle. tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleDetail' required: - hasError - statusCode - message - response description: '' put: operationId: dashboard_learningcircle_create_update description: Update Learning Circle. tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleDetail' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_learningcircle_create_destroy description: Delete Learning Circle. tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleDetail' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/learningcircle/delete/{circle_id}/: get: operationId: dashboard_learningcircle_delete_retrieve description: Retrieve Learning Circle. parameters: - in: path name: circle_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleDetail' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_learningcircle_delete_create description: Create Learning Circle. parameters: - in: path name: circle_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleDetail' required: - hasError - statusCode - message - response description: '' put: operationId: dashboard_learningcircle_delete_update description: Update Learning Circle. parameters: - in: path name: circle_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleDetail' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_learningcircle_delete_destroy description: Delete Learning Circle. parameters: - in: path name: circle_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleDetail' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/learningcircle/edit/{circle_id}/: get: operationId: dashboard_learningcircle_edit_retrieve description: Retrieve Learning Circle. parameters: - in: path name: circle_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleDetail' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_learningcircle_edit_create description: Create Learning Circle. parameters: - in: path name: circle_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleDetail' required: - hasError - statusCode - message - response description: '' put: operationId: dashboard_learningcircle_edit_update description: Update Learning Circle. parameters: - in: path name: circle_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleDetail' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_learningcircle_edit_destroy description: Delete Learning Circle. parameters: - in: path name: circle_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleDetail' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/learningcircle/info/{circle_id}/: get: operationId: dashboard_learningcircle_info_retrieve description: Retrieve Learning Circle. parameters: - in: path name: circle_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleDetail' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_learningcircle_info_create description: Create Learning Circle. parameters: - in: path name: circle_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleDetail' required: - hasError - statusCode - message - response description: '' put: operationId: dashboard_learningcircle_info_update description: Update Learning Circle. parameters: - in: path name: circle_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleDetail' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_learningcircle_info_destroy description: Delete Learning Circle. parameters: - in: path name: circle_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleDetail' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/learningcircle/invite/{circle_id}/: post: operationId: dashboard_learningcircle_invite_create description: Create Circle Invite. parameters: - in: path name: circle_id schema: type: string required: true tags: - Learningcircle requestBody: content: application/json: schema: $ref: '#/components/schemas/CircleInvite' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CircleInvite' multipart/form-data: schema: $ref: '#/components/schemas/CircleInvite' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CircleInvite' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/learningcircle/invite/sent/{circle_id}/: get: operationId: dashboard_learningcircle_invite_sent_retrieve description: Retrieve Circle Sent Invites. parameters: - in: path name: circle_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CircleSentInvites' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/learningcircle/invite/status/: get: operationId: dashboard_learningcircle_invite_status_retrieve description: Retrieve Circle Invite Status. tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CircleInviteStatus' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_learningcircle_invite_status_create description: Create Circle Invite Status. tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CircleInviteStatus' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/learningcircle/invite/status/{link_id}/: get: operationId: dashboard_learningcircle_invite_status_retrieve_2 description: Retrieve Circle Invite Status. parameters: - in: path name: link_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CircleInviteStatus' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_learningcircle_invite_status_create_2 description: Create Circle Invite Status. parameters: - in: path name: link_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CircleInviteStatus' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/learningcircle/join/{circle_id}/: get: operationId: dashboard_learningcircle_join_retrieve description: Retrieve Circle Join. parameters: - in: path name: circle_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CircleJoinRequest' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_learningcircle_join_create description: Create Circle Join. parameters: - in: path name: circle_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CircleJoinRequest' required: - hasError - statusCode - message - response description: '' patch: operationId: dashboard_learningcircle_join_partial_update description: Partially update Circle Join. parameters: - in: path name: circle_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CircleJoinRequest' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/learningcircle/list/: get: operationId: dashboard_learningcircle_list_retrieve description: Retrieve Learning Circle. tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleDetail' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_learningcircle_list_create description: Create Learning Circle. tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleDetail' required: - hasError - statusCode - message - response description: '' put: operationId: dashboard_learningcircle_list_update description: Update Learning Circle. tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleDetail' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_learningcircle_list_destroy description: Delete Learning Circle. tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleDetail' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/learningcircle/meeting/attendee-report/{meet_id}/: get: operationId: dashboard_learningcircle_meeting_attendee_report_retrieve description: Retrieve Learning Circle Attendee Report. parameters: - in: path name: meet_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleAttendeeReportGetResponse' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_learningcircle_meeting_attendee_report_create description: Create Learning Circle Attendee Report. parameters: - in: path name: meet_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: Attendee report submitted successfully. No response body. delete: operationId: dashboard_learningcircle_meeting_attendee_report_destroy description: Delete Learning Circle Attendee Report. parameters: - in: path name: meet_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: Attendee report deleted successfully. No response body. /api/v1/dashboard/learningcircle/meeting/create/{circle_id}/: post: operationId: dashboard_learningcircle_meeting_create_create description: Create Learning Circle Meeting. parameters: - in: path name: circle_id schema: type: string required: true tags: - Learningcircle requestBody: content: application/json: schema: $ref: '#/components/schemas/CircleMeetingLogCreateEdit' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CircleMeetingLogCreateEdit' multipart/form-data: schema: $ref: '#/components/schemas/CircleMeetingLogCreateEdit' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CircleMeetingLogCreateEdit' required: - hasError - statusCode - message - response description: '' put: operationId: dashboard_learningcircle_meeting_create_update description: Update Learning Circle Meeting. parameters: - in: path name: circle_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CircleMeetingLogCreateEdit' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_learningcircle_meeting_create_destroy description: Delete Learning Circle Meeting. parameters: - in: path name: circle_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CircleMeetingLogCreateEdit' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/learningcircle/meeting/delete/{meet_id}/: post: operationId: dashboard_learningcircle_meeting_delete_create description: Create Learning Circle Meeting. parameters: - in: path name: meet_id schema: type: string required: true tags: - Learningcircle requestBody: content: application/json: schema: $ref: '#/components/schemas/CircleMeetingLogCreateEdit' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CircleMeetingLogCreateEdit' multipart/form-data: schema: $ref: '#/components/schemas/CircleMeetingLogCreateEdit' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CircleMeetingLogCreateEdit' required: - hasError - statusCode - message - response description: '' put: operationId: dashboard_learningcircle_meeting_delete_update description: Update Learning Circle Meeting. parameters: - in: path name: meet_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CircleMeetingLogCreateEdit' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_learningcircle_meeting_delete_destroy description: Delete Learning Circle Meeting. parameters: - in: path name: meet_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CircleMeetingLogCreateEdit' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/learningcircle/meeting/edit/{meet_id}/: post: operationId: dashboard_learningcircle_meeting_edit_create description: Create Learning Circle Meeting. parameters: - in: path name: meet_id schema: type: string required: true tags: - Learningcircle requestBody: content: application/json: schema: $ref: '#/components/schemas/CircleMeetingLogCreateEdit' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CircleMeetingLogCreateEdit' multipart/form-data: schema: $ref: '#/components/schemas/CircleMeetingLogCreateEdit' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CircleMeetingLogCreateEdit' required: - hasError - statusCode - message - response description: '' put: operationId: dashboard_learningcircle_meeting_edit_update description: Update Learning Circle Meeting. parameters: - in: path name: meet_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CircleMeetingLogCreateEdit' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_learningcircle_meeting_edit_destroy description: Delete Learning Circle Meeting. parameters: - in: path name: meet_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CircleMeetingLogCreateEdit' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/learningcircle/meeting/info/{meet_id}/: get: operationId: dashboard_learningcircle_meeting_info_retrieve description: Retrieve Learning Circle Meeting Info. parameters: - in: path name: meet_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CircleMeetupInfo' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/learningcircle/meeting/join/{meet_id}/: post: operationId: dashboard_learningcircle_meeting_join_create description: Create Learning Circle Join. parameters: - in: path name: meet_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: Joined the meeting successfully. No response body. delete: operationId: dashboard_learningcircle_meeting_join_destroy description: Delete Learning Circle Join. parameters: - in: path name: meet_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: Removed from meetup attendee list. No response body. /api/v1/dashboard/learningcircle/meeting/leave/{meet_id}/: post: operationId: dashboard_learningcircle_meeting_leave_create description: Create Learning Circle Join. parameters: - in: path name: meet_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: Joined the meeting successfully. No response body. delete: operationId: dashboard_learningcircle_meeting_leave_destroy description: Delete Learning Circle Join. parameters: - in: path name: meet_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: Removed from meetup attendee list. No response body. /api/v1/dashboard/learningcircle/meeting/list/: get: operationId: dashboard_learningcircle_meeting_list_retrieve description: Retrieve Learning Circle Meeting List. tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CircleMeetupMin' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/learningcircle/meeting/list-public/: get: operationId: dashboard_learningcircle_meeting_list_public_retrieve description: Retrieve Learning Circle Meeting Public List. tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CircleMeetupPublic' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/learningcircle/meeting/list/{circle_id}/: get: operationId: dashboard_learningcircle_meeting_list_retrieve_2 description: Retrieve Learning Circle Meeting List. parameters: - in: path name: circle_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CircleMeetupMin' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/learningcircle/meeting/report/{meet_id}/: get: operationId: dashboard_learningcircle_meeting_report_retrieve description: Retrieve Learning Circle Report. parameters: - in: path name: meet_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleReportGetResponse' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_learningcircle_meeting_report_create description: Create Learning Circle Report. parameters: - in: path name: meet_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: Meeting report submitted successfully. No response body. delete: operationId: dashboard_learningcircle_meeting_report_destroy description: Delete Learning Circle Report. parameters: - in: path name: meet_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: Meeting report deleted successfully. No response body. /api/v1/dashboard/learningcircle/meeting/rsvp/{meet_id}/: post: operationId: dashboard_learningcircle_meeting_rsvp_create description: Create Learning Circle R S V P. parameters: - in: path name: meet_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: RSVP registered successfully. No response body. /api/v1/dashboard/learningcircle/members/{circle_id}/: get: operationId: dashboard_learningcircle_members_retrieve description: Retrieve Learning Circle Member Details. parameters: - in: path name: circle_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleMemberDetailsResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/learningcircle/members/add/{circle_id}/: post: operationId: dashboard_learningcircle_members_add_create description: Create Circle Member Add. parameters: - in: path name: circle_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: Member added to the circle successfully. No response body. /api/v1/dashboard/learningcircle/transfer-lead/{circle_id}/: post: operationId: dashboard_learningcircle_transfer_lead_create description: Create Circle Transfer Lead. parameters: - in: path name: circle_id schema: type: string required: true tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: Circle lead transferred successfully. No response body. /api/v1/dashboard/learningcircle/user-circles/: get: operationId: dashboard_learningcircle_user_circles_retrieve description: Retrieve User Circle List. tags: - Learningcircle security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserCircleList' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/location/countries/: get: operationId: dashboard_location_countries_retrieve tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body post: operationId: dashboard_location_countries_create tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body patch: operationId: dashboard_location_countries_partial_update tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body delete: operationId: dashboard_location_countries_destroy tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '204': description: No response body /api/v1/dashboard/location/countries/{country_id}/: get: operationId: dashboard_location_countries_retrieve_2 parameters: - in: path name: country_id schema: type: string required: true tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body post: operationId: dashboard_location_countries_create_2 parameters: - in: path name: country_id schema: type: string required: true tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body patch: operationId: dashboard_location_countries_partial_update_2 parameters: - in: path name: country_id schema: type: string required: true tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body delete: operationId: dashboard_location_countries_destroy_2 parameters: - in: path name: country_id schema: type: string required: true tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '204': description: No response body /api/v1/dashboard/location/countries/list/: get: operationId: dashboard_location_countries_list_list description: Retrieve Country List Api. tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/LocationCountryListResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/location/districts/: get: operationId: dashboard_location_districts_retrieve tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body post: operationId: dashboard_location_districts_create tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body patch: operationId: dashboard_location_districts_partial_update tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body delete: operationId: dashboard_location_districts_destroy tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '204': description: No response body /api/v1/dashboard/location/districts/{district_id}/: get: operationId: dashboard_location_districts_retrieve_2 parameters: - in: path name: district_id schema: type: string required: true tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body post: operationId: dashboard_location_districts_create_2 parameters: - in: path name: district_id schema: type: string required: true tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body patch: operationId: dashboard_location_districts_partial_update_2 parameters: - in: path name: district_id schema: type: string required: true tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body delete: operationId: dashboard_location_districts_destroy_2 parameters: - in: path name: district_id schema: type: string required: true tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '204': description: No response body /api/v1/dashboard/location/states/: get: operationId: dashboard_location_states_retrieve tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body post: operationId: dashboard_location_states_create tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body patch: operationId: dashboard_location_states_partial_update tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body delete: operationId: dashboard_location_states_destroy tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '204': description: No response body /api/v1/dashboard/location/states/{state_id}/: get: operationId: dashboard_location_states_retrieve_2 parameters: - in: path name: state_id schema: type: string required: true tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body post: operationId: dashboard_location_states_create_2 parameters: - in: path name: state_id schema: type: string required: true tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body patch: operationId: dashboard_location_states_partial_update_2 parameters: - in: path name: state_id schema: type: string required: true tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body delete: operationId: dashboard_location_states_destroy_2 parameters: - in: path name: state_id schema: type: string required: true tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '204': description: No response body /api/v1/dashboard/location/states/list/: get: operationId: dashboard_location_states_list_list description: Retrieve State List Api. tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/LocationStateListResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/location/zones/: get: operationId: dashboard_location_zones_retrieve tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body post: operationId: dashboard_location_zones_create tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body patch: operationId: dashboard_location_zones_partial_update tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body delete: operationId: dashboard_location_zones_destroy tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '204': description: No response body /api/v1/dashboard/location/zones/{zone_id}/: get: operationId: dashboard_location_zones_retrieve_2 parameters: - in: path name: zone_id schema: type: string required: true tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body post: operationId: dashboard_location_zones_create_2 parameters: - in: path name: zone_id schema: type: string required: true tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body patch: operationId: dashboard_location_zones_partial_update_2 parameters: - in: path name: zone_id schema: type: string required: true tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body delete: operationId: dashboard_location_zones_destroy_2 parameters: - in: path name: zone_id schema: type: string required: true tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '204': description: No response body /api/v1/dashboard/location/zones/list/: get: operationId: dashboard_location_zones_list_list description: Retrieve Zone List Api. tags: - Location security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/LocationZoneListResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/manage-interns/interns/: get: operationId: dashboard_manage_interns_interns_retrieve tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_manage_interns_interns_create tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_manage_interns_interns_partial_update tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_manage_interns_interns_destroy tags: - Manage Interns security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/manage-interns/interns/{intern_id}/: get: operationId: dashboard_manage_interns_interns_retrieve_2 parameters: - in: path name: intern_id schema: type: string required: true tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_manage_interns_interns_create_2 parameters: - in: path name: intern_id schema: type: string required: true tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_manage_interns_interns_partial_update_2 parameters: - in: path name: intern_id schema: type: string required: true tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_manage_interns_interns_destroy_2 parameters: - in: path name: intern_id schema: type: string required: true tags: - Manage Interns security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/manage-interns/interns/export/: get: operationId: dashboard_manage_interns_interns_export_retrieve tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/manage-interns/interns/import/: post: operationId: dashboard_manage_interns_interns_import_create tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/manage-interns/interns/import/template/: get: operationId: dashboard_manage_interns_interns_import_template_retrieve tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/manage-interns/leave/: get: operationId: dashboard_manage_interns_leave_retrieve tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/manage-interns/leave/{leave_id}/: get: operationId: dashboard_manage_interns_leave_retrieve_2 parameters: - in: path name: leave_id schema: type: string required: true tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/manage-interns/leave/{leave_id}/review/: patch: operationId: dashboard_manage_interns_leave_review_partial_update parameters: - in: path name: leave_id schema: type: string required: true tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/manage-interns/reviews/: get: operationId: dashboard_manage_interns_reviews_retrieve tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/manage-interns/reviews/reviews/{review_id}/review/: get: operationId: dashboard_manage_interns_reviews_reviews_review_retrieve parameters: - in: path name: review_id schema: type: string required: true tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_manage_interns_reviews_reviews_review_partial_update parameters: - in: path name: review_id schema: type: string required: true tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/manage-interns/reviews/timesheets/: get: operationId: dashboard_manage_interns_reviews_timesheets_retrieve tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/manage-interns/reviews/timesheets/{timesheet_id}/review/: get: operationId: dashboard_manage_interns_reviews_timesheets_review_retrieve parameters: - in: path name: timesheet_id schema: type: string required: true tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_manage_interns_reviews_timesheets_review_partial_update parameters: - in: path name: timesheet_id schema: type: string required: true tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/manage-interns/status/: get: operationId: dashboard_manage_interns_status_retrieve tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/manage-interns/tasks/: get: operationId: dashboard_manage_interns_tasks_retrieve tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_manage_interns_tasks_create tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_manage_interns_tasks_partial_update tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_manage_interns_tasks_destroy tags: - Manage Interns security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/manage-interns/tasks/{task_id}/: get: operationId: dashboard_manage_interns_tasks_retrieve_2 parameters: - in: path name: task_id schema: type: string required: true tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_manage_interns_tasks_create_2 parameters: - in: path name: task_id schema: type: string required: true tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_manage_interns_tasks_partial_update_2 parameters: - in: path name: task_id schema: type: string required: true tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_manage_interns_tasks_destroy_2 parameters: - in: path name: task_id schema: type: string required: true tags: - Manage Interns security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/manage-interns/tasks/{task_id}/verify/: post: operationId: dashboard_manage_interns_tasks_verify_create parameters: - in: path name: task_id schema: type: string required: true tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/manage-interns/tasks/by-intern/{muid}/: get: operationId: dashboard_manage_interns_tasks_by_intern_retrieve parameters: - in: path name: muid schema: type: string required: true tags: - Manage Interns security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/media-content/bulk/export/{content_type}/: get: operationId: dashboard_media_content_bulk_export_retrieve parameters: - in: path name: content_type schema: type: string required: true tags: - Media Content security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/media-content/bulk/import/: post: operationId: dashboard_media_content_bulk_import_create tags: - Media Content security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/media-content/inspiration-station/: get: operationId: dashboard_media_content_inspiration_station_retrieve description: |- GET /media-content/inspiration-station/ — Public paginated list. POST /media-content/inspiration-station/ — Create an episode (Admin only). tags: - Media Content security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_media_content_inspiration_station_create description: |- GET /media-content/inspiration-station/ — Public paginated list. POST /media-content/inspiration-station/ — Create an episode (Admin only). tags: - Media Content security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/media-content/inspiration-station/{record_id}/: get: operationId: dashboard_media_content_inspiration_station_retrieve_2 description: |- GET /media-content/inspiration-station// PATCH /media-content/inspiration-station// (Admin) DELETE /media-content/inspiration-station// (Admin) parameters: - in: path name: record_id schema: type: string required: true tags: - Media Content security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_media_content_inspiration_station_partial_update description: |- GET /media-content/inspiration-station// PATCH /media-content/inspiration-station// (Admin) DELETE /media-content/inspiration-station// (Admin) parameters: - in: path name: record_id schema: type: string required: true tags: - Media Content security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_media_content_inspiration_station_destroy description: |- GET /media-content/inspiration-station// PATCH /media-content/inspiration-station// (Admin) DELETE /media-content/inspiration-station// (Admin) parameters: - in: path name: record_id schema: type: string required: true tags: - Media Content security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/media-content/office-hours/: get: operationId: dashboard_media_content_office_hours_retrieve description: |- GET /media-content/office-hours/ — Public paginated list of sessions. POST /media-content/office-hours/ — Create a session (Admin only). tags: - Media Content security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_media_content_office_hours_create description: |- GET /media-content/office-hours/ — Public paginated list of sessions. POST /media-content/office-hours/ — Create a session (Admin only). tags: - Media Content security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/media-content/office-hours/{record_id}/: get: operationId: dashboard_media_content_office_hours_retrieve_2 description: |- GET /media-content/office-hours// — Public session detail. PATCH /media-content/office-hours// — Partial update (Admin only). DELETE /media-content/office-hours// — Soft-delete (Admin only). parameters: - in: path name: record_id schema: type: string required: true tags: - Media Content security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_media_content_office_hours_partial_update description: |- GET /media-content/office-hours// — Public session detail. PATCH /media-content/office-hours// — Partial update (Admin only). DELETE /media-content/office-hours// — Soft-delete (Admin only). parameters: - in: path name: record_id schema: type: string required: true tags: - Media Content security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_media_content_office_hours_destroy description: |- GET /media-content/office-hours// — Public session detail. PATCH /media-content/office-hours// — Partial update (Admin only). DELETE /media-content/office-hours// — Soft-delete (Admin only). parameters: - in: path name: record_id schema: type: string required: true tags: - Media Content security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/media-content/salt-mango-tree/: get: operationId: dashboard_media_content_salt_mango_tree_retrieve description: |- GET /media-content/salt-mango-tree/ — Public paginated list of episodes. POST /media-content/salt-mango-tree/ — Create an episode (Admin only). tags: - Media Content security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_media_content_salt_mango_tree_create description: |- GET /media-content/salt-mango-tree/ — Public paginated list of episodes. POST /media-content/salt-mango-tree/ — Create an episode (Admin only). tags: - Media Content security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/media-content/salt-mango-tree/{record_id}/: get: operationId: dashboard_media_content_salt_mango_tree_retrieve_2 description: |- GET /media-content/salt-mango-tree// PATCH /media-content/salt-mango-tree// (Admin) DELETE /media-content/salt-mango-tree// (Admin) parameters: - in: path name: record_id schema: type: string required: true tags: - Media Content security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_media_content_salt_mango_tree_partial_update description: |- GET /media-content/salt-mango-tree// PATCH /media-content/salt-mango-tree// (Admin) DELETE /media-content/salt-mango-tree// (Admin) parameters: - in: path name: record_id schema: type: string required: true tags: - Media Content security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_media_content_salt_mango_tree_destroy description: |- GET /media-content/salt-mango-tree// PATCH /media-content/salt-mango-tree// (Admin) DELETE /media-content/salt-mango-tree// (Admin) parameters: - in: path name: record_id schema: type: string required: true tags: - Media Content security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/mentor/{mentor_id}/grants/: get: operationId: dashboard_mentor_grants_list description: List all scope grants for a mentor. parameters: - in: path name: mentor_id schema: type: string required: true tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/MentorScopeGrant' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/mentor/{mentor_id}/grants/{grant_id}/: delete: operationId: dashboard_mentor_grants_destroy description: Revoke a single mentor scope grant. parameters: - in: path name: grant_id schema: type: string required: true - in: path name: mentor_id schema: type: string required: true tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body /api/v1/dashboard/mentor/activity/: get: operationId: dashboard_mentor_activity_list description: Get recent activity of the currently logged-in mentor (sessions created, tasks appraised). tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/MentorActivity' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/mentor/admin/assign/: post: operationId: dashboard_mentor_admin_assign_create description: |- Admin-only endpoint for bulk assigning / revoking mentor status. POST /api/v1/mentor/admin/assign/ Body: { user_muids, mentor_tier, [org_id], [ig_ids], [about], [expertise], [hours] } Assigns all listed users as mentors atomically. DELETE /api/v1/mentor/admin/assign// Revokes mentor assignment for the given user. Optional query param ?mentor_tier= scopes revocation to a single tier. tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body delete: operationId: dashboard_mentor_admin_assign_destroy description: |- Admin-only endpoint for bulk assigning / revoking mentor status. POST /api/v1/mentor/admin/assign/ Body: { user_muids, mentor_tier, [org_id], [ig_ids], [about], [expertise], [hours] } Assigns all listed users as mentors atomically. DELETE /api/v1/mentor/admin/assign// Revokes mentor assignment for the given user. Optional query param ?mentor_tier= scopes revocation to a single tier. tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '204': description: No response body /api/v1/dashboard/mentor/admin/assign/{user_muid}/: post: operationId: dashboard_mentor_admin_assign_create_2 description: |- Admin-only endpoint for bulk assigning / revoking mentor status. POST /api/v1/mentor/admin/assign/ Body: { user_muids, mentor_tier, [org_id], [ig_ids], [about], [expertise], [hours] } Assigns all listed users as mentors atomically. DELETE /api/v1/mentor/admin/assign// Revokes mentor assignment for the given user. Optional query param ?mentor_tier= scopes revocation to a single tier. parameters: - in: path name: user_muid schema: type: string required: true tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body delete: operationId: dashboard_mentor_admin_assign_destroy_2 description: |- Admin-only endpoint for bulk assigning / revoking mentor status. POST /api/v1/mentor/admin/assign/ Body: { user_muids, mentor_tier, [org_id], [ig_ids], [about], [expertise], [hours] } Assigns all listed users as mentors atomically. DELETE /api/v1/mentor/admin/assign// Revokes mentor assignment for the given user. Optional query param ?mentor_tier= scopes revocation to a single tier. parameters: - in: path name: user_muid schema: type: string required: true tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '204': description: No response body /api/v1/dashboard/mentor/availability/: get: operationId: dashboard_mentor_availability_list description: List all availability slots for the logged-in mentor. parameters: - in: query name: ig_id schema: type: string - in: query name: is_active schema: type: boolean tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/AvailabilitySlot' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_mentor_availability_create description: Create a new mentor availability slot. tags: - Mentor requestBody: content: application/json: schema: $ref: '#/components/schemas/AvailabilitySlotCreateUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/AvailabilitySlotCreateUpdate' multipart/form-data: schema: $ref: '#/components/schemas/AvailabilitySlotCreateUpdate' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/AvailabilitySlotCreateUpdate' required: - hasError - statusCode - message - response description: '' patch: operationId: dashboard_mentor_availability_partial_update description: Update an existing mentor availability slot. tags: - Mentor requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedAvailabilitySlotCreateUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedAvailabilitySlotCreateUpdate' multipart/form-data: schema: $ref: '#/components/schemas/PatchedAvailabilitySlotCreateUpdate' security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/AvailabilitySlotCreateUpdate' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_mentor_availability_destroy description: Delete a mentor availability slot. tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '204': description: No response body /api/v1/dashboard/mentor/availability/{slot_id}/: get: operationId: dashboard_mentor_availability_list_2 description: List all availability slots for the logged-in mentor. parameters: - in: query name: ig_id schema: type: string - in: query name: is_active schema: type: boolean - in: path name: slot_id schema: type: string required: true tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/AvailabilitySlot' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_mentor_availability_create_2 description: Create a new mentor availability slot. parameters: - in: path name: slot_id schema: type: string required: true tags: - Mentor requestBody: content: application/json: schema: $ref: '#/components/schemas/AvailabilitySlotCreateUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/AvailabilitySlotCreateUpdate' multipart/form-data: schema: $ref: '#/components/schemas/AvailabilitySlotCreateUpdate' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/AvailabilitySlotCreateUpdate' required: - hasError - statusCode - message - response description: '' patch: operationId: dashboard_mentor_availability_partial_update_2 description: Update an existing mentor availability slot. parameters: - in: path name: slot_id schema: type: string required: true tags: - Mentor requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedAvailabilitySlotCreateUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedAvailabilitySlotCreateUpdate' multipart/form-data: schema: $ref: '#/components/schemas/PatchedAvailabilitySlotCreateUpdate' security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/AvailabilitySlotCreateUpdate' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_mentor_availability_destroy_2 description: Delete a mentor availability slot. parameters: - in: path name: slot_id schema: type: string required: true tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '204': description: No response body /api/v1/dashboard/mentor/detail/{mentor_id}/: get: operationId: dashboard_mentor_detail_retrieve description: Get details of a specific mentor by ID. parameters: - in: path name: mentor_id schema: type: string required: true tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/MentorDetail' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/mentor/list/: get: operationId: dashboard_mentor_list_list description: List all mentor applications with filtering. parameters: - in: query name: mentor_tier schema: type: string - in: query name: status schema: type: string tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/MentorList' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/mentor/overview/: get: operationId: dashboard_mentor_overview_retrieve description: Retrieve an overview dashboard of metrics aggregated dynamically based on the authenticated mentor's active scopes (Campus, Company, IG). tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/MentorOverviewData' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/mentor/profile/: get: operationId: dashboard_mentor_profile_retrieve description: Retrieve the profile of a verified mentor. tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/MentorDetail' required: - hasError - statusCode - message - response description: '' patch: operationId: dashboard_mentor_profile_partial_update description: Update the profile of a verified mentor. tags: - Mentor requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedMentorUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedMentorUpdate' multipart/form-data: schema: $ref: '#/components/schemas/PatchedMentorUpdate' security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/MentorUpdate' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/mentor/public/availability/{mentor_id}/: get: operationId: dashboard_mentor_public_availability_list description: List active availability slots for a specific mentor. parameters: - in: path name: mentor_id schema: type: string required: true tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/AvailabilitySlot' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/mentor/public/profile/{mentor_id}/: get: operationId: dashboard_mentor_public_profile_retrieve description: View a mentor's profile publicly. parameters: - in: path name: mentor_id schema: type: string required: true tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/MentorDetail' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/mentor/register/: post: operationId: dashboard_mentor_register_create description: Submit a new mentor registration. tags: - Mentor requestBody: content: application/json: schema: $ref: '#/components/schemas/MentorRegister' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/MentorRegister' multipart/form-data: schema: $ref: '#/components/schemas/MentorRegister' security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/MentorRegister' required: - hasError - statusCode - message - response description: '' patch: operationId: dashboard_mentor_register_partial_update description: Update a pending mentor application or resubmit a rejected one. tags: - Mentor requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedMentorUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedMentorUpdate' multipart/form-data: schema: $ref: '#/components/schemas/PatchedMentorUpdate' security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/MentorUpdate' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/mentor/session/admin/list/: get: operationId: dashboard_mentor_session_admin_list_list description: Admin view to list all mentorship sessions. parameters: - in: query name: ig_id schema: type: string - in: query name: status schema: type: string tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/SessionList' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/mentor/session/admin/verify/{session_id}/: patch: operationId: dashboard_mentor_session_admin_verify_partial_update description: Verify or reject a mentorship session. parameters: - in: path name: session_id schema: type: string required: true tags: - Mentor requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedAdminSessionVerify' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedAdminSessionVerify' multipart/form-data: schema: $ref: '#/components/schemas/PatchedAdminSessionVerify' security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body /api/v1/dashboard/mentor/session/available/: get: operationId: dashboard_mentor_session_available_list description: List all scheduled sessions available to the user — includes IG sessions for their groups and company sessions for linked company orgs. tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/SessionList' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/mentor/session/create/: post: operationId: dashboard_mentor_session_create_create description: Create a new mentorship session. For IG mentors, provide an 'ig' field. For company mentors, entity_id and session_type are auto-resolved from the mentor's company org. To create a recurring session, set is_recurring=true, recurrence_type ('DAILY', 'WEEKLY', 'MONTHLY'), recurrence_interval, and recurrence_end_date. This returns the parent session while auto-spawning children. tags: - Mentor requestBody: content: application/json: schema: $ref: '#/components/schemas/SessionCreate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/SessionCreate' multipart/form-data: schema: $ref: '#/components/schemas/SessionCreate' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/SessionCreate' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/mentor/session/list/: get: operationId: dashboard_mentor_session_list_list description: List all sessions created by the logged-in mentor, or get details of a specific session. parameters: - in: query name: status schema: type: string tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/SessionList' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/mentor/session/list/{session_id}/: get: operationId: dashboard_mentor_session_list_list_2 description: List all sessions created by the logged-in mentor, or get details of a specific session. parameters: - in: path name: session_id schema: type: string required: true - in: query name: status schema: type: string tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/SessionList' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/mentor/session/participant/add/{session_id}/: post: operationId: dashboard_mentor_session_participant_add_create description: Mentor view to manually add a participant to a specific session using muid. parameters: - in: path name: session_id schema: type: string required: true tags: - Mentor requestBody: content: application/json: schema: $ref: '#/components/schemas/MentorAddParticipant' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/MentorAddParticipant' multipart/form-data: schema: $ref: '#/components/schemas/MentorAddParticipant' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ParticipantList' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/mentor/session/participant/feedback/{session_id}/: patch: operationId: dashboard_mentor_session_participant_feedback_partial_update description: Allows a user to submit feedback for a session they attended. parameters: - in: path name: session_id schema: type: string required: true tags: - Mentor requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedParticipantFeedback' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedParticipantFeedback' multipart/form-data: schema: $ref: '#/components/schemas/PatchedParticipantFeedback' security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ParticipantList' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/mentor/session/participant/history/: get: operationId: dashboard_mentor_session_participant_history_list description: List all mentorship sessions the logged-in user has joined. tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/ParticipantList' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/mentor/session/participant/list/{session_id}/: get: operationId: dashboard_mentor_session_participant_list_list description: Mentor view to list all participants in a specific session. parameters: - in: path name: session_id schema: type: string required: true tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/ParticipantList' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/mentor/session/participant/update/{link_id}/: patch: operationId: dashboard_mentor_session_participant_update_partial_update description: Mentor view to update participant's attendance and progress. parameters: - in: path name: link_id schema: type: string required: true tags: - Mentor requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedParticipantUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedParticipantUpdate' multipart/form-data: schema: $ref: '#/components/schemas/PatchedParticipantUpdate' security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ParticipantUpdate' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/mentor/session/participation/join/{session_id}/: post: operationId: dashboard_mentor_session_participation_join_create description: Allows a MuLearn user to join a scheduled mentorship session. parameters: - in: path name: session_id schema: type: string required: true tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ParticipantList' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/mentor/session/student-requests/: get: operationId: dashboard_mentor_session_student_requests_list description: List all pending student session requests that are within the logged-in mentor's scope (their assigned IGs, campus, or company). tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/StudentSessionRequestList' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/mentor/session/student-requests/{session_id}/verify/: patch: operationId: dashboard_mentor_session_student_requests_verify_partial_update description: Approve or reject a student's session request. Only mentors whose scope covers the session's entity may act on it. When approving, optional overrides for starts_at, ends_at, mode, meeting_link, and venue allow the mentor to adjust logistics. parameters: - in: path name: session_id schema: type: string required: true tags: - Mentor requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedMentorStudentRequestVerify' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedMentorStudentRequestVerify' multipart/form-data: schema: $ref: '#/components/schemas/PatchedMentorStudentRequestVerify' security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body /api/v1/dashboard/mentor/session/student/my-requests/: get: operationId: dashboard_mentor_session_student_my_requests_list description: List all session requests made by the logged-in student. parameters: - in: query name: status schema: type: string description: 'Filter by status: REQUESTED, PENDING_APPROVAL, REJECTED, etc.' tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/StudentSessionRequestList' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/mentor/session/student/request/: post: operationId: dashboard_mentor_session_student_request_create description: Request a mentorship session from the mentor(s) of a campus, company, or IG. The student must be a verified member of the target entity. The session starts in REQUESTED status and waits for a mentor to approve or reject it. tags: - Mentor requestBody: content: application/json: schema: $ref: '#/components/schemas/StudentSessionRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/StudentSessionRequest' multipart/form-data: schema: $ref: '#/components/schemas/StudentSessionRequest' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '201': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/StudentSessionRequest' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/mentor/session/update/{session_id}/: patch: operationId: dashboard_mentor_session_update_partial_update description: Update or cancel a mentorship session. parameters: - in: path name: session_id schema: type: string required: true tags: - Mentor requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedSessionUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedSessionUpdate' multipart/form-data: schema: $ref: '#/components/schemas/PatchedSessionUpdate' security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/SessionUpdate' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_mentor_session_update_destroy description: Delete a mentorship session. parameters: - in: path name: session_id schema: type: string required: true tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '204': description: No response body /api/v1/dashboard/mentor/status/: get: operationId: dashboard_mentor_status_retrieve description: Check the status of a mentor registration. tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body /api/v1/dashboard/mentor/tasks/: get: operationId: dashboard_mentor_tasks_retrieve description: List all tasks submitted by the authenticated mentor (filtered by requested_by). Supports pagination, search, and sort. parameters: - in: query name: approval_status schema: type: string description: 'Filter by approval_status: pending | approved | rejected' tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/MentorTaskListResponse' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_mentor_tasks_create description: Create a new task for an IG the mentor belongs to. The task is saved with approval_status='pending' and active=False until an admin approves it. Accepts an optional skill_ids list (array of active skill UUIDs) alongside the task fields — mirrors admin task creation behaviour. tags: - Mentor requestBody: content: application/json: schema: $ref: '#/components/schemas/MentorTaskCreate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/MentorTaskCreate' multipart/form-data: schema: $ref: '#/components/schemas/MentorTaskCreate' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: Task submitted for approval. /api/v1/dashboard/mentor/tasks/{task_id}/: get: operationId: dashboard_mentor_tasks_retrieve_2 description: Retrieve the detail of a specific task submitted by the mentor. parameters: - in: path name: task_id schema: type: string required: true tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/MentorTaskList' required: - hasError - statusCode - message - response description: '' put: operationId: dashboard_mentor_tasks_update description: Update a task submitted by the mentor. Regardless of the current approval_status, the task reverts to 'pending' and active=False after editing (triggering re-approval). If the task was previously approved, it is deactivated until re-approved. Accepts optional skill_ids to replace the current skill links. parameters: - in: path name: task_id schema: type: string required: true tags: - Mentor requestBody: content: application/json: schema: $ref: '#/components/schemas/MentorTaskUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/MentorTaskUpdate' multipart/form-data: schema: $ref: '#/components/schemas/MentorTaskUpdate' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: Task updated and re-submitted for approval. delete: operationId: dashboard_mentor_tasks_destroy description: Delete a task submitted by the mentor. Only allowed when approval_status is 'pending'. Approved or rejected tasks cannot be deleted. parameters: - in: path name: task_id schema: type: string required: true tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: Task deleted successfully. /api/v1/dashboard/mentor/tasks/ig-dropdown/: get: operationId: dashboard_mentor_tasks_ig_dropdown_list description: Returns only the Interest Groups the authenticated mentor belongs to (active MENTOR assignment). Use this list to populate the IG selector when creating a task. tags: - Mentor security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/MentorIGDropdownResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/mentor/verify/{mentor_id}/: patch: operationId: dashboard_mentor_verify_partial_update description: Verify or reject a mentor application. Platform admins can verify any application; a Company's owner can verify COMPANY_MENTOR applications scoped to their own company. parameters: - in: path name: mentor_id schema: type: string required: true tags: - Mentor requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedMentorVerify' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedMentorVerify' multipart/form-data: schema: $ref: '#/components/schemas/PatchedMentorVerify' security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body /api/v1/dashboard/organisation/affiliation/list/: get: operationId: dashboard_organisation_affiliation_list_retrieve tags: - Organisation security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/organisation/base-template/: get: operationId: dashboard_organisation_base_template_retrieve description: Retrieve Organisation Base Template. tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: XLSX file download /api/v1/dashboard/organisation/departments/: get: operationId: dashboard_organisation_departments_retrieve tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_organisation_departments_create tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_organisation_departments_update tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_organisation_departments_destroy tags: - Organisation security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/organisation/departments/create/: get: operationId: dashboard_organisation_departments_create_retrieve tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_organisation_departments_create_create tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_organisation_departments_create_update tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_organisation_departments_create_destroy tags: - Organisation security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/organisation/departments/delete/{department_id}/: get: operationId: dashboard_organisation_departments_delete_retrieve parameters: - in: path name: department_id schema: type: string required: true tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_organisation_departments_delete_create parameters: - in: path name: department_id schema: type: string required: true tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_organisation_departments_delete_update parameters: - in: path name: department_id schema: type: string required: true tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_organisation_departments_delete_destroy parameters: - in: path name: department_id schema: type: string required: true tags: - Organisation security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/organisation/departments/edit/{department_id}/: get: operationId: dashboard_organisation_departments_edit_retrieve parameters: - in: path name: department_id schema: type: string required: true tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_organisation_departments_edit_create parameters: - in: path name: department_id schema: type: string required: true tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_organisation_departments_edit_update parameters: - in: path name: department_id schema: type: string required: true tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_organisation_departments_edit_destroy parameters: - in: path name: department_id schema: type: string required: true tags: - Organisation security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/organisation/import/: post: operationId: dashboard_organisation_import_create tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/organisation/institutes/{org_type}/: get: operationId: dashboard_organisation_institutes_retrieve description: Retrieve Institution. parameters: - in: path name: org_type schema: type: string required: true tags: - Organisation security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Institution' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/organisation/institutes/{org_type}/{district_id}/: get: operationId: dashboard_organisation_institutes_retrieve_2 description: Retrieve Institution. parameters: - in: path name: district_id schema: type: string required: true - in: path name: org_type schema: type: string required: true tags: - Organisation security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Institution' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/organisation/institutes/{org_type}/csv/: get: operationId: dashboard_organisation_institutes_csv_retrieve parameters: - in: path name: org_type schema: type: string required: true tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/organisation/institutes/create/: post: operationId: dashboard_organisation_institutes_create_create tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_organisation_institutes_create_update tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_organisation_institutes_create_destroy tags: - Organisation security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/organisation/institutes/delete/{org_code}/: post: operationId: dashboard_organisation_institutes_delete_create parameters: - in: path name: org_code schema: type: string required: true tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_organisation_institutes_delete_update parameters: - in: path name: org_code schema: type: string required: true tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_organisation_institutes_delete_destroy parameters: - in: path name: org_code schema: type: string required: true tags: - Organisation security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/organisation/institutes/edit/{org_code}/: post: operationId: dashboard_organisation_institutes_edit_create parameters: - in: path name: org_code schema: type: string required: true tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_organisation_institutes_edit_update parameters: - in: path name: org_code schema: type: string required: true tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_organisation_institutes_edit_destroy parameters: - in: path name: org_code schema: type: string required: true tags: - Organisation security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/organisation/institutes/info/{org_code}/: get: operationId: dashboard_organisation_institutes_info_retrieve parameters: - in: path name: org_code schema: type: string required: true tags: - Organisation security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/organisation/institutes/org/affiliation/create/: get: operationId: dashboard_organisation_institutes_org_affiliation_create_retrieve tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_organisation_institutes_org_affiliation_create_create tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_organisation_institutes_org_affiliation_create_update tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_organisation_institutes_org_affiliation_create_destroy tags: - Organisation security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/organisation/institutes/org/affiliation/delete/{affiliation_id}/: get: operationId: dashboard_organisation_institutes_org_affiliation_delete_retrieve parameters: - in: path name: affiliation_id schema: type: string required: true tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_organisation_institutes_org_affiliation_delete_create parameters: - in: path name: affiliation_id schema: type: string required: true tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_organisation_institutes_org_affiliation_delete_update parameters: - in: path name: affiliation_id schema: type: string required: true tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_organisation_institutes_org_affiliation_delete_destroy parameters: - in: path name: affiliation_id schema: type: string required: true tags: - Organisation security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/organisation/institutes/org/affiliation/edit/{affiliation_id}/: get: operationId: dashboard_organisation_institutes_org_affiliation_edit_retrieve parameters: - in: path name: affiliation_id schema: type: string required: true tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_organisation_institutes_org_affiliation_edit_create parameters: - in: path name: affiliation_id schema: type: string required: true tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_organisation_institutes_org_affiliation_edit_update parameters: - in: path name: affiliation_id schema: type: string required: true tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_organisation_institutes_org_affiliation_edit_destroy parameters: - in: path name: affiliation_id schema: type: string required: true tags: - Organisation security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/organisation/institutes/org/affiliation/show/: get: operationId: dashboard_organisation_institutes_org_affiliation_show_retrieve tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_organisation_institutes_org_affiliation_show_create tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_organisation_institutes_org_affiliation_show_update tags: - Organisation security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_organisation_institutes_org_affiliation_show_destroy tags: - Organisation security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/organisation/institutes/prefill/{org_code}/: get: operationId: dashboard_organisation_institutes_prefill_retrieve parameters: - in: path name: org_code schema: type: string required: true tags: - Organisation security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/organisation/karma-log/create/: post: operationId: dashboard_organisation_karma_log_create_create description: Create Organization Karma Log Get Post Patch Delete. tags: - Organisation requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationKarmaLogGetPostPatchDelete' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OrganizationKarmaLogGetPostPatchDelete' multipart/form-data: schema: $ref: '#/components/schemas/OrganizationKarmaLogGetPostPatchDelete' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/OrganizationKarmaLogGetPostPatchDelete' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/organisation/karma-type/create/: post: operationId: dashboard_organisation_karma_type_create_create description: Create Organization Karma Type Get Post Patch Delete. tags: - Organisation requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationKarmaTypeGetPostPatchDelete' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OrganizationKarmaTypeGetPostPatchDelete' multipart/form-data: schema: $ref: '#/components/schemas/OrganizationKarmaTypeGetPostPatchDelete' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/OrganizationKarmaTypeGetPostPatchDelete' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/organisation/merge_organizations/{organisation_id}/: get: operationId: dashboard_organisation_merge_organizations_retrieve parameters: - in: path name: organisation_id schema: type: string required: true tags: - Organisation security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body patch: operationId: dashboard_organisation_merge_organizations_partial_update parameters: - in: path name: organisation_id schema: type: string required: true tags: - Organisation security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body /api/v1/dashboard/organisation/transfer/: post: operationId: dashboard_organisation_transfer_create description: Create Transfer. tags: - Organisation security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': description: Organisation transfer success message /api/v1/dashboard/organisation/verify/{uorg_id}/: post: operationId: dashboard_organisation_verify_create description: Create Verify Organization. parameters: - in: path name: uorg_id schema: type: string required: true tags: - Organisation requestBody: content: application/json: schema: $ref: '#/components/schemas/OrganizationVerify' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/OrganizationVerify' multipart/form-data: schema: $ref: '#/components/schemas/OrganizationVerify' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/OrganizationVerify' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/organisation/verify/list/: get: operationId: dashboard_organisation_verify_list_retrieve description: Retrieve Unverified Organizations List. tags: - Organisation security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UnverifiedOrganizations' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/profile/: get: operationId: dashboard_profile_retrieve description: Retrieve User Profile Edit. tags: - Profile security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserProfileEdit' required: - hasError - statusCode - message - response description: '' patch: operationId: dashboard_profile_partial_update description: Partially update User Profile Edit. tags: - Profile security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserProfileEdit' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_profile_destroy description: Delete User Profile Edit. tags: - Profile security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserProfileEdit' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/profile/badges/{muid}: get: operationId: dashboard_profile_badges_retrieve description: Retrieve Badges. parameters: - in: path name: muid schema: type: string required: true tags: - Profile security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ProfileBadgesResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/profile/change-password/: post: operationId: dashboard_profile_change_password_create description: Create Reset Password. tags: - Profile security: - jwtAuth: [] - {} responses: '200': description: Success /api/v1/dashboard/profile/cover-pic/: get: operationId: dashboard_profile_cover_pic_retrieve description: Retrieve User Profile Cover. tags: - Profile security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserProfile' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_profile_cover_pic_create description: Create User Profile Cover. tags: - Profile security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserProfile' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_profile_cover_pic_destroy description: Delete User Profile Cover. tags: - Profile security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserProfile' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/profile/get-user-levels/: get: operationId: dashboard_profile_get_user_levels_retrieve description: Retrieve User Levels. tags: - Profile security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserLevel' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/profile/get-user-levels/{muid}/: get: operationId: dashboard_profile_get_user_levels_retrieve_2 description: Retrieve User Levels. parameters: - in: path name: muid schema: type: string required: true tags: - Profile security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserLevel' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/profile/ig-edit/: get: operationId: dashboard_profile_ig_edit_retrieve description: Retrieve User Ig Edit. tags: - Profile security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserIgList' required: - hasError - statusCode - message - response description: '' patch: operationId: dashboard_profile_ig_edit_partial_update description: Partially update User Ig Edit. tags: - Profile security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserIgEdit' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/profile/karma-feed/: get: operationId: dashboard_profile_karma_feed_retrieve description: Retrieve Karma Feed. tags: - Profile security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ProfileKarmaFeedResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/profile/permute/{muid}/: get: operationId: dashboard_profile_permute_retrieve description: Retrieve User Permute. parameters: - in: path name: muid schema: type: string required: true tags: - Profile security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserPermute' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/profile/qrcode-get/{uuid}/: get: operationId: dashboard_profile_qrcode_get_retrieve description: Retrieve Qrcode Retrieve. parameters: - in: path name: uuid schema: type: string required: true tags: - Profile security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserShareQrcode' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/profile/rank/{muid}/: get: operationId: dashboard_profile_rank_retrieve description: Retrieve User Rank. parameters: - in: path name: muid schema: type: string required: true tags: - Profile security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserRank' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/profile/share-user-profile/: get: operationId: dashboard_profile_share_user_profile_retrieve description: Retrieve Share User Profile. tags: - Profile security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ShareUserProfileUpdate' required: - hasError - statusCode - message - response description: '' put: operationId: dashboard_profile_share_user_profile_update description: Update Share User Profile. tags: - Profile security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ShareUserProfileUpdate' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/profile/share-user-profile/{uuid}/: get: operationId: dashboard_profile_share_user_profile_retrieve_2 description: Retrieve Share User Profile. parameters: - in: path name: uuid schema: type: string required: true tags: - Profile security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ShareUserProfileUpdate' required: - hasError - statusCode - message - response description: '' put: operationId: dashboard_profile_share_user_profile_update_2 description: Update Share User Profile. parameters: - in: path name: uuid schema: type: string required: true tags: - Profile security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ShareUserProfileUpdate' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/profile/socials/: get: operationId: dashboard_profile_socials_retrieve description: Retrieve Get Socials. tags: - Profile security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LinkSocials' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/profile/socials/{muid}/: get: operationId: dashboard_profile_socials_retrieve_2 description: Retrieve Get Socials. parameters: - in: path name: muid schema: type: string required: true tags: - Profile security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LinkSocials' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/profile/socials/edit/: put: operationId: dashboard_profile_socials_edit_update description: Update Socials. tags: - Profile security: - jwtAuth: [] - {} responses: '200': description: Success /api/v1/dashboard/profile/user-level-feed/: get: operationId: dashboard_profile_user_level_feed_retrieve description: Retrieve User Level Feed. tags: - Profile security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserLevel' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/profile/user-log/: get: operationId: dashboard_profile_user_log_retrieve description: Retrieve User Log. tags: - Profile security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserLog' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/profile/user-log/{muid}/: get: operationId: dashboard_profile_user_log_retrieve_2 description: Retrieve User Log. parameters: - in: path name: muid schema: type: string required: true tags: - Profile security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserLog' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/profile/user-preferences/: get: operationId: dashboard_profile_user_preferences_retrieve description: Retrieve User Preferences. tags: - Profile security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ProfileUserPreferencesResponse' required: - hasError - statusCode - message - response description: '' patch: operationId: dashboard_profile_user_preferences_partial_update description: Partially update User Preferences. tags: - Profile security: - jwtAuth: [] - {} responses: '200': description: Success /api/v1/dashboard/profile/user-profile/: get: operationId: dashboard_profile_user_profile_retrieve description: Retrieve User Profile. tags: - Profile security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserProfile' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/profile/user-profile/{muid}/: get: operationId: dashboard_profile_user_profile_retrieve_2 description: Retrieve User Profile. parameters: - in: path name: muid schema: type: string required: true tags: - Profile security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserProfile' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/profile/userterm-approved/{muid}/: get: operationId: dashboard_profile_userterm_approved_retrieve description: Retrieve Userterm. parameters: - in: path name: muid schema: type: string required: true tags: - Profile security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserTerm' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_profile_userterm_approved_create description: Create Userterm. parameters: - in: path name: muid schema: type: string required: true tags: - Profile security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserTerm' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/projects/: get: operationId: dashboard_projects_retrieve description: Retrieve Projects. tags: - Projects security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Project' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_projects_create description: Create Projects. tags: - Projects requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ProjectUpdate' multipart/form-data: schema: $ref: '#/components/schemas/ProjectUpdate' security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Project' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/projects/{id}/: get: operationId: dashboard_projects_retrieve_2 description: Retrieve Project Detail. parameters: - in: path name: id schema: type: string format: uuid required: true tags: - Projects security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Project' required: - hasError - statusCode - message - response description: '' put: operationId: dashboard_projects_update description: Update Project Detail. parameters: - in: path name: id schema: type: string format: uuid required: true tags: - Projects security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Project' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_projects_destroy description: Delete Project Detail. parameters: - in: path name: id schema: type: string format: uuid required: true tags: - Projects security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Project' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/projects/{id}/status/: patch: operationId: dashboard_projects_status_partial_update description: Partially update Project Status. parameters: - in: path name: id schema: type: string format: uuid required: true tags: - Projects security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Project' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/projects/{project_id}/members/: get: operationId: dashboard_projects_members_retrieve description: Retrieve Project Member. parameters: - in: path name: project_id schema: type: string format: uuid required: true tags: - Projects security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ProjectMember' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_projects_members_create description: Create Project Member. parameters: - in: path name: project_id schema: type: string format: uuid required: true tags: - Projects requestBody: content: application/json: schema: $ref: '#/components/schemas/AddMember' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/AddMember' multipart/form-data: schema: $ref: '#/components/schemas/AddMember' security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ProjectMember' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_projects_members_destroy description: Delete Project Member. parameters: - in: path name: project_id schema: type: string format: uuid required: true tags: - Projects security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ProjectMember' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/projects/{project_id}/members/{id}/: get: operationId: dashboard_projects_members_retrieve_2 description: Retrieve Project Member. parameters: - in: path name: id schema: type: string format: uuid required: true - in: path name: project_id schema: type: string format: uuid required: true tags: - Projects security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ProjectMember' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_projects_members_create_2 description: Create Project Member. parameters: - in: path name: id schema: type: string format: uuid required: true - in: path name: project_id schema: type: string format: uuid required: true tags: - Projects requestBody: content: application/json: schema: $ref: '#/components/schemas/AddMember' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/AddMember' multipart/form-data: schema: $ref: '#/components/schemas/AddMember' security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ProjectMember' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_projects_members_destroy_2 description: Delete Project Member. parameters: - in: path name: id schema: type: string format: uuid required: true - in: path name: project_id schema: type: string format: uuid required: true tags: - Projects security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ProjectMember' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/projects/comment/: post: operationId: dashboard_projects_comment_create description: Create Project Comment. tags: - Projects requestBody: content: application/json: schema: $ref: '#/components/schemas/Comment' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Comment' multipart/form-data: schema: $ref: '#/components/schemas/Comment' required: true security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Comment' required: - hasError - statusCode - message - response description: '' put: operationId: dashboard_projects_comment_update description: Update Project Comment. tags: - Projects security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Comment' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_projects_comment_destroy description: Delete Project Comment. tags: - Projects security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Comment' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/projects/comment/{id}/: post: operationId: dashboard_projects_comment_create_2 description: Create Project Comment. parameters: - in: path name: id schema: type: string format: uuid required: true tags: - Projects requestBody: content: application/json: schema: $ref: '#/components/schemas/Comment' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Comment' multipart/form-data: schema: $ref: '#/components/schemas/Comment' required: true security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Comment' required: - hasError - statusCode - message - response description: '' put: operationId: dashboard_projects_comment_update_2 description: Update Project Comment. parameters: - in: path name: id schema: type: string format: uuid required: true tags: - Projects security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Comment' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_projects_comment_destroy_2 description: Delete Project Comment. parameters: - in: path name: id schema: type: string format: uuid required: true tags: - Projects security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Comment' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/projects/vote/: post: operationId: dashboard_projects_vote_create description: Create Project Vote. tags: - Projects security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Vote' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_projects_vote_destroy description: Delete Project Vote. tags: - Projects security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Vote' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/projects/vote/{id}/: post: operationId: dashboard_projects_vote_create_2 description: Create Project Vote. parameters: - in: path name: id schema: type: string format: uuid required: true tags: - Projects security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Vote' required: - hasError - statusCode - message - response description: '' delete: operationId: dashboard_projects_vote_destroy_2 description: Delete Project Vote. parameters: - in: path name: id schema: type: string format: uuid required: true tags: - Projects security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Vote' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/referral/: get: operationId: dashboard_referral_retrieve description: Retrieve Referral List. tags: - Referral security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ReferralList' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/referral/send-referral/: post: operationId: dashboard_referral_send_referral_create description: Create Referral. tags: - Referral security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ReferralList' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/roles/: get: operationId: dashboard_roles_retrieve tags: - Roles security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_roles_create tags: - Roles security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_roles_partial_update tags: - Roles security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_roles_destroy tags: - Roles security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/roles/{roles_id}/: get: operationId: dashboard_roles_retrieve_2 parameters: - in: path name: roles_id schema: type: string required: true tags: - Roles security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_roles_create_2 parameters: - in: path name: roles_id schema: type: string required: true tags: - Roles security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_roles_partial_update_2 parameters: - in: path name: roles_id schema: type: string required: true tags: - Roles security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_roles_destroy_2 parameters: - in: path name: roles_id schema: type: string required: true tags: - Roles security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/roles/base-template/: get: operationId: dashboard_roles_base_template_retrieve description: Retrieve Role Base Template. tags: - Roles security: - jwtAuth: [] - {} responses: '200': description: XLSX file download /api/v1/dashboard/roles/bulk-assign/: get: operationId: dashboard_roles_bulk_assign_retrieve tags: - Roles security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_roles_bulk_assign_create tags: - Roles security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_roles_bulk_assign_update tags: - Roles security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_roles_bulk_assign_partial_update tags: - Roles security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/roles/bulk-assign-excel/: post: operationId: dashboard_roles_bulk_assign_excel_create tags: - Roles security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/roles/bulk-assign/{role_id}/: get: operationId: dashboard_roles_bulk_assign_retrieve_2 parameters: - in: path name: role_id schema: type: string required: true tags: - Roles security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_roles_bulk_assign_create_2 parameters: - in: path name: role_id schema: type: string required: true tags: - Roles security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_roles_bulk_assign_update_2 parameters: - in: path name: role_id schema: type: string required: true tags: - Roles security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_roles_bulk_assign_partial_update_2 parameters: - in: path name: role_id schema: type: string required: true tags: - Roles security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/roles/csv/: get: operationId: dashboard_roles_csv_retrieve tags: - Roles security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/roles/user-role/: post: operationId: dashboard_roles_user_role_create tags: - Roles security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_roles_user_role_destroy tags: - Roles security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/roles/user-role/{role_id}/: get: operationId: dashboard_roles_user_role_retrieve parameters: - in: path name: role_id schema: type: string required: true tags: - Roles security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/skill/: get: operationId: dashboard_skill_retrieve description: Retrieve Skill List. tags: - Skill security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Skill' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/skill/{skill_id}/: get: operationId: dashboard_skill_retrieve_2 description: Retrieve Skill Detail. parameters: - in: path name: skill_id schema: type: string required: true tags: - Skill security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Skill' required: - hasError - statusCode - message - response description: '' put: operationId: dashboard_skill_update description: Get, update, or delete a specific skill parameters: - in: path name: skill_id schema: type: string required: true tags: - Skill security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_skill_destroy description: Get, update, or delete a specific skill parameters: - in: path name: skill_id schema: type: string required: true tags: - Skill security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/skill/{skill_id}/tasks/: get: operationId: dashboard_skill_tasks_retrieve description: Retrieve Skill Tasks. parameters: - in: path name: skill_id schema: type: string required: true tags: - Skill security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Skill' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/skill/create/: post: operationId: dashboard_skill_create_create description: Create a new skill tags: - Skill security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/skill/dropdown/: get: operationId: dashboard_skill_dropdown_retrieve description: Retrieve Skill Dropdown. tags: - Skill security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/SkillDropdown' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/task/: get: operationId: dashboard_task_retrieve tags: - Task security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_task_create tags: - Task security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/task/{task_id}/: get: operationId: dashboard_task_retrieve_2 parameters: - in: path name: task_id schema: type: string required: true tags: - Task security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_task_update parameters: - in: path name: task_id schema: type: string required: true tags: - Task security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_task_destroy parameters: - in: path name: task_id schema: type: string required: true tags: - Task security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/task/{task_id}/review/: get: operationId: dashboard_task_review_retrieve description: |- GET /dashboard/task/pending/ — list all tasks awaiting admin review PATCH /dashboard/task//approve/ — approve a pending task (goes live) PATCH /dashboard/task//reject/ — reject with a reason All actions require the Admin role. parameters: - in: path name: task_id schema: type: string required: true tags: - Task security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_task_review_partial_update description: |- GET /dashboard/task/pending/ — list all tasks awaiting admin review PATCH /dashboard/task//approve/ — approve a pending task (goes live) PATCH /dashboard/task//reject/ — reject with a reason All actions require the Admin role. parameters: - in: path name: task_id schema: type: string required: true tags: - Task security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/task/base-template/: get: operationId: dashboard_task_base_template_retrieve description: Retrieve Task Base Template. tags: - Task security: - jwtAuth: [] - {} responses: '200': description: Excel template file download (task_base_template.xlsx) /api/v1/dashboard/task/channel/: get: operationId: dashboard_task_channel_retrieve tags: - Task security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/task/csv/: get: operationId: dashboard_task_csv_retrieve tags: - Task security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/task/events/: get: operationId: dashboard_task_events_retrieve tags: - Task security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/task/ig/: get: operationId: dashboard_task_ig_retrieve tags: - Task security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/task/import/: post: operationId: dashboard_task_import_create tags: - Task security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/task/level/: get: operationId: dashboard_task_level_retrieve tags: - Task security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/task/list/: get: operationId: dashboard_task_list_retrieve description: Retrieve Task Public List. parameters: - in: query name: task_source schema: type: string enum: - campus_mentor - company - ig_mentor - platform description: 'Filter tasks by creator type: ''company'' = tasks submitted by a verified company user, ''ig_mentor'' = tasks submitted by an approved IG mentor, ''campus_mentor'' = tasks submitted by an approved campus mentor, ''platform'' = tasks created by platform admins. Eligibility (IG/campus membership) is enforced by the existing visibility rules.' tags: - Task security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/TaskPublicListResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/task/list-task-type/: get: operationId: dashboard_task_list_task_type_retrieve tags: - Task security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_task_list_task_type_create tags: - Task security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_task_list_task_type_update tags: - Task security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_task_list_task_type_destroy tags: - Task security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/task/organization/: get: operationId: dashboard_task_organization_retrieve tags: - Task security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/task/pending/: get: operationId: dashboard_task_pending_retrieve description: |- GET /dashboard/task/pending/ — list all tasks awaiting admin review PATCH /dashboard/task//approve/ — approve a pending task (goes live) PATCH /dashboard/task//reject/ — reject with a reason All actions require the Admin role. tags: - Task security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_task_pending_partial_update description: |- GET /dashboard/task/pending/ — list all tasks awaiting admin review PATCH /dashboard/task//approve/ — approve a pending task (goes live) PATCH /dashboard/task//reject/ — reject with a reason All actions require the Admin role. tags: - Task security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/task/task-type/{task_type_id}/: get: operationId: dashboard_task_task_type_retrieve parameters: - in: path name: task_type_id schema: type: string required: true tags: - Task security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: dashboard_task_task_type_create parameters: - in: path name: task_type_id schema: type: string required: true tags: - Task security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: dashboard_task_task_type_update parameters: - in: path name: task_type_id schema: type: string required: true tags: - Task security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_task_task_type_destroy parameters: - in: path name: task_type_id schema: type: string required: true tags: - Task security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/task/task-types/: get: operationId: dashboard_task_task_types_retrieve tags: - Task security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/user/: get: operationId: dashboard_user_retrieve tags: - User security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/user/{user_id}/: get: operationId: dashboard_user_retrieve_2 parameters: - in: path name: user_id schema: type: string required: true tags: - User security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_user_partial_update parameters: - in: path name: user_id schema: type: string required: true tags: - User security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_user_destroy parameters: - in: path name: user_id schema: type: string required: true tags: - User security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/user/csv/: get: operationId: dashboard_user_csv_retrieve tags: - User security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/user/forgot-password/: post: operationId: dashboard_user_forgot_password_create description: Create Forgot Password. tags: - User security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': description: Forgot-password email sent /api/v1/dashboard/user/info/: get: operationId: dashboard_user_info_retrieve description: Retrieve User Info. tags: - User security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/User' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/user/organization/: get: operationId: dashboard_user_organization_retrieve description: Retrieve User Add Org. tags: - User security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/GetUserLink' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_user_organization_create description: Create User Add Org. tags: - User requestBody: content: application/json: schema: $ref: '#/components/schemas/UserOrgLink' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/UserOrgLink' multipart/form-data: schema: $ref: '#/components/schemas/UserOrgLink' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserOrgLink' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/user/organization/list/: get: operationId: dashboard_user_organization_list_retrieve description: Retrieve User Add Org. tags: - User security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/GetUserLink' required: - hasError - statusCode - message - response description: '' post: operationId: dashboard_user_organization_list_create description: Create User Add Org. tags: - User requestBody: content: application/json: schema: $ref: '#/components/schemas/UserOrgLink' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/UserOrgLink' multipart/form-data: schema: $ref: '#/components/schemas/UserOrgLink' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserOrgLink' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/user/preferences/: get: operationId: dashboard_user_preferences_retrieve description: Retrieve User Preferences. tags: - User security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/User' required: - hasError - statusCode - message - response description: '' patch: operationId: dashboard_user_preferences_partial_update description: Partially update User Preferences. tags: - User security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/User' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/user/profile/update/: post: operationId: dashboard_user_profile_update_create description: Create User Profile Picture. tags: - User security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/User' required: - hasError - statusCode - message - response description: '' patch: operationId: dashboard_user_profile_update_partial_update description: Partially update User Profile Picture. tags: - User security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/User' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/user/reset-password/{token}/: post: operationId: dashboard_user_reset_password_create description: Create Reset Password Confirm. parameters: - in: path name: token schema: type: string required: true tags: - User security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': description: Password reset confirmation /api/v1/dashboard/user/reset-password/verify-token/{token}/: post: operationId: dashboard_user_reset_password_verify_token_create description: Create Reset Password Verify Token. parameters: - in: path name: token schema: type: string required: true tags: - User security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserResetPasswordVerifyTokenResponse' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/user/search/: get: operationId: dashboard_user_search_retrieve description: Retrieve User Search. tags: - User security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserBasicDetails' required: - hasError - statusCode - message - response description: '' /api/v1/dashboard/user/verification/: get: operationId: dashboard_user_verification_retrieve tags: - User security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_user_verification_partial_update tags: - User security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_user_verification_destroy tags: - User security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/user/verification/{link_id}/: get: operationId: dashboard_user_verification_retrieve_2 parameters: - in: path name: link_id schema: type: string required: true tags: - User security: - jwtAuth: [] - {} responses: '200': description: No response body patch: operationId: dashboard_user_verification_partial_update_2 parameters: - in: path name: link_id schema: type: string required: true tags: - User security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: dashboard_user_verification_destroy_2 parameters: - in: path name: link_id schema: type: string required: true tags: - User security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/dashboard/user/verification/csv/: get: operationId: dashboard_user_verification_csv_retrieve tags: - User security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/zonal/college-details/: get: operationId: dashboard_zonal_college_details_retrieve tags: - Zonal security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/zonal/college-details/csv/: get: operationId: dashboard_zonal_college_details_csv_retrieve tags: - Zonal security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/zonal/student-details/: get: operationId: dashboard_zonal_student_details_retrieve tags: - Zonal security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/zonal/student-details/csv/: get: operationId: dashboard_zonal_student_details_csv_retrieve tags: - Zonal security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/zonal/student-level/: get: operationId: dashboard_zonal_student_level_retrieve tags: - Zonal security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/zonal/top-districts/: get: operationId: dashboard_zonal_top_districts_retrieve tags: - Zonal security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/dashboard/zonal/zonal-details/: get: operationId: dashboard_zonal_zonal_details_retrieve tags: - Zonal security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/donate/bank-transfer/: post: operationId: donate_bank_transfer_create description: Create Bank Transfer. tags: - Donate requestBody: content: application/json: schema: $ref: '#/components/schemas/BankTransfer' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/BankTransfer' multipart/form-data: schema: $ref: '#/components/schemas/BankTransfer' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/BankTransfer' required: - hasError - statusCode - message - response description: '' /api/v1/donate/order/: post: operationId: donate_order_create description: Create Razor Pay Order. tags: - Donate requestBody: content: application/json: schema: $ref: '#/components/schemas/Order' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Order' multipart/form-data: schema: $ref: '#/components/schemas/Order' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Order' required: - hasError - statusCode - message - response description: '' /api/v1/donate/subscription/create/: post: operationId: donate_subscription_create_create description: Create Razor Pay Subscription. tags: - Donate requestBody: content: application/json: schema: $ref: '#/components/schemas/Subscription' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Subscription' multipart/form-data: schema: $ref: '#/components/schemas/Subscription' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Subscription' required: - hasError - statusCode - message - response description: '' /api/v1/donate/subscription/verify/: post: operationId: donate_subscription_verify_create description: Create Razor Pay Subscription Verification. tags: - Donate requestBody: content: application/json: schema: $ref: '#/components/schemas/Donation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Donation' multipart/form-data: schema: $ref: '#/components/schemas/Donation' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Donation' required: - hasError - statusCode - message - response description: '' /api/v1/donate/verify/: post: operationId: donate_verify_create description: Create Razor Pay Verification. tags: - Donate requestBody: content: application/json: schema: $ref: '#/components/schemas/Donation' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Donation' multipart/form-data: schema: $ref: '#/components/schemas/Donation' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Donation' required: - hasError - statusCode - message - response description: '' /api/v1/hackathon/add-organiser/{hackathon_id}/: get: operationId: hackathon_add_organiser_retrieve parameters: - in: path name: hackathon_id schema: type: string required: true tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: hackathon_add_organiser_create parameters: - in: path name: hackathon_id schema: type: string required: true tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: hackathon_add_organiser_destroy parameters: - in: path name: hackathon_id schema: type: string required: true tags: - Hackathon security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/hackathon/create-hackathon/: get: operationId: hackathon_create_hackathon_retrieve tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: hackathon_create_hackathon_create tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: hackathon_create_hackathon_update tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: hackathon_create_hackathon_destroy tags: - Hackathon security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/hackathon/delete-hackathon/{hackathon_id}/: get: operationId: hackathon_delete_hackathon_retrieve parameters: - in: path name: hackathon_id schema: type: string required: true tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: hackathon_delete_hackathon_create parameters: - in: path name: hackathon_id schema: type: string required: true tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: hackathon_delete_hackathon_update parameters: - in: path name: hackathon_id schema: type: string required: true tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: hackathon_delete_hackathon_destroy parameters: - in: path name: hackathon_id schema: type: string required: true tags: - Hackathon security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/hackathon/delete-organiser/{organiser_link_id}/: get: operationId: hackathon_delete_organiser_retrieve parameters: - in: path name: organiser_link_id schema: type: string required: true tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: hackathon_delete_organiser_create parameters: - in: path name: organiser_link_id schema: type: string required: true tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: hackathon_delete_organiser_destroy parameters: - in: path name: organiser_link_id schema: type: string required: true tags: - Hackathon security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/hackathon/edit-hackathon/{hackathon_id}/: get: operationId: hackathon_edit_hackathon_retrieve parameters: - in: path name: hackathon_id schema: type: string required: true tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: hackathon_edit_hackathon_create parameters: - in: path name: hackathon_id schema: type: string required: true tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: hackathon_edit_hackathon_update parameters: - in: path name: hackathon_id schema: type: string required: true tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: hackathon_edit_hackathon_destroy parameters: - in: path name: hackathon_id schema: type: string required: true tags: - Hackathon security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/hackathon/info/{hackathon_id}/: get: operationId: hackathon_info_retrieve parameters: - in: path name: hackathon_id schema: type: string required: true tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/hackathon/list-applicants/: get: operationId: hackathon_list_applicants_retrieve tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/hackathon/list-applicants/{hackathon_id}/: get: operationId: hackathon_list_applicants_retrieve_2 parameters: - in: path name: hackathon_id schema: type: string required: true tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/hackathon/list-default-form-fields/: get: operationId: hackathon_list_default_form_fields_retrieve tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/hackathon/list-districts/: get: operationId: hackathon_list_districts_retrieve tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/hackathon/list-form/{hackathon_id}/: get: operationId: hackathon_list_form_retrieve parameters: - in: path name: hackathon_id schema: type: string required: true tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/hackathon/list-hackathons/: get: operationId: hackathon_list_hackathons_retrieve tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: hackathon_list_hackathons_create tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: hackathon_list_hackathons_update tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: hackathon_list_hackathons_destroy tags: - Hackathon security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/hackathon/list-hackathons/{hackathon_id}/: get: operationId: hackathon_list_hackathons_retrieve_2 parameters: - in: path name: hackathon_id schema: type: string required: true tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: hackathon_list_hackathons_create_2 parameters: - in: path name: hackathon_id schema: type: string required: true tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: hackathon_list_hackathons_update_2 parameters: - in: path name: hackathon_id schema: type: string required: true tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: hackathon_list_hackathons_destroy_2 parameters: - in: path name: hackathon_id schema: type: string required: true tags: - Hackathon security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/hackathon/list-hackathons/upcoming/: get: operationId: hackathon_list_hackathons_upcoming_retrieve tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: hackathon_list_hackathons_upcoming_create tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: hackathon_list_hackathons_upcoming_update tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: hackathon_list_hackathons_upcoming_destroy tags: - Hackathon security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/hackathon/list-organisations/: get: operationId: hackathon_list_organisations_retrieve tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/hackathon/list-organiser-hackathons/{hackathon_id}/: get: operationId: hackathon_list_organiser_hackathons_retrieve parameters: - in: path name: hackathon_id schema: type: string required: true tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: hackathon_list_organiser_hackathons_create parameters: - in: path name: hackathon_id schema: type: string required: true tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: hackathon_list_organiser_hackathons_destroy parameters: - in: path name: hackathon_id schema: type: string required: true tags: - Hackathon security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/hackathon/publish-hackathon/{hackathon_id}/: put: operationId: hackathon_publish_hackathon_update parameters: - in: path name: hackathon_id schema: type: string required: true tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/hackathon/submit-hackathon/: post: operationId: hackathon_submit_hackathon_create tags: - Hackathon security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/integrations/kkem/authorization/: post: operationId: integrations_kkem_authorization_create description: Create K K E M Authorization. tags: - Integrations security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': description: Authorization created; confirmation email sent. patch: operationId: integrations_kkem_authorization_partial_update description: Partially update K K E M Authorization. tags: - Integrations security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/KkemAuthorizationPatchResponse' required: - hasError - statusCode - message - response description: '' /api/v1/integrations/kkem/authorization/{token}/: post: operationId: integrations_kkem_authorization_create_2 description: Create K K E M Authorization. parameters: - in: path name: token schema: type: string required: true tags: - Integrations security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': description: Authorization created; confirmation email sent. patch: operationId: integrations_kkem_authorization_partial_update_2 description: Partially update K K E M Authorization. parameters: - in: path name: token schema: type: string required: true tags: - Integrations security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/KkemAuthorizationPatchResponse' required: - hasError - statusCode - message - response description: '' /api/v1/integrations/kkem/hackathon-stats/: get: operationId: integrations_kkem_hackathon_stats_retrieve tags: - Integrations security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/integrations/kkem/login/: post: operationId: integrations_kkem_login_create description: Create K K E M Integration Login. tags: - Integrations security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/KkemIntegrationLoginResponse' required: - hasError - statusCode - message - response description: '' /api/v1/integrations/kkem/user/{encrypted_data}/: get: operationId: integrations_kkem_user_retrieve description: Retrieve K K E Mdetails Fetch. parameters: - in: path name: encrypted_data schema: type: string required: true tags: - Integrations security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': description: KKEM jobseeker details returned from the KKEM API. /api/v1/integrations/kkem/user/status/{encrypted_data}/: get: operationId: integrations_kkem_user_status_retrieve description: Retrieve K K E M User Status. parameters: - in: path name: encrypted_data schema: type: string required: true tags: - Integrations security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/KKEMUser' required: - hasError - statusCode - message - response description: '' /api/v1/integrations/kkem/users/: get: operationId: integrations_kkem_users_retrieve tags: - Integrations security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/integrations/kkem/users/{muid}/: get: operationId: integrations_kkem_users_retrieve_2 parameters: - in: path name: muid schema: type: string required: true tags: - Integrations security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/integrations/mufifa/verify-task/: get: operationId: integrations_mufifa_verify_task_retrieve tags: - Integrations security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/integrations/qseverse/connected-users/: get: operationId: integrations_qseverse_connected_users_list description: Retrieve Get All Connected Users. tags: - Integrations security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/QseverseConnectedUserItem' required: - hasError - statusCode - message - response description: '' /api/v1/integrations/qseverse/connected-users/search: get: operationId: integrations_qseverse_connected_users_search_retrieve description: Retrieve Get Connected User. tags: - Integrations security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/QseverseConnectedUserDidsResponse' required: - hasError - statusCode - message - response description: '' /api/v1/integrations/qseverse/issue-vc/: post: operationId: integrations_qseverse_issue_vc_create description: Create Issue Verifiable Credential. tags: - Integrations requestBody: content: application/json: schema: $ref: '#/components/schemas/IssueVC' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/IssueVC' multipart/form-data: schema: $ref: '#/components/schemas/IssueVC' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/IssueVC' required: - hasError - statusCode - message - response description: '' /api/v1/integrations/qseverse/qs-credentials/: get: operationId: integrations_qseverse_qs_credentials_list description: Retrieve Get Q S Credentials. tags: - Integrations security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/QseverseCredentialItem' required: - hasError - statusCode - message - response description: '' /api/v1/integrations/wadhwani/auth-token/: post: operationId: integrations_wadhwani_auth_token_create description: Create Wadhwani Auth Token. tags: - Integrations security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/WadhwaniAuthTokenResponse' required: - hasError - statusCode - message - response description: '' /api/v1/integrations/wadhwani/course-details/: post: operationId: integrations_wadhwani_course_details_create description: Create Wadhwani Course Details. tags: - Integrations security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/WadhwaniCourseDetailsResponse' required: - hasError - statusCode - message - response description: '' /api/v1/integrations/wadhwani/course-enroll-status/: post: operationId: integrations_wadhwani_course_enroll_status_create description: Create Wadhwani Course Enroll Status. tags: - Integrations security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/WadhwaniCourseEnrollStatusResponse' required: - hasError - statusCode - message - response description: '' /api/v1/integrations/wadhwani/course-quiz-data/: post: operationId: integrations_wadhwani_course_quiz_data_create description: Create Wadhwani Course Quiz Data. tags: - Integrations security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/WadhwaniCourseQuizDataResponse' required: - hasError - statusCode - message - response description: '' /api/v1/integrations/wadhwani/user-login/: post: operationId: integrations_wadhwani_user_login_create description: Create Wadhwani User Login. tags: - Integrations security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/WadhwaniUserLoginResponse' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/accepted-students/: get: operationId: launchpad_accepted_students_retrieve description: Retrieve Accepted Students. tags: - Launchpad security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadAcceptedStudentsResponse' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/accepted-students/{job_id}/: get: operationId: launchpad_accepted_students_retrieve_2 description: Retrieve Accepted Students. parameters: - in: path name: job_id schema: type: string required: true tags: - Launchpad security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadAcceptedStudentsResponse' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/add-job/: post: operationId: launchpad_add_job_create description: Create Add Job. tags: - Launchpad requestBody: content: application/json: schema: $ref: '#/components/schemas/LaunchpadJobs' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LaunchpadJobs' multipart/form-data: schema: $ref: '#/components/schemas/LaunchpadJobs' required: true security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadJobs' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/application-final-decision/: post: operationId: launchpad_application_final_decision_create description: Create Application Final Decision. tags: - Launchpad security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadApplicationDecisionResponse' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/bulk-user-college-link/: post: operationId: launchpad_bulk_user_college_link_create description: Create Bulk Launchpad User. tags: - Launchpad requestBody: content: application/json: schema: $ref: '#/components/schemas/LaunchpadUser' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LaunchpadUser' multipart/form-data: schema: $ref: '#/components/schemas/LaunchpadUser' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadUser' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/change-password/: post: operationId: launchpad_change_password_create description: Create Change Password. tags: - Launchpad requestBody: content: application/json: schema: $ref: '#/components/schemas/ChangePassword' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ChangePassword' multipart/form-data: schema: $ref: '#/components/schemas/ChangePassword' required: true security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ChangePassword' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/college-data/: get: operationId: launchpad_college_data_retrieve description: Retrieve College Data. tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CollegeData' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/company-info/: post: operationId: launchpad_company_info_create description: Create Get Company Info. tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadCompanyInfoResponse' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/company-list/: get: operationId: launchpad_company_list_retrieve tags: - Launchpad security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/launchpad/company-list-verified/: get: operationId: launchpad_company_list_verified_retrieve description: Retrieve Company List Verified. tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadCompanyPublic' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/company-verify/: post: operationId: launchpad_company_verify_create tags: - Launchpad security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/launchpad/delete-company/: patch: operationId: launchpad_delete_company_partial_update tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/launchpad/forgot-password/: post: operationId: launchpad_forgot_password_create description: Create Forgot Password. tags: - Launchpad requestBody: content: application/json: schema: $ref: '#/components/schemas/ForgotPassword' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ForgotPassword' multipart/form-data: schema: $ref: '#/components/schemas/ForgotPassword' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ForgotPassword' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/get-user-levels/{launchpad_id}/: get: operationId: launchpad_get_user_levels_retrieve parameters: - in: path name: launchpad_id schema: type: string required: true tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/launchpad/hire-requests/: get: operationId: launchpad_hire_requests_retrieve description: Retrieve Hire Requests. tags: - Launchpad security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadHireRequestsResponse' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/ig-leaderboard/: get: operationId: launchpad_ig_leaderboard_retrieve description: Retrieve I G Leaderboard. tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadIGLeaderboardResponse' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/job/{job_id}/: get: operationId: launchpad_job_retrieve description: Retrieve Job. parameters: - in: path name: job_id schema: type: string required: true tags: - Launchpad security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadJobUpdate' required: - hasError - statusCode - message - response description: '' put: operationId: launchpad_job_update description: Update Job. parameters: - in: path name: job_id schema: type: string required: true tags: - Launchpad security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadJobUpdate' required: - hasError - statusCode - message - response description: '' delete: operationId: launchpad_job_destroy description: Delete Job. parameters: - in: path name: job_id schema: type: string required: true tags: - Launchpad security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadJobUpdate' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/launchpad-details/: get: operationId: launchpad_launchpad_details_retrieve description: Retrieve Launchpad Details Count. tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadDetailsCountResponse' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/leaderboard/: get: operationId: launchpad_leaderboard_retrieve description: Retrieve Leaderboard. tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadLeaderBoard' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/list-jobs/: get: operationId: launchpad_list_jobs_retrieve description: Retrieve List Jobs. tags: - Launchpad security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadListJobsResponse' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/list-launchpad-students/{job_id}/: get: operationId: launchpad_list_launchpad_students_retrieve description: Retrieve List Launchpad Students. parameters: - in: path name: job_id schema: type: string required: true tags: - Launchpad security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/EligibleStudent' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/list-participants/: get: operationId: launchpad_list_participants_retrieve description: Retrieve List Participants. tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadParticipants' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/list-participants-admin/: get: operationId: launchpad_list_participants_admin_retrieve description: Retrieve Launch Pad List Admin. tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadLeaderBoard' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/login-company/: post: operationId: launchpad_login_company_create description: Create Login Company. tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadLoginCompanyResponse' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/login-recruiter/: post: operationId: launchpad_login_recruiter_create description: Create Login Recruiter. tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadLoginRecruiterResponse' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/recruiter-info/: post: operationId: launchpad_recruiter_info_create description: Create Get Recruiter Info. tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadRecruiterInfoResponse' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/refresh-token/: post: operationId: launchpad_refresh_token_create description: Create Refresh Token. tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadRefreshTokenResponse' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/register-company/: post: operationId: launchpad_register_company_create description: Create Register Company. tags: - Launchpad requestBody: content: application/json: schema: $ref: '#/components/schemas/LaunchpadCompanies' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LaunchpadCompanies' multipart/form-data: schema: $ref: '#/components/schemas/LaunchpadCompanies' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadCompanies' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/register-recruiter/: post: operationId: launchpad_register_recruiter_create description: Create Register Recruiter. tags: - Launchpad requestBody: content: application/json: schema: $ref: '#/components/schemas/LaunchpadRecruiter' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LaunchpadRecruiter' multipart/form-data: schema: $ref: '#/components/schemas/LaunchpadRecruiter' required: true security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadRecruiter' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/reset-password/: post: operationId: launchpad_reset_password_create description: Create Reset Password. tags: - Launchpad requestBody: content: application/json: schema: $ref: '#/components/schemas/ResetPassword' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ResetPassword' multipart/form-data: schema: $ref: '#/components/schemas/ResetPassword' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ResetPassword' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/schedule-interview/: post: operationId: launchpad_schedule_interview_create description: Create Schedule Interview. tags: - Launchpad security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadScheduleInterviewResponse' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/send-job-invitations/: post: operationId: launchpad_send_job_invitations_create description: Create Send Job Invitations. tags: - Launchpad security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadSendInvitationsResponse' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/socials/{launchpad_id}/: get: operationId: launchpad_socials_retrieve parameters: - in: path name: launchpad_id schema: type: string required: true tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/launchpad/student/apply-to-job/: post: operationId: launchpad_student_apply_to_job_create description: Create Student Apply To Job. tags: - Launchpad security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadStudentApplyResponse' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/student/job-invitations/: get: operationId: launchpad_student_job_invitations_retrieve description: Retrieve Student Job Invitations. tags: - Launchpad security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadStudentInvitationsResponse' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/task-completed-leaderboard/: get: operationId: launchpad_task_completed_leaderboard_retrieve description: Retrieve Task Completed Leaderboard. tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/TaskCompletedLeaderBoard' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/user-college-data/: get: operationId: launchpad_user_college_data_retrieve description: Retrieve User Based College Data. tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CollegeData' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/user-college-link/: get: operationId: launchpad_user_college_link_retrieve description: Retrieve Launch Pad User. tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadUserList' required: - hasError - statusCode - message - response description: '' post: operationId: launchpad_user_college_link_create description: Create Launch Pad User. tags: - Launchpad requestBody: content: application/json: schema: $ref: '#/components/schemas/LaunchpadUser' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LaunchpadUser' multipart/form-data: schema: $ref: '#/components/schemas/LaunchpadUser' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadUser' required: - hasError - statusCode - message - response description: '' put: operationId: launchpad_user_college_link_update description: Update Launch Pad User. tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadUpdateUser' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/user-college-link-public/{email}: get: operationId: launchpad_user_college_link_public_retrieve description: Retrieve Launch Pad User Public. parameters: - in: path name: email schema: type: string required: true tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadUserList' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/user-college-link/{email}: get: operationId: launchpad_user_college_link_retrieve_2 description: Retrieve Launch Pad User. parameters: - in: path name: email schema: type: string required: true tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadUserList' required: - hasError - statusCode - message - response description: '' post: operationId: launchpad_user_college_link_create_2 description: Create Launch Pad User. parameters: - in: path name: email schema: type: string required: true tags: - Launchpad requestBody: content: application/json: schema: $ref: '#/components/schemas/LaunchpadUser' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/LaunchpadUser' multipart/form-data: schema: $ref: '#/components/schemas/LaunchpadUser' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadUser' required: - hasError - statusCode - message - response description: '' put: operationId: launchpad_user_college_link_update_2 description: Update Launch Pad User. parameters: - in: path name: email schema: type: string required: true tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadUpdateUser' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/user-details/{launchpad_id}/: get: operationId: launchpad_user_details_retrieve parameters: - in: path name: launchpad_id schema: type: string required: true tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/launchpad/user-log/{launchpad_id}/: get: operationId: launchpad_user_log_retrieve parameters: - in: path name: launchpad_id schema: type: string required: true tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/launchpad/user-profile/: get: operationId: launchpad_user_profile_retrieve description: Retrieve User Profile. tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadUserList' required: - hasError - statusCode - message - response description: '' put: operationId: launchpad_user_profile_update description: Update User Profile. tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadUserList' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/verify-reset-token/: post: operationId: launchpad_verify_reset_token_create description: Create Verify Reset Token. tags: - Launchpad security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LaunchpadVerifyResetTokenResponse' required: - hasError - statusCode - message - response description: '' /api/v1/launchpad/verify-task/: post: operationId: launchpad_verify_task_create tags: - Launchpad security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/leaderboard/campus-mentor/{campus_id}/: get: operationId: leaderboard_campus_mentor_list description: Retrieve the mentor leaderboard for a specific campus. Mentors are ranked primarily by the number of COMPLETED campus sessions, with total karma as a tiebreaker. parameters: - in: path name: campus_id schema: type: string required: true tags: - Leaderboard security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/CampusMentorLeaderboard' required: - hasError - statusCode - message - response description: '' /api/v1/leaderboard/college/: get: operationId: leaderboard_college_list description: Retrieve College Leaderboard. tags: - Leaderboard security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/LeaderboardCollegeItem' required: - hasError - statusCode - message - response description: '' /api/v1/leaderboard/college-monthly/: get: operationId: leaderboard_college_monthly_list description: Retrieve College Monthly Leaderboard. tags: - Leaderboard security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/LeaderboardCollegeMonthlyItem' required: - hasError - statusCode - message - response description: '' /api/v1/leaderboard/ig-mentor/{ig_id}/: get: operationId: leaderboard_ig_mentor_list description: Retrieve the mentor leaderboard for a specific Interest Group. Mentors are ranked primarily by the number of COMPLETED sessions in that IG, with total karma as a tiebreaker. parameters: - in: path name: ig_id schema: type: string required: true tags: - Leaderboard security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/IGMentorLeaderboard' required: - hasError - statusCode - message - response description: '' /api/v1/leaderboard/students/: get: operationId: leaderboard_students_retrieve description: Retrieve Students Leaderboard. tags: - Leaderboard security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/StudentLeaderboard' required: - hasError - statusCode - message - response description: '' /api/v1/leaderboard/students-monthly/: get: operationId: leaderboard_students_monthly_list description: Retrieve Students Monthly Leaderboard. tags: - Leaderboard security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/LeaderboardStudentsMonthlyItem' required: - hasError - statusCode - message - response description: '' /api/v1/leaderboard/wadhwani-college/: get: operationId: leaderboard_wadhwani_college_retrieve description: Retrieve Wadhwani College Leaderboard. tags: - Leaderboard security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/WadhwaniCollegeLeaderboard' required: - hasError - statusCode - message - response description: '' /api/v1/leaderboard/wadhwani-zonal/: get: operationId: leaderboard_wadhwani_zonal_retrieve description: Retrieve Wadhwani Zonal Leaderboard. tags: - Leaderboard security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/WadhwaniZoneLeaderboard' required: - hasError - statusCode - message - response description: '' /api/v1/muComics/chapters/: get: operationId: muComics_chapters_list description: List all active (non-deleted) chapters for a comic. Supports status filter and search by title. tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/ChapterList' required: - hasError - statusCode - message - response description: '' post: operationId: muComics_chapters_create description: Create a new chapter inside a comic. Only creator or editors of the comic can create. tags: - Mucomics requestBody: content: application/json: schema: $ref: '#/components/schemas/ChapterWrite' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ChapterWrite' multipart/form-data: schema: $ref: '#/components/schemas/ChapterWrite' required: true security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ChapterDetail' required: - hasError - statusCode - message - response description: '' /api/v1/muComics/chapters/{chapter_id}/: get: operationId: muComics_chapters_retrieve description: Retrieve full detail of a chapter including pages. parameters: - in: path name: chapter_id schema: type: string required: true tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ChapterDetail' required: - hasError - statusCode - message - response description: '' patch: operationId: muComics_chapters_partial_update description: Update chapter details. Requires comic creator or editor permissions. Archived chapters cannot be edited. parameters: - in: path name: chapter_id schema: type: string required: true tags: - Mucomics requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedChapterWrite' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedChapterWrite' multipart/form-data: schema: $ref: '#/components/schemas/PatchedChapterWrite' security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ChapterDetail' required: - hasError - statusCode - message - response description: '' delete: operationId: muComics_chapters_destroy description: Soft delete a chapter. Only the comic creator can delete a chapter. parameters: - in: path name: chapter_id schema: type: string required: true tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ChapterDeleteResponse' required: - hasError - statusCode - message - response description: '' /api/v1/muComics/chapters/{chapter_id}/archive/: post: operationId: muComics_chapters_archive_create description: Archive a chapter. Comic creator only. parameters: - in: path name: chapter_id schema: type: string required: true tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ChapterArchiveResponse' required: - hasError - statusCode - message - response description: '' /api/v1/muComics/chapters/{chapter_id}/pages/: get: operationId: muComics_chapters_pages_list description: List all active pages of a chapter, ordered by page number. parameters: - in: path name: chapter_id schema: type: string required: true tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/ChapterPage' required: - hasError - statusCode - message - response description: '' post: operationId: muComics_chapters_pages_create description: Add a single page to a chapter. Comic creators or editors only. parameters: - in: path name: chapter_id schema: type: string required: true tags: - Mucomics requestBody: content: application/json: schema: $ref: '#/components/schemas/ChapterPage' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ChapterPage' multipart/form-data: schema: $ref: '#/components/schemas/ChapterPage' required: true security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ChapterPage' required: - hasError - statusCode - message - response description: '' /api/v1/muComics/chapters/{chapter_id}/pages/register/: post: operationId: muComics_chapters_pages_register_create description: Register multiple uploaded local media paths as sequential pages inside a chapter. Creator/editors only. parameters: - in: path name: chapter_id schema: type: string required: true tags: - Mucomics requestBody: content: application/json: schema: $ref: '#/components/schemas/RegisterImagesRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/RegisterImagesRequest' multipart/form-data: schema: $ref: '#/components/schemas/RegisterImagesRequest' required: true security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/ChapterPage' required: - hasError - statusCode - message - response description: '' /api/v1/muComics/chapters/{chapter_id}/pages/reorder/: post: operationId: muComics_chapters_pages_reorder_create description: Bulk reorder page numbers in a chapter. Comic creators or editors only. parameters: - in: path name: chapter_id schema: type: string required: true tags: - Mucomics requestBody: content: application/json: schema: $ref: '#/components/schemas/PageReorderRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PageReorderRequest' multipart/form-data: schema: $ref: '#/components/schemas/PageReorderRequest' required: true security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/PageReorderResponse' required: - hasError - statusCode - message - response description: '' /api/v1/muComics/chapters/{chapter_id}/publish/: post: operationId: muComics_chapters_publish_create description: Publish a chapter. Comic creator only. parameters: - in: path name: chapter_id schema: type: string required: true tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ChapterPublishResponse' required: - hasError - statusCode - message - response description: '' /api/v1/muComics/chapters/pages/{page_id}/: patch: operationId: muComics_chapters_pages_partial_update description: Update page information (e.g. page_number or image_key). Comic creators or editors only. parameters: - in: path name: page_id schema: type: string required: true tags: - Mucomics requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedChapterPage' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedChapterPage' multipart/form-data: schema: $ref: '#/components/schemas/PatchedChapterPage' security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ChapterPage' required: - hasError - statusCode - message - response description: '' delete: operationId: muComics_chapters_pages_destroy description: Delete a page (soft delete). Comic creators or editors only. parameters: - in: path name: page_id schema: type: string required: true tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/PageDeleteResponse' required: - hasError - statusCode - message - response description: '' /api/v1/muComics/chapters/upload-url/: post: operationId: muComics_chapters_upload_url_create description: Upload a media file (Image or PDF) to local storage. tags: - Mucomics requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/ChapterUploadRequest' required: true security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UploadURLResponse' required: - hasError - statusCode - message - response description: '' /api/v1/muComics/comics/: get: operationId: muComics_comics_list description: List all active (non-deleted) comics. Supports search by title, status filter, and sort by created_at or title. tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/ComicListItem' required: - hasError - statusCode - message - response description: '' post: operationId: muComics_comics_create description: Create a new comic. Any authenticated user may create a comic. Returns the full comic detail on success. tags: - Mucomics requestBody: content: application/json: schema: $ref: '#/components/schemas/ComicWrite' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ComicWrite' multipart/form-data: schema: $ref: '#/components/schemas/ComicWrite' required: true security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ComicDetail' required: - hasError - statusCode - message - response description: '' /api/v1/muComics/comics/{comic_id}/: get: operationId: muComics_comics_retrieve description: Retrieve full detail for a single active comic, including contributors and genres. parameters: - in: path name: comic_id schema: type: string required: true tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ComicDetail' required: - hasError - statusCode - message - response description: '' patch: operationId: muComics_comics_partial_update description: Partially update a comic's title, description, or cover image. Only the creator or an assigned editor contributor may edit. Archived comics cannot be edited. parameters: - in: path name: comic_id schema: type: string required: true tags: - Mucomics requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedComicWrite' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedComicWrite' multipart/form-data: schema: $ref: '#/components/schemas/PatchedComicWrite' security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ComicDetail' required: - hasError - statusCode - message - response description: '' delete: operationId: muComics_comics_destroy description: Soft-delete a comic (sets deleted_at). Only the original creator may delete. The comic is hidden from all list/detail responses after deletion. parameters: - in: path name: comic_id schema: type: string required: true tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ComicDeleteResponse' required: - hasError - statusCode - message - response description: '' /api/v1/muComics/comics/{comic_id}/archive/: post: operationId: muComics_comics_archive_create description: Archive a draft or published comic (draft/published → archived). Only the creator may archive. Already-archived comics are rejected. parameters: - in: path name: comic_id schema: type: string required: true tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ComicArchiveResponse' required: - hasError - statusCode - message - response description: '' /api/v1/muComics/comics/{comic_id}/contributors/: get: operationId: muComics_comics_contributors_list description: List all contributors for a comic. parameters: - in: path name: comic_id schema: type: string required: true tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/ContributorList' required: - hasError - statusCode - message - response description: '' post: operationId: muComics_comics_contributors_create description: Add a contributor to a comic by muid and role. Only the comic creator or an Admin may call this. The CREATOR role cannot be assigned via this endpoint. parameters: - in: path name: comic_id schema: type: string required: true tags: - Mucomics requestBody: content: application/json: schema: $ref: '#/components/schemas/ContributorWrite' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ContributorWrite' multipart/form-data: schema: $ref: '#/components/schemas/ContributorWrite' required: true security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ContributorAddResponse' required: - hasError - statusCode - message - response description: '' /api/v1/muComics/comics/{comic_id}/contributors/{contributor_id}/: patch: operationId: muComics_comics_contributors_partial_update description: Update a contributor's role. Only the comic creator or an Admin may call this. The CREATOR role cannot be assigned. parameters: - in: path name: comic_id schema: type: string required: true - in: path name: contributor_id schema: type: string required: true tags: - Mucomics requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedContributorRoleUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedContributorRoleUpdate' multipart/form-data: schema: $ref: '#/components/schemas/PatchedContributorRoleUpdate' security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ContributorUpdateResponse' required: - hasError - statusCode - message - response description: '' delete: operationId: muComics_comics_contributors_destroy description: Remove a contributor from a comic. Only the comic creator or an Admin may call this. parameters: - in: path name: comic_id schema: type: string required: true - in: path name: contributor_id schema: type: string required: true tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ContributorRemoveResponse' required: - hasError - statusCode - message - response description: '' /api/v1/muComics/comics/{comic_id}/genres/: post: operationId: muComics_comics_genres_create_2 description: Assign a genre to a comic. Only the creator, an assigned editor, or an admin might perform this action. parameters: - in: path name: comic_id schema: type: string required: true tags: - Mucomics requestBody: content: application/json: schema: $ref: '#/components/schemas/ComicGenreAssign' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/ComicGenreAssign' multipart/form-data: schema: $ref: '#/components/schemas/ComicGenreAssign' required: true security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ComicGenreAssignResponse' required: - hasError - statusCode - message - response description: '' /api/v1/muComics/comics/{comic_id}/genres/{link_id}/: delete: operationId: muComics_comics_genres_destroy_2 description: Remove a genre from a comic. Only the creator, an assigned editor, or an admin might perform this action. parameters: - in: path name: comic_id schema: type: string required: true - in: path name: link_id schema: type: string required: true tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ComicGenreRemoveResponse' required: - hasError - statusCode - message - response description: '' /api/v1/muComics/comics/{comic_id}/publish/: post: operationId: muComics_comics_publish_create description: Publish a draft comic (draft → published). Only the creator may publish. Requires title and description to be present. Archived comics cannot be re-published. parameters: - in: path name: comic_id schema: type: string required: true tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ComicPublishResponse' required: - hasError - statusCode - message - response description: '' /api/v1/muComics/comics/genres/: get: operationId: muComics_comics_genres_list description: List genres. Non-admins see only active genres. Admins can filter with ?is_active=true|false. Supports ?search= (by name) and ?sort=name|created_at. tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/GenreRead' required: - hasError - statusCode - message - response description: '' post: operationId: muComics_comics_genres_create description: Create a new genre. is_active defaults to true. Admin only. tags: - Mucomics requestBody: content: application/json: schema: $ref: '#/components/schemas/GenreWrite' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/GenreWrite' multipart/form-data: schema: $ref: '#/components/schemas/GenreWrite' required: true security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/GenreRead' required: - hasError - statusCode - message - response description: '' /api/v1/muComics/comics/genres/{genre_id}/: get: operationId: muComics_comics_genres_retrieve description: Retrieve a genre. Non-admins only see active genres (inactive → 404). Admins can retrieve any genre regardless of is_active status. parameters: - in: path name: genre_id schema: type: string required: true tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/GenreRead' required: - hasError - statusCode - message - response description: '' patch: operationId: muComics_comics_genres_partial_update description: Update a genre's name (slug is regenerated automatically). Admin only. parameters: - in: path name: genre_id schema: type: string required: true tags: - Mucomics requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedGenreWrite' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchedGenreWrite' multipart/form-data: schema: $ref: '#/components/schemas/PatchedGenreWrite' security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/GenreRead' required: - hasError - statusCode - message - response description: '' delete: operationId: muComics_comics_genres_destroy description: Soft-deactivate a genre (sets is_active = False). The genre row and all comic_genre_link rows are preserved. Admin only. parameters: - in: path name: genre_id schema: type: string required: true tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/GenreDeactivateResponse' required: - hasError - statusCode - message - response description: '' /api/v1/muComics/comics/genres/{genre_id}/reinstate/: post: operationId: muComics_comics_genres_reinstate_create description: Reinstate (reactivate) a deactivated genre. Sets is_active = True. Admin only. parameters: - in: path name: genre_id schema: type: string required: true tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/GenreReinstateResponse' required: - hasError - statusCode - message - response description: '' /api/v1/muComics/comments/{comment_id}/: patch: operationId: muComics_comments_partial_update description: |- PATCH /comments// — edit own comment DELETE /comments// — soft-delete own comment parameters: - in: path name: comment_id schema: type: string required: true tags: - Mucomics security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body delete: operationId: muComics_comments_destroy description: |- PATCH /comments// — edit own comment DELETE /comments// — soft-delete own comment parameters: - in: path name: comment_id schema: type: string required: true tags: - Mucomics security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '204': description: No response body /api/v1/muComics/comments/admin/: get: operationId: muComics_comments_admin_retrieve description: GET /admin/comments/ — list all comments for moderation (flat list) tags: - Mucomics security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body /api/v1/muComics/comments/admin/{comment_id}/: delete: operationId: muComics_comments_admin_destroy description: DELETE /admin/comments// — soft-delete any comment (moderator) parameters: - in: path name: comment_id schema: type: string required: true tags: - Mucomics security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '204': description: No response body /api/v1/muComics/comments/chapter/{chapter_id}/create/: post: operationId: muComics_comments_chapter_create_create description: POST /comments/chapter//create/ — create chapter comment parameters: - in: path name: chapter_id schema: type: string required: true tags: - Mucomics security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body /api/v1/muComics/comments/chapter/{chapter_id}/list/: get: operationId: muComics_comments_chapter_list_retrieve description: GET /comments/chapter//list/ — list chapter comments parameters: - in: path name: chapter_id schema: type: string required: true tags: - Mucomics security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/muComics/comments/comic/{comic_id}/create/: post: operationId: muComics_comments_comic_create_create description: POST /comments/comic//create/ — create a comment (top-level or reply) parameters: - in: path name: comic_id schema: type: string required: true tags: - Mucomics security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': description: No response body /api/v1/muComics/comments/comic/{comic_id}/list/: get: operationId: muComics_comments_comic_list_retrieve description: GET /comments/comic//list/ — list top-level comments with replies parameters: - in: path name: comic_id schema: type: string required: true tags: - Mucomics security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/muComics/reader/comics/{comic_id}/bookmarks/: post: operationId: muComics_reader_comics_bookmarks_create parameters: - in: path name: comic_id schema: type: string required: true tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: muComics_reader_comics_bookmarks_destroy parameters: - in: path name: comic_id schema: type: string required: true tags: - Mucomics security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/muComics/reader/comics/{comic_id}/interaction-status/: get: operationId: muComics_reader_comics_interaction_status_retrieve parameters: - in: path name: comic_id schema: type: string required: true tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/muComics/reader/comics/{comic_id}/likes/: post: operationId: muComics_reader_comics_likes_create parameters: - in: path name: comic_id schema: type: string required: true tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: muComics_reader_comics_likes_destroy parameters: - in: path name: comic_id schema: type: string required: true tags: - Mucomics security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/muComics/reader/comics/{comic_id}/progress/: get: operationId: muComics_reader_comics_progress_retrieve parameters: - in: path name: comic_id schema: type: string required: true tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: muComics_reader_comics_progress_update parameters: - in: path name: comic_id schema: type: string required: true tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/muComics/reader/me/: get: operationId: muComics_reader_me_retrieve tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/muComics/reader/me/bookmarks/: get: operationId: muComics_reader_me_bookmarks_retrieve tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/muComics/reader/me/progress/: get: operationId: muComics_reader_me_progress_retrieve tags: - Mucomics security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/notification/broadcast/create/: post: operationId: notification_broadcast_create_create description: Admin only. Create a new global broadcast announcement. tags: - Notification security: - jwtAuth: [] - {} responses: '201': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/BroadcastNotificationAdmin' required: - hasError - statusCode - message - response description: '' /api/v1/notification/broadcast/delete/all/: delete: operationId: notification_broadcast_delete_all_destroy description: Delete all broadcast notifications. Admin role required. tags: - Notification security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/BroadcastNotification' required: - hasError - statusCode - message - response description: '' /api/v1/notification/broadcast/delete/id/{broadcast_id}/: delete: operationId: notification_broadcast_delete_id_destroy description: Delete a single broadcast notification by its ID. Admin role required. parameters: - in: path name: broadcast_id schema: type: string required: true tags: - Notification security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/BroadcastNotification' required: - hasError - statusCode - message - response description: '' /api/v1/notification/broadcast/list/all/: get: operationId: notification_broadcast_list_all_list description: Admin only. List all broadcast notifications. Each record includes a `target_details` field with the resolved human-readable name of the target audience. tags: - Notification security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/BroadcastNotificationAdmin' required: - hasError - statusCode - message - response description: '' /api/v1/notification/broadcast/update/id/{broadcast_id}/: patch: operationId: notification_broadcast_update_id_partial_update description: Admin only. Partially update a broadcast notification by its ID. All fields are optional. parameters: - in: path name: broadcast_id schema: type: string required: true tags: - Notification security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/BroadcastNotificationAdmin' required: - hasError - statusCode - message - response description: '' /api/v1/notification/delete/all/: delete: operationId: notification_delete_all_destroy description: Delete Notification Delete All. tags: - Notification security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Notification' required: - hasError - statusCode - message - response description: '' /api/v1/notification/delete/id/{notification_id}/: delete: operationId: notification_delete_id_destroy description: Delete Notification Delete. parameters: - in: path name: notification_id schema: type: string required: true tags: - Notification security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Notification' required: - hasError - statusCode - message - response description: '' /api/v1/notification/list/: get: operationId: notification_list_retrieve description: 'Retrieve all notifications for the authenticated user. Returns two lists: `direct` (personal) and `broadcasts` (group/audience).' tags: - Notification security: - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/NotificationListResponse' required: - hasError - statusCode - message - response description: '' /api/v1/protected/organisation/get-institutes/{district_name}/: get: operationId: protected_organisation_get_institutes_retrieve description: Retrieve Retrieve Institutes. parameters: - in: path name: district_name schema: type: string required: true tags: - Protected security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/InstitutesRetrival' required: - hasError - statusCode - message - response description: '' /api/v1/protected/organisation/institutes/{organisation_type}/{district_name}/: get: operationId: protected_organisation_institutes_retrieve description: Retrieve Get Institutions. parameters: - in: path name: district_name schema: type: string required: true - in: path name: organisation_type schema: type: string required: true tags: - Protected security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Organisation' required: - hasError - statusCode - message - response description: '' /api/v1/public/{circle_id}/lc-details/: get: operationId: public_lc_details_retrieve description: Retrieve Lc Details. parameters: - in: path name: circle_id schema: type: string required: true tags: - Public security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CommonLcDetailsResponse' required: - hasError - statusCode - message - response description: '' /api/v1/public/campus-details/{college_code}/: get: operationId: public_campus_details_retrieve parameters: - in: path name: college_code schema: type: string required: true tags: - Public security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/public/college-wise-lc-report/: get: operationId: public_college_wise_lc_report_retrieve description: Retrieve College Wise Lc Report. tags: - Public security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CollegeInfo' required: - hasError - statusCode - message - response description: '' /api/v1/public/college-wise-lc-report/csv/: get: operationId: public_college_wise_lc_report_csv_retrieve description: Retrieve College Wise Lc Report C S V. tags: - Public security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CollegeInfo' required: - hasError - statusCode - message - response description: '' /api/v1/public/external/user/: get: operationId: public_external_user_retrieve description: Retrieve External User Details. tags: - Public security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/ExternalUserDetails' required: - hasError - statusCode - message - response description: '' /api/v1/public/global-count/: get: operationId: public_global_count_retrieve description: Retrieve Global Count. tags: - Public security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CommonGlobalCountResponse' required: - hasError - statusCode - message - response description: '' /api/v1/public/gta-sandshore/: get: operationId: public_gta_sandshore_retrieve description: Retrieve G T A S A N D S H O R E. tags: - Public security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CommonGtasandshoreResponse' required: - hasError - statusCode - message - response description: '' /api/v1/public/ig/{id}/: get: operationId: public_ig_retrieve description: Retrieve I G Detail. parameters: - in: path name: id schema: type: string required: true tags: - Public security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/InterestGroup' required: - hasError - statusCode - message - response description: '' /api/v1/public/jobs/: get: operationId: public_jobs_list description: Public endpoint to list all active jobs. tags: - Public security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/JobList' required: - hasError - statusCode - message - response description: '' /api/v1/public/lc-dashboard/: get: operationId: public_lc_dashboard_retrieve description: Retrieve Lc Dashboard. tags: - Public security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CommonLcDashboardResponse' required: - hasError - statusCode - message - response description: '' /api/v1/public/lc-enrollment/: get: operationId: public_lc_enrollment_retrieve description: Retrieve Learning Circle Enrollment. tags: - Public security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleEnrollment' required: - hasError - statusCode - message - response description: '' /api/v1/public/lc-enrollment/csv/: get: operationId: public_lc_enrollment_csv_retrieve description: Retrieve Learning Circle Enrollment C S V. tags: - Public security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleEnrollment' required: - hasError - statusCode - message - response description: '' /api/v1/public/lc-list: get: operationId: public_lc_list_retrieve description: Retrieve Lc List. tags: - Public security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CommonLcListResponse' required: - hasError - statusCode - message - response description: '' /api/v1/public/lc-report/: get: operationId: public_lc_report_retrieve description: Retrieve Lc Report. tags: - Public security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/StudentInfo' required: - hasError - statusCode - message - response description: '' /api/v1/public/lc-report/csv/: get: operationId: public_lc_report_csv_retrieve description: Retrieve Lc Report Download. tags: - Public security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/StudentInfo' required: - hasError - statusCode - message - response description: '' /api/v1/public/leaderboard/top-100/: get: operationId: public_leaderboard_top_100_retrieve description: Retrieve Beken. tags: - Public security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserLeaderboard' required: - hasError - statusCode - message - response description: '' /api/v1/public/list-ig/: get: operationId: public_list_ig_retrieve description: Retrieve List I G. tags: - Public security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CommonListIGResponse' required: - hasError - statusCode - message - response description: '' /api/v1/public/list-ig-top100/: get: operationId: public_list_ig_top100_retrieve description: Retrieve List Top Ig Users. tags: - Public security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CommonListTopIgUsersResponse' required: - hasError - statusCode - message - response description: '' /api/v1/public/list/college/: get: operationId: public_list_college_retrieve description: Retrieve Lc College. tags: - Public security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Org' required: - hasError - statusCode - message - response description: '' /api/v1/public/list/country/: get: operationId: public_list_country_retrieve description: Retrieve Lc Country. tags: - Public security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Country' required: - hasError - statusCode - message - response description: '' /api/v1/public/list/district/: get: operationId: public_list_district_retrieve description: Retrieve Lc District. tags: - Public security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/District' required: - hasError - statusCode - message - response description: '' /api/v1/public/list/levels/: get: operationId: public_list_levels_retrieve description: Retrieve List All Level Info. tags: - Public security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CommonListAllLevelInfoResponse' required: - hasError - statusCode - message - response description: '' /api/v1/public/list/state/: get: operationId: public_list_state_retrieve description: Retrieve Lc State. tags: - Public security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/State' required: - hasError - statusCode - message - response description: '' /api/v1/public/profile-pic/{muid}/: get: operationId: public_profile_pic_retrieve description: Retrieve User Profile Pic. parameters: - in: path name: muid schema: type: string required: true tags: - Public security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/CommonUserProfilePicResponse' required: - hasError - statusCode - message - response description: '' /api/v1/register/: post: operationId: register_create description: Create Register Data. tags: - Register requestBody: content: application/json: schema: $ref: '#/components/schemas/Register' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Register' multipart/form-data: schema: $ref: '#/components/schemas/Register' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserDetail' required: - hasError - statusCode - message - response description: '' /api/v1/register/area-of-interest/list/: get: operationId: register_area_of_interest_list_retrieve description: Retrieve Area Of Interest. tags: - Register security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/AreaOfInterestAPI' required: - hasError - statusCode - message - response description: '' /api/v1/register/college/list/: post: operationId: register_college_list_create description: Create College. tags: - Register security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Org' required: - hasError - statusCode - message - response description: '' /api/v1/register/colleges/: get: operationId: register_colleges_retrieve description: Retrieve Colleges. tags: - Register security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/RegisterCollegesResponse' required: - hasError - statusCode - message - response description: '' /api/v1/register/community/list/: get: operationId: register_community_list_retrieve description: Retrieve Community. tags: - Register security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Org' required: - hasError - statusCode - message - response description: '' /api/v1/register/company/list/: get: operationId: register_company_list_retrieve description: Retrieve Company. tags: - Register security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/RegisterCompaniesResponse' required: - hasError - statusCode - message - response description: '' /api/v1/register/connect-discord/: get: operationId: register_connect_discord_retrieve description: Retrieve Connect Discord. tags: - Register security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': description: Discord onboard success message /api/v1/register/country/list/: get: operationId: register_country_list_retrieve description: Retrieve Country. tags: - Register security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Country' required: - hasError - statusCode - message - response description: '' /api/v1/register/department/list/: get: operationId: register_department_list_retrieve description: Retrieve Department. tags: - Register security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Department' required: - hasError - statusCode - message - response description: '' /api/v1/register/district/list/: post: operationId: register_district_list_create description: Create District. tags: - Register security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/District' required: - hasError - statusCode - message - response description: '' /api/v1/register/email-verification/: post: operationId: register_email_verification_create description: Create User Email Verification. tags: - Register security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/User' required: - hasError - statusCode - message - response description: '' /api/v1/register/lc/user-validation/: post: operationId: register_lc_user_validation_create description: Create Learning Circle User View. tags: - Register security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/LearningCircleUser' required: - hasError - statusCode - message - response description: '' /api/v1/register/location/: get: operationId: register_location_retrieve description: Retrieve Location Search. tags: - Register security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Location' required: - hasError - statusCode - message - response description: '' /api/v1/register/organization/create/: post: operationId: register_organization_create_create description: Create Unverified Organization Create. tags: - Register requestBody: content: application/json: schema: $ref: '#/components/schemas/UnverifiedOrganizationCreate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/UnverifiedOrganizationCreate' multipart/form-data: schema: $ref: '#/components/schemas/UnverifiedOrganizationCreate' required: true security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UnverifiedOrganizationCreate' required: - hasError - statusCode - message - response description: '' /api/v1/register/role/list/: get: operationId: register_role_list_retrieve description: Retrieve Role. tags: - Register security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Role' required: - hasError - statusCode - message - response description: '' /api/v1/register/schools/list/: post: operationId: register_schools_list_create description: Create School. tags: - Register security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/Org' required: - hasError - statusCode - message - response description: '' /api/v1/register/select-domains/: post: operationId: register_select_domains_create description: Create User Domain Selection. tags: - Register security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/User' required: - hasError - statusCode - message - response description: '' /api/v1/register/select-endgoals/: post: operationId: register_select_endgoals_create description: Create User Endgoal Selection. tags: - Register security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/User' required: - hasError - statusCode - message - response description: '' /api/v1/register/state/list/: post: operationId: register_state_list_create description: Create State. tags: - Register security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/State' required: - hasError - statusCode - message - response description: '' /api/v1/register/user-country/: get: operationId: register_user_country_retrieve description: Retrieve User Country. tags: - Register security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserCountry' required: - hasError - statusCode - message - response description: '' /api/v1/register/user-state/: get: operationId: register_user_state_retrieve description: Retrieve User State. tags: - Register security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserState' required: - hasError - statusCode - message - response description: '' /api/v1/register/user-zone/: get: operationId: register_user_zone_retrieve description: Retrieve User Zone. tags: - Register security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: $ref: '#/components/schemas/UserZone' required: - hasError - statusCode - message - response description: '' /api/v1/top100/leaderboard/: get: operationId: top100_leaderboard_list description: Retrieve Leaderboard. tags: - Top100 security: - cookieAuth: [] - basicAuth: [] - jwtAuth: [] - {} responses: '200': content: application/json: schema: type: object properties: hasError: type: boolean default: false example: false statusCode: type: integer default: 200 example: 200 message: type: object properties: general: type: array items: type: string response: type: array items: $ref: '#/components/schemas/Top100LeaderboardItem' required: - hasError - statusCode - message - response description: '' /api/v1/url-shortener/create/: get: operationId: url_shortener_create_retrieve tags: - Url Shortener security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: url_shortener_create_create tags: - Url Shortener security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: url_shortener_create_update tags: - Url Shortener security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: url_shortener_create_destroy tags: - Url Shortener security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/url-shortener/delete/{url_id}/: get: operationId: url_shortener_delete_retrieve parameters: - in: path name: url_id schema: type: string required: true tags: - Url Shortener security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: url_shortener_delete_create parameters: - in: path name: url_id schema: type: string required: true tags: - Url Shortener security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: url_shortener_delete_update parameters: - in: path name: url_id schema: type: string required: true tags: - Url Shortener security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: url_shortener_delete_destroy parameters: - in: path name: url_id schema: type: string required: true tags: - Url Shortener security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/url-shortener/edit/{url_id}/: get: operationId: url_shortener_edit_retrieve parameters: - in: path name: url_id schema: type: string required: true tags: - Url Shortener security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: url_shortener_edit_create parameters: - in: path name: url_id schema: type: string required: true tags: - Url Shortener security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: url_shortener_edit_update parameters: - in: path name: url_id schema: type: string required: true tags: - Url Shortener security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: url_shortener_edit_destroy parameters: - in: path name: url_id schema: type: string required: true tags: - Url Shortener security: - jwtAuth: [] - {} responses: '204': description: No response body /api/v1/url-shortener/get-analytics/{url_id}/: get: operationId: url_shortener_get_analytics_retrieve parameters: - in: path name: url_id schema: type: string required: true tags: - Url Shortener security: - jwtAuth: [] - {} responses: '200': description: No response body /api/v1/url-shortener/list/: get: operationId: url_shortener_list_retrieve tags: - Url Shortener security: - jwtAuth: [] - {} responses: '200': description: No response body post: operationId: url_shortener_list_create tags: - Url Shortener security: - jwtAuth: [] - {} responses: '200': description: No response body put: operationId: url_shortener_list_update tags: - Url Shortener security: - jwtAuth: [] - {} responses: '200': description: No response body delete: operationId: url_shortener_list_destroy tags: - Url Shortener security: - jwtAuth: [] - {} responses: '204': description: No response body 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 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 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 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 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 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 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 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 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 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 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 AreaOfInterestAPI: type: object properties: id: type: string maxLength: 36 name: type: string maxLength: 75 required: - name 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 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 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 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 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 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 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 * `monthly` - monthly * `yearly` - yearly x-spec-enum-id: a1444fc7968e746a 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 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 BroadcastNotificationAdmin: type: object description: |- Extended serializer for admin CRUD on BroadcastNotification. Adds a `target_details` field that resolves the human-readable name of the 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 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 CampusCircleHealthResponse: type: object properties: hasError: type: boolean statusCode: type: integer message: type: object additionalProperties: {} response: $ref: '#/components/schemas/CampusCircleHealthData' required: - hasError - message - response - statusCode 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 CampusDashboardFunnelStage: type: object properties: key: type: string label: type: string count: type: integer percentage: type: number format: double required: - count - key - label - percentage CampusDashboardMemberFunnel: type: object properties: max: type: integer stages: type: array items: $ref: '#/components/schemas/CampusDashboardFunnelStage' required: - max - stages 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 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 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 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 CampusDashboardSummaryResponse: type: object properties: hasError: type: boolean statusCode: type: integer message: type: object additionalProperties: {} response: $ref: '#/components/schemas/CampusDashboardSummaryData' required: - hasError - message - response - statusCode 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 CampusKarmaByClusterCategory: type: object properties: total_karma: type: integer member_count: type: integer required: - member_count - total_karma CampusKarmaByClusterResponse: type: object properties: hasError: type: boolean statusCode: type: integer message: type: object additionalProperties: {} response: $ref: '#/components/schemas/CampusKarmaByClusterCategory' required: - hasError - message - response - statusCode 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 CampusList: type: object properties: id: type: string maxLength: 36 title: type: string maxLength: 100 code: type: string maxLength: 12 required: - code - title CampusMemberFunnelData: type: object properties: max: type: integer stages: type: array items: $ref: '#/components/schemas/CampusMemberFunnelStage' required: - max - stages CampusMemberFunnelResponse: type: object properties: hasError: type: boolean statusCode: type: integer message: type: object additionalProperties: {} response: $ref: '#/components/schemas/CampusMemberFunnelData' required: - hasError - message - response - statusCode CampusMemberFunnelStage: type: object properties: key: type: string label: type: string count: type: integer percentage: type: number format: double required: - count - key - label - percentage 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 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 CampusRecentActivityResponse: type: object properties: hasError: type: boolean statusCode: type: integer message: type: object additionalProperties: {} response: $ref: '#/components/schemas/CampusRecentActivityData' required: - hasError - message - response - statusCode 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 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' x-spec-enum-id: 956befa305ca9285 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 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 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 ChapterArchiveResponse: type: object properties: id: type: string status: type: string required: - id - status ChapterDeleteResponse: type: object properties: id: type: string required: - id 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 * `published` - Published * `archived` - Archived x-spec-enum-id: 3999cf41a064d13a 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 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 * `published` - Published * `archived` - Archived x-spec-enum-id: 3999cf41a064d13a 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 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 ChapterPublishResponse: type: object properties: id: type: string status: type: string required: - id - status ChapterUploadRequest: type: object properties: file: type: string format: uri required: - file ChapterWrite: type: object description: |- Input serializer for POST /chapters/ and PATCH /chapters//. Caller 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 CircleInvite: type: object description: Validates the invite request body for POST /invite//. properties: muid: type: string description: muid of the user to invite, e.g. user@mulearn lead: type: boolean default: false required: - muid 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 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 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 * `offline` - Offline x-spec-enum-id: d6e757ef4e348283 platform: enum: - Zoom - Google Meet - Microsoft Teams - Discord - Other - null type: string x-spec-enum-id: 40f95a7913308104 nullable: true description: |- Required for online meetings. One of: Zoom, Google Meet, Microsoft Teams, Other * `Zoom` - Zoom * `Google Meet` - Google Meet * `Microsoft Teams` - Microsoft Teams * `Discord` - Discord * `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 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 * `offline` - Offline x-spec-enum-id: d6e757ef4e348283 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 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 * `offline` - Offline x-spec-enum-id: d6e757ef4e348283 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 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 * `offline` - Offline x-spec-enum-id: d6e757ef4e348283 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 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 CollegeChange: type: object properties: org_id: type: string maxLength: 36 department_id: type: string nullable: true maxLength: 36 required: - org_id 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 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 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 ComicArchiveResponse: type: object properties: id: type: string status: type: string required: - id - status ComicDeleteResponse: type: object properties: id: type: string required: - id 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 * `published` - Published * `archived` - Archived x-spec-enum-id: 3999cf41a064d13a 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 ComicGenreAssign: type: object description: |- Input serializer for POST /comics/{comicId}/genres/. Validates that: - The genre exists. - The genre is active (is_active=True). - The genre is not already assigned to this comic. properties: genre_id: type: string required: - genre_id ComicGenreAssignResponse: type: object properties: link_id: type: string genre: $ref: '#/components/schemas/GenreMinimalObj' required: - genre - link_id ComicGenreRemoveResponse: type: object properties: link_id: type: string required: - link_id 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 * `published` - Published * `archived` - Archived x-spec-enum-id: 3999cf41a064d13a 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 ComicPublishResponse: type: object properties: id: type: string status: type: string required: - id - status ComicWrite: type: object description: |- Input serializer for POST /comics/ and PATCH /comics//. The 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 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 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 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 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 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 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 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 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 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 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 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 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 CommonLevelTaskIG: type: object properties: id: type: string nullable: true name: type: string nullable: true required: - id - name 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 CommonListIGItem: type: object properties: name: type: string description: Interest group name required: - name 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 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 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 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 CommonUserProfilePicData: type: object properties: image: type: string nullable: true description: URL or path to the user's profile picture required: - image 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 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 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 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 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 * `MENTOR` - Mentor * `COMPANY_MENTOR` - Company Mentor * `CAMPUS_MENTOR` - Campus Mentor x-spec-enum-id: 502a7e5c2300b154 status: enum: - PENDING - APPROVED - REJECTED type: string description: |- * `PENDING` - Pending * `APPROVED` - Approved * `REJECTED` - Rejected x-spec-enum-id: 1f00471a47c591be 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 CompanyMentorNominate: type: object description: |- Nominate an existing platform user as a Company Mentor for the company. The nominated user is identified by their ``muid`` (e.g. john-doe@mulearn) and 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 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 CompanyTaskCreate: type: object description: |- Serializer for company task creation. Similar to mentor task creation but IG is optional and no IG validation. Locked fields (active, approval_status, requested_by, requested_at) are 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 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 * `pending` - Pending * `rejected` - Rejected x-spec-enum-id: e9436f319d54eebe 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 CompanyTaskListResponse: type: object properties: data: type: array items: type: object additionalProperties: {} pagination: type: object additionalProperties: {} required: - data - pagination 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 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 ContributorAddResponse: type: object properties: message: type: string required: - message ContributorList: type: object description: |- Output shape for GET /comics/{comicId}/contributors/. Flattens 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 ContributorRemoveResponse: type: object properties: message: type: string required: - message ContributorUpdateResponse: type: object properties: message: type: string required: - message ContributorWrite: type: object description: |- Input for POST /comics/{comicId}/contributors/. Resolves `muid` → User object during validation so create() receives a ready-to-use User instance. properties: muid: type: string role: enum: - writer - artist - colorist - editor type: string description: |- * `writer` - Writer * `artist` - Artist * `colorist` - Colorist * `editor` - Editor x-spec-enum-id: f103fc282a981e61 required: - muid - role Country: type: object properties: id: type: string maxLength: 36 name: type: string maxLength: 75 required: - name CouponApplyResponse: type: object properties: discount_type: type: string discount_value: type: integer ticket: type: array items: type: string required: - discount_type - discount_value - ticket CredentialInfo: type: object properties: name: type: string description: type: string required: - description - name Department: type: object properties: id: type: string maxLength: 36 title: type: string maxLength: 100 required: - title DiscordPendingTasksResponse: type: object properties: peer_pending: type: integer appraise_pending: type: integer required: - appraise_pending - peer_pending District: type: object properties: name: type: string maxLength: 75 zone: allOf: - $ref: '#/components/schemas/Zone' readOnly: true required: - name - zone 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 * `monthly` - monthly * `yearly` - yearly x-spec-enum-id: a1444fc7968e746a 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 DynamicTypeDropDownResponse: type: object properties: types: type: array items: type: string required: - types 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 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 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 * `pending_campus_approval` - Pending Campus Approval * `pending_approval` - Pending Approval * `pending_mentor_approval` - Pending Mentor Approval * `published` - Published * `ongoing` - Ongoing * `completed` - Completed * `cancelled` - Cancelled * `rejected` - Rejected x-spec-enum-id: 5369d79da504087c 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 * `online` - Online * `hybrid` - Hybrid x-spec-enum-id: 3a5e8fc6a728bf38 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 EventCategoryItem: type: object properties: id: type: string name: type: string description: type: string nullable: true required: - description - id - name 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 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 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 * `co_owner` - Co-owner * `collab_ig` - Collaborating IG * `collab_campus` - Collaborating Campus * `collab_campus_ig` - Collaborating Campus IG * `collab_company` - Collaborating Company x-spec-enum-id: 2799704cb5801b2d 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 * `accepted` - Accepted * `rejected` - Rejected x-spec-enum-id: 4874309ac8d0a714 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 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 * `pending_campus_approval` - Pending Campus Approval * `pending_approval` - Pending Approval * `pending_mentor_approval` - Pending Mentor Approval * `published` - Published * `ongoing` - Ongoing * `completed` - Completed * `cancelled` - Cancelled * `rejected` - Rejected x-spec-enum-id: 5369d79da504087c scope: enum: - global - campus - ig - campus_ig - company type: string description: |- * `global` - Global * `campus` - Campus * `ig` - Interest Group * `campus_ig` - Campus IG * `company` - Company x-spec-enum-id: 76e3ce91196df376 event_scope: enum: - maker - coder - manager - creative type: string description: |- * `maker` - Maker * `coder` - Coder * `manager` - Manager * `creative` - Creative x-spec-enum-id: 5c207dceb722502f 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 * `workshop` - Workshop * `webinar` - Webinar * `seminar` - Seminar * `bootcamp` - Bootcamp * `meetup` - Meetup * `conference` - Conference * `competition` - Competition * `ideathon` - Ideathon * `cultural_event` - Cultural Event * `sports_event` - Sports Event * `community_event` - Community Event * `expo` - Expo * `networking_event` - Networking Event * `tech_talk` - Tech Talk * `others` - Others x-spec-enum-id: 15edd4bbad4cc1b1 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: 9223372036854775807 minimum: -9223372036854775808 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 EventInterestCreateResponse: type: object properties: event_id: type: string user_id: type: string status: type: string required: - event_id - status - user_id 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 * `pending_campus_approval` - Pending Campus Approval * `pending_approval` - Pending Approval * `pending_mentor_approval` - Pending Mentor Approval * `published` - Published * `ongoing` - Ongoing * `completed` - Completed * `cancelled` - Cancelled * `rejected` - Rejected x-spec-enum-id: 5369d79da504087c scope: enum: - global - campus - ig - campus_ig - company type: string description: |- * `global` - Global * `campus` - Campus * `ig` - Interest Group * `campus_ig` - Campus IG * `company` - Company x-spec-enum-id: 76e3ce91196df376 event_scope: enum: - maker - coder - manager - creative type: string description: |- * `maker` - Maker * `coder` - Coder * `manager` - Manager * `creative` - Creative x-spec-enum-id: 5c207dceb722502f 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 * `workshop` - Workshop * `webinar` - Webinar * `seminar` - Seminar * `bootcamp` - Bootcamp * `meetup` - Meetup * `conference` - Conference * `competition` - Competition * `ideathon` - Ideathon * `cultural_event` - Cultural Event * `sports_event` - Sports Event * `community_event` - Community Event * `expo` - Expo * `networking_event` - Networking Event * `tech_talk` - Tech Talk * `others` - Others x-spec-enum-id: 15edd4bbad4cc1b1 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: 9223372036854775807 minimum: -9223372036854775808 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 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 EventPublishResponse: type: object properties: id: type: string status: type: string required: - id - status 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 * `pending` - Pending * `rejected` - Rejected x-spec-enum-id: e9436f319d54eebe 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 EventTaskDeleteResponse: type: object properties: message: type: string required: - message 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 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 EventTypesScopesResponse: type: object properties: event_type: type: array items: type: string event_scope: type: array items: type: string required: - event_scope - event_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 EventWrite: type: object description: Input serializer for POST /manage/ and PUT/PATCH /manage//. 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: 9223372036854775807 minimum: -9223372036854775808 format: int64 nullable: true venue_type: enum: - physical - online - hybrid type: string description: |- * `physical` - Physical * `online` - Online * `hybrid` - Hybrid x-spec-enum-id: 3a5e8fc6a728bf38 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 * `campus` - Campus * `ig` - Interest Group * `campus_ig` - Campus IG * `company` - Company x-spec-enum-id: 76e3ce91196df376 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 * `campus_ig` - Campus IG * `campus` - Campus * `company` - Company * `admin` - Admin x-spec-enum-id: 1f717c4d9d7fa8e6 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 * `coder` - Coder * `manager` - Manager * `creative` - Creative x-spec-enum-id: 5c207dceb722502f 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 * `workshop` - Workshop * `webinar` - Webinar * `seminar` - Seminar * `bootcamp` - Bootcamp * `meetup` - Meetup * `conference` - Conference * `competition` - Competition * `ideathon` - Ideathon * `cultural_event` - Cultural Event * `sports_event` - Sports Event * `community_event` - Community Event * `expo` - Expo * `networking_event` - Networking Event * `tech_talk` - Tech Talk * `others` - Others x-spec-enum-id: 15edd4bbad4cc1b1 required: - end_datetime - start_datetime - title ExternalUserDetails: type: object description: |- Serializer for external API to fetch basic public user details. This serializer is specifically designed for external website integration, returning only non-sensitive public information about users. Excludes: 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 ForgotPassword: type: object properties: email: type: string format: email user_type: enum: - company - recruiter type: string description: |- * `company` - Company * `recruiter` - Recruiter x-spec-enum-id: df59bea2861b6389 required: - email - user_type GenreDeactivateResponse: type: object properties: id: type: string is_active: type: boolean required: - id - is_active GenreMinimalObj: type: object properties: id: type: string name: type: string slug: type: string required: - id - name - slug 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 GenreReinstateResponse: type: object properties: id: type: string is_active: type: boolean required: - id - is_active GenreWrite: type: object description: |- Input serializer for POST /comics/genres/ and PATCH /comics/genres//. Caller only sends `name`; slug and audit fields are set internally. properties: name: type: string maxLength: 75 required: - name 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 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 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 HomeLearnerQuickActionCounts: type: object properties: circles: type: integer leaderboard_rank: type: integer job_openings: type: integer required: - circles - job_openings - leaderboard_rank 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 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 InstitutesRetrival: type: object properties: id: type: string maxLength: 36 title: type: string maxLength: 100 district: type: string required: - district - title 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 Integration: type: object properties: param: type: string title: type: string required: - param - title 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 * `coder` - coder * `creative` - creative * `manager` - manager * `others` - others x-spec-enum-id: 61a28b192287f1ef status: enum: - active - requested - cancelled - rejected type: string description: |- * `active` - active * `requested` - requested * `cancelled` - cancelled * `rejected` - rejected x-spec-enum-id: 2935644142754e9a 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 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 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 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 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 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 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 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 KkemAuthorizationPatchResponse: type: object properties: accessToken: type: string refreshToken: type: string 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 KkemIntegrationLoginResponse: type: object properties: accessToken: type: string refreshToken: type: string data: allOf: - $ref: '#/components/schemas/KkemIntegrationLoginDataResponse' nullable: true required: - accessToken - refreshToken LaunchPadID: type: object properties: launchpad_id: type: string maxLength: 100 required: - launchpad_id LaunchpadAcceptedStudentsResponse: type: object properties: data: type: array items: type: object additionalProperties: {} pagination: type: object additionalProperties: {} required: - data - pagination 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 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 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 LaunchpadCompanyPublic: type: object properties: name: type: string maxLength: 100 website: type: string format: uri nullable: true maxLength: 200 required: - name 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 LaunchpadHireRequestsResponse: type: object properties: data: type: array items: type: object additionalProperties: {} pagination: type: object additionalProperties: {} required: - data - pagination LaunchpadIGLeaderboardResponse: type: object properties: data: type: array items: type: object additionalProperties: {} pagination: type: object additionalProperties: {} required: - data - pagination 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 * `Task` - Task x-spec-enum-id: 4c885f269d4b7296 task_description: type: string hashtags: type: string 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 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 LaunchpadListJobsResponse: type: object properties: jobs: type: array items: type: object additionalProperties: {} summary: type: object additionalProperties: {} required: - jobs - summary 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 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 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 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 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 LaunchpadRefreshTokenResponse: type: object properties: accessToken: type: string refreshToken: type: string required: - accessToken - refreshToken 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 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 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 LaunchpadStudentInvitationsResponse: type: object properties: data: type: array items: type: object additionalProperties: {} pagination: type: object additionalProperties: {} required: - data - pagination 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 * `IEEEDC` - IEEEDC x-spec-enum-id: 5b62ff0e8647fe73 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 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 * `IEEEDC` - IEEEDC x-spec-enum-id: 5b62ff0e8647fe73 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 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 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 Leaderboard: type: object properties: name: type: string maxLength: 100 count: type: integer muid: type: string maxLength: 100 required: - count - muid - name 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 LeaderboardCollegeMonthlyItem: type: object properties: id: type: string code: type: string total_karma: type: integer students: type: integer required: - code - id - students - total_karma 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 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 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 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 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 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 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 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 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 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 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 Location: type: object properties: id: type: string maxLength: 36 location: type: string readOnly: true required: - location LocationCountryListResponse: type: object properties: id: type: string name: type: string required: - id - name LocationStateListResponse: type: object properties: id: type: string name: type: string required: - id - name LocationZoneListResponse: type: object properties: id: type: string name: type: string required: - id - name 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 MentorAddParticipant: type: object properties: muid: type: string required: - muid 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 * `MENTOR` - Mentor * `COMPANY_MENTOR` - Company Mentor * `CAMPUS_MENTOR` - Campus Mentor x-spec-enum-id: 502a7e5c2300b154 status: enum: - PENDING - APPROVED - REJECTED type: string description: |- * `PENDING` - Pending * `APPROVED` - Approved * `REJECTED` - Rejected x-spec-enum-id: 1f00471a47c591be 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 MentorIGDropdownResponse: type: object properties: id: type: string name: type: string required: - id - name 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 * `MENTOR` - Mentor * `COMPANY_MENTOR` - Company Mentor * `CAMPUS_MENTOR` - Campus Mentor x-spec-enum-id: 502a7e5c2300b154 status: enum: - PENDING - APPROVED - REJECTED type: string description: |- * `PENDING` - Pending * `APPROVED` - Approved * `REJECTED` - Rejected x-spec-enum-id: 1f00471a47c591be 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 MentorOverviewData: type: object properties: scopes: type: array items: $ref: '#/components/schemas/MentorScopeMetrics' required: - scopes 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 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 * `IG_MENTOR` - IG Mentor * `CAMPUS_MENTOR` - Campus Mentor * `MENTOR` - Mentor x-spec-enum-id: 332dbd6321b20f1c 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 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 MentorTaskCreate: type: object description: |- Mirrors admin TaskModifySerializer field-for-field. Locked fields (active, approval_status, requested_by, requested_at) are 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 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 * `pending` - Pending * `rejected` - Rejected x-spec-enum-id: e9436f319d54eebe 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 MentorTaskListResponse: type: object properties: data: type: array items: type: object additionalProperties: {} pagination: type: object additionalProperties: {} required: - data - pagination MentorTaskUpdate: type: object description: |- Partial update serializer — same writable fields as create. The 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 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 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 * `OFFLINE` - Offline * `HYBRID` - Hybrid x-spec-enum-id: af88be50a5259b14 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 * `SCHEDULED` - Scheduled * `PENDING_APPROVAL` - Pending Approval * `COMPLETED` - Completed * `CANCELLED` - Cancelled * `REJECTED` - Rejected x-spec-enum-id: 64931a7c8f0e87bb 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 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 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 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 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 * `co_owner` - Co-owner * `collab_ig` - Collaborating IG * `collab_campus` - Collaborating Campus * `collab_campus_ig` - Collaborating Campus IG * `collab_company` - Collaborating Company x-spec-enum-id: 2799704cb5801b2d 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 * `accepted` - Accepted * `rejected` - Rejected x-spec-enum-id: 4874309ac8d0a714 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 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 NotificationListResponse: type: object properties: direct: type: array items: $ref: '#/components/schemas/Notification' broadcasts: type: array items: $ref: '#/components/schemas/BroadcastNotification' required: - broadcasts - direct 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 * `monthly` - monthly * `yearly` - yearly x-spec-enum-id: a1444fc7968e746a default: one-time is_organisation: type: boolean default: false required: - amount - email - name Org: type: object properties: id: type: string maxLength: 36 title: type: string maxLength: 100 required: - title 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 OrganizationKarmaLogGetPostPatchDelete: type: object properties: org: type: string karma: type: integer maximum: 2147483647 minimum: -2147483648 type: type: string required: - karma - org - type 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 OrganizationVerify: type: object properties: verified: type: boolean org_id: type: string required: - org_id - verified 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 PageDeleteResponse: type: object properties: id: type: string required: - id PageOrderItem: type: object properties: id: type: string page_number: type: integer required: - id - page_number PageReorderRequest: type: object properties: page_orders: type: array items: $ref: '#/components/schemas/PageOrderItem' required: - page_orders PageReorderResponse: type: object properties: success: type: boolean required: - success 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 * `MENTEE` - Mentee * `CO_MENTOR` - Co-Mentor x-spec-enum-id: 5532fb01fb167890 attendance_status: enum: - INVITED - ATTENDED - ABSENT type: string description: |- * `INVITED` - Invited * `ATTENDED` - Attended * `ABSENT` - Absent x-spec-enum-id: 9b151332b9f464f1 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 ParticipantUpdate: type: object properties: attendance_status: enum: - INVITED - ATTENDED - ABSENT type: string description: |- * `INVITED` - Invited * `ATTENDED` - Attended * `ABSENT` - Absent x-spec-enum-id: 9b151332b9f464f1 progress_note: type: string nullable: true maxLength: 500 contributed_minutes: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true PatchedAdminSessionVerify: type: object properties: status: enum: - SCHEDULED - REJECTED - CANCELLED type: string description: |- * `SCHEDULED` - SCHEDULED * `REJECTED` - REJECTED * `CANCELLED` - CANCELLED x-spec-enum-id: 5bb964df4ed9f171 apply_to_series: type: boolean default: false 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 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 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 PatchedChapterWrite: type: object description: |- Input serializer for POST /chapters/ and PATCH /chapters//. Caller 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 PatchedCollegeChange: type: object properties: org_id: type: string maxLength: 36 department_id: type: string nullable: true maxLength: 36 PatchedComicWrite: type: object description: |- Input serializer for POST /comics/ and PATCH /comics//. The 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 PatchedCompanyTaskPatch: type: object description: |- Validates the payload when a company updates an existing task. All 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. 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 PatchedCompanyVerify: type: object properties: status: enum: - verified - rejected type: string description: |- * `verified` - verified * `rejected` - rejected x-spec-enum-id: 3001a7a51be9bcf9 rejection_reason: type: string PatchedContributorRoleUpdate: type: object description: Input for PATCH /comics/{comicId}/contributors/{contributorId}/. properties: role: enum: - writer - artist - colorist - editor type: string description: |- * `writer` - Writer * `artist` - Artist * `colorist` - Colorist * `editor` - Editor x-spec-enum-id: f103fc282a981e61 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 PatchedGenreWrite: type: object description: |- Input serializer for POST /comics/genres/ and PATCH /comics/genres//. Caller only sends `name`; slug and audit fields are set internally. properties: name: type: string maxLength: 75 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' PatchedMentorStudentRequestVerify: type: object description: |- Allows a mentor to approve or reject a student's session request. On APPROVE: - Optional overrides (starts_at, ends_at, mode, meeting_link, venue) are applied so the mentor can adjust the proposed time / logistics. - The session transitions from REQUESTED → PENDING_APPROVAL. - created_by is updated to the approving mentor so the session appears in their dashboard and they can edit/cancel it using existing APIs. - requested_by is left untouched — permanent audit trail. On REJECT: - The session transitions from REQUESTED → REJECTED. - requested_by remains set; the student can view their rejected requests. properties: status: enum: - APPROVED - REJECTED type: string description: |- * `APPROVED` - APPROVED * `REJECTED` - REJECTED x-spec-enum-id: 00a806fd4640c2d2 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 * `OFFLINE` - Offline * `HYBRID` - Hybrid x-spec-enum-id: af88be50a5259b14 nullable: true meeting_link: type: string nullable: true venue: type: string nullable: true 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 PatchedMentorVerify: type: object properties: status: enum: - APPROVED - REJECTED type: string description: |- * `APPROVED` - APPROVED * `REJECTED` - REJECTED x-spec-enum-id: 00a806fd4640c2d2 verification_note: type: string PatchedParticipantFeedback: type: object properties: feedback: type: string nullable: true PatchedParticipantUpdate: type: object properties: attendance_status: enum: - INVITED - ATTENDED - ABSENT type: string description: |- * `INVITED` - Invited * `ATTENDED` - Attended * `ABSENT` - Absent x-spec-enum-id: 9b151332b9f464f1 progress_note: type: string nullable: true maxLength: 500 contributed_minutes: type: integer maximum: 2147483647 minimum: -2147483648 nullable: true PatchedSessionUpdate: type: object properties: title: type: string maxLength: 150 description: type: string nullable: true mode: enum: - ONLINE - OFFLINE - HYBRID type: string description: |- * `ONLINE` - Online * `OFFLINE` - Offline * `HYBRID` - Hybrid x-spec-enum-id: af88be50a5259b14 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 PatchedUserApplicationResubmit: type: object properties: resume_link: type: string nullable: true cover_letter: type: string nullable: true ProfileBadgesResponse: type: object properties: full_name: type: string completed_tasks: type: array items: type: string required: - completed_tasks - full_name ProfileKarmaFeedResponse: type: object properties: top_user: $ref: '#/components/schemas/ProfileKarmaFeedTopUser' top_college: $ref: '#/components/schemas/ProfileKarmaFeedTopCollege' required: - top_college - top_user ProfileKarmaFeedTopCollege: type: object properties: karma: type: integer name: type: string nullable: true required: - karma - name ProfileKarmaFeedTopUser: type: object properties: karma: type: integer full_name: type: string nullable: true muid: type: string nullable: true required: - full_name - karma - muid ProfileUserPreferencesOrg: type: object properties: id: type: string nullable: true name: type: string nullable: true required: - id - name 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 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 * `published` - Published * `archived` - Archived x-spec-enum-id: 3999cf41a064d13a 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 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 ProjectSkill: type: object properties: id: type: string name: type: string code: type: string icon: type: string required: - code - icon - id - name ProjectUpdate: type: object description: |- Accepts create / partial-update payload. Logo + images come as files; links + skills come as JSON-encoded strings (because the request is multipart/form-data). properties: title: type: string maxLength: 50 description: type: string status: enum: - draft - published - archived type: string description: |- * `draft` - Draft * `published` - Published * `archived` - Archived x-spec-enum-id: 3999cf41a064d13a logo: type: string format: uri nullable: true links_json: type: string writeOnly: true skill_ids_json: type: string writeOnly: true 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 QseverseConnectedUserDidsResponse: type: object properties: dids: type: array items: type: string required: - dids QseverseConnectedUserItem: type: object properties: did: type: string name: type: string nullable: true email: type: string format: email nullable: true required: - did 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 Referral: type: object properties: muid: type: string user: type: string invite_code: type: string is_coin: type: boolean 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 Register: type: object properties: user: $ref: '#/components/schemas/User' integration: $ref: '#/components/schemas/Integration' referral: $ref: '#/components/schemas/Referral' required: - user RegisterCollegeItem: type: object properties: id: type: string title: type: string required: - id - title RegisterCollegesResponse: type: object properties: colleges: type: array items: $ref: '#/components/schemas/RegisterCollegeItem' required: - colleges 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 RegisterImagesRequest: type: object properties: image_keys: type: array items: type: string required: - image_keys 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 * `recruiter` - Recruiter x-spec-enum-id: df59bea2861b6389 required: - confirm_password - new_password - token - user_type Role: type: object properties: id: type: string maxLength: 36 title: type: string maxLength: 75 required: - id - title RoleDropDown: type: object properties: id: type: string maxLength: 36 title: type: string maxLength: 75 required: - id - title 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 * `campus_session` - Campus Session * `company_session` - Company Session x-spec-enum-id: ab9317e33b7b40a3 title: type: string maxLength: 150 description: type: string nullable: true mode: enum: - ONLINE - OFFLINE - HYBRID type: string description: |- * `ONLINE` - Online * `OFFLINE` - Offline * `HYBRID` - Hybrid x-spec-enum-id: af88be50a5259b14 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 * `WEEKLY` - Weekly * `MONTHLY` - Monthly x-spec-enum-id: 91602d667f73d24e 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 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 * `campus_session` - Campus Session * `company_session` - Company Session x-spec-enum-id: ab9317e33b7b40a3 title: type: string maxLength: 150 description: type: string nullable: true mode: enum: - ONLINE - OFFLINE - HYBRID type: string description: |- * `ONLINE` - Online * `OFFLINE` - Offline * `HYBRID` - Hybrid x-spec-enum-id: af88be50a5259b14 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 * `SCHEDULED` - Scheduled * `PENDING_APPROVAL` - Pending Approval * `COMPLETED` - Completed * `CANCELLED` - Cancelled * `REJECTED` - Rejected x-spec-enum-id: 64931a7c8f0e87bb 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 * `WEEKLY` - Weekly * `MONTHLY` - Monthly x-spec-enum-id: 91602d667f73d24e 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 SessionUpdate: type: object properties: title: type: string maxLength: 150 description: type: string nullable: true mode: enum: - ONLINE - OFFLINE - HYBRID type: string description: |- * `ONLINE` - Online * `OFFLINE` - Offline * `HYBRID` - Hybrid x-spec-enum-id: af88be50a5259b14 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 ShareUserProfileUpdate: type: object properties: is_public: type: boolean updated_by: type: string updated_at: type: string 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 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 State: type: object properties: name: type: string maxLength: 75 country: type: string readOnly: true required: - country - name 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 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 StudentSessionRequest: type: object description: |- Used by students to create a session request. All sessions are Interest-Group scoped, so only ``ig_session`` requests are accepted; company/campus session types are rejected. Validates: - The session_type is ig_session and the student is a member of the target Interest Group (entity_id). - Time constraints (starts_at < ends_at, starts_at in future). - Mode / venue / meeting-link consistency (same rules as SessionCreateSerializer). - 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 * `campus_session` - Campus Session * `company_session` - Company Session x-spec-enum-id: ab9317e33b7b40a3 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 * `OFFLINE` - Offline * `HYBRID` - Hybrid x-spec-enum-id: af88be50a5259b14 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 StudentSessionRequestList: type: object description: |- Read-only serializer used by mentors to see incoming student session requests. Includes 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 * `campus_session` - Campus Session * `company_session` - Company Session x-spec-enum-id: ab9317e33b7b40a3 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 * `OFFLINE` - Offline * `HYBRID` - Hybrid x-spec-enum-id: af88be50a5259b14 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 * `SCHEDULED` - Scheduled * `PENDING_APPROVAL` - Pending Approval * `COMPLETED` - Completed * `CANCELLED` - Cancelled * `REJECTED` - Rejected x-spec-enum-id: 64931a7c8f0e87bb 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 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 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 * `monthly` - monthly * `yearly` - yearly x-spec-enum-id: a1444fc7968e746a is_organisation: type: boolean default: false required: - amount - donation_type - email - name 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 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 TaskPublicListResponse: type: object properties: data: type: array items: type: object additionalProperties: {} pagination: type: object additionalProperties: {} required: - data - pagination 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 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 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 UploadURLResponse: type: object properties: upload_url: type: string image_key: type: string required: - image_key - upload_url 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 * `Female` - Female * `Other` - Other * `Prefer not to say` - Prefer not to say x-spec-enum-id: a804cfc7585be0eb 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 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 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 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 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 UserCountry: type: object properties: country_name: type: string required: - country_name 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 UserIgEdit: type: object properties: interest_group: type: array items: {} writeOnly: true required: - interest_group UserIgList: type: object properties: id: type: string maxLength: 36 name: type: string maxLength: 75 required: - name 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 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 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 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 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 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 * `Female` - Female * `Other` - Other * `Prefer not to say` - Prefer not to say x-spec-enum-id: a804cfc7585be0eb 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 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 * `Female` - Female * `Other` - Other * `Prefer not to say` - Prefer not to say x-spec-enum-id: a804cfc7585be0eb nullable: true dob: type: string format: date nullable: true district_id: type: string writeOnly: true nullable: true required: - communities - email - full_name 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 UserResetPasswordVerifyTokenResponse: type: object properties: muid: type: string required: - muid UserShareQrcode: type: object properties: profile_pic: type: string readOnly: true required: - profile_pic UserState: type: object properties: state_name: type: string required: - state_name UserTerm: type: object properties: is_userterms_approved: type: boolean user: type: string required: - user UserZone: type: object properties: zone_name: type: string required: - zone_name Vote: type: object properties: id: type: string maxLength: 36 vote: enum: - upvote - downvote type: string description: |- * `upvote` - Upvote * `downvote` - Downvote x-spec-enum-id: f2c471414c4c8578 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 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 WadhwaniCollegeLeaderboard: type: object properties: code: type: string title: type: string total_karma: type: integer students: type: integer required: - code - students - title - total_karma WadhwaniCourseDetailsResponse: type: object properties: status: type: string courses: type: array items: $ref: '#/components/schemas/WadhwaniCourseItem' required: - status WadhwaniCourseEnrollStatusResponse: type: object properties: status: type: string enrolledCourses: type: array items: $ref: '#/components/schemas/WadhwaniEnrolledCourseItem' required: - status WadhwaniCourseItem: type: object properties: courseRootId: type: string name: type: string description: type: string thumbnailUrl: type: string nullable: true required: - courseRootId - name WadhwaniCourseQuizDataResponse: type: object properties: status: type: string quizData: type: array items: $ref: '#/components/schemas/WadhwaniQuizItem' 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 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 WadhwaniUserLoginResponse: type: object properties: status: type: string accessToken: type: string expiresIn: type: integer userCreated: type: boolean courseEnrolled: type: boolean redirectionUrl: type: string required: - status WadhwaniZoneLeaderboard: type: object properties: zone_name: type: string total_karma: type: integer students: type: integer required: - students - total_karma - zone_name WeeklyKarma: type: object properties: college_name: type: string readOnly: true required: - college_name Zone: type: object properties: name: type: string maxLength: 75 state: allOf: - $ref: '#/components/schemas/State' readOnly: true required: - name - state securitySchemes: basicAuth: type: http scheme: basic cookieAuth: type: apiKey in: cookie name: sessionid jwtAuth: type: apiKey in: header name: Authorization description: JWT Token Authentication. Enter **"Bearer "**