iSpeaker Live iSpeaker Live / Docs
Reference

🔌 API Documentation

Every endpoint, grouped by feature — with auth, role, and purpose.

Conventions

  • Base URL: https://api.ispeakerlive.com/api
  • Auth: Sanctum bearer token in the Authorization header (Bearer <token>).
  • Locale: override with header X-Lang: ar or X-Lang: en.
  • Response: JSON, with data, meta, and optional message.
  • Errors: standard HTTP codes; validation errors return 422 with errors{}.
  • Role gates: some routes require role:speaker middleware (marked with a Speaker badge below).
# Example
curl -H "Authorization: Bearer <token>" \
     -H "X-Lang: ar" \
     https://api.ispeakerlive.com/api/posts/feed

Authentication

Public registration & login plus session management once authenticated.

POST /auth/register

Description

Create a new account. Returns token + user.

Body

{ "name":"…", "email":"…", "password":"…", "username":"…" }
POST /auth/login

Description

Email/phone + password. Returns Sanctum token.

GET /auth/profile

Description

Current user profile (requires token).

POST /auth/logout

Description

Revoke current token.

POST /auth/logout-all

Description

Revoke all tokens for this user.

GET /auth/sessions

Description

List active token sessions.

DELETE /auth/sessions/{tokenId}

Description

Revoke a specific token.

Profile

Account info, media, privacy, certificates, and experiences.

GET /profile/me

Description

Authenticated user with profile, interests, certificates, experiences.

GET /profile/username/{username}

Description

Public profile (auth optional for richer data).

GET /profile/{username}/content

Description

Public content authored by a profile.

GET /profile/interests/available

Description

List of categories available as interests.

PUT /profile/update

Description

Update name / headline / bio / etc.

POST /profile/avatar

Description

Upload avatar (multipart).

POST /profile/cover

Description

Upload cover (multipart).

PUT /profile/password

Description

Change password (old + new).

PUT /profile/privacy

Description

Privacy flags.

PUT /profile/social-links

Description

Update social_links JSON.

PUT /profile/interests

Description

Replace interest selection.

POST /profile/toggle-private

Description

Toggle is_profile_private.

POST /profile/toggle-notifications

Description

Toggle notifications_enabled.

POST /profile/certificates

Description

Create certificate entry.

PUT /profile/certificates/{id}

Description

Update certificate.

DELETE /profile/certificates/{id}

Description

Delete certificate.

POST /profile/experiences

Description

Create experience.

PUT /profile/experiences/{id}

Description

Update experience.

DELETE /profile/experiences/{id}

Description

Delete experience.

DELETE /profile/account

Description

Soft-delete the authenticated account.

Posts & Feed

Author and consume social feed content.

GET /posts/feed

Description

Personalised feed (people you follow + suggested).

POST /posts

Description

Create a post.

GET /posts/{id}

Description

Single post detail.

POST /posts/{id}/update

Description

Update a post.

DELETE /posts/{id}

Description

Delete a post.

POST /posts/{id}/pin

Description

Pin/unpin own post.

POST /posts/{id}/react

Description

Add reaction (type in body).

DELETE /posts/{id}/react

Description

Remove reaction.

POST /posts/{id}/share

Description

Share post internally with optional comment.

POST /posts/{id}/report

Description

Report post.

GET /posts/{postId}/comments

Description

List comments.

POST /posts/{postId}/comments

Description

Add a comment (optional parent_id).

GET /users/{userId}/posts

Description

Posts by a specific user.

Comments

Comment lifecycle & reactions.

PUT /comments/{id}

Description

Update a comment.

DELETE /comments/{id}

Description

Delete a comment.

POST /comments/{id}/pin

Description

Pin/unpin comment (post owner only).

POST /comments/{id}/react

Description

React to a comment.

DELETE /comments/{id}/react

Description

Remove reaction.

Follow

Social graph operations & private-profile request flow.

GET /follow/suggestions

Description

Suggested users to follow.

POST /users/{userId}/follow

Description

Follow / send follow request.

DELETE /users/{userId}/unfollow

Description

Unfollow.

GET /users/{userId}/is-following

Description

Check follow state.

GET /users/{userId}/followers

Description

List followers.

GET /users/{userId}/following

Description

List following.

DELETE /users/{userId}/remove-follower

Description

Remove a follower from your own followers.

