{"id":2529,"date":"2025-07-27T22:39:18","date_gmt":"2025-07-27T22:39:18","guid":{"rendered":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/?p=2529"},"modified":"2025-07-27T22:39:18","modified_gmt":"2025-07-27T22:39:18","slug":"rf-quantum-scythe-api-endpoints","status":"publish","type":"post","link":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/?p=2529","title":{"rendered":"RF QUANTUM SCYTHE API Endpoints"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\"><\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Frontend API Calls (from Signal-Classifier.html)<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Environment API<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>${baseUrl}\/api\/environment\/rf-network?lat=${lat}&amp;lon=${lon}&amp;freq=${freq}<\/code><\/li>\n\n\n\n<li>Used to retrieve RF environment data for visualizations with location and frequency parameters<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>System Health Checks<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>\/api\/check-ml-bridge<\/code>\u00a0(GET)<\/li>\n\n\n\n<li><code>\/api\/check-gemma<\/code>\u00a0(GET)<\/li>\n\n\n\n<li>Used to verify if the ML bridge and Google Gemini services are operational<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Signal Classification<\/strong>\n<ul class=\"wp-block-list\">\n<li><code>http:\/\/127.0.0.1:8069\/api\/fcc\/classify_signal<\/code>\u00a0(POST)<\/li>\n\n\n\n<li>Used to classify RF signals and get FCC-related information<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Other Frontend API Usage<\/strong>\n<ul class=\"wp-block-list\">\n<li>Environmental variable fetching:\u00a0<code>\/.env<\/code><\/li>\n\n\n\n<li>JWST Calibration API (from related JS files):\n<ul class=\"wp-block-list\">\n<li><code>http:\/\/localhost:3002\/api\/check-jwst-data<\/code><\/li>\n\n\n\n<li><code>http:\/\/localhost:3002\/api\/jwst-calibration-data<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">REST API Documentation<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">System Status<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Get System Status<\/strong>\n<ul class=\"wp-block-list\">\n<li>URL:\u00a0<code>\/api\/status<\/code><\/li>\n\n\n\n<li>Method: GET<\/li>\n\n\n\n<li>Returns status of all subsystems (signal_intel, comm_network, etc.)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Signal Intelligence<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Get Signals<\/strong>\n<ul class=\"wp-block-list\">\n<li>URL:\u00a0<code>\/api\/signals<\/code><\/li>\n\n\n\n<li>Method: GET<\/li>\n\n\n\n<li>Parameters: start_time, end_time, min_frequency, max_frequency<\/li>\n\n\n\n<li>Returns detected RF signals with classification details<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Start Scan<\/strong>\n<ul class=\"wp-block-list\">\n<li>URL:\u00a0<code>\/api\/scan<\/code><\/li>\n\n\n\n<li>Method: POST<\/li>\n\n\n\n<li>Starts a new RF scan with specified frequency range and duration<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Analyze Signals<\/strong>\n<ul class=\"wp-block-list\">\n<li>URL:\u00a0<code>\/api\/analyze<\/code><\/li>\n\n\n\n<li>Method: POST<\/li>\n\n\n\n<li>Performs analysis on detected signals, returning statistics and classifications<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Network Packet Analysis &amp; RF Correlation<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Get Network Packets<\/strong>\n<ul class=\"wp-block-list\">\n<li>URL:\u00a0<code>\/api\/packets<\/code><\/li>\n\n\n\n<li>Method: GET<\/li>\n\n\n\n<li>Parameters: limit, protocol, start_time, end_time<\/li>\n\n\n\n<li>Returns captured network packets with protocol details<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Get Specific Packet Details<\/strong>\n<ul class=\"wp-block-list\">\n<li>URL:\u00a0<code>\/api\/packets\/{packet_id}<\/code><\/li>\n\n\n\n<li>Method: GET<\/li>\n\n\n\n<li>Returns detailed information about a specific packet<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Get Packets for Signal<\/strong>\n<ul class=\"wp-block-list\">\n<li>URL:\u00a0<code>\/api\/signals\/{signal_id}\/packets<\/code><\/li>\n\n\n\n<li>Method: GET<\/li>\n\n\n\n<li>Returns all packets correlated with a specific RF signal<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Get Signal for Packet<\/strong>\n<ul class=\"wp-block-list\">\n<li>URL:\u00a0<code>\/api\/packets\/{packet_id}\/signal<\/code><\/li>\n\n\n\n<li>Method: GET<\/li>\n\n\n\n<li>Retrieves the RF signal correlated with a specific network packet<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Start Packet Capture<\/strong>\n<ul class=\"wp-block-list\">\n<li>URL:\u00a0<code>\/api\/packets\/capture\/start<\/code><\/li>\n\n\n\n<li>Method: POST<\/li>\n\n\n\n<li>Starts capturing network packets and correlating with RF signals<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Stop Packet Capture<\/strong>\n<ul class=\"wp-block-list\">\n<li>URL:\u00a0<code>\/api\/packets\/capture\/stop<\/code><\/li>\n\n\n\n<li>Method: POST<\/li>\n\n\n\n<li>Stops the ongoing packet capture<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Get RF Environment with Network Context<\/strong>\n<ul class=\"wp-block-list\">\n<li>URL:\u00a0<code>\/api\/environment\/rf-network<\/code><\/li>\n\n\n\n<li>Method: GET<\/li>\n\n\n\n<li>Gets RF environment information enhanced with network traffic context<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">WebSocket API<\/h2>\n\n\n\n<p>The system also provides real-time updates via WebSocket connections:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>WebSocket Server<\/strong>:\u00a0<code>ws:\/\/server:5001\/ws<\/code><\/li>\n\n\n\n<li><strong>Authentication<\/strong>: Send JSON with type &#8220;auth&#8221; and API key<\/li>\n\n\n\n<li><strong>Subscriptions<\/strong>: Subscribe to specific event types (signal_detected, packet_detected, etc.)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">WebSocket Message Types:<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Signal Data Messages<\/strong>: Real-time signal detection data<\/li>\n\n\n\n<li><strong>Packet Data Messages<\/strong>: Network packet information<\/li>\n\n\n\n<li><strong>Classification Update Messages<\/strong>: Changes in signal classification<\/li>\n\n\n\n<li><strong>Environment Update Messages<\/strong>: RF environment changes<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Google Gemini Integration<\/h2>\n\n\n\n<p>Google Gemini is integrated into the system through:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>gemini_rf_analyzer.py<\/code>: Uses Gemini API for advanced RF signal analysis<\/li>\n\n\n\n<li><code>gemini_signal_classifier.py<\/code>: Offloads signal classification to Google&#8217;s servers<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">API Key Requirements<\/h2>\n\n\n\n<p>The system uses various API keys stored in the&nbsp;<code>.env<\/code>&nbsp;file, including:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>GOOGLE_GEMINI_API<\/li>\n\n\n\n<li>HUGGING_FACE_API<\/li>\n\n\n\n<li>OPENAI_API_KEY<\/li>\n\n\n\n<li>ANTHROPIC_API_KEY<\/li>\n\n\n\n<li>ODOO_API_KEY<\/li>\n\n\n\n<li>N8N_API_KEY<\/li>\n\n\n\n<li>SERP_API<\/li>\n\n\n\n<li>NEWSAPI_ORG<\/li>\n\n\n\n<li>CRATE_DB<\/li>\n\n\n\n<li>APIFY_KEY<\/li>\n\n\n\n<li>NNIDIA_NIM_API<\/li>\n\n\n\n<li>SHODAN_API_KEY<\/li>\n<\/ul>\n\n\n\n<p>These keys enable various AI\/ML, automation, web searching, and device discovery functions within the system.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Frontend API Calls (from Signal-Classifier.html) REST API Documentation System Status Signal Intelligence Network Packet Analysis &amp; RF Correlation WebSocket API The system also provides real-time updates via WebSocket connections: WebSocket Message Types: Google Gemini Integration Google Gemini is integrated into the system through: API Key Requirements The system uses various API keys stored in the&nbsp;.env&nbsp;file,&hellip;&nbsp;<a href=\"https:\/\/172-234-197-23.ip.linodeusercontent.com\/?p=2529\" rel=\"bookmark\"><span class=\"screen-reader-text\">RF QUANTUM SCYTHE API Endpoints<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1986,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[10],"tags":[],"class_list":["post-2529","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-signal_scythe"],"_links":{"self":[{"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=\/wp\/v2\/posts\/2529","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2529"}],"version-history":[{"count":1,"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=\/wp\/v2\/posts\/2529\/revisions"}],"predecessor-version":[{"id":2530,"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=\/wp\/v2\/posts\/2529\/revisions\/2530"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=\/wp\/v2\/media\/1986"}],"wp:attachment":[{"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2529"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2529"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/172-234-197-23.ip.linodeusercontent.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2529"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}