Skip to main content

Coach Profile

This guide explains how to interact with the coach profile API endpoints in the Mentor Calwe application.

Get Coach Profile

Endpoint

  • Method: GET
  • URL: /v1/coach/profile

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Success Response

{
"success": true,
"message": "تم جلب بيانات المدرب بنجاح",
"data": {
"id": "uuid",
"status": "قيد المراجعة",
"gender": "MALE",
"birthDate": "1993-12-31",
"nationalityId": "uuid",
"countryId": "uuid",
"residencePlace": "city",
"avatar": "avatar_url",
"isPhoneVerified": true,
"isEmailVerified": true,
"about": "About text",
"university": "University name",
"coachLevelId": "uuid",
"personalInformation": {
"firstName": "Ahmed",
"middleName": "Mohammed",
"lastName": "Ali",
"email": "example@gmail.com",
"phone": "966000000000",
},
"professionalInformation": {
"about": "نبذة عنيي",
"cvFiles": [
"id": 767,
"path": "file_url"
],
"certificateFiles": [
{
"id": 767,
"path": "file_url"
},
]
},
"consultantInformation": {
"categories": [
{
"id": "uuid",
"name": "استشارة طبية"
}
],
"coachLevel": {
"id": "uuid",
"name": "string"
}
},
"paymentInformation": {
"id": "uuid",
"paymentType": "STC",
"accountIdentifier": "966553182153"
}
},
"statusCode": 200
}

Error Response

Unauthorized (401)

{
"success": false,
"message": "غير مصرح",
"data": null,
"statusCode": 401
}

Update Personal Information

Endpoint

  • Method: PATCH
  • URL: /v1/coach/profile/personal-information

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Request Body

ParameterTypeDescriptionRequiredValidation Rules
first_namestringMentor's first nameNorequired, string, max:255
middle_namestringMentor's middle nameNorequired, string, max:255
last_namestringMentor's last nameNorequired, string, max:255
emailstringMentor's emailNorequired, email, unique:mentors,email
phonestringMentor's phoneNorequired, phone:SA,unique:mentors,phone
genderstringMentor's genderNorequired, in:MALE,FEMALE
birth_datestringMentor's birth dateNorequired, date
nationality_idstringMentor's nationality IDNorequired, exists:nationalities,id
country_idstringMentor's country IDNorequired, exists:countries,id
residence_placestringMentor's residence placeNorequired, string, max:255
avatarfileMentor's avatar imageNoimage, max:2048
old_passwordstringMentor's old passwordNo
passwordstringMentor's new passwordNo
password_confirmationstringMentor's new password confirmationNo
is_busybooleanMentor's is busyNo
is_logged_in_beforebooleanMentor's is logged in beforeNo

Update Professional Information

Endpoint

  • Method: PATCH
  • URL: /v1/coach/profile/professional-information

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Request Body

ParameterTypeDescriptionRequiredValidation Rules
aboutstringMentor's about textNostring, max:1000
specializationstringMentor's specializationNostring, max:255
certificate_namestringMentor's certificate nameNostring, max:255
universitystringMentor's universityNostring, max:255
Mentor_level_idstringMentor's level IDNoexists:Mentor_levels,id
degree_idstringMentor's degree IDNoexists:degrees,id
qualified_idstringMentor's qualification IDNoexists:qualifications,id
languages_idsarrayMentor's language IDsNoarray, exists:languages,id
certificate_filesfileMentor's certificate filesNofile, max:10240
categories_idsarrayMentor's category IDsNorequired, array, exists:categories,id
cv_filesfileMentor's CV fileNofile, max:10240
deleted_certificate_filesarrayMentor's certificate files URLsNoarray, urls
deleted_cv_filesarrayMentor's cv files URLsNoarray, urls
years_of_experiencestringMentor's years of experienceNorequired, string
experiencesstringMentor's experiencesNorequired, string
interestsstringMentor's interestsNostring, max:1000
achievementsstringMentor's achievementsNostring, max:1000
community_participationstringMentor's community participationNostring, max:1000
experience_filefileMentor's experience fileNofile, max:10240
has_accreditationboolMentor's has accreditationNo
clear_avatarboolMentor's clear avatarNo

