RAID API
  1. DiveRAID frontend public API
  • 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 receive JWT token
      • Send password reset email
      • Reset password using token
      • Logout and invalidate JWT token
      • Refresh JWT token
      • Verify email address (signed URL)
      • Resend email verification
    • Legacy Auth
      • Legacy login
      • Legacy register
      • Legacy logout
      • Legacy refresh token
      • Legacy reset password
    • Profile
      • Get authenticated user profile
      • Update profile
      • Delete account
      • Update password
      • Update dive center association
    • Diver
      • 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
        • List diver certifications
        • Get certification history
        • Get certification quiz result
        • Get certification exam result
        • Get certification skills
      • Dive Logs
        • List dive logs (paginated)
        • Create dive log
        • Get dive log
        • Update dive log
      • Awards
        • List award cards
      • Documents
        • List diver documents
      • Forms
        • List diver forms
      • Medical
        • Get medical questionnaire structure
        • Submit medical questionnaire
      • Store
        • List courses available for purchase
        • Create Stripe payment intent for course
        • Confirm Stripe payment and activate course
        • 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
        • List all professional certifications
        • List diver-level certifications
        • List specialty certifications
        • List professional certifications
        • List trainer certifications
        • List examiner certifications
        • Get certification history
        • Get certification quiz result
        • Get certification exam result
        • Get certification skills
      • 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
        • 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
        • List student dive logs for a course
        • Get student dive log
        • Sign student dive log
      • Store
        • Create payment intent for student course purchase
        • Confirm student course payment
    • Sync
      • Get sync status
      • Download full course data for offline use
      • Upload offline operations
    • Utility
      • List all countries
      • Get country data
      • Get country divisions (states/provinces)
      • List active dive centers
      • Get dive center details
    • Dive Center
      • Get Dive Center List
      • Get a Dive Center info
    • User
      • Certifications
        • Get User Certifications
        • Get User Certifications Diver
        • Get User Certifications Professional
        • Get Certification Card
      • Get User data
      • Update password
      • Update User Data
      • Update User Dive Center
    • Utilities
      • Get Country List
      • Get Country details
      • Get Country Divisions
  • Schemas
    • Frontend API Schema
      • DiverSearch
    • SuccessResponse
    • ErrorResponse
    • ValidationErrorResponse
    • TokenResponse
    • UserProfile
    • CourseLog
    • CourseLogDetail
    • QuizResult
    • ExamResult
    • SkillProgress
    • DiveLog
    • Certification
    • PaginatedDiveLogs
    • StoreItem
    • PaymentIntentResponse
    • OrderConfirmResponse
    • OrderStatusResponse
    • InstructorSearch
    • DiveCenterSearch
  1. DiveRAID frontend public API

Search dive centers

Develop Env
https://diveraid.test
Develop Env
https://diveraid.test
POST
https://diveraid.test
/api/v1/dive_center
DiveCenterFrontendPublicApiKey
Maintainer:rivalex

POST /api/v1/dive_center#

Overview#

Searches active dive centers in the RAID network. Returns public profile data including collaborators, social media links, and manager. Only active dive centers with an expiry date no older than one year are returned.

Authentication#

Type: API Key
Header: token: {your-api-key}

Request#

Method: POST
Path: /api/v1/dive_center
Content-Type: application/json or application/x-www-form-urlencoded

Body parameters#

ParameterTypeRequiredDescription
searchstringNoFree text - searches across: name, city, email, raid_id
countrystringNoISO 3166-1 alpha-2 country code (e.g. IT, ES)
Both parameters are optional. If neither is provided, all active dive centers are returned.

Response 200 OK - Results found#

{
  "data": [
    {
      "raid_id": "RAID-DC-00123",
      "name": "Blue Ocean Dive Center",
      "email": "info@blueocean.com",
      "country": "Italy",
      "city": "Palermo",
      "mobile": "+39 091 1234567",
      "manager": "Luca Marino",
      "distributor": "RAID Italy",
      "logo": "https://s3.amazonaws.com/diveraid/logos/7.jpg",
      "collaborators": {
        "Marco Rossi": "Open Water Instructor",
        "Sara Neri": "Rescue Instructor"
      },
      "socials": {
        "facebook": "https://facebook.com/blueocean",
        "instagram": "https://instagram.com/blueocean",
        "website": "https://www.blueocean.com"
      },
      "expire_date": "15/06/2025"
    }
  ],
  "success": true,
  "message": "success",
  "total": 1
}

Response 200 OK - No results#

{
  "data": [],
  "success": true,
  "message": "no results",
  "total": 0
}

data[] fields#

FieldTypeDescription
raid_idstringDive center's unique RAID identifier
namestringDive center name
emailstring|nullContact email
countrystringFull country name (e.g. "Italy")
citystring|nullCity
mobilestring|nullPhone number
managerstringName of the dive center manager
distributorstringRAID distributor name
logostring|nullLogo URL
collaboratorsobjectMap {name: qualification} of collaborating instructors
socialsobjectMap {platform: url} of social media profiles (e.g. facebook, instagram, website)
expire_datestringRAID membership expiry date (locale format, e.g. 15/06/2025)

Response 401 - Missing or invalid API Key#

{
  "error": "Access Denied!",
  "message": "No API Key provided.",
  "statusCode": 401
}

Automatic filters#

Dive centers are pre-filtered before applying search parameters:
status = true - active dive centers only
expire_date >= now() - 1 year - excludes dive centers expired more than one year ago

Search examples#

All active dive centers (no filter):
{}
Search by name:
{ "search": "Blue Ocean" }
Filter by country:
{ "country": "IT" }
Combined search:
{ "search": "diving", "country": "ES" }

Notes#

Search is case-insensitive using LIKE %search%.
Results are ordered by name ASC.
collaborators is an object (not an array) - keys are instructor names.
socials is an object - keys are the configured social platform names.
The country field in the response is the full country name, not the ISO code.

Request

Authorization
API Key
Add parameter in header
token
Example:
token: ********************
or
Query Params

Request Code 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://diveraid.test/api/v1/dive_center?search=undefined&country=undefined' \
--header 'token: <api-key>'

Responses

🟢200
application/json
Search results
Bodyapplication/json

Example
{
    "success": true,
    "message": "string",
    "total": 0,
    "data": [
        {
            "raid_id": "string",
            "name": "string",
            "email": "string",
            "country": "string",
            "city": "string",
            "mobile": "string",
            "manager": "string",
            "distributor": "string",
            "logo": "string",
            "collaborators": {
                "property1": "string",
                "property2": "string"
            },
            "socials": {
                "property1": "string",
                "property2": "string"
            },
            "expire_date": "2019-08-24"
        }
    ]
}
🟠401
Modified at 2026-04-14 15:00:59
Previous
Search instructors
Next
Search dive centers by country
Built with