Skip to main content

Documentation Index

Fetch the complete documentation index at: https://developer.mogl.online/llms.txt

Use this file to discover all available pages before exploring further.

The MOGL Platform Core API is the primary interface for building on top of MOGL. It powers everything athletes, brand partners, and agents do on the platform: registering accounts, posting and applying to NIL deals, processing Stripe payments, exchanging messages, and managing deliverables. All endpoints accept and return JSON.
Most endpoints require a Bearer JWT token. Obtain one by calling POST /api/login with valid credentials. See the authentication section below for details.

Base URL

https://api.mogl.online/api
All paths in this reference are appended to this base URL. For example, POST /login resolves to https://api.mogl.online/api/login.

Authentication

All user-facing endpoints require a JWT Bearer token. Pass the token in the Authorization header as Bearer <token>. Obtain it from POST /login.

Obtaining a token

curl -X POST https://api.mogl.online/api/login \
  -H "Content-Type: application/json" \
  -d '{"email": "you@example.com", "password": "your-password"}'
The response includes a token field. Include it in all subsequent requests:
Authorization: Bearer <token>

Rate limits

The API applies rate limiting to prevent abuse. If you exceed the limit for an endpoint you will receive a 429 Too Many Requests response. Use exponential backoff before retrying.

Endpoint groups

Authentication

Login, logout, password reset, and the authenticated user endpoint.
MethodPathDescription
POST/loginLog in and receive a JWT Bearer token
POST/logoutInvalidate the current session token
POST/meReturn the authenticated user’s record
POST/forget-passwordRequest a password reset email
POST/forget-password-confirmConfirm a password reset with the token

User registration

MOGL supports four account types, each with its own multi-step onboarding flow.
MethodPathDescription
POST/athlete/registerCreate a new athlete account
POST/athlete/update-registration-step2Set email and password
POST/athlete/update-registration-step4Set sport and university
POST/athlete/update-registration-step5Set personal information
POST/athlete/update-registration-step8Complete OTP verification
Use POST /check-email-exist before starting registration to validate that the email address is not already taken.

Athletes

Endpoints athletes use to manage their profile, search for partners, track deliverables, and interact with deal opportunities.
MethodPathDescription
POST/searchAthleteV2Search and filter the athlete directory
POST/getAthleteDetailRetrieve full athlete profile data
POST/editAthleteWebsiteUpdate the athlete’s profile
POST/athleteDeliverablesV3List outstanding deliverables for a deal
POST/athleteOverDueDeliverablesList overdue deliverables
GET/athlete/jobs/{jobId}/download-contractDownload a job contract PDF
POST/athlete/confirm-the-availabilityConfirm availability for a hired job
POST/athlete/not-available-for-dealDecline a hired job
POST/athlete/request-new-due-date-for-dealRequest a deadline extension on a deliverable

Partners

Endpoints brand partners use to post jobs, review applicants, manage deliverables, and pay athletes.
MethodPathDescription
POST/partnerJobsList all jobs posted by the partner
POST/partnerGetJobApplicantsList applicants for a given job
POST/editPartnerWebsiteUpdate the partner’s brand profile
POST/partner/bulk-hiringHire multiple athletes for a job at once
POST/partner/get-bulk-payment-summaryPreview the total cost before bulk payment
POST/partner/deny-athlete-deliverable/{milestonesAthleteRel}Reject a submitted deliverable
POST/partner/request-manual-reviewEscalate a job or deal for manual platform review

Content library

Partners can access a library of all approved deliverable assets submitted against their campaigns.
MethodPathDescription
GET/partner/content/content-library/overviewSummary stats for the content library
POST/partner/content/content-libraryPaginated list of assets
POST/partner/content/assets/{id}/downloadRequest a single asset download

Deliverable reports

MethodPathDescription
POST/partner/deliverableReportFull deliverable report with filters
POST/partner/deliverableReportExportExport report to CSV

Agents

