RAID API
  1. Public
  • 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
    • 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
        • Get certification history
        • Get certification quiz result
        • Get certification exam result
        • Get certification skills
        • List diver certifications
      • 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
        • 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
    • Sync
      • Get sync status
      • Download full course data for offline use
      • Upload offline operations
    • Dive Center
    • Public
      • List all countries
        GET
      • Get country data
        GET
      • Get country divisions (states/provinces)
        GET
      • List time zone identifiers, optionally narrowed to one country
        GET
      • List, search, and radius-search publicly visible dive centres
        GET
      • Every publicly visible, geolocated dive centre as a map marker
        GET
      • Countries with at least one publicly visible dive centre
        GET
      • Full detail of one publicly visible dive centre
        GET
  • Schemas
    • Frontend API Schema
      • DiverSearch
    • SuccessResponse
    • ValidationErrorResponse
    • TokenResponse
    • ErrorResponse
    • UserProfile
    • CourseLog
    • CourseLogDetail
    • QuizResult
    • ExamResult
    • SkillProgress
    • DiveLog
    • Certification
    • PaginatedDiveLogs
    • StoreItem
    • PaymentIntentResponse
    • OrderConfirmResponse
    • OrderStatusResponse
    • InstructorSearch
    • DiveCenterSearch
  1. Public

Get country data

GET
https://test.diveraid.com/api/v1/public/countries/{code}
Public
Maintainer:Not configured

Overview#

Returns the full detail of one country: names, ISO codes, calling code, currency and flag emoji. Same payload as the removed POST /api/v1/utility/country, now resolved from the path instead of the request body.
Controller: App\Http\Controllers\Api\V1\Public\CountryController::show()
Route name: api.v1.public.countries.show

Authentication#

Type: None (public endpoint)
Additional middleware: throttle:public. See docs/api/README.md ยง14.

Request#

Method: GET
Path: /api/v1/public/countries/{code}

Path parameters#

ParameterTypeDescription
{code}string(2)ISO 3166-1 alpha-2 country code. Case-insensitive: uppercased server-side. Constrained by the route to two letters ([A-Za-z]{2}); a request that does not match this shape at all does not reach the controller

Example request#


Response 200 OK#

{
  "success": true,
  "status": "success",
  "message": "OK",
  "data": {
    "name": "Italy",
    "official_name": "Italian Republic",
    "native_name": "Italia",
    "native_official_name": "Repubblica italiana",
    "iso_3166_1_alpha2": "IT",
    "iso_3166_1_alpha3": "ITA",
    "calling_code": "39",
    "currency": "EUR",
    "emoji": "๐Ÿ‡ฎ๐Ÿ‡น"
  }
}

Response fields#

FieldTypeNullableAlways presentDescription
data.namestringNoYesEnglish name
data.official_namestringNoYesEnglish official name
data.native_namestringNoYesName in the country's own language
data.native_official_namestringNoYesOfficial name in the country's own language
data.iso_3166_1_alpha2stringNoYesTwo-letter code
data.iso_3166_1_alpha3stringNoYesThree-letter code
data.calling_codestringNoYesInternational dialling prefix, without +
data.currencystringNoYesISO 4217 code
data.emojistringNoYesFlag emoji

Errors#

404 Not Found โ€” code not recognised#

Two characters that are not an assigned ISO code, for example ZZ. Captured live:
{
  "success": false,
  "status": "error",
  "message": "Country not found"
}

429 Too Many Requests#

Behind the dedicated public limiter (300 requests per minute, keyed by IP). No errors key.
{
  "success": false,
  "status": "error",
  "message": "Too many requests"
}

Notes#

Data comes from a static country package, not the database. It does not change between deployments.
Replaces POST /api/v1/utility/country (removed; see docs/api/_archive/utility/POST_country.md). Unlike the removed endpoint, an invalid code (wrong length, not two letters) never reaches the controller at all - the route's where('code', '[A-Za-z]{2}') constraint answers the framework's default 404 for a route that doesn't match, before any validation runs.

Request

Path Params

Responses

๐ŸŸข200
application/json
Success
Bodyapplication/json

๐ŸŸ 404
๐ŸŸ 429
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://test.diveraid.com/api/v1/public/countries/'
Response Response Example
200 - Example 1
{
    "status": "success",
    "message": "string",
    "data": {}
}
Modified atย 2026-09-25 16:27:57
Previous
List all countries
Next
Get country divisions (states/provinces)
Built with