Segments (1122) Delete Previous Page 23 of 23 Next All roads A F None All routes A1 A10 A11 A12 A121 A122 A123 A124 A125 A126 A13 A14 A2 A231 A232 A233 A234 A235 A236 A237 A3 A3-1 A342 A343 A344 A345 A4 A4-1 A4-2 A4-4 A4-5 A4-6 A4-7 A5 A5-1 A6 A7 A8 A8 (1) A9 E1 F100 F101 F101-1 F102 F103 F103-1 F104 F105 F106 F107 F108 F109 F110 F111 F112 F113 F114 F115 F116 F117 F118 F118-1 F119 F120 F121 F122 F123 F124 F124-1 F125 F126 F127 F128 F128-1 F128-2 F128-3 F129 F130 F131 F132 F133 F135 F136 F137 F138 F139 F200 F201 F202 F203 F204 F205 F206 F207 F208 F209 F210 F211 F212 F213 F214 F215 F216 F217 F218 F219 F220 F221 F222 F223 F224 F225 F226 F227 F228 F229 F230 F231 F232 F233 F234 F235 F236 F237 F238 F239 F240 F242 F243 F244 F245 F246 F247 F248 F249 F250 F251 F252 F252-1 F253 F254 F255 F255-1 F256 F257 F258 F259 F260 F261 Select state Abia Adamawa Akwa Ibom Anambra Bauchi Bayelsa Benue Borno Cross River Delta Ebonyi Edo Ekiti FCT Gombe Imo Jigawa Kaduna Kano Katsina Kebbi Kogi Kwara Lagos Nasarawa Niger Ogun Ondo Osun Oyo Plateau Rivers Sokoto Taraba Yobe Zamfara ☰ Route Segment code Name State Start name Northings Eastings End name Northings 2 Eastings 2 Distance(km) ✎ F256 F256BOS04 WANZAMARI BORNO - 12.41356 12.79963 - 12.61603 12.72689 25.09 ✎ F256 F256BOS05 NGUMARI BORNO - 12.61603 12.72689 - 12.81315 12.62617 24.88 ✎ F256 F256BOS06 JAMBAIMARI/KARETU BORNO - 12.81315 12.62617 - 12.91066 12.57720 25.06 ✎ F256 F256BOS07 MAMU MANGARI BORNO - 12.91066 12.57720 - 13.07921 12.52743 24.90 ✎ F256 F256BOS08 DAMASK BORNO - 13.07921 12.52743 - 13.09714 12.53398 4.22 ✎ F257 F257BOS01 TUNGUSHE BORNO - 11.85265 13.14335 - 12.04381 13.07345 25.02 ✎ F257 F257BOS02 AMBUDU LAWANTI KYARIRI BORNO - 12.04381 13.07345 - 12.25618 13.11078 26.22 ✎ F257 F257BOS03 MALLAM KARUMIRI BORNO - 12.25618 13.11078 - 12.46248 13.19481 25.50 ✎ F257 F257BOS04 MALLAM ZANNARI BORNO - 12.46248 13.19481 - 12.62799 13.33977 25.14 ✎ F257 F257BOS05 GREMA KYARI BORNO - 12.62799 13.33977 - 12.69287 13.54804 24.79 ✎ F257 F257BOS06 KIJI MATARI BORNO - 12.69287 13.54804 - 12.68001 13.61580 7.68 ✎ F258 F258BOS01 ALA BORNO - 12.04486 13.92088 - 12.25567 13.87034 25.04 ✎ F258 F258BOS02 MARTE BORNO - 12.25567 13.87034 - 12.43562 13.75408 25.04 ✎ F258 F258BOS03 KIRZUMA BORNO - 12.43562 13.75408 - 12.63072 13.64462 25.01 ✎ F258 F258BOS04 MONGUNO BORNO - 12.63072 13.64462 - 12.82811 13.66232 25.01 ✎ F258 F258BOS05 KAUWA BORNO - 12.82811 13.66232 - 12.94607 13.67219 14.59 ✎ F259 F259BOS01 MALUM MASTARE BORNO - 11.52984 13.68640 - 11.58725 13.90117 25.02 ✎ F259 F259BOS02 GULUMBA GANA BORNO - 11.58725 13.90117 - 11.65384 14.10772 25.01 ✎ F259 F259BOS03 SHILO BORNO - 12.08470 14.46584 - 12.26859 14.47226 25.05 ✎ F259 F259BOS04 TILAM BORNO - 12.26859 14.47226 - 12.36936 14.20988 35.90 ✎ F260 F260BOS01 PULKA BORNO - 11.22331 13.78042 - 11.18570 13.91124 16.32 ✎ F261 F261RIS01 PORT HARCOURT RIVERS - 4.84972 7.05275 - 4.95559 7.01924 14.17 API API Reference (Current)Base prefix: /api/ (for DRF endpoints under all_roads/api/urls.py)1) List all segmentsMethod: GETPath: /api/all_segments/Handler: all_roads.api.views.all_segments_viewResponse: serialized Segment records (SegmentSerializer, fields='__all__')2) Queue refreshMethod: POSTPath: /api/update-segments/queue/Handler: all_roads.api.views.queue_refreshRequest JSON (optional):{ "codes": ["F100LAS1", "F102RIV2"] }Response JSON:{ "task_id": "<celery-task-id>" }3) Task statusMethod: GETPath: /api/tasks/<uuid:task_id>/Handler: all_roads.api.views.task_statusResponse JSON:task_idstateresult (if successful)error (if failed)Website JSON endpoints (non-DRF but API-like)4) Road inventory route detailsMethod: GETPath: /road-inventory/route-details/Query params:route (required)Handler: website.views.road_inventory_route_detailsResponse JSON:summary objectsegments array5) Segment code searchMethod: GETPath: /segments/search/Query params:q (min length 2)Handler: website.views.segment_code_search6) Road condition subsegmentsMethod: GETPath: /road-condition/subsegments/Query params:segment (required)Handler: website.views.road_condition_subsegments7) Road condition save draftMethod: POSTPath: /road-condition/save-draft/Handler: website.views.road_condition_save_draftCreates draft defects for selected sub-segments where eligible.8) Library segment editorMethod: POSTPath: /library/road-inventory/segments/<segment_code>/Handler: website.views.library_segment_editorPurpose: update a segment from the Library Road Inventory edit modal.9) Library subsegment editorMethod: POSTPath: /library/road-inventory/subsegments/<subsegment_code>/Handler: website.views.library_subsegment_editorPurpose: update Library inline sub-segment fields:start_pointend_point10) Library segment bulk deleteMethod: POSTPath: /library/road-inventory/delete/Handler: website.views.library_segments_bulk_deletePurpose: bulk delete selected segment rows from Library Road Inventory.11) Library subsegment bulk deleteMethod: POSTPath: /library/road-inventory/subsegments/delete/Handler: website.views.library_subsegments_bulk_deletePurpose: delete selected sub-segments from an expanded Library segment row and renumber the remaining sub-segments for that parent segment.Auth and permissions notesSome endpoints currently use AllowAny and should be reviewed for production hardening if public write access is not intended.JWT authentication is configured globally in DRF settings, but endpoint-level permission decorators control openness.API operational recommendationsUse queue refresh endpoint for production updates.Poll task status endpoint for completion and summary.Add rate and permission controls before exposing write-capable endpoints publicly. Uploads Download template Select file (.xls, .xlsx, .csv) Begin Upload Uploading, please wait... Upload summary Download error CSV
API Reference (Current)Base prefix: /api/ (for DRF endpoints under all_roads/api/urls.py)1) List all segmentsMethod: GETPath: /api/all_segments/Handler: all_roads.api.views.all_segments_viewResponse: serialized Segment records (SegmentSerializer, fields='__all__')2) Queue refreshMethod: POSTPath: /api/update-segments/queue/Handler: all_roads.api.views.queue_refreshRequest JSON (optional):{ "codes": ["F100LAS1", "F102RIV2"] }Response JSON:{ "task_id": "<celery-task-id>" }3) Task statusMethod: GETPath: /api/tasks/<uuid:task_id>/Handler: all_roads.api.views.task_statusResponse JSON:task_idstateresult (if successful)error (if failed)Website JSON endpoints (non-DRF but API-like)4) Road inventory route detailsMethod: GETPath: /road-inventory/route-details/Query params:route (required)Handler: website.views.road_inventory_route_detailsResponse JSON:summary objectsegments array5) Segment code searchMethod: GETPath: /segments/search/Query params:q (min length 2)Handler: website.views.segment_code_search6) Road condition subsegmentsMethod: GETPath: /road-condition/subsegments/Query params:segment (required)Handler: website.views.road_condition_subsegments7) Road condition save draftMethod: POSTPath: /road-condition/save-draft/Handler: website.views.road_condition_save_draftCreates draft defects for selected sub-segments where eligible.8) Library segment editorMethod: POSTPath: /library/road-inventory/segments/<segment_code>/Handler: website.views.library_segment_editorPurpose: update a segment from the Library Road Inventory edit modal.9) Library subsegment editorMethod: POSTPath: /library/road-inventory/subsegments/<subsegment_code>/Handler: website.views.library_subsegment_editorPurpose: update Library inline sub-segment fields:start_pointend_point10) Library segment bulk deleteMethod: POSTPath: /library/road-inventory/delete/Handler: website.views.library_segments_bulk_deletePurpose: bulk delete selected segment rows from Library Road Inventory.11) Library subsegment bulk deleteMethod: POSTPath: /library/road-inventory/subsegments/delete/Handler: website.views.library_subsegments_bulk_deletePurpose: delete selected sub-segments from an expanded Library segment row and renumber the remaining sub-segments for that parent segment.Auth and permissions notesSome endpoints currently use AllowAny and should be reviewed for production hardening if public write access is not intended.JWT authentication is configured globally in DRF settings, but endpoint-level permission decorators control openness.API operational recommendationsUse queue refresh endpoint for production updates.Poll task status endpoint for completion and summary.Add rate and permission controls before exposing write-capable endpoints publicly.