@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api DriveBC's Open511 API
@base http://api.open511.gov.bc.ca/
@version 1.0.0
@endpoints 4
@toc events(1), jurisdiction(1), jurisdictiongeography(1), areas(1)

@group events
@endpoint GET /events
@desc Lists road events
@optional {format: str(json/xml)=json # The format of the response, status: str(ALL/ACTIVE/ARCHIVED)=ALL # Limits the response to events having a given status., severity: str=MAJOR # Limits the response to events tagged with one of the listed severity values. The possible values are: [MINOR, MODERATE, MAJOR].  Multiple values may be listed, and should be separated by a comma. The default is to return events of any severity., jurisdiction: str=drivebc.ca # Limits the response to events reported by a given jurisdiction. The value given must be specified as the ID of a jurisdiction returned by the /jurisdiction resource. The default is to return events from all jurisdictions., event_type: str(CONSTRUCTION/SPECIAL_EVENT/INCIDENT/WEATHER_CONDITION/ROAD_CONDITION)=INCIDENT # Limits the response to events tagged with one of the listed event types.  The possible values include: [CONSTRUCTION, INCIDENT, SPECIAL_EVENT, WEATHER_CONDITION].  Multiple values may be listed, and should be separated by a comma. The default is to return events of all types., created: str=>2015-09-01T12:00:00Z # Limits the response to events based on the date and time that the event was created (first recorded). The date/time must be specified in ISO 8601 format, and may be prefixed by one of the following operators [, >=] to indicate 'before', 'before or equal to', 'after' or 'after or equal to' respectively.  For example, >2013-12-01T12:00:00Z requests all events create after Dec. 1, 2015 at 12pm (noon) Coordinated Universal Time.  The default is to return events with any creation time., updated: str=>2015-09-01T12:00:00Z # Limits the response to events based on the date and time that the event was last updated. The date/time must be specified in ISO 8601 format, and may be prefixed by one of the following operators [, >=] to indicate 'before', 'before or equal to', 'after' or 'after or equal to' respectively.  For example, >2013-12-01T12:00:00Z requests all events updated after Dec. 1, 2015 at 12pm (noon) Coordinated Universal Time. The default is to return events with any update time, road_name: str=Highway 99 # Limits the response to events on a given road as specified by the road name.  An example of a valid road name is 'Highway 1'. The default is to return events on all roads., area_id: str=drivebc.ca/1 # Limits the response to events within one of the specified areas.  An area must be specified as the ID of an item returned by the /areas resource. For example: an area_id of 'drivebc.ca/1' limits events to those within the Lower Mainland District.  The default is to return events in all areas., bbox: str=-130,48,-116,60 # Limits the response to events that fall within the specified geographical bounding box.  The bbox format must be '[min longitude],[min latitude],[max longitude],[max latitude]' with WGS84 coordinates.  For example: -123.45,48.99,-122.45,49.49.  The default is to return events in all geographical locations.}
@returns(200) List of packages

@endgroup

@group jurisdiction
@endpoint GET /jurisdiction
@desc Lists the jurisdictions publishing data through this Open511 API implementation
@optional {format: str(json/xml)=json # The format of the response}
@returns(200) List of packages

@endgroup

@group jurisdictiongeography
@endpoint GET /jurisdictiongeography
@desc Provides the geographical boundaries for all the jurisdictions.
@optional {format: str(json/xml)=json # The format of the response}
@returns(200) List of packages

@endgroup

@group areas
@endpoint GET /areas
@desc Lists the geographical areas (e.g. districts) that can be used to filter events.
@optional {format: str(json/xml)=json # The format of the response}
@returns(200) List of packages

@endgroup

@end
