Registered is not implemented. Many of these answer 501 NOT_IMPLEMENTED on purpose, and pcapai-server does not ship in any installer — it is cargo run -p pcapai-server. The contract, the status codes and the one four-call flow that actually works live in PCAPAI-HTTP-API-Handoff.md; this table only proves which URLs the router binds.
| Method | Path | Handler |
|---|---|---|
| GET | / | root |
| GET | /api/v1/admin/audit | api::admin::get_audit_logs |
| GET | /api/v1/admin/config | api::admin::get_configuration |
| PUT | /api/v1/admin/config | api::admin::update_configuration |
| GET | /api/v1/admin/health | api::admin::get_health |
| POST | /api/v1/admin/maintenance | api::admin::perform_maintenance |
| GET | /api/v1/admin/stats | api::admin::get_statistics |
| GET | /api/v1/admin/users | api::admin::get_users |
| POST | /api/v1/admin/users | api::admin::create_user |
| DELETE | /api/v1/admin/users/:user_id | api::admin::delete_user |
| PUT | /api/v1/admin/users/:user_id | api::admin::update_user |
| POST | /api/v1/auth/login | api::auth::login |
| POST | /api/v1/auth/logout | api::auth::logout |
| POST | /api/v1/auth/refresh | api::auth::refresh_token |
| GET | /api/v1/capture/interfaces | api::capture::list_interfaces |
| GET | /api/v1/capture/runs | api::capture::list_runs |
| POST | /api/v1/capture/runs | api::capture::start_run |
| GET | /api/v1/capture/runs/:run_id | api::capture::get_run |
| GET | /api/v1/capture/runs/:run_id/segments | api::capture::list_segments |
| POST | /api/v1/capture/runs/:run_id/stop | api::capture::stop_run |
| POST | /api/v1/carrier/lookup | api::carrier::carrier_lookup |
| POST | /api/v1/dns/lookup | api::netmore::dns_lookup |
| GET | /api/v1/exports/:export_id | api::browse::get_export |
| GET | /api/v1/files | api::files::list_files |
| POST | /api/v1/files | api::files::upload_file |
| DELETE | /api/v1/files/:file_id | api::files::delete_file |
| GET | /api/v1/files/:file_id | api::files::get_file |
| POST | /api/v1/files/:file_id/analyze | api::files::analyze_file |
| GET | /api/v1/files/:file_id/bundle | api::files::get_bundle |
| GET | /api/v1/files/:file_id/conversations | api::browse::conversations |
| POST | /api/v1/files/:file_id/convert | api::files::convert_file |
| GET | /api/v1/files/:file_id/download | api::files::download_file |
| GET | /api/v1/files/:file_id/endpoints | api::browse::endpoints |
| POST | /api/v1/files/:file_id/exports | api::browse::create_export |
| POST | /api/v1/files/:file_id/filters | api::browse::create_filter |
| GET | /api/v1/files/:file_id/io | api::browse::io_graph |
| GET | /api/v1/files/:file_id/packets | api::browse::list_packets |
| GET | /api/v1/files/:file_id/packets/:packet_no | api::browse::packet_detail |
| GET | /api/v1/files/:file_id/packets/:packet_no/bytes | api::browse::packet_bytes |
| GET | /api/v1/files/:file_id/packets/:packet_no/stream | api::streams::packet_stream |
| GET | /api/v1/files/:file_id/protocol-hierarchy | api::browse::protocol_hierarchy |
| GET | /api/v1/files/:file_id/services | api::files::get_service_summary |
| GET | /api/v1/files/:file_id/services/details | api::files::get_service_details |
| GET | /api/v1/files/:file_id/streams/:protocol/:index | api::streams::follow |
| POST | /api/v1/files/:file_id/tools/:tool_name | api::browse::run_tool |
| POST | /api/v1/files/bulk | api::files::bulk_operation |
| GET | /api/v1/filters/fields | api::browse::filter_fields |
| POST | /api/v1/hunts | api::library::create_hunt |
| POST | /api/v1/hunts/:job_id/cancel | api::library::cancel_hunt |
| GET | /api/v1/jobs/:job_id | api::jobs::get_job_status |
| POST | /api/v1/jobs/:job_id/cancel | api::jobs::cancel_job |
| GET | /api/v1/library | api::library::search_library |
| POST | /api/v1/myip | api::netmore::my_ip |
| POST | /api/v1/network/ping | api::netprobe::ping |
| POST | /api/v1/network/traceroute | api::netprobe::traceroute |
| GET | /api/v1/openapi.json | openapi::openapi_json |
| POST | /api/v1/oui/lookup | api::netprobe::oui_lookup |
| POST | /api/v1/portscan/runs | api::portscan::start_run |
| GET | /api/v1/portscan/runs/:run_id | api::portscan::get_run |
| POST | /api/v1/portscan/runs/:run_id/cancel | api::portscan::cancel_run |
| GET | /api/v1/siem/alerts | api::siem::get_alerts |
| GET | /api/v1/siem/alerts/:alert_id | api::siem::get_alert |
| PUT | /api/v1/siem/alerts/:alert_id | api::siem::update_alert |
| GET | /api/v1/siem/config | api::siem::get_configuration |
| PUT | /api/v1/siem/config | api::siem::update_configuration |
| GET | /api/v1/siem/rules | api::siem::get_rules |
| POST | /api/v1/siem/rules | api::siem::save_rule |
| DELETE | /api/v1/siem/rules/:rule_id | api::siem::delete_rule |
| POST | /api/v1/subnet/calc | api::netmore::subnet_calc |
| GET | /api/v1/throughput/engines | api::throughput::engines |
| POST | /api/v1/throughput/runs | api::throughput::start_run |
| GET | /api/v1/throughput/runs/:run_id | api::throughput::get_run |
| POST | /api/v1/throughput/runs/:run_id/cancel | api::throughput::cancel_run |
| POST | /api/v1/ws/ticket | streaming::issue_ws_ticket |
| GET | /health | health_check |
| GET | /metrics | prometheus_metrics |
| GET | /status | server_status |
| GET | /ws/stream | streaming::websocket_handler |