MSAAQ Documentation
Docs
APIs
  • Admin
  • Tenant
Docs
APIs
  • Admin
  • Tenant
Status
  1. Access
  • Auth
    • Register
    • Login
    • Me
    • Logout
    • change-password
    • change-email
    • update
    • permissions
    • Email verification
    • Refresh Token
    • accept Invitation
    • Reset Password
    • Forget Password
    • Passwordless
    • Phone Verification
  • Teams
    • Users
      • Send reset password email
      • Send verification email
      • Delete User
      • Update User
      • instructors
      • list
      • Craete User
    • Permissions
      • list
    • Roles
      • Get Role Permissions
      • Delete Role
      • Update Role
      • Get Role
      • Create
      • list
  • Academies
    • Join Beta
    • Create
    • list
  • Dashboards
    • Main
      • Sales By Country
      • Best sales
      • Sales Per Month
      • Stats
    • MSAAQPay
      • Best sales
      • Stats
    • Reports
      • Customers
        • export
        • Customers/members Country
        • Customers/most Orders
        • Customers/stats
        • Customers/chart
      • Analytics
        • export
        • Analytics/top Referrers
        • Analytics/most Visited Pages
        • Analytics/session devices
        • Analytics/session countries
        • Analytics/stats
        • google analytics scopes
        • get google analytics access token
      • Orders
        • export
        • top-sources
        • top-days
        • sells-chart
        • chart
        • stats
      • Products
        • Products
        • Courses
        • export
        • Top Selling
      • Campaigns
        • export
        • stats
  • Members
    • Segments
      • export
      • delete
      • update
      • create
      • show
      • list
      • grant access segment
    • Access
      • Grant Member Access
        POST
      • Remove Member Access
        POST
      • Grant access by email
        POST
      • Remove access by email
        DELETE
    • Delete Member
      DELETE
    • Update Member
      POST
    • Get Member
      GET
    • sendResetLinkEmail
      POST
    • Create
      POST
    • export
      POST
    • import
      POST
    • List Members
      GET
    • Unsubscribe from newsletter
      POST
    • subscribe from newsletter
      POST
    • Get Member by Email
      GET
  • Courses
    • Chapters
      • Contents
        • Create
          • Create zoom meetig
          • Create meeting
          • Create text
          • Create survey
          • Create embed
          • Create PDF
          • Create audio
          • Create Assignment
          • Create Video
          • Create Quiz
          • Create Interactive element
          • Create Interactive question
        • Update
          • Publish Quiz
          • Update Quiz
          • Archive Quiz
          • Update Interactive element
          • Update Interactive question
          • Update meeting
          • Update Survey
          • Update embed
          • Update assignment
          • Update video
        • replicate content
        • delete content
        • Show Content
        • List Content
      • Drip
      • Sort
      • Delete
      • Update
      • Create
      • Get chapter
      • List Chapters
    • Get Course Attendance
    • Replicate course
    • Delete Course
    • Update Course
    • Create Course
    • Get Course stats
    • Get Course
    • Export Courses
    • List Courses
  • Videos
    • Delete Video
    • Update Video
    • Get Video Uesage
    • Get Video
    • Create
    • list
  • Quizzes
    • Question
      • Create Questions
      • Delete question
      • Sort Question
      • Replicate Question
      • Update Question
      • Get single question
      • List of questions
    • export Quiz Members
    • export
    • Get Survey members
    • Get Quiz members
    • Delete Quiz
    • Update Quiz
    • Get Quiz
    • Create
    • list attempts
    • Show Quiz
    • List Quizzes
  • Taxonomies
    • Delete Category
    • Update Category
    • Get Category usage
    • Get Category
    • Create
    • list
  • Builder
    • Pages
      • Delete Page
      • Replicate Page
      • Update Page
      • Get Page
      • Create
      • list
    • Blocks
      • list
    • Menus
      • Menu options
      • deleteLink
      • show
      • save
      • list
    • update
    • options
  • Enrollments
    • export
    • List Enrollments
  • Dowloads
    • export
    • Remove Tenant
  • Tags
    • Export Tags
  • Currencies
    • list
  • Countries
    • list
  • Certificates
    • list certificates
    • previiew
    • Delete
    • create
  • Certificates Templates
    • replicate
    • Delete
    • Update certificate
    • create
    • Get single
    • list
  • Appointments
    • cancel
    • list
  • Difficulties
    • Delete Difficulty
    • Update Difficulty
    • Get Difficulty
    • Create
    • list
  • Assigment Members
    • Update assignment member
    • Get assignment member
    • export
    • List
  • Assignments
    • List Assignment Segments
    • Get assignment
    • list
  • Products
    • (deprecated) check google calendar
    • Replicate
    • Delete product
    • Update product
    • Get product stats
    • Get product
    • Create
    • export
    • downloads export
    • downloads
    • list
    • Get product
  • Articles
    • Delete article
    • Upload editor media
    • Update article
    • duplicate article
    • Get article
    • Create
    • export
    • list
  • Webhooks
    • Delete Webhook By URL
    • Delete Webhook
    • Update Webhook
    • Create Webhook
    • Show Webhook
    • List Webhooks
  • Domains
    • DNS
      • Delete
      • Update
      • Create
      • list
    • domains/delete
    • domains/verify-activation
    • domains/make-default
    • domains/create
    • domains/show
    • domain/list
  • Comments
    • Reply
      • List Comment Replies
    • Like
    • Reply
    • Show Comment
    • Update Comment
    • Delete comment
    • Get comment
    • list
  • Reviews
    • Delete comment
    • reply
    • Update review
    • Get review
    • list
  • Orders
    • Get order invoice
    • Get order
    • export
    • list
  • Cancellation Reasons
    • list
  • Bank Transfers
    • update
    • Get bank transfer
    • list
  • Coupons
    • Delete coupon
    • Update coupon
    • Get coupon
    • Create Coupon
    • coupon stats
    • export uses
    • list of uses
    • list
    • export coupon uses
  • Campaigns
    • Delete campaign
    • Update campaign
    • Send test campaign
    • Preview campaign
    • Get campaign sends
    • Get campaign
    • Export campaigns
    • Create campaign
    • estimate-message-volume
    • list campaigns
    • grant 100 free emails
    • Replicate campaign
    • Export campaign
    • Export campaign sends
  • Affiliates
    • Get Settings
    • Setting
    • update paypout
    • Get payout
    • Payout list
  • Msaaq Affiliates
    • Payouts
      • Payout
      • payout receipt
      • payout show
      • payouts list
    • Get Info
  • Settings
    • Academy Email Domain
      • Store email domain
      • Get email domains
      • Update email domain
      • Delete email domain
    • Tenant Email Domain
    • {{baseUrl}}/admin/settings
    • {{baseUrl}}/settings/translations
    • supported languages
    • translations
    • Customize registeration form
    • Update settigs
    • Update translations
  • MsaaqPay
    • Transactions
      • refund
      • Invoice
      • Get transaction
      • export
      • List Transactions
    • Payouts
      • Receipt
      • Get payout
      • Create payout
      • Setting
      • list
    • Settlement
      • Var Invoice
      • Report
      • Receit
      • Get settlemtn details
      • list
    • setting
    • setting
  • Apps Marketplace
    • Get analytics properties list
    • Get convertkit lists
    • Get mailchimp lists
    • uninstall app
    • Install app
    • callback
    • Show
    • List
  • Academy Verification
    • Nelc License
      • Get nelc products
      • Nelc License Checkout
    • Acccept msaaqpay contract
    • Entity msaaqpay contract
    • Get entity
    • Wathq check
    • Status
    • Start verify
  • Billing
    • Subscription
      • Validate Promo Code
      • Swap
      • Unpause
      • Addon Subscribe
      • Subscribe
      • Pause
      • subscription
    • SMS
      • purchase
      • Settings
      • Bundles
    • Strip
      • Cards
        • Mark As default
        • Create Card
        • Delete card
        • List
      • Subscriptions
        • Swap
        • Resume
        • Cancel
        • Create
        • Get
        • List
      • setup-intent
    • Emails Plans
    • plans
    • receipts
  • Notifications
    • Update Mail Template
    • Upadte Settings
    • markARead
    • List
    • Settings
  • Apps
    • Salla
      • Get product
      • products
  • Search
    • search
  • Abandoned Carts
    • destroy reminder
    • show reminder
    • update reminder
    • custom reminder
    • store reminder
    • reminders
    • export
    • stats
    • list
  • Announcements
    • announcements
    • mark as read
  • Onboarding
    • Onboarding Questionnaire
      • questions/answers
      • questions
    • Onboarding Checklist
      • mark as completed
      • onboarding checklist
    • onboarding
    • mark as read
  • Forms
    • Create | Update Form
    • Show Form
  • Bank
    • Update
    • Get currenent user bank
    • Create
  • Coaching sessions
    • check google calendar
    • Replicate
    • Delete
    • Update
    • Get stats
    • Details
    • Create
    • downloads
    • List
    • export
    • download export
  • Learning Paths
    • Course
      • Sync Learning Path Courses
      • List Learning Path Courses
    • List learning paths
  1. Access