GET /users/search

Description

Search users.

GET /follow-requests/received

Description

Pending requests received.

GET /follow-requests/count

Description

Pending count.

POST /follow-requests/{id}/accept

Description

Accept a request.

POST /follow-requests/{id}/reject

Description

Reject a request.

DELETE /follow-requests/{id}/cancel

Description

Cancel a request you sent.

POST /follow-requests/accept-all

Description

Accept all.

POST /follow-requests/reject-all

Description

Reject all.

Speakers

Speaker directory & speaker-only stats.

GET /speakers

Description

List/search speakers.

GET /speakers/filters

Description

Available filters for speaker discovery.

GET /speakers/{id}

Description

Speaker detail.

POST /speakers/{id}/message

Description

Send first DM to a speaker.

GET /speaker/statistics speaker

Description

Authenticated speaker stats.

GET /speaker/my-creations speaker

Description

All content authored by speaker.

Dashboards

Role-specific dashboard data bundles.

GET /dashboard/student student

Description

Student dashboard aggregate.

GET /dashboard/speaker speaker

Description

Speaker dashboard aggregate.

Categories

Master list used across the platform.

GET /categories

Description

List all categories (bilingual).

Marketplace

Discover & purchase courses and books.

GET /marketplace

Description

Marketplace landing aggregate.

GET /marketplace/filters

Description

Available filters.

GET /marketplace/popular-topics

Description

Popular topics.

GET /marketplace/courses

Description

Browse courses.

GET /marketplace/courses/{id}

Description

Course detail.

POST /marketplace/courses/{id}/purchase

Description

Purchase a course.

GET /marketplace/courses/{id}/reviews

Description

Course reviews.

POST /marketplace/courses/{id}/reviews

Description

Add a review.

GET /marketplace/books

Description

Browse books.

GET /marketplace/books/{id}

Description

Book detail.

POST /marketplace/books/{id}/purchase

Description

Purchase a book.

GET /marketplace/books/{id}/reviews

Description

Book reviews.

POST /marketplace/books/{id}/reviews

Description

Add a book review.

GET /marketplace/my/courses

Description

My purchased courses.

GET /marketplace/my/books

Description

My purchased books.

Speaker — Courses (Authoring)

Author and manage courses, sections, and lessons.

GET /speaker/courses speaker

Description

List speaker's courses.

POST /speaker/courses speaker

Description

Create course (draft).

GET /speaker/courses/{id} speaker

Description

Course detail.

POST /speaker/courses/{id} speaker

Description

Update course.

DELETE /speaker/courses/{id} speaker

Description

Delete course.

POST /speaker/courses/{id}/publish speaker

Description

Publish.

POST /speaker/courses/{id}/unpublish speaker

Description

Unpublish.

POST /speaker/courses/{id}/archive speaker

Description

Archive.

GET /speaker/courses/{id}/stats speaker

Description

Course stats.

POST /speaker/courses/{courseId}/sections speaker

Description

Add section.

PUT /speaker/courses/{courseId}/sections/{sectionId} speaker

Description

Update section.

DELETE /speaker/courses/{courseId}/sections/{sectionId} speaker

Description

Delete section.

POST /speaker/courses/{courseId}/sections/reorder speaker

Description

Reorder sections.

POST /speaker/courses/{courseId}/sections/{sectionId}/lessons speaker

Description

Add lesson.

POST /speaker/courses/{courseId}/sections/{sectionId}/lessons/{lessonId} speaker

Description

Update lesson.

DELETE /speaker/courses/{courseId}/sections/{sectionId}/lessons/{lessonId} speaker

Description

Delete lesson.

POST /speaker/courses/{courseId}/sections/{sectionId}/lessons/reorder speaker

Description

Reorder lessons.

POST /.../lessons/{lessonId}/video speaker

Description

Upload lesson video.

POST /.../lessons/{lessonId}/document speaker

Description

Upload lesson document.

POST /.../lessons/{lessonId}/audio speaker

Description

Upload lesson audio.

POST /.../lessons/{lessonId}/attachments speaker

Description

Upload attachments.

Course Player (Student)

Consume the course, track progress, take notes.

GET /learn/courses/{courseId}

Description

Course player payload (curriculum + progress).

GET /learn/courses/{courseId}/lessons/{lessonId}

Description

Lesson detail.

