RAID API
  1. Dive Logs
  • DiveRAID frontend public API
    • Search divers
      POST
    • Search instructors
      POST
    • Search dive centers
      POST
    • Search dive centers by country
      GET
  • DiveRAID rest API V1
    • Auth
      • Register a new user
      • Login and get a Sanctum token
      • Send password reset email
      • Reset password using token
      • Logout and revoke the current token
      • Resend email verification
      • Complete a two-factor login and get a Sanctum token
    • Profile
      • The user resource
      • Get authenticated user profile
      • Update profile
      • Delete account
      • Update password
      • Update dive center association
    • Diver
      • Shared diver resources
      • Courses
        • List active courses
        • List expired courses
        • Get course detail
        • Submit module quiz
        • Get quiz result
        • Submit course exam
        • Get exam result
        • Get skills progress
        • Sign skills (diver)
      • Free Learnings
        • List enrolled free learnings
        • List available free learning courses
        • Enroll in a free learning course
        • Get free learning detail
        • Submit free learning module quiz
        • Get free learning quiz result
      • Certifications
        • Get certification history
        • Get certification quiz result
        • Get certification exam result
        • Get certification skills
        • List diver certifications
      • Dive Logs
        • Delete dive log
          DELETE
        • Create dive log
          POST
        • Update dive log
          PATCH
        • List loggable courses
          GET
        • List dive logs (paginated)
          GET
        • Get dive log
          GET
      • Awards
        • List award cards
      • Documents
        • Upload own medical certificate or insurance
        • List diver documents
      • Forms
        • List diver forms
      • Medical
        • Get medical questionnaire structure
        • Submit medical questionnaire
      • Store
        • List courses available for purchase
        • Get order status
    • Professional
      • Students
        • List students
        • Get student progress
        • Get student quiz result
        • Get student exam result
        • Get student skills progress
        • Sign student skills
      • Certifications
        • Get certification history
        • Get certification quiz result
        • Get certification exam result
        • Get certification skills
        • List all professional certifications
        • List diver-level certifications
        • List specialty certifications
        • List professional certifications
        • List trainer certifications
        • List examiner certifications
      • Classroom
        • List classrooms
        • Get classroom progress (all students)
        • Get classroom student progress
        • Get classroom student quiz result
        • Get classroom student exam result
        • Get classroom student skills
        • Sign classroom student skills
      • Renewals
        • List renewal courses
        • Get renewal progress
        • Renewal status
        • Submit renewal module quiz
        • Get renewal quiz result
        • Submit renewal exam
        • Get renewal exam result
        • Get renewal skills progress
        • Sign renewal skills
      • Recognitions
        • List recognition courses
      • Dive Logs
        • Get student dive log
        • Sign student dive log
        • List student dive logs for a course
      • Store
    • Sync
      • Upload offline operations
      • Download full course data for offline use
      • Get sync status
    • Dive Center
    • Public
      • List all countries
      • Dive-log enum values with labels in the response language
      • Get country data
      • Get country divisions (states/provinces)
      • List time zone identifiers, optionally narrowed to one country
      • List, search, and radius-search publicly visible dive centres
      • Every publicly visible, geolocated dive centre as a map marker
      • Countries with at least one publicly visible dive centre
      • Full detail of one publicly visible dive centre
  • Schemas
    • Frontend API Schema
      • DiverSearch
    • SuccessResponse
    • DiverCertification
    • ValidationErrorResponse
    • TwoFactorChallengeResponse
    • TokenResponse
    • ErrorResponse
    • DiveLog
    • UserProfile
    • CourseLog
    • CourseLogDetail
    • QuizResult
    • ExamResult
    • SkillProgress
    • Certification
    • PaginatedDiveLogs
    • StoreItem
    • PaymentIntentResponse
    • OrderConfirmResponse
    • OrderStatusResponse
    • InstructorSearch
    • DiveCenterSearch
  1. Dive Logs

List loggable courses

GET
https://test.diveraid.com/api/v1/diver/dive-logs/loggable-courses
Diver / Dive Logs
Maintainer:Not configured

