Segments (1240) Delete Previous Page 15 of 25 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 Enugu FCT Gombe Imo Jigawa Kaduna Kano Katsina Kebbi Kogi Kwara Lagos Lagos I Lagos II 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) ✎ F125 F125PLS05 - PLATEAU - 8.78132 9.31149 - 8.87826 9.54114 29.39 ✎ F125 F125PLS06 Kurum PLATEAU - 8.87826 9.54114 - 9.05263 9.65651 24.96 ✎ F125 F125PLS07 Langtang PLATEAU - 9.05263 9.65651 - 9.14120 9.81835 24.95 ✎ F125 F125TAS07 Zurak TARABA - 9.23976 10.58631 - 9.23671 10.79814 25.07 ✎ F125 F125PLS08 Wase PLATEAU - 9.14120 9.81835 - 9.11724 9.97849 24.95 ✎ F125 F125TAS08 Materum TARABA - 9.23671 10.79814 - 9.30117 10.98934 24.65 ✎ F125 F125PLS09 Yola PLATEAU - 9.11724 9.97849 - 9.27319 10.12550 24.95 ✎ F125 F125TAS09 Mutum Daya TARABA - 9.30117 10.98934 - 9.36739 11.07205 12.21 ✎ F125 F125PLS10 Bashar PLATEAU - 9.27319 10.12550 - 9.28302 10.31642 24.96 ✎ F125 F125PLS11 Zok PLATEAU - 9.28302 10.31640 - 9.23976 10.58631 31.48 ✎ F125 F125TAS14 Mutum Daya TARABA - 9.30117 10.98934 - 9.36739 11.07200 12.21 ✎ F126 F126NIS01 ZUNGERU NIGER - 9.81138 6.16069 - 9.63478 6.28373 24.97 ✎ F126 F126NIS02 JIGBEJI NIGER - 9.63478 6.28373 - 9.67809 6.49246 25.08 ✎ F126 F126NIS03 MINNA NIGER - 9.67809 6.49246 - 9.50300 6.60765 25.00 ✎ F126 F126NIS04 PENWETA NIGER - 9.50300 6.60765 - 9.39332 6.78196 24.97 ✎ F126 F126NIS05 TUNGAN KUKA NIGER - 9.39332 6.78196 - 9.36490 6.99460 24.97 ✎ F126 F126NIS06 1ZOM NIGER - 9.36490 6.99460 - 9.27886 6.99364 10.04 ✎ F127 FI27KAS01 - KADUNA - 9.58440 8.37170 - 9.65339 8.57602 27.48 ✎ F127 FI27PLS02 - PLATEAU - 9.65339 8.57602 - 9.69845 8.72039 25.05 ✎ F127 FI27PLS03 - PLATEAU - 9.69845 8.72039 - 9.76905 8.86004 19.60 ✎ F128 F128NIS01 SAMUNAKA NIGER - 10.32101 4.25909 - 10.50740 4.34921 25.03 ✎ F128 F128NIS02 TUGAN BAKERE NIGER - 10.50740 4.34921 - 10.67733 4.43284 24.98 ✎ F128 F128NIS03 AGWARRA NIGER - 10.67733 4.43284 - 10.72365 4.63997 25.02 ✎ F128 F128NIS04 - NIGER - 10.72365 4.63997 - 10.71214 4.69562 6.96 ✎ F128 F128KES05 BIN YAURI KEBBI - 10.71214 4.69562 - 10.79438 4.81542 30.32 ✎ F128 F128KES06 GWANDA KEBBI - 10.79438 4.81542 - 10.89993 5.01014 24.99 ✎ F128 F128KES07 - KEBBI - 10.89993 5.01014 - 10.97053 5.07375 11.02 ✎ F128 F128NIS08 - NIGER - 10.97053 5.07375 - 11.09074 5.24749 24.66 ✎ F128 F128NIS09 - NIGER - 11.09074 5.24749 - 11.18787 5.38752 19.70 ✎ F128 F128KES10 MARAFAN SAKABA KEBBI - 11.18787 5.38752 - 11.31951 5.48109 19.57 ✎ F128 F128KES11 RIBAH KEBBI - 11.31951 5.48109 - 11.33991 5.60816 25.07 ✎ F128 F128KES12 WASAGA KEBBI - 11.33991 5.60816 - 11.36484 5.82991 25.00 ✎ F128 F128KES13 BENA KEBBI - 11.36484 5.82991 - 11.37262 5.98353 25.03 ✎ F128 F128KES14 - KEBBI - 11.37262 5.98353 - 11.45625 6.01543 10.14 ✎ F128 F128SZA15 MAI MARAHU ZAMFARA - 11.45625 6.01543 - 11.57050 6.07404 28.17 ✎ F128 F128ZAS16 DAN GULBI ZAMFARA - 11.57050 6.07404 - 11.66179 6.25401 25.02 ✎ F128 F128ZAS17 GOBIRAWA ZAMFARA - 11.66179 6.25401 - 11.70124 6.45459 24.97 ✎ F128 F128ZAS18 MAGAMI ZAMFARA - 11.70124 6.45459 - 11.71920 6.67074 25.07 ✎ F128 F128ZAS19 KONKOMBA ZAMFARA - 11.71920 6.67074 - 11.76256 6.86553 25.10 ✎ F128 F128ZAS20 - ZAMFARA - 11.76256 6.86553 - 11.82919 7.01837 19.75 ✎ F128 F128ZAS21 - ZAMFARA - 11.82919 7.01837 - 11.79128 7.05931 6.44 ✎ F128 F128ZAS22 UNGWAR MAKERA KATSINA - 11.79128 7.05931 - 11.70096 7.16321 16.02 ✎ F128 F128ZAS23 DAN BAWO KATSINA - 11.70096 7.16321 - 11.82684 7.32319 25.05 ✎ F128 F128ZAS24 KANKARA KATSINA - 11.82684 7.32319 - 11.92800 7.49357 25.05 ✎ F128 F128ZAS25 - KATSINA - 11.92800 7.49357 - 11.91675 7.66585 19.98 ✎ F128 F128ZAS26 - KATSINA - 11.91675 7.66585 - 11.97031 7.69136 6.60 ✎ F128 F128ZAS27 - KATSINA - 11.97031 7.69136 - 11.93115 7.82877 16.19 ✎ F128 F128KNS28 GANGARA KANO - 11.93115 7.82877 - 11.92295 7.89518 7.38 ✎ F128 F128KNS29 BUWANA KANO - 11.92295 7.89518 - 11.95635 8.11769 24.99 ✎ F128 F128KNS30 ZANGO KANO - 11.95635 8.11769 - 11.99837 8.34054 24.97 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.