POST /learn/courses/{courseId}/lessons/{lessonId}/progress

Description

Update watched seconds.

POST /learn/courses/{courseId}/lessons/{lessonId}/complete

Description

Mark complete.

GET /learn/courses/{courseId}/notes

Description

All notes for the course.

POST /learn/courses/{courseId}/lessons/{lessonId}/notes

Description

Add note.

PUT /learn/courses/{courseId}/lessons/{lessonId}/notes/{noteId}

Description

Update note.

DELETE /learn/courses/{courseId}/lessons/{lessonId}/notes/{noteId}

Description

Delete note.

GET /courses/{courseId}/preview/lessons/{lessonId}

Description

Public preview lesson.

Speaker — Books

Publish and manage books.

GET /speaker/books speaker

Description

List own books.

POST /speaker/books speaker

Description

Upload book (PDF + metadata).

GET /speaker/books/{id} speaker

Description

Book detail.

POST /speaker/books/{id} speaker

Description

Update book.

DELETE /speaker/books/{id} speaker

Description

Delete book.

POST /speaker/books/{id}/publish speaker

Description

Publish book.

POST /speaker/books/{id}/archive speaker

Description

Archive book.

GET /speaker/books/{id}/stats speaker

Description

Book stats.

Book Reader

Read books with annotations & DRM.

GET /books/{bookId}/reader

Description

Reader payload (DRM token + metadata).

GET /books/{bookId}/reader/pdf

Description

Stream the PDF.

POST /books/{bookId}/reader/refresh-token

Description

Refresh DRM token.

POST /books/{bookId}/reader/progress

Description

Update reading progress.

POST /books/{bookId}/reader/annotations

Description

Create annotation.

PUT /books/{bookId}/reader/annotations/{id}

Description

Update annotation.

DELETE /books/{bookId}/reader/annotations/{id}

Description

Delete annotation.

GET /books/{bookId}/reader/bookmarks

Description

List bookmarks.

GET /books/{bookId}/reader/pages/{pageNumber}/annotations

Description

Annotations on a page.

GET /books/{bookId}/preview

Description

Public preview metadata.

GET /books/{bookId}/preview/pdf

Description

Stream preview pages.

Live Rooms

Group live sessions on Jitsi.

GET /rooms

Description

List rooms.

POST /rooms speaker

Description

Create a room.

GET /rooms/{id}

Description

Room detail.

PUT /rooms/{id} speaker

Description

Update room.

DELETE /rooms/{id} speaker

Description

Delete room.

POST /rooms/{id}/start speaker

Description

Start session (issues Jitsi ID).

POST /rooms/{id}/end speaker

Description

End session.

POST /rooms/{id}/register

Description

Register/RSVP.

DELETE /rooms/{id}/register

Description

Cancel registration.

POST /rooms/{id}/join

Description

Join (returns Jitsi link).

POST /rooms/{id}/leave

Description

Leave session.

GET /rooms/{id}/participants

Description

List participants.

GET /rooms/{id}/messages

Description

In-room messages.

POST /rooms/{id}/messages

Description

Send in-room message.

POST /rooms/{id}/messages/{msgId}/pin

Description

Toggle pin.

DELETE /rooms/{id}/messages/{msgId}

Description

Delete message.

GET /rooms/{id}/share

Description

Get shareable link.

POST /rooms/{id}/report

Description

Report room.

GET /rooms/{id}/pending-registrations speaker

Description

Pending registrations.

POST /rooms/{id}/registrations/{regId}/approve speaker

Description

Approve registration.

POST /rooms/{id}/registrations/{regId}/reject speaker

Description

Reject registration.

Consultations

1:1 sessions: setup, booking, lifecycle.

GET /consultations/settings speaker

Description

Speaker consultation settings.

POST /consultations/settings speaker

Description

Save settings.

POST /consultations/slots speaker

Description

Add availability slot.

DELETE /consultations/slots/{slotId} speaker

Description

Remove slot.

PUT /consultations/pricing speaker

Description

Update pricing.

GET /consultations/bookings speaker

Description

Bookings as speaker.

GET /consultations/bookings/{id} speaker

Description

Booking detail.

POST /consultations/bookings/{id}/accept speaker

Description

Accept booking.

POST /consultations/bookings/{id}/reject speaker

Description

Reject booking.