Grant access by email

Production
https://api.msaaq.com/v1
Production
https://api.msaaq.com/v1
POST
https://api.msaaq.com/v1
/admin/members/access
Last modified:2025-04-14 00:59:47
This endpoint is used to grant access to one or more courses or products to a member using their email.
✅ Behavior
If the user does not exist, a new member will be created using the provided email and optional fields.
If the user already exists, the system will simply grant access to the specified courses/products.
If password is null, the user can log in via OTP or SSO (if your system supports it).
No duplicate access will be created if the user already has access to a product.

Request

Authorization
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
Header Params
Accept
string 
required
Example:
application/json
X-Tenant
string 
required
Example:
{{tenant}}
Body Params application/json
email
string 
required
The member email address. If the user does not exist, an account will be created.
Example:
name@example.com
products
array [object {2}]  | null 
optional
Array of access objects containing id and type. Each object represents a course or product to grant access to.
id
string 
required
The ID of the course or product to grant access to.
type
enum<string> 
required
Type of the item: course or product. Use course for any course or learning path, and product for digital products like downloads, bundles, coaching, etc.
Allowed values:
courseproduct
first_name
string  | null 
optional
First name of the member.
last_name
string  | null 
optional
Last name of the member.
password
string  | null 
optional
Optional password for the account. If null, the member will log in using OTP or SSO (if configured).
phone_code
string  | null 
optional
International dialing code (e.g., +966).
phone
string  | null 
optional
Phone number of the member.
with_auth_url
boolean 
optional
If set to true, the response will include a passwordless login URL for the member.
segments
array[string] | null 
optional
Segments name or ID
Example
{
    "email": "info@msaaq.com",
    "products": [
        {
            "id": "114",
            "type": "course"
        }
    ]
}