Agents manage a roster of athletes, apply to jobs on their behalf, and handle billing through Stripe.
MethodPathDescription
GET/agent/meReturn the authenticated agent’s profile
PUT/agentUpdate the agent’s profile
POST/agent/accept-contractAccept the MOGL platform terms and contract
GET/agent/athletesList athletes currently represented
POST/agent/invite-athleteSend an invitation to an athlete
POST/agent/apply-athletes-to-jobApply one or more represented athletes to a job
GET/agent/athlete-contractsList all athlete contracts
GET/agent/athlete/{athleteId}/job/{jobId}/download-contractDownload a contract PDF

Agent payment methods

MethodPathDescription
GET/agent/stripe/payment-methodsList saved payment methods
POST/agent/stripe/payment-methodsAdd a new payment method
POST/agent/stripe/payment-methods/{paymentMethodId}/set-as-defaultSet the default payment method
GET/agent/stripe/invoicesRetrieve billing invoices

Jobs and deals

The Jobs group covers the full lifecycle of a NIL deal: creation, discovery, applications, hiring, deliverables, and contract management.
Use POST /add-job to create a job, then POST /inviteAthleteJobBulk to invite athletes at scale. The POST /athleteHire endpoint moves an applicant into hired status and triggers contract generation.
MethodPathDescription
POST/add-jobCreate or edit a job
POST/searchJobV2Search and filter available jobs
POST/getSelectedJobRetrieve details for a specific job
POST/applyJobApply to a job as an athlete
POST/inviteAthleteJobBulkBulk invite athletes to a job
POST/athleteHireHire an athlete for a job
POST/rejectAthletefromJobReject an applicant
POST/jobStatusChangeUpdate the status of a deliverable
POST/submitMediaPostSubmit a media post as a deliverable
GET/jobs/{jobId}/download-contractDownload the job contract PDF
POST/add-disclosed-jobCreate or edit a disclosed NIL job
For the Deals group, use POST /myDealsV2 to list all active deals for the authenticated user and POST /myDealsCount to retrieve status counts in a single call.

Payments

MOGL uses Stripe for all payment processing. Athletes receive payouts through Stripe Express Connect accounts.
MethodPathDescription
POST/submitStripePaymentsavedPay an athlete using the partner’s default saved card
POST/bulkPaymentRequestSubmit a bulk payment for multiple athletes
POST/create_connectCreate a Stripe Connect account for an athlete
POST/ConnectExpressAccountCreate a Stripe Express Connect account
GET/StripeAccountRetrieveCheck the status of a Connect account
POST/paymentHistoryAthleteRetrieve an athlete’s payment history
POST/paymentHistoryPartnerRetrieve a partner’s payment history
POST/updatePaymentUpdate payout preference for athlete or agent

Chat and messaging

MethodPathDescription
POST/sendMessageSend a direct message
POST/sendMessageMassSend a message to multiple recipients
POST/fetchMessagesList chat contacts and conversations
POST/fetchMessagesByIdLoad messages for a specific conversation
POST/chatMessageInitiateStart a new conversation
POST/pinUnpinMessagePin or unpin a message

Notifications

MethodPathDescription
POST/fetchNotificationsFetch in-app notifications for the current user
POST/updateReadNotificationMark a notification as read
POST/updateReadNotificationAllMark all notifications as read
GET/getMyNotificationPreferenceRetrieve notification preferences
POST/saveMyNotificationPreferenceSave notification preferences
POST/updateAllSMSNotificationStatusToggle all SMS notifications on or off

Public endpoints

These endpoints do not require authentication and are used for public discovery, SEO, and guest browsing.
MethodPathDescription
POST/searchAthletePublicSearch athletes without logging in
POST/athlete-directoryBrowse the public athlete directory
POST/brand-directoryBrowse the public brand directory
GET/site_configRetrieve site configuration data
POST/listCollegesList all colleges and universities

Example: fetching your agent profile

curl -X GET https://api.mogl.online/api/agent/me \
  -H "Authorization: Bearer <your-token>" \
  -H "Accept: application/json"
A successful response returns the agent profile object including agency name, contact details, Stripe account status, and represented athlete count.