Update Payment Account Information

Endpoint

  • Method: PATCH
  • URL: /v1/coach/profile/payment-account-information

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Request Body

ParameterTypeDescriptionRequiredValidation Rules
payment_typenumberPayment method typeYesrequired, numeric
phonestringMentor's payment method phoneNo
emailstringMentor's payment method emailNo
avatarfileMentor's avatar imageNoimage, max:2048

Send Verification Code

Endpoint

  • Method: POST
  • URL: /v1/coach/profile/send-verification-code

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Request Body

ParameterTypeDescriptionRequiredValidation Rules
phonestringMentor's phoneYesrequired, phone:SA,unique:mentors,phone

Success Response

{
"success": true,
"message": "تم ارسال كود التفعيل بنجاح",
"data": {
"phone": "966553182155"
},
"statusCode": 200
}

Verify Phone

Endpoint

  • Method: POST
  • URL: /v1/coach/profile/verify-phone

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Request Body

ParameterTypeDescriptionRequiredValidation Rules
phone_verified_codestringVerification codeYesrequired, string, size:6

Success Response

{
"success": true,
"message": "تم التحقق من رقم جوالك بنجاح",
"data": {
"phone": "966553182155"
},
"statusCode": 200
}

Send Change Coach Level Order

Endpoint

  • Method: POST
  • URL: /v1/coach/profile/send-change-coach-level-order

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Request Body

ParameterTypeDescriptionRequiredValidation Rules
coach_level_idstringNew coach level IDYesrequired, exists:coach_levels,id

Error Responses

{
"success": false,
"message": "لا يمكن ارسال طلب تغيير فئة الى ان تتم معالجة طلبك السابق",
"data": [],
"statusCode": 403
}

Send Change Coach Category Order

Endpoint

  • Method: POST
  • URL: /v1/coach/profile/send-change-coach-category-order

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Request Body

ParameterTypeDescriptionRequiredValidation Rules
category_idstringNew category IDYesrequired, exists:categories,id

Error Responses

{
"success": false,
"message": "لا يمكن ارسال طلب تغيير تصنيف الى ان تتم معالجة طلبك السابق",
"data": [],
"statusCode": 403
}

Delete Category

Endpoint

  • Method: POST
  • URL: /v1/coach/profile/delete-category

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Request Body

ParameterTypeDescriptionRequiredValidation Rules
category_idstringCategory ID to deleteYesrequired, exists:categories,id

Error Responses

{
"success": false,
"message": "عذراً.. لايمكنك حذف التصنيف",
"errors": [
"عذراً.. لايمكنك حذف التصنيف"
],
"data": [],
"statusCode": 406
}

Clear Avatar

Endpoint

  • Method: PATCH
  • URL: /v1/coach/profile/clear-avatar

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Success Response

{
"success": true,
"message": "تم حذف الصورة الشخصية بنجاح",
"data": [],
"statusCode": 200
}

Check If Coach Logged In Before

Endpoint

  • Method: PATCH
  • URL: /v1/coach/is-logged-in-before

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Success Response

{
"success": true,
"message": "تم تحديث البيانات بنجاح.",
"data": [],
"statusCode": 200
}

Important Notes

Profile Management

  • Comprehensive profile information
  • Multi-step profile completion
  • File upload support
  • Profile verification status
  • Profile completion tracking
  • Profile visibility settings

Data Validation

  • Required field validation
  • File type validation
  • File size limits
  • Unique value checks
  • Format validation
  • Data integrity checks

File Management

  • Multiple file types supported
  • File size restrictions
  • File type validation
  • Secure file storage
  • File access control
  • File update tracking

Security Features

  • Authentication required
  • Data encryption
  • Secure file handling
  • Access control
  • Activity logging
  • Data protection

User Experience

  • Clear validation messages
  • Progress tracking
  • File upload feedback
  • Status notifications
  • Error handling
  • Success confirmation

Technical Requirements

  • File size limits
  • Supported file types
  • Image optimization
  • Cache management
  • Performance optimization
  • Error logging

Compliance

  • Data protection
  • Privacy policy
  • User consent
  • Regulatory compliance
  • Audit logging
  • Data retention