Request samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.msaaq.com/v1/admin/members/access' \
--header 'Accept: application/json' \
--header 'X-Tenant: academy.msaaq.com' \
--header 'Content-Type: application/json' \
--data-raw '{
    "email": "info@msaaq.com",
    "products": [
        {
            "id": "114",
            "type": "course"
        }
    ]
}'

Responses

🟢200Success
application/json
Body
message
object (SuccessResponseMessage) 
required
title
string  | null 
optional
body
string 
required
data
object 
required
new_account_created
boolean 
required
Indicates if the account was newly created (true) or already existed (false)
granted_access_count
integer 
required
Number of courses/products access was successfully granted to.
auth_url
string  | null 
optional
Only present if with_auth_url is true. A passwordless login link for the member.
member
object (MemberResource) 
required
Example
{
    "message": {
        "body": "تمّ منح المتدرب الوصول المطلوب."
    },
    "data": {
        "new_account_created": false,
        "granted_access_count": 0,
        "auth_url": "https://academy.example.com/passwordless?url=https%3A%2F%2Fmsaaq.test%2Fv1%2Ftenant%2Fauth%2Fpasswordless%3Facademy_id%3D1%26expires%3D1742907118%26user_id%3D551149%26signature%3D841aafd123cd6d54595d4e6bf454fe605e3768643ed02c7ba2e6c7d308899081&success_redirect_url=%2F",
        "member": {
            "id": 551149,
            "first_name": "Alex",
            "last_name": "Towne",
            "name": "Alex Towne",
            "english_name": null,
            "username": "52a9ba7b-9f3e-4adc-8aea-8e304046cee6",
            "avatar": null,
            "points": 0,
            "bio": null,
            "job_title": null,
            "education": null,
            "url": "https://msaaqacademy.test/@52a9ba7b-9f3e-4adc-8aea-8e304046cee6",
            "courses_count": null,
            "products_count": null,
            "total_purchases": null,
            "orders_count": null,
            "national_id": null,
            "country_code": null,
            "currency": "",
            "gender": null,
            "skills": null,
            "email": "name@example.com",
            "phone_code": 966,
            "phone": 575315110,
            "international_phone": "966575315110",
            "dob": null,
            "email_verified_at": null,
            "phone_verified_at": null,
            "is_verified": false,
            "status": "active",
            "newsletter_status": "subscribed",
            "newsletter_subscribed_at": "2024-07-18 16:10:45",
            "newsletter_unsubscribed_at": null,
            "balance": "0.00",
            "last_seen_at": null,
            "updated_at": "2025-03-25 15:14:39",
            "created_at": "2025-03-25 15:14:39",
            "meta": null
        }
    }
}
Previous
Remove Member Access
Next
Remove access by email
Built with