POST /consultations/bookings/{id}/complete speaker

Description

Complete & trigger payout.

GET /consultations/stats speaker

Description

Consultation statistics.

GET /consultations/my-bookings

Description

Bookings as student.

POST /consultations/bookings/{id}/cancel

Description

Cancel booking.

POST /consultations/bookings/{id}/rate

Description

Rate after session.

POST /consultations/bookings/{id}/join

Description

Join meeting.

GET /speakers/{speakerId}/consultations/available-slots

Description

Slots for a date.

GET /speakers/{speakerId}/consultations/available-dates

Description

Available dates.

POST /speakers/{speakerId}/consultations/book

Description

Book a slot.

Cart

Cart & checkout for courses + books.

GET /cart

Description

Get cart.

GET /cart/count

Description

Items count.

POST /cart/add

Description

Add item (polymorphic).

DELETE /cart/items/{itemId}

Description

Remove item.

DELETE /cart/clear

Description

Empty cart.

POST /cart/check

Description

Check item presence.

POST /cart/apply-discount

Description

Apply discount code.

POST /cart/checkout

Description

Checkout (pays from wallet).

Wallet

Balance, transactions, invoices, withdrawals.

GET /wallet

Description

Wallet summary.

GET /wallet/transactions

Description

Paginated transactions.

GET /wallet/transactions/export

Description

Export CSV.

GET /wallet/transactions/{id}

Description

Single transaction.

GET /wallet/transactions/{id}/invoice

Description

Invoice JSON.

GET /wallet/transactions/{id}/invoice/download

Description

Invoice PDF.

POST /wallet/add-balance

Description

Top up (manual / admin).

POST /wallet/send-points

Description

Send to another user.

POST /wallet/withdraw

Description

Request withdrawal.

GET /wallet/statistics

Description

Earnings / spend stats.

PayPal

Online payment via PayPal SDK.

GET /paypal/config

Description

Client config.

POST /paypal/create-order

Description

Create order.

POST /paypal/capture-order

Description

Capture after approval.

POST /paypal/verify-order

Description

Verify status.

POST /paypal/wallet/create-order

Description

Top-up create.

POST /paypal/wallet/capture-order

Description

Top-up capture.

Chat

1:1 messaging with media support.

GET /chat/conversations

Description

List conversations.

GET /chat/conversations/search

Description

Search conversations.

POST /chat/conversations

Description

Create / get pair.

GET /chat/conversations/{id}/messages

Description

Messages list.

POST /chat/conversations/{id}/messages

Description

Send message.

POST /chat/conversations/{id}/read

Description

Mark as read.

DELETE /chat/conversations/{id}

Description

Soft-delete.

DELETE /chat/messages/{id}

Description

Delete a message.

POST /chat/messages/direct

Description

Direct send by user_id.

GET /chat/unread-count

Description

Unread total.

GET /chat/users/search

Description

Search users for new chat.

POST /chat/upload

Description

Upload media to use in chat.

Notifications

In-app notifications (FCM push is server-side).

GET /notifications

Description

List paginated.

GET /notifications/unread-count

Description

Unread count.

POST /notifications/mark-all-read

Description

Mark all read.

POST /notifications/{id}/read

Description

Mark single read.

DELETE /notifications/{id}

Description

Delete.

Gifts

Send paid micro-gifts and track stats.

GET /gifts

Description

List gift catalogue.

POST /gifts/send

Description

Send a gift.

GET /gifts/received/{giftableType}/{giftableId}

Description

Gifts on an entity.

GET /gifts/sent

Description

My sent gifts.

GET /gifts/received

Description

My received gifts.

GET /gifts/stats

Description

Aggregate stats.

GET /gifts/top

Description

Top gifts.

GET /gifts/leaderboard

Description

Leaderboard.

GET /users/{userId}/gifts/sent

Description

Sent by user.

GET /users/{userId}/gifts/received

Description

Received by user.

Collections

Personal library across content types.

GET /collections/overview

Description

Library overview.

GET /collections/courses

Description

My courses (enrolled).

GET /collections/books

Description

My books (purchased).

GET /collections/rooms

Description

My rooms (registered).

GET /collections/consultations

Description

My consultations.

Settings

Public & private platform-wide settings.

GET /settings

Description

All settings visible to authenticated user.

GET /settings/{key}

Description

Read a single setting (public).