utility had no equivalent.App\Http\Controllers\Api\V1\Public\DiveCenterController::map()api.v1.public.dive-centers.mapthrottle:public. See docs/api/README.md §14.GET/api/v1/public/dive-centers/map200 OKdata is a flat, unpaginated array. 171 entries at capture time (truncated to the first entry below). The response carries Cache-Control: public, max-age=900 (15 minutes) - see docs/api/README.md §14.{
"success": true,
"status": "success",
"message": "OK",
"data": [
{
"id": 267,
"raid_id": "DCIT15-297-196",
"name": "OLOTURIA SUB",
"city": "MESSINA",
"country": "IT",
"lat": 38.229281740546,
"lng": 15.569799819653
}
]
}| Field | Type | Nullable | Always present | Description |
|---|---|---|---|---|
data[].id | integer | No | Yes | Numeric primary key |
data[].raid_id | string | No | Yes | The path identifier for GET .../dive-centers/{raid_id} |
data[].name | string | No | Yes | |
data[].city | string | Yes | Yes | |
data[].country | string | No | Yes | Bare ISO 3166-1 alpha-2 code, not the {value, label} object the list/detail endpoints use |
data[].lat | number | No | Yes | Always a valid, in-range float: every row here already passed DiveCenter::scopeWithValidCoordinates() |
data[].lng | number | No | Yes |
429 Too Many Requestspublic limiter (300 requests per minute, keyed by IP). No errors key.{
"success": false,
"status": "error",
"message": "Too many requests"
}Cache-Control header's directive order in a live response is max-age=900, public - Symfony's HeaderBag re-serializes Cache-Control directives alphabetically regardless of how the controller set them. Semantically identical; do not match on the literal string order.location (a nested object) - lat/lng are flat, unlike the list/detail endpoints' location.lat/location.lng.curl --location 'https://test.diveraid.com/api/v1/public/dive-centers/map'{
"status": "success",
"message": "string",
"data": [
{
"id": 0,
"raid_id": "string",
"name": "string",
"city": "string",
"country": "IT",
"lat": 0,
"lng": 0
}
]
}