Skip to content

Reading Bulletins ​

Fetch bulletins that have already been submitted — either a single bulletin by ID, or a paginated list for a given path.

Fetch a single bulletin ​

GET /api/integrations/v1/bulletins/{id}
Authorization: Bearer <access token>

Scope required: bulletins:read.

Response ​

json
{
  "id": "6530bb9f...",
  "pathId": "6530abc...",
  "pathName": "Example Forest Service Road",
  "comment": "Drove in to the trailhead...",
  "bulletinDate": 1731369600000,
  "lastModifiedDate": 1731456000000,
  "createdDate": 1731369600000,
  "ownerId": "6500123...",
  "ownerName": "Alex Driver",
  "type": "ROAD_REPORT",
  "replyCount": 2,
  "distanceMeters": 4200.5,
  "conditionRatings": [
    { "point": [-127.67656, 50.30011], "condition": "NOMINAL" },
    { "point": [-127.67211, 50.30021], "condition": "SOMEWHAT_DEGRADED" }
  ],
  "photos": [
    {
      "reference": "https://.../photo.jpg",
      "thumbnailReference": "https://.../photo-thumb.jpg",
      "caption": "Bridge approach",
      "location": [-127.67400, 50.30015]
    }
  ],
  "vehicles": [
    { "category": "SUV", "name": "4Runner", "description": null }
  ]
}
FieldTypeDescription
idstringBulletin ID.
pathIdstringID of the road this bulletin belongs to.
pathNamestringRoad name at the time of posting.
commentstringThe bulletin's description text.
bulletinDatelongThe report date, as Unix epoch milliseconds.
lastModifiedDatelongLast update timestamp.
createdDatelongCreation timestamp.
ownerIdstringID of the user who posted the bulletin.
ownerNamestringDisplay name of the user who posted it.
typestringKind of bulletin (e.g. ROAD_REPORT).
replyCountlongNumber of comments.
distanceMetersnumber | nullDriven distance in metres, if the report tracked it.
conditionRatingsarrayCondition ratings supplied with the bulletin — see below. Matches the shape of what was submitted.
photosarrayAttached photos — see below.
vehiclesarrayVehicles the user was driving.

conditionRatings[] entries ​

FieldTypeDescription
point[longitude, latitude]End of the segment this rating covers.
conditionstringOne of the condition enum values. See Submitting Bulletins for the list.

The entries are returned in the same order they were submitted. See the road conditions concept for how a sequence of ratings is interpreted along a path.

photos[] entries ​

FieldTypeDescription
referencestringURL of the full-size photo.
thumbnailReferencestringURL of a thumbnail suitable for list views.
captionstringPhoto caption.
location[longitude, latitude] | nullGPS coordinates from EXIF, if present.

vehicles[] entries ​

FieldTypeDescription
categorystringOne of the VehicleCategory values. See Submitting Bulletins for the list.
namestring | nullOptional label.
descriptionstring | nullOptional build notes.

Errors ​

StatustypeWhen
404#not-foundNo bulletin with that ID exists.

List bulletins for a path ​

GET /api/integrations/v1/bulletins?pathId={pathId}&page=0&pageSize=20
Authorization: Bearer <access token>

Scope required: bulletins:read.

Parameters ​

ParameterTypeRequiredDefaultDescription
pathIdstring✓—The road whose bulletins you want.
pageinteger—0Zero-indexed page number. Negative values clamp to 0.
pageSizeinteger—20Items per page. Clamped between 1 and 100.

Results are sorted by bulletinDate descending (newest first).

Response ​

json
{
  "items": [ /* BulletinResponse objects, as described above */ ],
  "page": 0,
  "pageSize": 20,
  "totalItems": 143,
  "totalPages": 8
}
FieldTypeDescription
itemsarrayThe bulletins on this page.
pageintegerThe page returned.
pageSizeintegerThe page size used (after clamping).
totalItemslongTotal number of bulletins matching the query.
totalPagesintegerTotal number of pages available.

Service Road Atlas API documentation