Segments (1122) Delete Previous Page 8 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) ✎ A3-1 A3-1RIS01 PH-Rumuola Rd RIVERS - 4.76489 7.01811 - 4.89031 7.14726 25.85 ✎ A3-1 A3-1ABS02 Obehie ABIA - 4.89031 7.14726 - 5.01454 7.31123 23.97 ✎ A3-1 A3-1ABS03 Obehie ABIA - 5.01454 7.31123 - 5.24211 7.32699 25.83 ✎ A3-1 A3-1ABS04 owerrinta ABIA - 5.24211 7.32699 - 5.44058 7.41242 25.02 ✎ A3-1 A3-1ABS05 EZIAMA ABIA - 5.44058 7.41242 - 5.63510 7.42573 24.80 ✎ A3-1 A3-1ABS06 Enugu ph- road ABIA - 5.63510 7.42573 - 5.70814 7.39504 9.44 ✎ A3-1 A3-1ABS07 Enugu-Ph Hwy, ABIA - 5.70814 7.39504 - 5.89858 7.39608 26.50 ✎ A3-1 A3-1ABS08 Enugu-Ph Hwy, ABIA - 5.89858 7.39608 - 6.01247 7.47611 16.58 ✎ A3-1 A3-1ENS09 GARIKI ENUGU - 6.20507 7.50694 - 6.39277 7.51218 25.00 ✎ A3-1 A3-1ENS10 Onitsha Rd ENUGU - 6.39277 7.51218 - 6.44483 7.42710 25.03 ✎ A342 A342ABS01 - ABIA - 5.15074 7.33011 - 5.11591 7.37250 6.28 ✎ A342 A342ABS02 ABGURU UKE ABIA - 5.11589 7.37238 - 5.14136 7.53347 18.51 ✎ A342 A342AKS03 UWA AKWA IBOM - 5.14136 7.53347 - 5.16052 7.73797 25.02 ✎ A342 A342AKS04 EKPEMIONG AKWA IBOM - 5.16052 7.73797 - 5.03888 7.91612 25.03 ✎ A342 A342AKS05 UYO AKWA IBOM - 5.03888 7.91612 - 4.87998 8.04928 28.11 ✎ A342 A342AKS06 EBIGHI ETA AKWA IBOM - 4.87998 8.04928 - 4.79486 8.20674 23.23 ✎ A342 A342AKS07 ORON AKWA IBOM - 4.79486 8.20674 - 4.80640 8.24095 6.16 ✎ A343 A343ENS01 ONUBA ENUGU - 6.45969 7.53932 - 6.47190 7.74494 32.20 ✎ A343 A343EBS02 ABOINE EBONYI - 6.47190 7.74494 - 6.39683 7.97363 29.71 ✎ A343 A343EBS03 IDEMBIA EBONYI - 6.39683 7.97363 - 6.31403 8.16279 24.61 ✎ A343 A343EBS04 NDIOKPOTO EBONYI - 6.31403 8.16279 - 6.36432 8.40307 30.34 ✎ A343 A343CRS05 NGOM CROSS RIVER - 6.36432 8.40307 - 6.46446 8.53441 25.05 ✎ A343 A343CRS06 NDUBI CROSS RIVER - 6.46446 8.53441 - 6.36952 8.67838 28.08 ✎ A344 A344BES01 ADINYA BENUE - 7.29626 8.48528 - 7.29828 8.70603 24.99 ✎ A344 A344BES02 NYITSE BENUE - 7.29828 8.70603 - 7.28854 8.92984 25.99 ✎ A344 A344BES03 GBOKO BENUE - 7.28854 8.92984 - 7.33827 9.09296 22.62 ✎ A344 A344BES04 UGUOVUR BENUE - 7.33827 9.09296 - 7.11971 9.26728 33.20 ✎ A345 A345BAS01 DUNGULBI BAUCHI - 10.31444 9.84648 - 10.26184 10.05668 25.00 ✎ A345 A345BAS02 DINDIMA BAUCHI - 10.26184 10.05668 - 10.26126 10.27049 25.01 ✎ A345 A345BAS03 ARAWA BAUCHI - 10.26126 10.27049 - 10.30000 10.49005 24.98 ✎ A345 A345BAS04 KALAJANGA BAUCHI - 10.30000 10.49005 - 10.36841 10.70328 24.99 ✎ A345 A345BAS05 TUMPERE BAUCHI - 10.36841 10.70328 - 10.34316 10.82230 13.64 ✎ A345 A345GOS06 KWANKEJI GOMBE - 10.34316 10.82230 - 10.29032 11.03796 25.05 ✎ A345 A345GOS07 GOMBE GOMBE - 10.29032 11.03796 - 10.15246 11.11099 25.03 ✎ A345 A345GOS08 GADAO GOMBE - 10.15246 11.11099 - 9.98632 11.20223 24.98 ✎ A345 A345GOS09 KALMAI GOMBE - 9.98632 11.20223 - 9.82527 11.31524 24.99 ✎ A345 A345GOS10 TURE GOMBE - 9.82527 11.31524 - 9.71027 11.43935 25.01 ✎ A345 A345GOS11 BAMBAM GOMBE - 9.71027 11.43935 - 9.73811 11.63938 25.04 ✎ A345 A345GOS12 CHUM GOMBE - 9.73811 11.63938 - 9.71052 11.76923 17.04 ✎ A345 A345ADS13 LAFIA ADAMAWA - 9.71052 11.76923 - 9.56051 11.91397 24.99 ✎ A345 A345ADS14 NUMAN ADAMAWA - 9.56051 11.91397 - 9.45030 12.07831 25.26 ✎ A345 A345ADS15 KANURI ADAMAWA - 9.46685 12.03626 - 9.30051 12.23229 30.82 ✎ A4 A4CRS01 ODUKPANI CROSS RIVER - 4.96703 8.32756 - 5.16635 8.34847 24.99 ✎ A4 A4CRS02 AKANKPA CROSS RIVER - 5.16635 8.34847 - 5.35338 8.29660 25.03 ✎ A4 A4SCR03 IWURU OBIO CROSS RIVER - 5.35338 8.29660 - 5.47220 8.13788 25.02 ✎ A4 A4CRS04 IBOGO CROSS RIVER - 5.47220 8.13788 - 5.65383 8.08417 25.05 ✎ A4 A4CRS05 ADIM CROSS RIVER - 5.65383 8.08417 - 5.83450 8.09201 23.96 ✎ A4 A4CRS06 NKO CROSS RIVER - 5.83450 8.09201 - 5.94017 8.24669 26.10 ✎ A4 A4CRS07 APIAPUM CROSS RIVER - 5.94017 8.24669 - 5.93054 8.43491 28.26 ✎ A4 A4CRS08 EKUKUNELA CROSS RIVER - 5.93054 8.43491 - 5.94561 8.61479 21.80 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.