Overview#

Lists the course logs of the authenticated diver for which a course dive can be logged, with the skills still loggable on each. The values it returns are exactly the ones POST /api/v1/diver/dive-logs accepts for a course_log dive. Served by LoggableCourseController::__invoke().
Controller: App\Http\Controllers\Api\V1\Diver\LoggableCourseController
Route name: api.v1.diver.dive-logs.loggable-courses

Authentication#

Type: Bearer Token
Header: Authorization: Bearer {token}
Any authenticated user, professionals included: the endpoint lists the caller's own course logs.

Request#

Method: GET
Path: /api/v1/diver/dive-logs/loggable-courses
No parameters and no body.

Example request#


Response 200 OK#

Captured live for a diver with one loggable course log. Identifiers and names are examples.
{
  "success": true,
  "status": "success",
  "message": "OK",
  "data": [
    {
      "log_code": "9d3f6a1b2c4e4f7a8b0c1d2e3f4a5b6c",
      "course": {
        "id": 24,
        "name": "Example Try Dive"
      },
      "instructor": {
        "id": 700002,
        "raid_id": "IT26-200-002",
        "full_name": "Example Instructor"
      },
      "skills": [
        { "id": 796, "name": "Underwater tour in water no deeper than 5 metres/10 feet" },
        { "id": 806, "name": "Underwater tour in water no deeper than 12 metres/33 feet" }
      ]
    }
  ]
}

Response fields#

data is a plain array, empty ([]) when nothing is loggable. Entries are ordered by course log id.
FieldTypeNullableDescription
data[].log_codestring(32)NoCourse log code. Send it as log_code to POST /api/v1/diver/dive-logs
data[].course.idintegerNoCourse id
data[].course.namestringYesCourse name. null when the course no longer exists
data[].instructor.idintegerNoSend it as instructor_id to POST /api/v1/diver/dive-logs: it is the only value the create rule accepts for this course log
data[].instructor.raid_idstringYesRAID ID of the instructor. null when the user record is gone
data[].instructor.full_namestringYesFull name of the instructor. null when the user record is gone
data[].skillsarrayNoThe skills still loggable on this course log, in the order of the course. Never empty: a course log without a loggable skill is not listed
data[].skills[].idintegerNoSend it as skill_id to POST /api/v1/diver/dive-logs
data[].skills[].namestringYesSkill name in the response language

Errors#

401 Unauthorized#

{
  "success": false,
  "status": "error",
  "message": "Unauthenticated"
}
message is Token expired or Invalid token when a bearer token was sent but is expired or unknown.

Notes#

Read-only, no side effects.
A course log is listed only when it has not expired, its exam is passed, it has an instructor, and at least one skill that needs a dive log was signed by the diver and is not logged yet. Anything else is left out.
Once a dive log is created for a skill, that skill disappears from the list. When the last skill of a course log is logged, the course log disappears too.
The values are meant to be sent back untouched to the create endpoint; a value that was not listed is refused there with a 422.
skills[].name follows the response language (see "Response language" in the API README).

Source: docs/api/diver/dive-logs/GET_loggable_courses.md

Request

Authorization
JWT Bearer
Add the parameter
Authorization
to Headers
Example:
Authorization: ********************
or

Responses

🟢200
application/json
Success
Bodyapplication/json

🟠401
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://test.diveraid.com/api/v1/diver/dive-logs/loggable-courses' \
--header 'Authorization: Bearer <token>'
Response Response Example
200 - Example 1
{
    "status": "success",
    "message": "string",
    "data": [
        {
            "log_code": "string",
            "course": {
                "id": 0,
                "name": "string"
            },
            "instructor": {
                "id": 0,
                "raid_id": "string",
                "full_name": "string"
            },
            "skills": [
                {
                    "id": 0,
                    "name": "string"
                }
            ]
        }
    ]
}
Modified at 2026-10-08 12:32:31
Previous
Update dive log
Next
List dive logs (paginated)
Built with