All Reports (22) Delete Upload 🔍 File Name Type Last Updated Uploaded by A1KES31-12 RCA 2 weeks ago Engineer Ridwan Bankole A1KES31-14 RCA 2 weeks ago Engineer Ridwan Bankole A1KES31-14 Physical Inspection 2 weeks ago Engineer Ridwan Bankole A1KES31-15 RCA 2 weeks ago Engineer Ridwan Bankole A1KES31-15 Physical Inspection 2 weeks ago Engineer Ridwan Bankole A1KES40-01 RCA 3 weeks ago Engineer Ridwan Bankole A1KES40-08 RCA 3 weeks ago Engineer Ridwan Bankole A1KES40-12 RCA 3 weeks ago Engineer Ridwan Bankole A1KWS15-01 RCA 3 weeks ago Engineer Ridwan Bankole A1KWS15-02 RCA 3 weeks ago Engineer Ridwan Bankole A1KWS15-13 RCA 1 day ago Engineer Ridwan Bankole A1LAS01-01 RCA 1 day ago Engineer Ridwan Bankole A1LAS01-02 RCA 1 day ago Engineer Ridwan Bankole A1NIS26-01 RCA 2 weeks ago Engineer Ridwan Bankole A1NIS26-02 RCA 2 weeks ago Engineer Ridwan Bankole A1NIS26-03 RCA 2 weeks ago Engineer Ridwan Bankole A1NIS26-04 RCA 2 weeks ago Engineer Ridwan Bankole A1NIS26-05 RCA 2 weeks ago Engineer Ridwan Bankole A1NIS26-06 RCA 2 weeks ago Engineer Ridwan Bankole A1NIS26-11 RCA 2 weeks ago Engineer Ridwan Bankole A1NIS26-16 RCA 2 weeks ago Engineer Ridwan Bankole A1NIS26-17 RCA 2 weeks ago Engineer Ridwan Bankole 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.