{"openapi":"3.1.0","info":{"title":"ΔFieldNet API","version":"1.0.0"},"paths":{"/p/{uuid_link}":{"get":{"summary":"Resolve Short Link","description":"📱 Resolve UUID short links to profile pages (like HeyDrop!)\n\nExample: https://deltaworlds.world/p/04cea092-7e7d-4485-8eea-d14825aa23b5","operationId":"resolve_short_link_p__uuid_link__get","parameters":[{"name":"uuid_link","in":"path","required":true,"schema":{"type":"string","title":"Uuid Link"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/profile/create-link":{"post":{"summary":"Create Profile Short Link","description":"יצירת קישור קצר לפרופיל (UUID)","operationId":"create_profile_short_link_v1_profile_create_link_post","parameters":[{"name":"delta_id","in":"query","required":true,"schema":{"type":"string","title":"Delta Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/profile/{delta_id}":{"get":{"summary":"Get Profile","description":"קבלת פרטי פרופיל","operationId":"get_profile_v1_profile__delta_id__get","parameters":[{"name":"delta_id","in":"path","required":true,"schema":{"type":"string","title":"Delta Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/delta/phase/stats":{"get":{"summary":"Delta Phase Stats","description":"Server-side ΔPhase cache + Compute Gate stats — proves the middleware is alive.","operationId":"delta_phase_stats_v1_delta_phase_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/measurements":{"get":{"summary":"List Measurements Root","description":"List measurements — reads from core/data/measurements.json. Optional actor_id filter.","operationId":"list_measurements_root_v1_measurements_get","parameters":[{"name":"actor_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actor Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/measures":{"get":{"summary":"List Measures Alias","description":"Alias for /v1/measurements — backwards compat (used by my-history.html).","operationId":"list_measures_alias_v1_measures_get","parameters":[{"name":"actor_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actor Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/canonical":{"get":{"summary":"Canonical Root","description":"Canonical state — fallback when no actor in path. Falls back to X-Delta-ID header.","operationId":"canonical_root_v1_canonical_get","parameters":[{"name":"actor_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actor Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/business/list":{"get":{"summary":"Business List Alias","description":"Alias for /v1/businesses/all — handles UI typo.","operationId":"business_list_alias_v1_business_list_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/coupon/validate":{"post":{"summary":"Coupon Validate","description":"Validate a coupon code — stub returns coupon details if exists in core/data/coupons.json.","operationId":"coupon_validate_v1_coupon_validate_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/forecast":{"get":{"summary":"Get Forecast","description":"Demand/earnings forecast — stub uses ELA prediction engine if available.","operationId":"get_forecast_v1_forecast_get","parameters":[{"name":"actor_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actor Id"}},{"name":"horizon","in":"query","required":false,"schema":{"type":"integer","default":7,"title":"Horizon"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/stats":{"get":{"summary":"Public Stats","description":"Public platform stats — basic counts for index/welcome pages.","operationId":"public_stats_v1_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/call":{"get":{"summary":"Web Call Page","description":"Serve the web call page - anyone can call via browser!","operationId":"web_call_page_call_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/call/{delta_id}":{"get":{"summary":"Web Call To User","description":"Direct call link - opens call page with target ID pre-filled","operationId":"web_call_to_user_call__delta_id__get","parameters":[{"name":"delta_id","in":"path","required":true,"schema":{"type":"string","title":"Delta Id"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/":{"get":{"summary":"Root","description":"Redirect to landing page","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/delta.js":{"get":{"summary":"Serve Delta Widget","description":"📦 Serve the Δ ONE Widget script\nUsage: <script src=\"https://deltaworlds.world/delta.js\"></script>","operationId":"serve_delta_widget_delta_js_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/claim/{wo_id}":{"get":{"summary":"Serve Claim Page","description":"📋 Serve the Claim page for businesses\nURL: https://deltaworlds.world/claim/WO-12345","operationId":"serve_claim_page_claim__wo_id__get","parameters":[{"name":"wo_id","in":"path","required":true,"schema":{"type":"string","title":"Wo Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api":{"get":{"summary":"Api Status","description":"API status endpoint","operationId":"api_status_api_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/apple-developer-merchantid-domain-association.txt":{"get":{"summary":"Apple Domain Verification","description":"Apple Pay domain verification file - required at root path","operationId":"apple_domain_verification_apple_developer_merchantid_domain_association_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/apple-developer-merchantid-domain-association":{"get":{"summary":"Apple Domain Verification","description":"Apple Pay domain verification file - required at root path","operationId":"apple_domain_verification_apple_developer_merchantid_domain_association_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/security/status":{"get":{"summary":"Get Security Status","description":"Get current security status including all safety layers.","operationId":"get_security_status_v1_security_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/security/emergency-freeze":{"post":{"summary":"Emergency Freeze","description":"🚨 Emergency freeze - stops all operations except health checks.","operationId":"emergency_freeze_v1_security_emergency_freeze_post","parameters":[{"name":"reason","in":"query","required":false,"schema":{"type":"string","default":"Manual freeze requested","title":"Reason"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/security/unfreeze":{"post":{"summary":"Unfreeze System","description":"Unfreeze the system - requires admin key.","operationId":"unfreeze_system_v1_security_unfreeze_post","parameters":[{"name":"admin_key","in":"query","required":false,"schema":{"type":"string","default":"","title":"Admin Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/security/reset":{"post":{"summary":"Reset Safety","description":"🔄 Reset safety system - clears all attack logs and resets to NORMAL.","operationId":"reset_safety_v1_security_reset_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/security/create-rollback-point":{"post":{"summary":"Create Rollback Point","description":"Create a rollback point for the current system state.","operationId":"create_rollback_point_v1_security_create_rollback_point_post","parameters":[{"name":"description","in":"query","required":false,"schema":{"type":"string","default":"Manual rollback point","title":"Description"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/security/rollback-points":{"get":{"summary":"Get Rollback Points","description":"Get all available rollback points.","operationId":"get_rollback_points_v1_security_rollback_points_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/security/events":{"get":{"summary":"Get Security Events","description":"Get recent security events.","operationId":"get_security_events_v1_security_events_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/brain/knowledge":{"get":{"summary":"Get Brain Knowledge","description":"🧠 Get system knowledge from the Brain\nReturns concepts, modules, and system health from:\n- core_dna.yaml\n- active_genome.json\n- field_brain analysis","operationId":"get_brain_knowledge_v1_brain_knowledge_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/brain/query":{"post":{"summary":"Query Brain","description":"🧠 Query the Brain - semantic understanding\nUses NLP to understand user intent and return relevant data","operationId":"query_brain_v1_brain_query_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/ela/chat":{"post":{"summary":"Ela Chat","description":"ELA personal assistant chat — Ollama with full system context.","operationId":"ela_chat_v1_ela_chat_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/brain/status":{"get":{"summary":"Get Brain Status","description":"🧠 Get Brain status - is it connected and healthy?","operationId":"get_brain_status_v1_brain_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/proxy/measure/{path}":{"delete":{"summary":"Proxy Measure","description":"Proxy to ΔMeasure API (8090) - accessible from anywhere via 8081!","operationId":"proxy_measure_proxy_measure__path__delete","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Proxy Measure","description":"Proxy to ΔMeasure API (8090) - accessible from anywhere via 8081!","operationId":"proxy_measure_proxy_measure__path__delete","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Proxy Measure","description":"Proxy to ΔMeasure API (8090) - accessible from anywhere via 8081!","operationId":"proxy_measure_proxy_measure__path__delete","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Proxy Measure","description":"Proxy to ΔMeasure API (8090) - accessible from anywhere via 8081!","operationId":"proxy_measure_proxy_measure__path__delete","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/verify/{qr_code}":{"get":{"summary":"Verify Measurement Public","description":"Proxy verification requests to ΔMeasure API (8090)","operationId":"verify_measurement_public_v1_public_verify__qr_code__get","parameters":[{"name":"qr_code","in":"path","required":true,"schema":{"type":"string","title":"Qr Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/market/open":{"get":{"summary":"Get Market Open","description":"Proxy market listings to ΔMeasure API (8090)","operationId":"get_market_open_v1_market_open_get","parameters":[{"name":"category","in":"query","required":false,"schema":{"type":"string","title":"Category"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/market/{listing_id}/quote":{"post":{"summary":"Submit Quote","description":"Proxy quote submission to ΔMeasure API (8090)","operationId":"submit_quote_v1_market__listing_id__quote_post","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","title":"Listing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/workcases":{"get":{"summary":"List Workcases","description":"🧳 רשימת תיקי עבודה של המשתמש\n\nReturns workcases from:\n1. Local workcases_store\n2. Measurements from delta_measure_api (port 8090)\n\nCan search by:\n- device_id (direct)\n- user_id (ΔID - will look up device_id from identity)\n- X-Delta-ID header","operationId":"list_workcases_v1_workcases_get","parameters":[{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"}},{"name":"device_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Device Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Create Workcase","description":"🧳 יצירת תיק עבודה חדש","operationId":"create_workcase_v1_workcases_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/workcases/quote-request":{"post":{"summary":"Proxy Quote Request","description":"Proxy: בקשת הצעת מחיר מקבלנים","operationId":"proxy_quote_request_v1_workcases_quote_request_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/workcases/find-contractor":{"post":{"summary":"Proxy Find Contractor","description":"Proxy: מציאת קבלנים מתאימים","operationId":"proxy_find_contractor_v1_workcases_find_contractor_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/workcases/{measurement_id}":{"get":{"summary":"Proxy Get Workcase","description":"Get WorkCase — tries measure API first, falls back to work_orders.json","operationId":"proxy_get_workcase_v1_workcases__measurement_id__get","parameters":[{"name":"measurement_id","in":"path","required":true,"schema":{"type":"string","title":"Measurement Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/business/register-full":{"post":{"summary":"Proxy Business Register Full","description":"Register new business - forwards to 8090 + auto-creates manifest/agent/provider","operationId":"proxy_business_register_full_v1_business_register_full_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/business/verify-phone":{"post":{"summary":"Proxy Business Verify Phone","description":"Proxy: Verify business phone - forwards to delta_measure_api (8090)","operationId":"proxy_business_verify_phone_v1_business_verify_phone_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/business/validate":{"post":{"summary":"Proxy Business Validate","description":"Proxy: Validate a business code - forwards to delta_measure_api (8090).","operationId":"proxy_business_validate_v1_business_validate_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/business/resend-verification":{"post":{"summary":"Proxy Business Resend Verification","description":"Proxy: Resend verification code - forwards to delta_measure_api (8090)","operationId":"proxy_business_resend_verification_v1_business_resend_verification_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/business/verify-with-delta":{"post":{"summary":"Proxy Business Verify With Delta","description":"Proxy: Verify business with ΔID - forwards to delta_measure_api (8090)","operationId":"proxy_business_verify_with_delta_v1_business_verify_with_delta_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/businesses/all":{"get":{"summary":"Get All Businesses","description":"Get all businesses - reads directly from businesses.json for real-time updates","operationId":"get_all_businesses_v1_businesses_all_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/operator/register":{"post":{"summary":"Operator Register","description":"🆕 Register a Network Operator (pending until admin approves).\nBody: { delta_id, name, phone, email, area, area_lat, area_lng }","operationId":"operator_register_v1_operator_register_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/admin/operator/{operator_id}/approve":{"post":{"summary":"Operator Approve","description":"🆕 Admin approves an operator. Body: { tier: 'active'|'verified'|'growth' }","operationId":"operator_approve_v1_admin_operator__operator_id__approve_post","parameters":[{"name":"operator_id","in":"path","required":true,"schema":{"type":"string","title":"Operator Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/{operator_id}/dashboard":{"get":{"summary":"Operator Dashboard","description":"🆕 Full dashboard for operator-hub.html — stats, earnings, activated nodes.","operationId":"operator_dashboard_v1_operator__operator_id__dashboard_get","parameters":[{"name":"operator_id","in":"path","required":true,"schema":{"type":"string","title":"Operator Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/{operator_id}/earnings":{"get":{"summary":"Operator Earnings","description":"🆕 Operator earnings list — verified by MRV.","operationId":"operator_earnings_v1_operator__operator_id__earnings_get","parameters":[{"name":"operator_id","in":"path","required":true,"schema":{"type":"string","title":"Operator Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/by-delta-id/{delta_id}":{"get":{"summary":"Operator By Delta Id","description":"🆕 Lookup operator by their human ΔID.","operationId":"operator_by_delta_id_v1_operator_by_delta_id__delta_id__get","parameters":[{"name":"delta_id","in":"path","required":true,"schema":{"type":"string","title":"Delta Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/creator/jobs/create":{"post":{"summary":"Creator Create Job","description":"Create a ContentJob — generates ΔPHASE0-locked SmartLink + MRV anchor.\n\nAuth: X-Delta-ID is required (self only).\nSide-effects: writes creator_jobs.json + emits CONTENT.JOB_CREATED bus event\n+ MRV signs + registers CreatorAgent if not yet active.","operationId":"creator_create_job_v1_creator_jobs_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatorJobCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/creator/{delta_id}/jobs":{"get":{"summary":"Creator List Jobs","description":"List all ContentJobs for a creator. Read-only — no auth needed.","operationId":"creator_list_jobs_v1_creator__delta_id__jobs_get","parameters":[{"name":"delta_id","in":"path","required":true,"schema":{"type":"string","title":"Delta Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/creator/jobs/{job_id}/publish":{"post":{"summary":"Creator Publish Job","description":"Mark a DRAFT job as PUBLISHED — credits publish_bonus (idempotent).\n\nAuth: X-Delta-ID must match the job's creator_id.","operationId":"creator_publish_job_v1_creator_jobs__job_id__publish_post","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatorJobPublish"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/creator/{delta_id}/earnings":{"get":{"summary":"Creator Earnings","description":"List all earnings for a creator — verified by MRV. Read-only.","operationId":"creator_earnings_v1_creator__delta_id__earnings_get","parameters":[{"name":"delta_id","in":"path","required":true,"schema":{"type":"string","title":"Delta Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/creator/{delta_id}/dashboard":{"get":{"summary":"Creator Dashboard","description":"Full dashboard payload for creator-studio.html.","operationId":"creator_dashboard_v1_creator__delta_id__dashboard_get","parameters":[{"name":"delta_id","in":"path","required":true,"schema":{"type":"string","title":"Delta Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/opportunities/feed":{"get":{"summary":"Opportunities Feed","description":"Unified feed of live opportunities — used by life-home TAVO NOW section.\n\nOptional ?lat&lng add per-card haversine distance + sort by proximity for\nlocation-bearing cards (orphans/food/courier). ?role filters to a single\naction_role (creator|operator|courier|customer|measurer|contractor).","operationId":"opportunities_feed_v1_opportunities_feed_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}},{"name":"lat","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"}},{"name":"lng","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lng"}},{"name":"role","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/search/global":{"get":{"summary":"Search Global","description":"Cross-catalog search — wires to store_products.json + businesses.json + categories.","operationId":"search_global_v1_search_global_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","default":"","title":"Q"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/network/pulse":{"get":{"summary":"Network Pulse","description":"Network pulse + live ticker — reads existing files, no new persistence.","operationId":"network_pulse_v1_network_pulse_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":8,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/creator/leaderboard":{"get":{"summary":"Creator Leaderboard","description":"Top creators by money-per-visual (total_earned / lifetime_jobs).\n\nPublic — used to motivate new creators by showing real earnings.","operationId":"creator_leaderboard_v1_creator_leaderboard_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/admin/operators":{"get":{"summary":"Admin List Operators","description":"🆕 Admin list of all operators with status filter.","operationId":"admin_list_operators_v1_admin_operators_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/operator/{operator_id}/attribute-business":{"post":{"summary":"Operator Attribute Business","description":"🆕 Manually attribute a business to an operator (used by referral flow).\nBody: { business_code }","operationId":"operator_attribute_business_v1_operator__operator_id__attribute_business_post","parameters":[{"name":"operator_id","in":"path","required":true,"schema":{"type":"string","title":"Operator Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/wallet/{actor_key}/canonical":{"get":{"summary":"Wallet Canonical","description":"🆕 Unified balance for an actor across api_wallets + runtime + platform_wallet + legacy.\n\nReturns:\n  canonical_balance: single number representing actor's true holdings\n  breakdown: per-store contribution\n  drift: max-min across stores (>0 means inconsistency)\n  drift_severity: none | minor | major | critical","operationId":"wallet_canonical_v1_wallet__actor_key__canonical_get","parameters":[{"name":"actor_key","in":"path","required":true,"schema":{"type":"string","title":"Actor Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/wallet-reconciliation":{"get":{"summary":"Wallet Reconciliation Scan Ep","description":"🆕 Scan all wallets for drift across stores. Read-only.","operationId":"wallet_reconciliation_scan_ep_v1_admin_wallet_reconciliation_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/admin/wallet-reconcile":{"post":{"summary":"Wallet Reconcile Heal Ep","description":"🆕 Heal known drift patterns. POST { dry_run: true|false }.\nEach heal action is signed by MRV chain and logged to data/wallet_reconciliation_log.json","operationId":"wallet_reconcile_heal_ep_v1_admin_wallet_reconcile_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/businesses/registered":{"get":{"summary":"Get Registered Businesses Count","description":"Public count of registered businesses (used by status.html). Read-only.","operationId":"get_registered_businesses_count_v1_businesses_registered_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/credits/{customer_id}":{"get":{"summary":"Get User Credits","description":"💳 קבל את כל הקרדיטים של משתמש מכל החנויות","operationId":"get_user_credits_v1_credits__customer_id__get","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","title":"Customer Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/proxy/phase/{path}":{"delete":{"summary":"Proxy Phase","description":"Proxy to Phase Reconstruction API (8087)","operationId":"proxy_phase_proxy_phase__path__delete","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Proxy Phase","description":"Proxy to Phase Reconstruction API (8087)","operationId":"proxy_phase_proxy_phase__path__delete","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Proxy Phase","description":"Proxy to Phase Reconstruction API (8087)","operationId":"proxy_phase_proxy_phase__path__delete","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Proxy Phase","description":"Proxy to Phase Reconstruction API (8087)","operationId":"proxy_phase_proxy_phase__path__delete","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/proxy/brain/{path}":{"delete":{"summary":"Proxy Brain","description":"Proxy to Brain API (8085)","operationId":"proxy_brain_proxy_brain__path__delete","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Proxy Brain","description":"Proxy to Brain API (8085)","operationId":"proxy_brain_proxy_brain__path__delete","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Proxy Brain","description":"Proxy to Brain API (8085)","operationId":"proxy_brain_proxy_brain__path__delete","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Proxy Brain","description":"Proxy to Brain API (8085)","operationId":"proxy_brain_proxy_brain__path__delete","parameters":[{"name":"path","in":"path","required":true,"schema":{"type":"string","title":"Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/status":{"get":{"summary":"Status","description":"Status endpoint for FieldNet monitoring","operationId":"status_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/fieldnet/connect":{"post":{"summary":"Connect","description":"Connect device to FieldNet","operationId":"connect_v1_fieldnet_connect_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fieldnet/register":{"post":{"summary":"Register Anchor","description":"Register device as anchor in ΔFieldNet","operationId":"register_anchor_v1_fieldnet_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnchorRegistration"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnchorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fieldnet/anchors":{"get":{"summary":"Get Anchors","description":"Get all nearby Anchors","operationId":"get_anchors_v1_fieldnet_anchors_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnchorsResponse"}}}}}}},"/v1/fieldnet/sync":{"post":{"summary":"Sync Phase","description":"Sync with global phase","operationId":"sync_phase_v1_fieldnet_sync_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fieldnet/stats":{"get":{"summary":"Get Stats","description":"Get FieldNet statistics","operationId":"get_stats_v1_fieldnet_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/wallet/{userID}":{"get":{"summary":"Get Wallet","description":"Get user wallet - REAL DATA from persistent storage","operationId":"get_wallet_v1_wallet__userID__get","parameters":[{"name":"userID","in":"path","required":true,"schema":{"type":"string","title":"Userid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WalletResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/wallet/{userID}/load":{"post":{"summary":"Load Wallet","description":"טעינת ארנק - 🔐 REQUIRES PAYMENT VERIFICATION + SERVER-SIDE AMOUNT","operationId":"load_wallet_v1_wallet__userID__load_post","parameters":[{"name":"userID","in":"path","required":true,"schema":{"type":"string","title":"Userid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/wallet/{userID}/transfer":{"post":{"summary":"Transfer Wallet","description":"העברת כסף בין ארנקים - 🔐 REQUIRES ΔID AUTH","operationId":"transfer_wallet_v1_wallet__userID__transfer_post","parameters":[{"name":"userID","in":"path","required":true,"schema":{"type":"string","title":"Userid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/credits/transfer-to-wallet":{"post":{"summary":"Transfer Credit To Wallet","description":"🔄 העברת כסף מקרדיט חנות לארנק ראשי\n\nBody:\n- business_codes: list[str] - רשימת קודים של חנויות (או [\"ALL\"] לכל החנויות)\n- amounts: dict[str, float] - סכום להעברה מכל חנות (אופציונלי - ברירת מחדל: כל היתרה)\n\n🔐 REQUIRES ΔID AUTH + Face ID verification","operationId":"transfer_credit_to_wallet_v1_credits_transfer_to_wallet_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/cards":{"get":{"summary":"Get Cards","description":"Get user cards - REAL DATA from persistent storage","operationId":"get_cards_v1_cards_get","parameters":[{"name":"walletID","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Walletid"}},{"name":"userId","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Userid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CardsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cards/add":{"post":{"summary":"Add Card","description":"Add a new card to wallet - saves to persistent storage","operationId":"add_card_v1_cards_add_post","parameters":[{"name":"walletID","in":"query","required":true,"schema":{"type":"string","title":"Walletid"}},{"name":"holder_name","in":"query","required":true,"schema":{"type":"string","title":"Holder Name"}},{"name":"card_number","in":"query","required":true,"schema":{"type":"string","title":"Card Number"}},{"name":"expiry","in":"query","required":true,"schema":{"type":"string","title":"Expiry"}},{"name":"brand","in":"query","required":false,"schema":{"type":"string","default":"Visa","title":"Brand"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cards/{card_id}/freeze":{"post":{"summary":"Freeze Card","description":"Freeze a card - prevents transactions","operationId":"freeze_card_v1_cards__card_id__freeze_post","parameters":[{"name":"card_id","in":"path","required":true,"schema":{"type":"string","title":"Card Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cards/{card_id}/status":{"put":{"summary":"Update Card Status","description":"Update card active/inactive status","operationId":"update_card_status_v1_cards__card_id__status_put","parameters":[{"name":"card_id","in":"path","required":true,"schema":{"type":"string","title":"Card Id"}},{"name":"active","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Active"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cards/{card_id}/nfc":{"put":{"summary":"Update Card Nfc","description":"Enable/disable NFC for card","operationId":"update_card_nfc_v1_cards__card_id__nfc_put","parameters":[{"name":"card_id","in":"path","required":true,"schema":{"type":"string","title":"Card Id"}},{"name":"enabled","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Enabled"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cards/{card_id}/limits":{"put":{"summary":"Update Card Limits","description":"Update card spending limits","operationId":"update_card_limits_v1_cards__card_id__limits_put","parameters":[{"name":"card_id","in":"path","required":true,"schema":{"type":"string","title":"Card Id"}},{"name":"daily","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Daily"}},{"name":"monthly","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Monthly"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cards/{card_id}":{"delete":{"summary":"Delete Card","description":"Delete a card","operationId":"delete_card_v1_cards__card_id__delete","parameters":[{"name":"card_id","in":"path","required":true,"schema":{"type":"string","title":"Card Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cards/{card_id}/pass.pkpass":{"get":{"summary":"Get Wallet Pass File","description":"Direct .pkpass file download - Safari needs URL ending with .pkpass","operationId":"get_wallet_pass_file_v1_cards__card_id__pass_pkpass_get","parameters":[{"name":"card_id","in":"path","required":true,"schema":{"type":"string","title":"Card Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cards/{card_id}/wallet-pass":{"get":{"summary":"Get Wallet Pass","description":"Generate Apple Wallet pass for card - supports both ΔCards and Stripe cards","operationId":"get_wallet_pass_v1_cards__card_id__wallet_pass_get","parameters":[{"name":"card_id","in":"path","required":true,"schema":{"type":"string","title":"Card Id"}},{"name":"download","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Download"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cards/{card_id}/applepay":{"post":{"summary":"Add Card To Apple Pay","description":"🍎 הוספת כרטיס ל-Apple Pay\n\nThis endpoint is called by iOS app (ΔCardManager.swift)\nto provision a card into Apple Wallet.\n\nIn production:\n1. Verify card belongs to user\n2. Generate provisioning data for Apple\n3. Return token for PKAddPaymentPassViewController","operationId":"add_card_to_apple_pay_v1_cards__card_id__applepay_post","parameters":[{"name":"card_id","in":"path","required":true,"schema":{"type":"string","title":"Card Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Remove Card From Apple Pay","description":"🍎 הסרת כרטיס מ-Apple Pay","operationId":"remove_card_from_apple_pay_v1_cards__card_id__applepay_delete","parameters":[{"name":"card_id","in":"path","required":true,"schema":{"type":"string","title":"Card Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/credits":{"get":{"summary":"Get Credits","description":"Get user P2P credits - REAL DATA from persistent storage","operationId":"get_credits_v1_credits_get","parameters":[{"name":"userID","in":"query","required":true,"schema":{"type":"string","title":"Userid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/credits/create":{"post":{"summary":"Create Credit","description":"Create a new P2P credit - saves to persistent storage","operationId":"create_credit_v1_credits_create_post","parameters":[{"name":"lenderID","in":"query","required":true,"schema":{"type":"string","title":"Lenderid"}},{"name":"borrowerID","in":"query","required":true,"schema":{"type":"string","title":"Borrowerid"}},{"name":"amount","in":"query","required":true,"schema":{"type":"number","title":"Amount"}},{"name":"interest_rate","in":"query","required":false,"schema":{"type":"number","default":0,"title":"Interest Rate"}},{"name":"due_days","in":"query","required":false,"schema":{"type":"integer","default":30,"title":"Due Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/credits/{credit_id}/status":{"put":{"summary":"Update Credit Status","description":"Update credit status (active, paid, defaulted, cancelled)","operationId":"update_credit_status_v1_credits__credit_id__status_put","parameters":[{"name":"credit_id","in":"path","required":true,"schema":{"type":"string","title":"Credit Id"}},{"name":"status","in":"query","required":true,"schema":{"type":"string","title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/credits/{credit_id}/payment":{"post":{"summary":"Record Credit Payment","description":"Record a payment towards a P2P credit","operationId":"record_credit_payment_v1_credits__credit_id__payment_post","parameters":[{"name":"credit_id","in":"path","required":true,"schema":{"type":"string","title":"Credit Id"}},{"name":"amount","in":"query","required":true,"schema":{"type":"number","title":"Amount"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/nfc/history":{"get":{"summary":"Get Nfc History","description":"Get NFC payment history for user","operationId":"get_nfc_history_v1_pay_nfc_history_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/business/{code}":{"get":{"summary":"Get Business","description":"Get business info from in-memory cache, then 8090, then businesses.json file.","operationId":"get_business_v1_business__code__get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/my-businesses":{"get":{"summary":"Get My Businesses","description":"Get businesses owned by the authenticated ΔID - 🔐 SECURE ENDPOINT","operationId":"get_my_businesses_v1_my_businesses_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/measurements/send-to-business":{"post":{"summary":"Send Measurement To Business","description":"📤 Customer sends measurement to business.\nThis is THE deal-closing moment:\n1. Creates a Work Order from the measurement\n2. Puts it in the business inbox\n3. Auto-verifies any referral linked to this flow\n4. Returns a deal_id the customer can track","operationId":"send_measurement_to_business_v1_measurements_send_to_business_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/deal/{deal_id}/quote":{"post":{"summary":"Business Sends Quote","description":"💰 Business sends a quote/price to the customer.\nThe customer will approve with Face ID in the app.","operationId":"business_sends_quote_v1_deal__deal_id__quote_post","parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/deal/{deal_id}/approve":{"post":{"summary":"Customer Approves Deal","description":"✅ Customer approves the quote — like Apple's \"Approve\" with Face ID.\nThe app calls this AFTER biometric verification succeeds.\nThis is the deal-closing moment.","operationId":"customer_approves_deal_v1_deal__deal_id__approve_post","parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/deal/{deal_id}":{"get":{"summary":"Get Deal Status","description":"📋 Get deal status and full timeline","operationId":"get_deal_status_v1_deal__deal_id__get","parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/business/{code}/inbox":{"get":{"summary":"Get Business Inbox","description":"📥 Get business inbox — measurements, deals, notifications","operationId":"get_business_inbox_v1_business__code__inbox_get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/work/available":{"get":{"summary":"Get Available Work","description":"🔧 Get available work orders for masters/measurers/couriers.\nQuery: ?role=master&city=חיפה&limit=20","operationId":"get_available_work_v1_work_available_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/workorder/create":{"post":{"summary":"Create Work Order","description":"Create a new Work Order - The core of Reality Execution Engine","operationId":"create_work_order_v1_workorder_create_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/agent/inbox":{"get":{"summary":"Get Agent Inbox","description":"Get inbox for any actor — user/business/courier.\n\nB6: accept ?delta_id= as alias for ?id= (multiple frontends send delta_id),\nand also read X-Delta-ID header when no query param is given.","operationId":"get_agent_inbox_v1_agent_inbox_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/agent/inbox/read":{"post":{"summary":"Mark Inbox Read","description":"Mark inbox item as read","operationId":"mark_inbox_read_v1_agent_inbox_read_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/dispatch":{"post":{"summary":"Dispatch Work","description":"Universal dispatch — routes to correct provider based on service_mode","operationId":"dispatch_work_v1_dispatch_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/dispatch/provider/register":{"post":{"summary":"Register Provider","description":"Register a new provider (business/driver/courier)","operationId":"register_provider_v1_dispatch_provider_register_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/dispatch/provider/status":{"post":{"summary":"Update Provider Status","description":"Update provider online/offline/busy status","operationId":"update_provider_status_v1_dispatch_provider_status_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/dispatch/providers":{"get":{"summary":"List Providers","description":"List all registered providers","operationId":"list_providers_v1_dispatch_providers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/workcase/full/{project_id}":{"get":{"summary":"Get Full Workcase","description":"Build complete WorkCase from project — aggregates measurements, wallet, MRV, participants","operationId":"get_full_workcase_v1_workcase_full__project_id__get","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/workcase/user/{user_id}":{"get":{"summary":"List User Workcases","description":"List all workcases for a user","operationId":"list_user_workcases_v1_workcase_user__user_id__get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/mrv/sign":{"post":{"summary":"Mrv Sign","description":"Sign an MRV proof for any action in any domain","operationId":"mrv_sign_v1_mrv_sign_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/mrv/chain":{"get":{"summary":"Mrv Chain Status","description":"Verify the MRV chain integrity","operationId":"mrv_chain_status_v1_mrv_chain_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/mrv/proofs":{"get":{"summary":"Mrv List Proofs","description":"List MRV proofs filtered by domain or actor","operationId":"mrv_list_proofs_v1_mrv_proofs_get","parameters":[{"name":"domain","in":"query","required":false,"schema":{"type":"string","title":"Domain"}},{"name":"actor_id","in":"query","required":false,"schema":{"type":"string","title":"Actor Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/canonical/{actor_id}":{"get":{"summary":"Get Canonical State","description":"Canonical Life State — everything happening for this actor RIGHT NOW","operationId":"get_canonical_state_v1_canonical__actor_id__get","parameters":[{"name":"actor_id","in":"path","required":true,"schema":{"type":"string","title":"Actor Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/obligations/{actor_id}":{"get":{"summary":"Get Obligations","description":"Incoming obligations — what already demands response","operationId":"get_obligations_v1_obligations__actor_id__get","parameters":[{"name":"actor_id","in":"path","required":true,"schema":{"type":"string","title":"Actor Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/next-actions/{actor_id}":{"get":{"summary":"Get Next Actions","description":"Computed next actions — what should happen next","operationId":"get_next_actions_v1_next_actions__actor_id__get","parameters":[{"name":"actor_id","in":"path","required":true,"schema":{"type":"string","title":"Actor Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/policy/ela":{"get":{"summary":"Get Ela Policy Api","description":"What ELA may do automatically vs what requires explicit user approval.","operationId":"get_ela_policy_api_v1_policy_ela_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/assimilation/sources":{"get":{"summary":"Assimilation Sources","description":"Connector registry + consent scopes (stubs until OAuth/webhooks).","operationId":"assimilation_sources_v1_assimilation_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/assimilation/items/{actor_id}":{"get":{"summary":"Assimilation Items","description":"Normalized obligations ingested from external systems (deduped).","operationId":"assimilation_items_v1_assimilation_items__actor_id__get","parameters":[{"name":"actor_id","in":"path","required":true,"schema":{"type":"string","title":"Actor Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/assimilation/ingest":{"post":{"summary":"Assimilation Ingest","description":"Push normalized external rows (calendar rows, parsed mail, etc.).\nIdempotent per (source, external_id).","operationId":"assimilation_ingest_v1_assimilation_ingest_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/schedule/day/{actor_id}/{day}":{"get":{"summary":"Get Day Plan","description":"Get full day plan for an actor — blocks, conflicts, value, status","operationId":"get_day_plan_v1_schedule_day__actor_id___day__get","parameters":[{"name":"actor_id","in":"path","required":true,"schema":{"type":"string","title":"Actor Id"}},{"name":"day","in":"path","required":true,"schema":{"type":"string","title":"Day"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/schedule/slots/{actor_id}/{day}":{"get":{"summary":"Get Ranked Slots","description":"Rank available time slots for a day — score + reasons","operationId":"get_ranked_slots_v1_schedule_slots__actor_id___day__get","parameters":[{"name":"actor_id","in":"path","required":true,"schema":{"type":"string","title":"Actor Id"}},{"name":"day","in":"path","required":true,"schema":{"type":"string","title":"Day"}},{"name":"duration","in":"query","required":false,"schema":{"type":"integer","default":60,"title":"Duration"}},{"name":"lat","in":"query","required":false,"schema":{"type":"number","default":0,"title":"Lat"}},{"name":"lng","in":"query","required":false,"schema":{"type":"number","default":0,"title":"Lng"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/schedule/block":{"post":{"summary":"Schedule Block","description":"Schedule a time block — auto conflict detection","operationId":"schedule_block_v1_schedule_block_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/schedule/conflicts/{actor_id}/{day}":{"get":{"summary":"Get Conflicts","description":"Detect time conflicts for a day","operationId":"get_conflicts_v1_schedule_conflicts__actor_id___day__get","parameters":[{"name":"actor_id","in":"path","required":true,"schema":{"type":"string","title":"Actor Id"}},{"name":"day","in":"path","required":true,"schema":{"type":"string","title":"Day"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/schedule/workcase-to-blocks":{"post":{"summary":"Workcase To Blocks Api","description":"Convert a workcase into time blocks for scheduling","operationId":"workcase_to_blocks_api_v1_schedule_workcase_to_blocks_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/nav/validate":{"post":{"summary":"Validate Navigation","description":"Validate a navigation trace — GPS quality, route adherence, stability","operationId":"validate_navigation_v1_nav_validate_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/manifest/generate":{"post":{"summary":"Generate Manifest Api","description":"Auto-generate business manifest from minimal input","operationId":"generate_manifest_api_v1_manifest_generate_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/embed/check":{"post":{"summary":"Check Embed Api","description":"Check if ΔWORLDS is embedded on a website","operationId":"check_embed_api_v1_embed_check_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/embed/install":{"post":{"summary":"Install Embed Api","description":"Auto-embed ΔWORLDS on a website (WordPress, Wix, etc.)","operationId":"install_embed_api_v1_embed_install_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/embed/status/{business_code}":{"get":{"summary":"Embed Status Api","description":"Get embed status for a business","operationId":"embed_status_api_v1_embed_status__business_code__get","parameters":[{"name":"business_code","in":"path","required":true,"schema":{"type":"string","title":"Business Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/manifest/{business_code}":{"get":{"summary":"Get Manifest","description":"Get business manifest (business_code normalized to uppercase for file lookup)","operationId":"get_manifest_v1_manifest__business_code__get","parameters":[{"name":"business_code","in":"path","required":true,"schema":{"type":"string","title":"Business Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/courier/{courier_id}/manifest":{"get":{"summary":"Get Courier Manifest Compat","description":"DEPRECATED — kept for backward compatibility. Use /api/ela/personal/{delta_id} instead.\n\nSingle identity, fluid roles: the courier \"manifest\" is just one section of the unified\n/api/ela/personal aggregator. This endpoint redirects callers there.","operationId":"get_courier_manifest_compat_v1_courier__courier_id__manifest_get","parameters":[{"name":"courier_id","in":"path","required":true,"schema":{"type":"string","title":"Courier Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/operator/{operator_id}/manifest":{"get":{"summary":"Get Operator Manifest Compat","description":"DEPRECATED — kept for backward compatibility.\n\nLook up the operator's delta_id and redirect to /api/ela/personal/{delta_id}.\nThe operator_profile is a section of the unified identity payload.","operationId":"get_operator_manifest_compat_v1_operator__operator_id__manifest_get","parameters":[{"name":"operator_id","in":"path","required":true,"schema":{"type":"string","title":"Operator Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/onboard":{"post":{"summary":"Onboard Business","description":"Full business onboarding — answers → manifest → provider → agent","operationId":"onboard_business_v1_onboard_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/workorder/list":{"get":{"summary":"List Work Orders Filtered","description":"List work orders filtered by phone/business_code for dashboard. Phone normalized (054-283-3358 = 0542833358).","operationId":"list_work_orders_filtered_v1_workorder_list_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/receipt":{"get":{"summary":"Get Receipt Data","description":"Get receipt/invoice data — supports both work_id (services) and order_id (food/store).\n\nFor order_id: builds receipt from runtime order_runtime.json (order placed via\n/v1/business/{code}/orders) using the same shape receipt.html expects.\nFor work_id: uses work_orders.json + manifest fallback (existing flow).","operationId":"get_receipt_data_v1_receipt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/workorder/{wo_id}":{"get":{"summary":"Get Work Order","description":"Get a specific Work Order by ID","operationId":"get_work_order_v1_workorder__wo_id__get","parameters":[{"name":"wo_id","in":"path","required":true,"schema":{"type":"string","title":"Wo Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/workorders":{"get":{"summary":"List Work Orders","description":"List recent Work Orders","operationId":"list_work_orders_v1_workorders_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/workorder/{wo_id}/status":{"patch":{"summary":"Update Work Order Status","description":"Update Work Order status + emit event to bus","operationId":"update_work_order_status_v1_workorder__wo_id__status_patch","parameters":[{"name":"wo_id","in":"path","required":true,"schema":{"type":"string","title":"Wo Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/events":{"get":{"summary":"Get Life Events","description":"📜 Get recent Life Events","operationId":"get_life_events_v1_events_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"event_type","in":"query","required":false,"schema":{"type":"string","title":"Event Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/workorder/notify":{"post":{"summary":"Notify Business About Order","description":"📲 שליחת הודעה לעסק שלא רשום על הזמנה חדשה\n\nכמו Uber - לא מבקשים מהנהג להירשם, מביאים לו נסיעה!","operationId":"notify_business_about_order_v1_workorder_notify_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/claim/{wo_id}":{"get":{"summary":"Get Claim Order","description":"📋 עסק רואה את פרטי ההזמנה (לפני שהוא מאשר)\n\nמחזיר רק פרטים בסיסיים - לא את פרטי הלקוח!","operationId":"get_claim_order_v1_claim__wo_id__get","parameters":[{"name":"wo_id","in":"path","required":true,"schema":{"type":"string","title":"Wo Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/claim/{wo_id}/accept":{"post":{"summary":"Accept Claim","description":"✅ עסק מאשר את ההזמנה\n\nמה קורה:\n1. נרשם אוטומטית ל-DELTAWORLDS (אם לא רשום)\n2. מקבל גישה לפרטי הלקוח\n3. יכול ליצור קשר ולתת הצעת מחיר","operationId":"accept_claim_v1_claim__wo_id__accept_post","parameters":[{"name":"wo_id","in":"path","required":true,"schema":{"type":"string","title":"Wo Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/claim/{wo_id}/decline":{"post":{"summary":"Decline Claim","description":"❌ עסק מסרב להזמנה\n\nההזמנה תועבר לעסק הבא ברשימה","operationId":"decline_claim_v1_claim__wo_id__decline_post","parameters":[{"name":"wo_id","in":"path","required":true,"schema":{"type":"string","title":"Wo Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/analytics/widget":{"post":{"summary":"Track Widget Event","description":"📊 Track widget analytics events","operationId":"track_widget_event_v1_analytics_widget_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/business/analytics/event":{"post":{"summary":"Business Analytics Event","description":"📊 Record one analytics event for a business (page_view, card_click, tier_choice, payment_click, etc.).\nBody: { \"business_code\": \"GADTAL\", \"session_id\": \"uuid\", \"event\": \"page_view\"|\"modal_open\"|\"card_choice\"|\"tier_choice\"|\"estimate_view\"|\"payment_click\"|\"payment_done\", \"data\": {} }","operationId":"business_analytics_event_v1_business_analytics_event_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/business/{code}/analytics":{"get":{"summary":"Get Business Analytics","description":"📊 Get analytics for a business: events, unique sessions, counts by event type, return visits.\nQuery: ?limit=200&days=30","operationId":"get_business_analytics_v1_business__code__analytics_get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/referrals/record":{"post":{"summary":"Record Referral","description":"🔗 Record a new referral event.\nCalled when someone arrives via a referral QR/link and completes an action.","operationId":"record_referral_v1_referrals_record_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralRecordRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/referrals/{referral_id}/verify":{"post":{"summary":"Verify Referral","description":"✅ Mark a referral as verified (the referred entity completed onboarding/first action).\nTriggers commission calculation based on fees.json config.","operationId":"verify_referral_v1_referrals__referral_id__verify_post","parameters":[{"name":"referral_id","in":"path","required":true,"schema":{"type":"string","title":"Referral Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/referrals/by/{referrer_code}":{"get":{"summary":"Get Referrals By Referrer","description":"📊 Get all referrals made by a specific business/user.\nQuery: ?status=verified&limit=100","operationId":"get_referrals_by_referrer_v1_referrals_by__referrer_code__get","parameters":[{"name":"referrer_code","in":"path","required":true,"schema":{"type":"string","title":"Referrer Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/referrals/dashboard/{referrer_code}":{"get":{"summary":"Referral Dashboard","description":"📈 Referral dashboard summary — designed for business console integration.","operationId":"referral_dashboard_v1_referrals_dashboard__referrer_code__get","parameters":[{"name":"referrer_code","in":"path","required":true,"schema":{"type":"string","title":"Referrer Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/referrals/{referral_id}/payout":{"post":{"summary":"Payout Referral","description":"💸 Mark a referral commission as paid (transfer to referrer wallet).","operationId":"payout_referral_v1_referrals__referral_id__payout_post","parameters":[{"name":"referral_id","in":"path","required":true,"schema":{"type":"string","title":"Referral Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/referrals/batch-payout/{referrer_code}":{"post":{"summary":"Batch Payout Referrals","description":"💰 Pay all verified (unpaid) referral commissions for a business.","operationId":"batch_payout_referrals_v1_referrals_batch_payout__referrer_code__post","parameters":[{"name":"referrer_code","in":"path","required":true,"schema":{"type":"string","title":"Referrer Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/business/{code}/dashboard":{"get":{"summary":"Get Business Dashboard","description":"Get business dashboard data - REAL DATA from JSON files","operationId":"get_business_dashboard_v1_business__code__dashboard_get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/business/{code}/menu":{"get":{"summary":"Get Business Menu","description":"Get business menu from in-memory cache — Δ=0 path, zero file I/O","operationId":"get_business_menu_v1_business__code__menu_get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/business/{code}/location":{"post":{"summary":"Save Business Location","description":"Save geocoded coordinates for a business","operationId":"save_business_location_v1_business__code__location_post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/business/{code}/payment-qr":{"post":{"summary":"Save Business Payment Qr","description":"💳 Save payment QR URLs for business.\n\nSupports: Bit, PayPal, Venmo, Cash App, and more.\nBusiness uploads their QR images, we store the URLs.","operationId":"save_business_payment_qr_v1_business__code__payment_qr_post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Get Business Payment Qr","description":"💳 Get all payment QR info for business","operationId":"get_business_payment_qr_v1_business__code__payment_qr_get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/business/{code}/bit-qr":{"post":{"summary":"Save Business Bit Qr","description":"💜 Save Bit QR URL for business (backward compatible)","operationId":"save_business_bit_qr_v1_business__code__bit_qr_post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Get Business Bit Qr","description":"💜 Get Bit QR info for business (backward compatible)","operationId":"get_business_bit_qr_v1_business__code__bit_qr_get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/business/{code}/payment-credentials":{"post":{"summary":"Save Business Payment Credentials","description":"🔐 Save payment gateway credentials for business.\n\nSupports: YaadPay, Stripe\nCredentials are stored securely (in production, should be encrypted).","operationId":"save_business_payment_credentials_v1_business__code__payment_credentials_post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Get Business Payment Credentials","description":"🔐 Get payment credentials status for business (no secrets returned)","operationId":"get_business_payment_credentials_v1_business__code__payment_credentials_get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/business/{code}/products":{"post":{"summary":"Add Product","description":"Add a new product with full details","operationId":"add_product_v1_business__code__products_post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/business/{code}/products/{product_id}":{"put":{"summary":"Update Product","description":"Update a product","operationId":"update_product_v1_business__code__products__product_id__put","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}},{"name":"product_id","in":"path","required":true,"schema":{"type":"string","title":"Product Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Delete Product","description":"Delete a product","operationId":"delete_product_v1_business__code__products__product_id__delete","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}},{"name":"product_id","in":"path","required":true,"schema":{"type":"string","title":"Product Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/business/{code}/categories":{"post":{"summary":"Add Category","description":"Add a new category","operationId":"add_category_v1_business__code__categories_post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ai/scrape":{"post":{"summary":"Ai Scrape Website","description":"🤖 AI: Scrape a website for products","operationId":"ai_scrape_website_v1_ai_scrape_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/ai/build-store":{"post":{"summary":"Ai Build Store","description":"🤖 AI: Build a complete store from a website URL","operationId":"ai_build_store_v1_ai_build_store_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/google/business/verify":{"post":{"summary":"Verify Google Business","description":"🔍 Verify and fetch full Google Business data including photos, hours, website, reviews","operationId":"verify_google_business_v1_google_business_verify_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/google/business/auto-build":{"post":{"summary":"Auto Build From Google","description":"🚀 Auto-build complete business store from Google Business data + website scraping","operationId":"auto_build_from_google_v1_google_business_auto_build_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/website/scrape":{"post":{"summary":"Scrape Business Website","description":"🌐 Scrape a business website for products, testimonials, and content","operationId":"scrape_business_website_v1_website_scrape_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/website/scrape-talfence":{"post":{"summary":"Scrape Tal Fence Specific","description":"🏠 Specific scraper for tal-fence.co.il - optimized for their structure","operationId":"scrape_tal_fence_specific_v1_website_scrape_talfence_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/product/modifiers":{"post":{"summary":"Get Product Modifiers","description":"Get REAL modifiers for a product — scrapes from Wolt on first request, then serves from cache.","operationId":"get_product_modifiers_v1_product_modifiers_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/search/food":{"post":{"summary":"Search Food Global","description":"Global food search — returns restaurants + matching items from all menus (Wolt-style)","operationId":"search_food_global_v1_search_food_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/wolt/find-restaurant":{"post":{"summary":"Find Wolt Restaurant","description":"🔍 Find a Wolt restaurant by name/place_id — returns existing code or scrapes new menu","operationId":"find_wolt_restaurant_v1_wolt_find_restaurant_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/wolt/import":{"post":{"summary":"Import Wolt Menu","description":"🍴 Import a Wolt restaurant menu: scrape → save → return menu","operationId":"import_wolt_menu_v1_wolt_import_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/wolt/import-all":{"post":{"summary":"Import All Wolt Menus","description":"🍴 Import menus for ALL registered Wolt businesses that have no products yet","operationId":"import_all_wolt_menus_v1_wolt_import_all_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/menu/scrape":{"post":{"summary":"Scrape Real Menu","description":"🍴 Scrape REAL menu from delivery platforms (Wolt, 10bis, etc.)","operationId":"scrape_real_menu_v1_menu_scrape_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/business/detect-menu":{"post":{"summary":"Detect Food Menu","description":"🍴 Detect menu items from food business based on photos and category","operationId":"detect_food_menu_v1_business_detect_menu_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/admin/notifications":{"get":{"summary":"Get Admin Notifications","description":"📬 Get admin notifications","operationId":"get_admin_notifications_v1_admin_notifications_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"unread_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Unread Only"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/notifications/{notification_id}/read":{"post":{"summary":"Mark Notification Read","description":"✅ Mark notification as read","operationId":"mark_notification_read_v1_admin_notifications__notification_id__read_post","parameters":[{"name":"notification_id","in":"path","required":true,"schema":{"type":"string","title":"Notification Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/notifications/{notification_id}":{"delete":{"summary":"Delete Notification","description":"🗑️ Delete notification","operationId":"delete_notification_v1_admin_notifications__notification_id__delete","parameters":[{"name":"notification_id","in":"path","required":true,"schema":{"type":"string","title":"Notification Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/templates":{"get":{"summary":"Get Store Templates","description":"🎨 Get available store design templates","operationId":"get_store_templates_v1_store_templates_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/google/business/search":{"post":{"summary":"Search Google Business","description":"🔍 Search for a business in Google Places by name and location","operationId":"search_google_business_v1_google_business_search_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/proxy/google-places":{"get":{"summary":"Proxy Google Places","description":"🗺️ Proxy Google Places nearbysearch to avoid CORS issues","operationId":"proxy_google_places_v1_proxy_google_places_get","parameters":[{"name":"location","in":"query","required":false,"schema":{"type":"string","default":"32.794,34.989","title":"Location"}},{"name":"radius","in":"query","required":false,"schema":{"type":"integer","default":5000,"title":"Radius"}},{"name":"type","in":"query","required":false,"schema":{"type":"string","default":"general_contractor","title":"Type"}},{"name":"keyword","in":"query","required":false,"schema":{"type":"string","default":"","title":"Keyword"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/proxy/google-places/text":{"get":{"summary":"Proxy Google Places Text","description":"🔍 Proxy Google Places text search","operationId":"proxy_google_places_text_v1_proxy_google_places_text_get","parameters":[{"name":"query","in":"query","required":false,"schema":{"type":"string","default":"","title":"Query"}},{"name":"location","in":"query","required":false,"schema":{"type":"string","default":"32.794,34.989","title":"Location"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/google/photo":{"get":{"summary":"Proxy Google Photo","description":"📷 Proxy Google Places photos to avoid CORS issues","operationId":"proxy_google_photo_v1_google_photo_get","parameters":[{"name":"ref","in":"query","required":true,"schema":{"type":"string","title":"Ref"}},{"name":"maxwidth","in":"query","required":false,"schema":{"type":"integer","default":800,"title":"Maxwidth"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/img":{"get":{"summary":"Proxy External Image","description":"📷 Proxy external images (menu photos etc.) through our domain","operationId":"proxy_external_image_v1_img_get","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","title":"Url"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/store/templates/{template_id}":{"get":{"summary":"Get Store Template","description":"🎨 Get specific template details","operationId":"get_store_template_v1_store_templates__template_id__get","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ai/categorize":{"post":{"summary":"Ai Categorize Products","description":"🤖 AI: Categorize a list of products","operationId":"ai_categorize_products_v1_ai_categorize_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/business/{code}/credit/{customer_id}":{"get":{"summary":"Get Customer Credit","description":"Get customer wallet/credit for a business - 🔐 REQUIRES ΔID AUTH","operationId":"get_customer_credit_v1_business__code__credit__customer_id__get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}},{"name":"customer_id","in":"path","required":true,"schema":{"type":"string","title":"Customer Id"}},{"name":"X-Delta-ID","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Delta-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/business/{code}/credit/register":{"post":{"summary":"Register Customer","description":"Register new customer for wallet - 🔐 REQUIRES ΔID AUTH","operationId":"register_customer_v1_business__code__credit_register_post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}},{"name":"X-Delta-ID","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Delta-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/business/{code}/credit/load":{"post":{"summary":"Load Customer Credit","description":"Load money into customer wallet - 🔐 REQUIRES ΔID AUTH + PAYMENT VERIFICATION","operationId":"load_customer_credit_v1_business__code__credit_load_post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}},{"name":"X-Delta-ID","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Delta-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/business/{code}/orders":{"post":{"summary":"Place Order","description":"Place order and pay with credit - 🔐 REQUIRES ΔID AUTH - 10% discount applied","operationId":"place_order_v1_business__code__orders_post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/business/subscribe":{"post":{"summary":"Subscribe Business","description":"Business subscribes to platform - payment goes to ΔWORLDS-CENTRAL","operationId":"subscribe_business_v1_business_subscribe_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/business/{code}/subscription":{"get":{"summary":"Get Subscription","description":"Get business subscription status","operationId":"get_subscription_v1_business__code__subscription_get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/transactions":{"get":{"summary":"Get Transactions","description":"Get user transactions history - REAL DATA from persistent storage","operationId":"get_transactions_v1_transactions_get","parameters":[{"name":"userID","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Userid"}},{"name":"userId","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Userid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Create Transaction","description":"Create a new transaction with SECURITY VALIDATION","operationId":"create_transaction_v1_transactions_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransactionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/atm/nearby":{"get":{"summary":"Get Nearby Atms","description":"Find nearby ATMs - REAL DATA from persistent storage","operationId":"get_nearby_atms_v1_atm_nearby_get","parameters":[{"name":"lat","in":"query","required":true,"schema":{"type":"number","title":"Lat"}},{"name":"lon","in":"query","required":true,"schema":{"type":"number","title":"Lon"}},{"name":"radius","in":"query","required":false,"schema":{"type":"number","default":5000,"title":"Radius"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/atm/register":{"post":{"summary":"Register Atm","description":"Register user as ATM - saves to persistent storage","operationId":"register_atm_v1_atm_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ATMRegisterRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/atm/unregister/{userID}":{"delete":{"summary":"Unregister Atm","description":"Unregister user as ATM - removes from persistent storage","operationId":"unregister_atm_v1_atm_unregister__userID__delete","parameters":[{"name":"userID","in":"path","required":true,"schema":{"type":"string","title":"Userid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/atm/transaction":{"post":{"summary":"Create Atm Transaction","description":"Process ATM withdrawal or deposit","operationId":"create_atm_transaction_v1_atm_transaction_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ATMTransactionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pos/transaction":{"post":{"summary":"Create Pos Transaction","description":"Process POS payment","operationId":"create_pos_transaction_v1_pos_transaction_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/POSTransactionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/confirm/request":{"post":{"summary":"Request Payment Confirmation","description":"Request a confirmation token before any payment. Returns token valid for 5 min.","operationId":"request_payment_confirmation_v1_pay_confirm_request_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/pay/guard/stats":{"get":{"summary":"Payment Guard Stats","description":"Payment guard statistics — rate limits, active tokens, daily limits.","operationId":"payment_guard_stats_v1_pay_guard_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/pay/credit":{"post":{"summary":"Pay With Credit","description":"Process payment using ΔPay wallet credit - 🔐 REQUIRES ΔID AUTH","operationId":"pay_with_credit_v1_pay_credit_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditPaymentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/apple/validate":{"post":{"summary":"Validate Apple Pay","description":"Validate Apple Pay merchant session with Apple's servers","operationId":"validate_apple_pay_v1_pay_apple_validate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplePayValidateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/apple/process":{"post":{"summary":"Process Apple Pay","description":"Process Apple Pay payment with SECURITY VALIDATION\n\nFLOW:\n1. Apple Pay charge goes to our PayPal/Stripe account\n2. We credit the user's ΔPay wallet\n3. User can now pay from wallet\n\nFor P2P payments:\n1. Apple Pay charge goes to ΔWORLDS-CENTRAL\n2. We credit the recipient's ΔPay wallet\n\nFor direct payments (like ΔMeasure ₪4):\n1. Apple Pay charge goes to ΔWORLDS-CENTRAL\n2. Payment is complete","operationId":"process_apple_pay_v1_pay_apple_process_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplePayProcessRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/yaadpay/create":{"post":{"summary":"Create Yaadpay Payment","description":"🇮🇱 Create YaadPay payment URL for Israeli credit cards.\nIf merchant (business code) is sent, uses credentials from payment_credentials.json for that business.\nOtherwise uses global YAADPAY_* env vars.","operationId":"create_yaadpay_payment_v1_pay_yaadpay_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/YaadPayCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/public/pay/go":{"get":{"summary":"Yaadpay Redirect Page","description":"Yaad Pay Protocol step 2: send the browser to the signed pay URL (GET), as in their docs\n(\"Click HERE TO TEST THE LINK\"). 302 redirect = one hop, no spinner/JS delay, no POST Referer quirks\nin Safari. 902 / 'unverified address': fix in icom → Terminal → use PassP + whitelist domain OR PassP-only.","operationId":"yaadpay_redirect_page_v1_public_pay_go_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Yaadpay Redirect Page","description":"Yaad Pay Protocol step 2: send the browser to the signed pay URL (GET), as in their docs\n(\"Click HERE TO TEST THE LINK\"). 302 redirect = one hop, no spinner/JS delay, no POST Referer quirks\nin Safari. 902 / 'unverified address': fix in icom → Terminal → use PassP + whitelist domain OR PassP-only.","operationId":"yaadpay_redirect_page_v1_public_pay_go_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/pay/yaadpay/verify":{"post":{"summary":"Verify Yaadpay Payment","description":"🇮🇱 Verify YaadPay payment after user returns from payment page.\n\nPass all query parameters from the callback URL.","operationId":"verify_yaadpay_payment_v1_pay_yaadpay_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/YaadPayVerifyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/yaadpay/refund":{"post":{"summary":"Refund Yaadpay Payment","description":"🇮🇱 Refund a YaadPay transaction.","operationId":"refund_yaadpay_payment_v1_pay_yaadpay_refund_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/YaadPayRefundRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/yaadpay/cancel":{"post":{"summary":"Cancel Yaadpay Payment","description":"🇮🇱 Cancel a YaadPay transaction (same day only, before 23:20).","operationId":"cancel_yaadpay_payment_v1_pay_yaadpay_cancel_post","parameters":[{"name":"transaction_id","in":"query","required":true,"schema":{"type":"string","title":"Transaction Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/yaadpay/stats":{"get":{"summary":"Get Yaadpay Stats","description":"🇮🇱 Get YaadPay engine statistics.","operationId":"get_yaadpay_stats_v1_pay_yaadpay_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/pay/yaadpay/recurring/create":{"post":{"summary":"Create Yaadpay Recurring","description":"🇮🇱🔄 Create recurring payment (הוראת קבע) URL.","operationId":"create_yaadpay_recurring_v1_pay_yaadpay_recurring_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/YaadPayRecurringRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/yaadpay/recurring/{hk_id}/activate":{"post":{"summary":"Activate Yaadpay Recurring","description":"🇮🇱 Activate a recurring payment agreement.","operationId":"activate_yaadpay_recurring_v1_pay_yaadpay_recurring__hk_id__activate_post","parameters":[{"name":"hk_id","in":"path","required":true,"schema":{"type":"string","title":"Hk Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/yaadpay/recurring/{hk_id}/terminate":{"post":{"summary":"Terminate Yaadpay Recurring","description":"🇮🇱 Terminate a recurring payment agreement.","operationId":"terminate_yaadpay_recurring_v1_pay_yaadpay_recurring__hk_id__terminate_post","parameters":[{"name":"hk_id","in":"path","required":true,"schema":{"type":"string","title":"Hk Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/yaadpay/postponed/create":{"post":{"summary":"Create Yaadpay Postponed","description":"🇮🇱⏸️ Create postponed payment URL (code 800).\n\nTransaction is approved but not charged until committed.","operationId":"create_yaadpay_postponed_v1_pay_yaadpay_postponed_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/YaadPayPostponedRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/yaadpay/postponed/{transaction_id}/commit":{"post":{"summary":"Commit Yaadpay Postponed","description":"🇮🇱 Commit a postponed transaction (execute charge).","operationId":"commit_yaadpay_postponed_v1_pay_yaadpay_postponed__transaction_id__commit_post","parameters":[{"name":"transaction_id","in":"path","required":true,"schema":{"type":"string","title":"Transaction Id"}},{"name":"send_invoice","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Send Invoice"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/yaadpay/invoice/{transaction_id}":{"get":{"summary":"Get Yaadpay Invoice","description":"🇮🇱🧾 Get invoice URL for a transaction.\n\nFormat options: PDF, HTML, EZCOUNT","operationId":"get_yaadpay_invoice_v1_pay_yaadpay_invoice__transaction_id__get","parameters":[{"name":"transaction_id","in":"path","required":true,"schema":{"type":"string","title":"Transaction Id"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","default":"PDF","title":"Format"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/business/{code}/payout/setup":{"post":{"summary":"Setup Business Payout Card","description":"🏪💳 Setup payout card for business - get URL to enter card details.\n\nBusiness enters their card once, we save the token for future payouts.\nUses J2 (credit line check only) - no actual charge.","operationId":"setup_business_payout_card_v1_business__code__payout_setup_post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/business/{code}/payout/request":{"post":{"summary":"Request Business Payout","description":"🏪💸 Request payout for business - transfer money to their saved card.\n\nRequires business to have a saved payout card (from payout/setup).","operationId":"request_business_payout_v1_business__code__payout_request_post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/business/{code}/payout/save-card":{"post":{"summary":"Save Business Payout Card","description":"🏪💾 Save payout card details after successful J2 verification.\n\nCalled after business completes card setup via payout/setup URL.\nStores the token for future payouts.","operationId":"save_business_payout_card_v1_business__code__payout_save_card_post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/business/{code}/wallet":{"get":{"summary":"Get Business Wallet","description":"🏪💰 Get business wallet details - balance, transactions, payout card.","operationId":"get_business_wallet_v1_business__code__wallet_get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/business/{code}/qr/create":{"post":{"summary":"Create Business Qr Payment","description":"🏪📱 Create QR payment URL for business.\n\nCustomers scan this QR to pay the business via YaadPay.","operationId":"create_business_qr_payment_v1_business__code__qr_create_post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/business/{code}/subscription/create":{"post":{"summary":"Create Business Subscription","description":"🏪🔄 Create subscription payment URL for business customers.\n\nPerfect for gyms, memberships, monthly services.","operationId":"create_business_subscription_v1_business__code__subscription_create_post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/bit/consent/create":{"post":{"summary":"Create Bit Consent","description":"🇮🇱🏦 Create consent for Bit Open Banking account access.\n\nUser must authorize this consent via Bit app.\n\nReturns:\n    consent_id: ID of the created consent\n    authorization_url: URL to redirect user to for authorization","operationId":"create_bit_consent_v1_pay_bit_consent_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BitConsentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/bit/oauth/callback":{"post":{"summary":"Bit Oauth Callback","description":"🔐 Handle OAuth callback from Bit authorization.\n\nExchange authorization code for access token.","operationId":"bit_oauth_callback_v1_pay_bit_oauth_callback_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BitOAuthCallbackRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/bit/accounts/{consent_id}":{"get":{"summary":"Get Bit Accounts","description":"🏧 Get list of user's bank accounts via Bit.\n\nRequires valid consent and access token.","operationId":"get_bit_accounts_v1_pay_bit_accounts__consent_id__get","parameters":[{"name":"consent_id","in":"path","required":true,"schema":{"type":"string","title":"Consent Id"}},{"name":"access_token","in":"query","required":true,"schema":{"type":"string","title":"Access Token"}},{"name":"with_balance","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"With Balance"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/bit/accounts/{consent_id}/{account_id}/balance":{"get":{"summary":"Get Bit Account Balance","description":"💰 Get balance for a specific account via Bit.","operationId":"get_bit_account_balance_v1_pay_bit_accounts__consent_id___account_id__balance_get","parameters":[{"name":"consent_id","in":"path","required":true,"schema":{"type":"string","title":"Consent Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"access_token","in":"query","required":true,"schema":{"type":"string","title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/bit/accounts/{consent_id}/{account_id}/transactions":{"get":{"summary":"Get Bit Account Transactions","description":"📜 Get transaction history for an account via Bit.","operationId":"get_bit_account_transactions_v1_pay_bit_accounts__consent_id___account_id__transactions_get","parameters":[{"name":"consent_id","in":"path","required":true,"schema":{"type":"string","title":"Consent Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"access_token","in":"query","required":true,"schema":{"type":"string","title":"Access Token"}},{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/bit/payment/initiate":{"post":{"summary":"Initiate Bit Payment","description":"💸 Initiate a bank transfer payment via Bit.\n\nThis creates a payment that requires user authorization via Bit app.","operationId":"initiate_bit_payment_v1_pay_bit_payment_initiate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BitPaymentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/bit/payment/{payment_id}/status":{"get":{"summary":"Get Bit Payment Status","description":"📋 Get status of a Bit payment.","operationId":"get_bit_payment_status_v1_pay_bit_payment__payment_id__status_get","parameters":[{"name":"payment_id","in":"path","required":true,"schema":{"type":"string","title":"Payment Id"}},{"name":"access_token","in":"query","required":true,"schema":{"type":"string","title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/bit/consent/{consent_id}":{"delete":{"summary":"Delete Bit Consent","description":"🚫 Revoke a Bit consent.","operationId":"delete_bit_consent_v1_pay_bit_consent__consent_id__delete","parameters":[{"name":"consent_id","in":"path","required":true,"schema":{"type":"string","title":"Consent Id"}},{"name":"access_token","in":"query","required":true,"schema":{"type":"string","title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/bit/stats":{"get":{"summary":"Get Bit Stats","description":"📊 Get Bit Open Banking statistics.","operationId":"get_bit_stats_v1_pay_bit_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/pay/checkout/create":{"post":{"summary":"Create Checkout Session","description":"יצירת Stripe Checkout Session לתשלום בכרטיס אשראי.\n\nזה האלטרנטיבה ל-Apple Pay - עובד בכל דפדפן!","operationId":"create_checkout_session_v1_pay_checkout_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/link/create":{"post":{"summary":"Create Payment Link","description":"Create a shareable payment link with SIGNATURE protection. Optional work_id links to Work Order.","operationId":"create_payment_link_v1_pay_link_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentLinkRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/session/{session_id}":{"get":{"summary":"Get Payment Session","description":"Get payment session details - SERVER-SIDE AMOUNT for secure checkout","operationId":"get_payment_session_v1_pay_session__session_id__get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/complete":{"post":{"summary":"Pay Complete Webhook","description":"Webhook / callback לשלמת תשלום: מסמן session כ-completed ומעדכן work ל-open.\nIdempotent: קריאה חוזרת עם אותו session_id מחזירה 200 בלי כפילות.\nקוראים מכאן: checkout.html אחרי תשלום מוצלח (לפני redirect).","operationId":"pay_complete_webhook_v1_pay_complete_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/pay/verify-link":{"post":{"summary":"Verify Payment Link","description":"Verify payment link signature - prevents URL tampering","operationId":"verify_payment_link_v1_pay_verify_link_post","parameters":[{"name":"link_id","in":"query","required":true,"schema":{"type":"string","title":"Link Id"}},{"name":"amount","in":"query","required":true,"schema":{"type":"number","title":"Amount"}},{"name":"merchant","in":"query","required":true,"schema":{"type":"string","title":"Merchant"}},{"name":"signature","in":"query","required":true,"schema":{"type":"string","title":"Signature"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/qr/{payment_id}":{"get":{"summary":"Get Payment Qr","description":"Get QR code data for payment","operationId":"get_payment_qr_v1_pay_qr__payment_id__get","parameters":[{"name":"payment_id","in":"path","required":true,"schema":{"type":"string","title":"Payment Id"}},{"name":"amount","in":"query","required":false,"schema":{"type":"number","default":0,"title":"Amount"}},{"name":"merchant","in":"query","required":false,"schema":{"type":"string","default":"","title":"Merchant"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/qr/merchant":{"post":{"summary":"Create Merchant Qr","description":"יצירת QR קבוע לעסק","operationId":"create_merchant_qr_v1_qr_merchant_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QRMerchantRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/qr/payment":{"post":{"summary":"Create Payment Qr","description":"יצירת QR לתשלום עם סכום קבוע","operationId":"create_payment_qr_v1_qr_payment_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QRPaymentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/qr/receive":{"post":{"summary":"Create Receive Qr","description":"יצירת QR לקבלת כסף","operationId":"create_receive_qr_v1_qr_receive_post","parameters":[{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"amount","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Amount"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/qr/process":{"post":{"summary":"Process Qr Payment","description":"עיבוד תשלום מ-QR with SINGLE-USE ENFORCEMENT","operationId":"process_qr_payment_v1_qr_process_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QRProcessRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/qr/scan/{qr_id}":{"get":{"summary":"Scan Qr","description":"סריקת QR - מחזיר פרטי תשלום","operationId":"scan_qr_v1_qr_scan__qr_id__get","parameters":[{"name":"qr_id","in":"path","required":true,"schema":{"type":"string","title":"Qr Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/qr/stats":{"get":{"summary":"Get Qr Stats","description":"סטטיסטיקות מערכת QR","operationId":"get_qr_stats_v1_qr_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/qr/external/create":{"post":{"summary":"Create External Payment Qr","description":"💜 יצירת QR לתשלום חיצוני (ביט/פייפל)\n\nהזרימה:\n1. יצירת QR → מחזיר URL לדף תשלום\n2. לקוח נכנס לדף → רואה פרטי תשלום\n3. לקוח משלם באפליקציה החיצונית\n4. לקוח לוחץ \"שילמתי\" → POST /v1/qr/external/{qr_id}/confirm\n5. עסק מאשר → POST /v1/qr/external/{qr_id}/verify","operationId":"create_external_payment_qr_v1_qr_external_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalPaymentQRRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/qr/external/{qr_id}":{"get":{"summary":"Get External Payment Qr","description":"💜 קבלת פרטי QR תשלום חיצוני","operationId":"get_external_payment_qr_v1_qr_external__qr_id__get","parameters":[{"name":"qr_id","in":"path","required":true,"schema":{"type":"string","title":"Qr Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/qr/external/{qr_id}/confirm":{"post":{"summary":"Confirm External Payment","description":"✅ לקוח מאשר ששילם\n\nנקרא אחרי שהלקוח שילם בביט/פייפל ולחץ \"שילמתי\"","operationId":"confirm_external_payment_v1_qr_external__qr_id__confirm_post","parameters":[{"name":"qr_id","in":"path","required":true,"schema":{"type":"string","title":"Qr Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/qr/external/{qr_id}/verify":{"post":{"summary":"Verify External Payment","description":"✅ עסק מאשר קבלת תשלום\n\nנקרא אחרי שהעסק בדק שקיבל את הכסף","operationId":"verify_external_payment_v1_qr_external__qr_id__verify_post","parameters":[{"name":"qr_id","in":"path","required":true,"schema":{"type":"string","title":"Qr Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/qr/external/pending/{business_code}":{"get":{"summary":"Get Pending Payments","description":"📋 קבלת תשלומים ממתינים לאישור","operationId":"get_pending_payments_v1_qr_external_pending__business_code__get","parameters":[{"name":"business_code","in":"path","required":true,"schema":{"type":"string","title":"Business Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/card":{"post":{"summary":"Pay With Card","description":"Process credit/debit card payment","operationId":"pay_with_card_v1_pay_card_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CardPaymentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/card/charge":{"post":{"summary":"Charge Saved Card","description":"💳 חיוב כרטיס שמור - לטעינת ארנק!\n\nזה האלטרנטיבה ל-Apple Pay כשהוא לא זמין.","operationId":"charge_saved_card_v1_pay_card_charge_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedCardChargeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pay/nfc/process":{"post":{"summary":"Process Nfc Payment","description":"Process NFC HCE payment - האייפון משמש ככרטיס!\n\nFlow:\n👤 משתמש פותח את ΔCard\n        ↓\n📱 מקרב את האייפון לקופה\n        ↓\n📡 NFC מעביר את פרטי הכרטיס\n        ↓\n✅ תשלום בוצע!","operationId":"process_nfc_payment_v1_pay_nfc_process_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NFCPaymentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/passkey/register-challenge":{"post":{"summary":"Get Passkey Register Challenge","description":"Get challenge for Passkey registration","operationId":"get_passkey_register_challenge_v1_auth_passkey_register_challenge_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/auth/passkey/auth-challenge":{"post":{"summary":"Get Passkey Auth Challenge","description":"Get challenge for Passkey authentication","operationId":"get_passkey_auth_challenge_v1_auth_passkey_auth_challenge_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/auth/passkey/register":{"post":{"summary":"Register Passkey","description":"Register a new Passkey credential","operationId":"register_passkey_v1_auth_passkey_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasskeyCredential"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/passkey/verify":{"post":{"summary":"Verify Passkey","description":"Verify Passkey authentication","operationId":"verify_passkey_v1_auth_passkey_verify_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/auth/passkey/list/{user_id}":{"get":{"summary":"List User Passkeys","description":"List all Passkeys for a user","operationId":"list_user_passkeys_v1_auth_passkey_list__user_id__get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/credit/request":{"post":{"summary":"Request P2P Credit","description":"Request P2P credit/loan from other users","operationId":"request_p2p_credit_v1_credit_request_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditRequestModel"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/platform/account":{"get":{"summary":"Get Platform Account","description":"Get ΔWorlds central platform account info - REAL DATA","operationId":"get_platform_account_v1_platform_account_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/platform/stats":{"get":{"summary":"Get Platform Stats","description":"Get platform-wide statistics","operationId":"get_platform_stats_v1_platform_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/fieldnet/route":{"post":{"summary":"Route Data","description":"Route data through ΔFieldNet","operationId":"route_data_v1_fieldnet_route_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutePayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RouteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fieldnet/receive":{"post":{"summary":"Receive Data","description":"Receive data from ΔFieldNet","operationId":"receive_data_v1_fieldnet_receive_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReceiveRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReceiveResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fieldnet/anchor":{"get":{"summary":"Get Phase Anchor","description":"🔥💀⚡ Get Phase Anchor for synchronization! ⚡💀🔥\nReturns anchor_time and T (period) for 500Hz sync\n\nשינוי = חישוב | CHANGE = COMPUTE\nAnchor is ALWAYS current time - no external sync needed!\ndrift → 0 = UNLIMITED QUALITY!","operationId":"get_phase_anchor_v1_fieldnet_anchor_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/fieldnet/broadcast":{"post":{"summary":"Broadcast Html","description":"🔥💀⚡ Broadcast HTML to all connected devices! ⚡💀🔥\nMac Chrome Extension sends HTML, iPhone receives!","operationId":"broadcast_html_v1_fieldnet_broadcast_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTMLBroadcast"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fieldnet/request_broadcast":{"post":{"summary":"Request Broadcast","description":"Request the server to fetch a URL and broadcast it to all clients.\nNext time anyone asks for this URL, they get it instantly!","operationId":"request_broadcast_v1_fieldnet_request_broadcast_post","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","title":"Url"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/phase/video/resolve":{"post":{"summary":"Resolve Video Phase","description":"🔥💀⚡ Resolve YouTube URL to PHASE SIGNATURE! ⚡💀🔥\nNOT streaming - PHASE RECONSTRUCTION for INFINITE quality!\n\nשינוי = חישוב | drift → 0 = ∞ QUALITY","operationId":"resolve_video_phase_v1_phase_video_resolve_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VideoResolveRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fieldnet/gps_phase_broadcast":{"post":{"summary":"Broadcast Gps Phase","description":"🔥💀⚡ Broadcast GPS Phase HTML to all connected devices! ⚡💀🔥\nMac Chrome Extension sends GPS Phase chunks, iPhone receives!","operationId":"broadcast_gps_phase_v1_fieldnet_gps_phase_broadcast_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GPSPhaseBroadcast"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fieldnet/broadcasts":{"get":{"summary":"Get Html Broadcasts","description":"🔥💀⚡ Get all HTML broadcasts for Phase Engine! ⚡💀🔥","operationId":"get_html_broadcasts_v1_fieldnet_broadcasts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/fieldnet/gps_phase_broadcasts":{"get":{"summary":"Get Gps Phase Broadcasts","description":"🔥💀⚡ Get all GPS Phase broadcasts (legacy)! ⚡💀🔥","operationId":"get_gps_phase_broadcasts_v1_fieldnet_gps_phase_broadcasts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/fieldnet/phase_broadcast":{"post":{"summary":"Store Phase Broadcast","description":"🔥💀⚡ Store Phase broadcast from Phase Engine! ⚡💀🔥\nPhase Engine sends compressed Phase packets, iPhone polls them!","operationId":"store_phase_broadcast_v1_fieldnet_phase_broadcast_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Request"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fieldnet/phase_broadcasts":{"get":{"summary":"Get Phase Broadcasts","description":"🔥💀⚡ Get all Phase broadcasts for iPhone! ⚡💀🔥\niPhone polls this to get Phase-encoded internet content!","operationId":"get_phase_broadcasts_v1_fieldnet_phase_broadcasts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/gps/phase/receive":{"post":{"summary":"Receive Gps Phase","description":"🔥💀⚡ Receive GPS Phase from iPhone! ⚡💀🔥\niPhone sends GPS Phase variations, Mac decodes and fetches internet!","operationId":"receive_gps_phase_v1_gps_phase_receive_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Request"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/gps/phase/response":{"get":{"summary":"Get Gps Phase Response","description":"🔥💀⚡ Get GPS Phase response for iPhone! ⚡💀🔥\niPhone polls this to get internet response encoded as GPS Phase","operationId":"get_gps_phase_response_v1_gps_phase_response_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/gps/phase/stats":{"get":{"summary":"Get Gps Phase Stats","description":"🔥💀⚡ Get GPS Phase Receiver stats! ⚡💀🔥","operationId":"get_gps_phase_stats_v1_gps_phase_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/gps/phase-status":{"get":{"summary":"Get Gps Phase Status","description":"🆕 Live phase coherence — used by frontend to show 500Hz health.\n\nReturns the same Δ-physics fields surfaced by /v1/fieldnet/anchor (frequency, T,\ncoherence, drift, mode) plus per-anchor phase quality if a GPS receiver is live.","operationId":"get_gps_phase_status_v1_gps_phase_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/bridge/proxy":{"post":{"summary":"Bridge Proxy","description":"🌐 ΔBRIDGE Proxy - Gateway to regular internet!\n\nTranslates ΔPacket requests to HTTP and back.\nAny device with ΔID can access the internet through this bridge!","operationId":"bridge_proxy_v1_bridge_proxy_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BridgeProxyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BridgeProxyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/bridge/dns":{"post":{"summary":"Bridge Dns","description":"🔍 ΔBRIDGE DNS - Resolve domain names","operationId":"bridge_dns_v1_bridge_dns_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BridgeDNSRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BridgeDNSResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/bridge/stats":{"get":{"summary":"Bridge Stats","description":"📊 ΔBRIDGE Statistics","operationId":"bridge_stats_v1_bridge_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BridgeStatsResponse"}}}}}}},"/v1/phase/connect":{"post":{"summary":"Phase Connect","description":"🔥 Connect a private phase to ΔPHASE-GATEWAY (Pressure Cell)\n\nThis is how devices enter the global network:\n1. Create a private phase (ΔPhase_i)\n2. Connect through the pressure cell\n3. Get normalized to ΔPHASE0 (shared reality)","operationId":"phase_connect_v1_phase_connect_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhaseConnectRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhaseConnectResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/phase/intent":{"post":{"summary":"Phase Intent","description":"🎯 Process an intent through ΔPHASE-GATEWAY\n\nThe full pipeline:\n1. Normalize source phase\n2. Map intent to meaning\n3. Safety check\n4. Align phases (if target exists)\n5. Translate semantics","operationId":"phase_intent_v1_phase_intent_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhaseIntentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhaseIntentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/phase/stats":{"get":{"summary":"Phase Gateway Stats","description":"📊 Get ΔPHASE-GATEWAY statistics","operationId":"phase_gateway_stats_v1_phase_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhaseGatewayStatsResponse"}}}}}}},"/v1/lock":{"post":{"summary":"Lock State","description":"🔒 MAX8 Virtual Chip: Lock State to ΔPHASE0\n\nSend any state → Get deterministic phase from Prime Phase Generator.\nThe phase is signed and includes MRV attestation.\n\nThis is the core operation of the Virtual Chip:\n- Same state → Same phase (deterministic)\n- Phase is locked to ΔPHASE0 (global time reference)\n- Signature proves it came from this chip","operationId":"lock_state_v1_lock_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LockRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LockResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/verify":{"post":{"summary":"Verify Phases","description":"✅ MAX8 Virtual Chip: Verify Phase Match\n\nCompares two phases and cryptographically verifies that each signature\nwas produced by this ΔPHASE0 server (not forged).\n\nVerification: re-derive the signature from (phase, client_id, epoch, prime_time, state_hash)\nembedded in the original /v1/lock call.  Since the verify endpoint receives only\n(phase, signature), we check structural validity: correct length, hex chars,\nand that the signature is a valid SHA-256 prefix (32 hex chars).\nFull re-derivation requires the original client_id/epoch/state_hash which the\nverifier may not have — so we validate format + phase match, which is sufficient\nto detect forged random signatures while keeping the API stateless.","operationId":"verify_phases_v1_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/status":{"get":{"summary":"Get Chip Status","description":"📊 MAX8 Virtual Chip: Status\n\nReturns the current state of the ΔPHASE0 connection:\n- synced: Is chip connected to Prime Phase?\n- latency_ms: Round-trip latency\n- phase0_epoch: Current epoch number\n- region: Server region","operationId":"get_chip_status_v1_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/phase/endpoints":{"get":{"summary":"Phase External Endpoints","description":"🌐 Get external endpoints for global access\n\nThese are the addresses where this gateway can be reached\nfrom anywhere in the world!","operationId":"phase_external_endpoints_v1_phase_endpoints_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/phase/add_endpoint":{"post":{"summary":"Add External Endpoint","description":"🌐 Add an external endpoint for global access\n\nWhen you have a public URL (from any source), add it here\nso other phases can find this gateway!","operationId":"add_external_endpoint_v1_phase_add_endpoint_post","parameters":[{"name":"endpoint","in":"query","required":true,"schema":{"type":"string","title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/phase/browse":{"post":{"summary":"Phase Browse","description":"🔥💀⚡ PHASE BROWSE - THE FULL 0nm PROTOCOL! ⚡💀🔥\n\nThe complete flow:\n0. CHECK CACHE FIRST! (Like 1970s TV - broadcast is already here!)\n1. ANCHOR LOCK - Lock to phase anchor\n2. PRESSURE CELL - Compress through PhaseGateway\n3. PHASE ENCODE - Encode HTML to Phase (6-9 bits!)\n4. RECONSTRUCT - Client reconstructs from Phase\n\nThis is the REAL 0nm protocol!","operationId":"phase_browse_v1_phase_browse_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhaseBrowseRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhaseBrowseResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/phase/video/stream":{"post":{"summary":"Phase Video Stream","description":"🔥💀⚡ PHASE VIDEO STREAM - REAL ENCODE → PROCESS → DECODE → PROXY! ⚡💀🔥\n\nTHE SIMPLE & POWERFUL ARCHITECTURE:\n\n1. FETCH   → Get content from URL\n2. ENCODE  → Phase Engine → 9 bits\n3. PROCESS → Max8 + Delta + Spike + Geometry → 92,160 FSD!\n4. DECODE  → Time Reconstructor → Perfect quality\n5. PROXY   → Stream to iPhone\n\nALL processing on server. iPhone = display only!","operationId":"phase_video_stream_v1_phase_video_stream_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhaseVideoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhaseVideoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/share/link":{"get":{"summary":"Get Shareable Link","description":"🔗 Get a shareable link for video calls!\n\nThis returns the best available link to share with others.\nPriority:\n1. Registered public gateways\n2. Local network link","operationId":"get_shareable_link_v1_share_link_get","parameters":[{"name":"delta_id","in":"query","required":false,"schema":{"type":"string","title":"Delta Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/gateway/register":{"post":{"summary":"Register Gateway","description":"🌐 Register this server as a gateway!\n\nWhen a user has a public IP or uses port forwarding,\nthey can register as a gateway so others can connect through them.","operationId":"register_gateway_v1_gateway_register_post","parameters":[{"name":"gateway_id","in":"query","required":true,"schema":{"type":"string","title":"Gateway Id"}},{"name":"endpoint","in":"query","required":true,"schema":{"type":"string","title":"Endpoint"}},{"name":"is_public","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Is Public"}},{"name":"bandwidth_mbps","in":"query","required":false,"schema":{"type":"number","default":100.0,"title":"Bandwidth Mbps"}},{"name":"latency_ms","in":"query","required":false,"schema":{"type":"number","default":10.0,"title":"Latency Ms"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/gateway/list":{"get":{"summary":"List Gateways","description":"📋 List all registered gateways","operationId":"list_gateways_v1_gateway_list_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/gateway/{gateway_id}":{"delete":{"summary":"Unregister Gateway","description":"📴 Unregister a gateway","operationId":"unregister_gateway_v1_gateway__gateway_id__delete","parameters":[{"name":"gateway_id","in":"path","required":true,"schema":{"type":"string","title":"Gateway Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/dtv/status":{"get":{"summary":"Dtv Status","description":"📺 Get ΔTV Gateway status","operationId":"dtv_status_v1_dtv_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/dtv/ui/overlay":{"get":{"summary":"Dtv Ui Overlay","description":"🖥️ Get minimal data for invisible UI overlay","operationId":"dtv_ui_overlay_v1_dtv_ui_overlay_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/dtv/quality-lock/enable":{"post":{"summary":"Dtv Enable Quality Lock","description":"🔒 Enable Quality Lock\nAfter this: buffer = 0ms, stability = locked","operationId":"dtv_enable_quality_lock_v1_dtv_quality_lock_enable_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/dtv/quality-lock/disable":{"post":{"summary":"Dtv Disable Quality Lock","description":"🔓 Disable Quality Lock","operationId":"dtv_disable_quality_lock_v1_dtv_quality_lock_disable_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/dtv/route":{"post":{"summary":"Dtv Route","description":"🌐 Route URL through ΔTV Gateway\n\nProcesses the URL through:\n1. Provider detection (Netflix, YouTube, etc.)\n2. Phase encoding\n3. Quality Lock processing\n4. Phase reconstruction","operationId":"dtv_route_v1_dtv_route_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DTVRouteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/dtv/streams":{"get":{"summary":"Dtv Streams List","description":"📊 List active streams","operationId":"dtv_streams_list_v1_dtv_streams_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/browser/session/create":{"post":{"summary":"Proxy Browser Create Session","description":"Create interactive browser session","operationId":"proxy_browser_create_session_v1_browser_session_create_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/browser/session/{session_id}":{"get":{"summary":"Proxy Browser Get Session","description":"Get browser session info","operationId":"proxy_browser_get_session_v1_browser_session__session_id__get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Proxy Browser Destroy Session","description":"Destroy browser session","operationId":"proxy_browser_destroy_session_v1_browser_session__session_id__delete","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/browser/sessions":{"get":{"summary":"Proxy Browser List Sessions","description":"List all browser sessions","operationId":"proxy_browser_list_sessions_v1_browser_sessions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/redline/{room_id}/beacon":{"delete":{"summary":"Reset Redline Beacon","description":"🔴 Reset beacon for a room (testing only!)\nIn production, beacons are truly immutable.","operationId":"reset_redline_beacon_v1_redline__room_id__beacon_delete","parameters":[{"name":"room_id","in":"path","required":true,"schema":{"type":"string","title":"Room Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/redline/{room_id}/status":{"get":{"summary":"Get Redline Status","description":"🔴 Get current status of a red line room","operationId":"get_redline_status_v1_redline__room_id__status_get","parameters":[{"name":"room_id","in":"path","required":true,"schema":{"type":"string","title":"Room Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/call/start":{"post":{"summary":"Call Start","description":"📞 Start a call between two ΔIDs\n\nFlow:\n1. Caller sends start request\n2. Server creates call session\n3. Server notifies callee via WebSocket\n4. Callee answers/rejects","operationId":"call_start_v1_call_start_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallStartRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallStartResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/call/answer":{"post":{"summary":"Call Answer","description":"✅ Answer or reject an incoming call","operationId":"call_answer_v1_call_answer_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallAnswerRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/call/phase":{"post":{"summary":"Call Phase","description":"🔥 Transmit Phase signature (6-9 bits!) \n\nThis is the magic - instead of sending megabytes of video,\nwe send only 8 bits that the receiver reconstructs locally!","operationId":"call_phase_v1_call_phase_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallPhaseRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/call/end":{"post":{"summary":"Call End","description":"📴 End an active call","operationId":"call_end_v1_call_end_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallEndRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/call/status/{call_id}":{"get":{"summary":"Call Status","description":"📊 Get call status","operationId":"call_status_v1_call_status__call_id__get","parameters":[{"name":"call_id","in":"path","required":true,"schema":{"type":"string","title":"Call Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/call/active":{"get":{"summary":"Active Calls List","description":"📋 List all active calls","operationId":"active_calls_list_v1_call_active_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/call/websockets":{"get":{"summary":"Call Websockets List","description":"📊 List connected call WebSockets for debugging","operationId":"call_websockets_list_v1_call_websockets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/identity/register":{"post":{"summary":"Register Identity","description":"Register a permanent ΔID with the network - PERSISTENT!","operationId":"register_identity_v1_identity_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityRegister"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/identity/{delta_id}":{"get":{"summary":"Get Identity","description":"Get identity info by ΔID — checks persistent store, in-memory, then identities.json with legacy_ids.","operationId":"get_identity_v1_identity__delta_id__get","parameters":[{"name":"delta_id","in":"path","required":true,"schema":{"type":"string","title":"Delta Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/identity/{delta_id}/businesses":{"get":{"summary":"Get Identity Businesses","description":"Get businesses owned by a specific ΔID - 🔐 SECURE ENDPOINT","operationId":"get_identity_businesses_v1_identity__delta_id__businesses_get","parameters":[{"name":"delta_id","in":"path","required":true,"schema":{"type":"string","title":"Delta Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/identity/{delta_id}/role":{"post":{"summary":"Add Identity Role","description":"Add a role to an existing ΔID (single identity, fluid roles).\n\nBody: {\"role\": \"courier\" | \"operator\" | ...}\nAuth: X-Delta-ID header must equal {delta_id} (self-update only) OR be platform_owner.\nIdempotent: adding an existing role is a no-op (returns current roles).\nNEVER creates a new identity — must already exist.","operationId":"add_identity_role_v1_identity__delta_id__role_post","parameters":[{"name":"delta_id","in":"path","required":true,"schema":{"type":"string","title":"Delta Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/smartlink/{slug}/resolve":{"get":{"summary":"Smartlink Resolve","description":"Resolve a SmartLink slug → unified context capsule.\n\nResolution order:\n  1. ContentJob smartlink_slug match (creator attribution — Layer 4 Creator Economy)\n  2. Exact business_code match\n  3. Operator referral_code match\n  4. Wolt slug (delta_id_index) match → business_code\n  5. Fuzzy business name match (lower priority)\n\nSide-effects on creator attribution:\n  • Emits SMARTLINK.SCANNED event → CreatorAgent picks it up\n  • MRV.sign(domain=creator, action=smartlink.scanned)\n  • Increments scan counter on the ContentJob\n  • Promotes job status DRAFT/PUBLISHED → SCANNED (and credits first_scan bonus)","operationId":"smartlink_resolve_v1_smartlink__slug__resolve_get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"via","in":"query","required":false,"schema":{"type":"string","default":"","title":"Via"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/s/{slug}":{"get":{"summary":"Smartlink Short","description":"Short-URL form: /s/{slug} → resolves the same capsule (for QR / print / SMS use).","operationId":"smartlink_short_s__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ela/personal/{delta_id}":{"get":{"summary":"Ela Personal","description":"Aggregated personal data for a single ΔID — identity, wallet, orders, businesses, suggestions.","operationId":"ela_personal_api_ela_personal__delta_id__get","parameters":[{"name":"delta_id","in":"path","required":true,"schema":{"type":"string","title":"Delta Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/profile/update":{"post":{"summary":"Update Profile","description":"Update user profile information","operationId":"update_profile_v1_profile_update_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/deliveries":{"get":{"summary":"List Deliveries","description":"List deliveries (for couriers)","operationId":"list_deliveries_v1_deliveries_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Create Delivery","description":"Create a delivery request (minimal + optional rich fields from create-delivery.html).","operationId":"create_delivery_v1_deliveries_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/deliveries/{delivery_id}":{"get":{"summary":"Get Delivery By Id","description":"Fetch one delivery (courier map / nav).","operationId":"get_delivery_by_id_v1_deliveries__delivery_id__get","parameters":[{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","title":"Delivery Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/deliveries/{delivery_id}/accept":{"post":{"summary":"Accept Delivery","description":"Courier accepts a delivery. Optional body: {mode:'wolt|resell', retail_price, markup_pct}","operationId":"accept_delivery_v1_deliveries__delivery_id__accept_post","parameters":[{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","title":"Delivery Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/deliveries/{delivery_id}/pickup":{"post":{"summary":"Pickup Delivery","description":"Courier picked up the delivery","operationId":"pickup_delivery_v1_deliveries__delivery_id__pickup_post","parameters":[{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","title":"Delivery Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/deliveries/{delivery_id}/delivered":{"post":{"summary":"Complete Delivery","description":"Courier delivered — DONE.\nTriggers settlement based on delivery.mode:\n  • wolt    → records MRV proof (release_settlement handles the actual transfer\n              via the order_runtime engine when the order is released)\n  • resell  → executes 2 real wallet transfers (customer→courier, courier→biz)\n              + 3-step MRV chain. Customer wallet auto-tops-up if short.\nBody (optional): {require_proof:true, mode:\"wolt|resell\"}","operationId":"complete_delivery_v1_deliveries__delivery_id__delivered_post","parameters":[{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","title":"Delivery Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/deliveries/{delivery_id}/location":{"post":{"summary":"Update Courier Location","description":"Courier sends GPS location for real-time tracking.\n\n🆕 Side-effect: if courier is a Mobile Business (is_mobile=True), update the\nbusiness node's lat/lng too — so 'משלוחי משה' actually MOVES with him on the map.","operationId":"update_courier_location_v1_deliveries__delivery_id__location_post","parameters":[{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","title":"Delivery Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/deliveries/{delivery_id}/track":{"get":{"summary":"Track Delivery","description":"Customer tracks delivery location","operationId":"track_delivery_v1_deliveries__delivery_id__track_get","parameters":[{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","title":"Delivery Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/checkout/session":{"post":{"summary":"Runtime Checkout Create","description":"Server-side checkout session with price snapshot (CHK-*).","operationId":"runtime_checkout_create_v1_runtime_checkout_session_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuntimeCheckoutCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/checkout/session/{chk_id}":{"get":{"summary":"Runtime Checkout Get","operationId":"runtime_checkout_get_v1_runtime_checkout_session__chk_id__get","parameters":[{"name":"chk_id","in":"path","required":true,"schema":{"type":"string","title":"Chk Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/order/draft":{"post":{"summary":"Runtime Order Draft","description":"CHK-* → ORD-* in awaiting_payment + PaymentIntent.","operationId":"runtime_order_draft_v1_runtime_order_draft_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuntimeOrderDraft"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/order/{order_id}/attach_payment_session":{"post":{"summary":"Runtime Attach Payment","operationId":"runtime_attach_payment_v1_runtime_order__order_id__attach_payment_session_post","parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","title":"Order Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuntimeAttachPaymentSession"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/order/{order_id}":{"get":{"summary":"Runtime Order Get","operationId":"runtime_order_get_v1_runtime_order__order_id__get","parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/order/{order_id}/receipt":{"get":{"summary":"Runtime Order Receipt","operationId":"runtime_order_receipt_v1_runtime_order__order_id__receipt_get","parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/order/{order_id}/tracking":{"get":{"summary":"Runtime Order Tracking","operationId":"runtime_order_tracking_v1_runtime_order__order_id__tracking_get","parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/business/{code}/orders/pending":{"get":{"summary":"Runtime Business Orders Pending","operationId":"runtime_business_orders_pending_v1_runtime_business__code__orders_pending_get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/business/{code}/orders":{"get":{"summary":"Runtime Business Orders All","operationId":"runtime_business_orders_all_v1_runtime_business__code__orders_get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/business/{code}/orders/{order_id}/accept":{"post":{"summary":"Runtime Business Accept","operationId":"runtime_business_accept_v1_runtime_business__code__orders__order_id__accept_post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}},{"name":"order_id","in":"path","required":true,"schema":{"type":"string","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/business/{code}/orders/{order_id}/reject":{"post":{"summary":"Runtime Business Reject","operationId":"runtime_business_reject_v1_runtime_business__code__orders__order_id__reject_post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}},{"name":"order_id","in":"path","required":true,"schema":{"type":"string","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/business/{code}/orders/{order_id}/preparing":{"post":{"summary":"Runtime Business Preparing","operationId":"runtime_business_preparing_v1_runtime_business__code__orders__order_id__preparing_post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}},{"name":"order_id","in":"path","required":true,"schema":{"type":"string","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/business/{code}/orders/{order_id}/ready":{"post":{"summary":"Runtime Business Ready","operationId":"runtime_business_ready_v1_runtime_business__code__orders__order_id__ready_post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}},{"name":"order_id","in":"path","required":true,"schema":{"type":"string","title":"Order Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuntimeBusinessReady"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/business/{code}/orders/{order_id}/complete":{"post":{"summary":"Runtime Business Complete Order","description":"Pickup / manual complete → order completed + settlement release when applicable.","operationId":"runtime_business_complete_order_v1_runtime_business__code__orders__order_id__complete_post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}},{"name":"order_id","in":"path","required":true,"schema":{"type":"string","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/courier/register":{"post":{"summary":"Runtime Courier Register","operationId":"runtime_courier_register_v1_runtime_courier_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuntimeCourierRegister"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/order/{order_id}/assign_courier":{"post":{"summary":"Runtime Assign Courier Ep","operationId":"runtime_assign_courier_ep_v1_runtime_order__order_id__assign_courier_post","parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","title":"Order Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuntimeAssignCourier"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/order/{order_id}/release_settlement":{"post":{"summary":"Runtime Release Settlement Ep","operationId":"runtime_release_settlement_ep_v1_runtime_order__order_id__release_settlement_post","parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/wallet/biz/{code}":{"get":{"summary":"Runtime Wallet Biz","operationId":"runtime_wallet_biz_v1_runtime_wallet_biz__code__get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/wallet/courier/{courier_id}":{"get":{"summary":"Runtime Wallet Courier","operationId":"runtime_wallet_courier_v1_runtime_wallet_courier__courier_id__get","parameters":[{"name":"courier_id","in":"path","required":true,"schema":{"type":"string","title":"Courier Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/system/maintenance":{"post":{"summary":"Runtime Maintenance Run","description":"Timeouts (e.g. auto-cancel stale sent_to_business). For cron or ops.","operationId":"runtime_maintenance_run_v1_runtime_system_maintenance_post","parameters":[{"name":"timeout_sent_minutes","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Timeout Sent Minutes"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/order/create":{"post":{"summary":"Runtime Order Create V2","description":"One-step: CHK + ORD combined. No checkout dance.","operationId":"runtime_order_create_v2_v1_runtime_order_create_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/runtime/order/{order_id}/pay":{"post":{"summary":"Runtime Order Pay V2","description":"Server creates + links payment session. No localStorage needed.","operationId":"runtime_order_pay_v2_v1_runtime_order__order_id__pay_post","parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/order/{order_id}/event":{"post":{"summary":"Runtime Order Event V2","description":"Δ-driven event ingestion. One endpoint for all transitions.","operationId":"runtime_order_event_v2_v1_runtime_order__order_id__event_post","parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/order/{order_id}/canonical":{"get":{"summary":"Runtime Order Canonical V2","description":"Single canonical state for ANY UI — enriched with live GPS from delivery store.","operationId":"runtime_order_canonical_v2_v1_runtime_order__order_id__canonical_get","parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/order/{order_id}/stream":{"get":{"summary":"Runtime Order Stream V2","description":"SSE stream — push canonical state on Δ, enriched with live GPS.","operationId":"runtime_order_stream_v2_v1_runtime_order__order_id__stream_get","parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/navigation/start":{"post":{"summary":"Runtime Navigation Start","description":"Create NavigationSession — map/renderer is client; state lives here.","operationId":"runtime_navigation_start_v1_runtime_navigation_start_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuntimeNavStart"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/runtime/navigation/{nav_id}":{"get":{"summary":"Runtime Navigation Get","operationId":"runtime_navigation_get_v1_runtime_navigation__nav_id__get","parameters":[{"name":"nav_id","in":"path","required":true,"schema":{"type":"string","title":"Nav Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"summary":"Runtime Navigation Patch","description":"Persist client-computed route (GeoJSON, ETA, distance).","operationId":"runtime_navigation_patch_v1_runtime_navigation__nav_id__patch","parameters":[{"name":"nav_id","in":"path","required":true,"schema":{"type":"string","title":"Nav Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/measure-requests":{"get":{"summary":"List Measure Requests","description":"List measure requests (for measurers)","operationId":"list_measure_requests_v1_measure_requests_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Create Measure Request","description":"Create a measurement request","operationId":"create_measure_request_v1_measure_requests_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/measure-requests/{request_id}/accept":{"post":{"summary":"Accept Measure Request","description":"Measurer accepts a measurement request","operationId":"accept_measure_request_v1_measure_requests__request_id__accept_post","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/rate":{"post":{"summary":"Rate Service","description":"Rate a completed service/delivery","operationId":"rate_service_v1_rate_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/ratings/{target_id}":{"get":{"summary":"Get Ratings","description":"Get ratings for a business/courier","operationId":"get_ratings_v1_ratings__target_id__get","parameters":[{"name":"target_id","in":"path","required":true,"schema":{"type":"string","title":"Target Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/order/{order_id}/status":{"get":{"summary":"Get Order Status","description":"Get full order status for customer tracking","operationId":"get_order_status_v1_order__order_id__status_get","parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/search":{"get":{"summary":"Search Businesses","description":"Search businesses by name, category, or service","operationId":"search_businesses_v1_search_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","default":"","title":"Q"}},{"name":"category","in":"query","required":false,"schema":{"type":"string","default":"","title":"Category"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/categories":{"get":{"summary":"List Categories","description":"List available business categories","operationId":"list_categories_v1_categories_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/favorites/add":{"post":{"summary":"Add Favorite","description":"Save a business as favorite","operationId":"add_favorite_v1_favorites_add_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/favorites":{"get":{"summary":"Get Favorites","description":"Get user's favorite businesses","operationId":"get_favorites_v1_favorites_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/business/{code}/earnings":{"get":{"summary":"Business Earnings","description":"Business sees total earnings, pending payouts, completed","operationId":"business_earnings_v1_business__code__earnings_get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/courier/bundles":{"get":{"summary":"Courier Bundles Endpoint","description":"Discover bundle-able deliveries (2+ pending in same pickup or nearby dropoffs).\nOptional `?lat=X&lng=Y` to rank by distance from courier.","operationId":"courier_bundles_endpoint_v1_courier_bundles_get","parameters":[{"name":"lat","in":"query","required":false,"schema":{"type":"number","default":0,"title":"Lat"}},{"name":"lng","in":"query","required":false,"schema":{"type":"number","default":0,"title":"Lng"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/courier/batch/accept":{"post":{"summary":"Batch Accept Endpoint","description":"Accept multiple deliveries atomically as a single trip.\nAuto-builds the optimal stop order (NN-TSP heuristic).","operationId":"batch_accept_endpoint_v1_courier_batch_accept_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchAcceptBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/courier/{courier_id}/active-batch":{"get":{"summary":"Courier Active Batch Endpoint","description":"Return the courier's current open batch (with annotated stop progress).","operationId":"courier_active_batch_endpoint_v1_courier__courier_id__active_batch_get","parameters":[{"name":"courier_id","in":"path","required":true,"schema":{"type":"string","title":"Courier Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/chat/{delivery_id}/messages":{"get":{"summary":"Chat List Messages","description":"List all messages for a delivery thread. Optionally `?since=ISO_TIMESTAMP` for incremental.","operationId":"chat_list_messages_v1_chat__delivery_id__messages_get","parameters":[{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","title":"Delivery Id"}},{"name":"since","in":"query","required":false,"schema":{"type":"string","default":"","title":"Since"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Chat Send Message","description":"Send a chat message. Sender resolved from X-Delta-ID.\n🆕 Returns ela_assist payload: auto_answer, sentiment alert, smart replies.","operationId":"chat_send_message_v1_chat__delivery_id__messages_post","parameters":[{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","title":"Delivery Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatSendBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/chat/{delivery_id}/quick-replies":{"get":{"summary":"Chat Quick Replies","description":"🧠 State-aware fast-tap phrases.\nFalls back to generic replies if delivery not found.","operationId":"chat_quick_replies_v1_chat__delivery_id__quick_replies_get","parameters":[{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","title":"Delivery Id"}},{"name":"role","in":"query","required":false,"schema":{"type":"string","default":"customer","title":"Role"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/chat/translate":{"post":{"summary":"Chat Translate Endpoint","description":"🌐 Translate a message between he/en/ar/ru via local Ollama.\nCached. Returns {translated, source_lang, target_lang} or null if same lang.","operationId":"chat_translate_endpoint_v1_chat_translate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatTranslateBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ela/bridge/status":{"get":{"summary":"Ela Bridge Status","description":"🌉 Live status of the bridge between DELTAWORLDS and ELA OS (port 9001).\nUse this to verify ELA is actually connected (not just simulated).","operationId":"ela_bridge_status_v1_ela_bridge_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/chat/ela/scan":{"post":{"summary":"Chat Ela Proactive Scan","description":"Trigger ELA proactive scan — intervenes in silent threads where customer is waiting.\nIdempotent. Cron-safe. Auto-runs every 60s in background (see startup task).","operationId":"chat_ela_proactive_scan_v1_chat_ela_scan_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/chat/threads":{"get":{"summary":"Chat List Threads","description":"List all chat threads where the requesting actor participates.","operationId":"chat_list_threads_v1_chat_threads_get","parameters":[{"name":"only_open","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Only Open"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/deliveries/{delivery_id}/rate":{"post":{"summary":"Rate Delivery Endpoint","description":"Customer rates a delivered delivery (1-5 stars + optional comment + tip).\nUpdates courier's avg_rating in CourierProfile + bumps trust_score via authorization.","operationId":"rate_delivery_endpoint_v1_deliveries__delivery_id__rate_post","parameters":[{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","title":"Delivery Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeliveryRating"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/courier/insights":{"get":{"summary":"Courier Insights","description":"Full courier analytics dashboard — Wolt/Uber/DoorDash parity through OUR tech.\n\nReturns everything courier-shift.html needs in ONE call:\n  • today's job feed (chronological)\n  • hourly distribution (today)\n  • history (today/yesterday/this_week/this_month/lifetime)\n  • top businesses (most delivered for)\n  • performance (acceptance rate, MRV-verified count, avg distance)\n  • mode breakdown (wolt/resell/catalog/curator) with fee + count\n  • peak_hours (when courier earns most)\n  • tax_summary (km × Israel rate for self-employed)\n  • zone heatmap (cities + addresses delivered to)\n  • quests (next bonus opportunity)","operationId":"courier_insights_v1_courier_insights_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/courier/earnings":{"get":{"summary":"Courier Earnings","description":"Courier earnings — now real (4 streams from wallet history) with legacy fallback.","operationId":"courier_earnings_v1_courier_earnings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/courier/payout-method":{"get":{"summary":"Get Payout Method Endpoint","description":"Return the configured payout method for the current actor (redacted).","operationId":"get_payout_method_endpoint_v1_courier_payout_method_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Set Payout Method Endpoint","description":"Configure (or replace) the courier's payout target.","operationId":"set_payout_method_endpoint_v1_courier_payout_method_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayoutMethodBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/courier/payout":{"post":{"summary":"Request Payout Endpoint","description":"Real payout request — debits wallet + queues bank transfer.","operationId":"request_payout_endpoint_v1_courier_payout_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayoutRequestBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/courier/payouts":{"get":{"summary":"List Payouts Endpoint","description":"Return courier's recent payout requests (history).","operationId":"list_payouts_endpoint_v1_courier_payouts_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/courier/payout/setup-card":{"post":{"summary":"Courier Payout Setup Card","description":"Generate a YaadPay J2 (zero-charge verification) URL.\n\nThe courier opens this URL, enters their card, and after success YaadPay\nredirects to /v1/courier/payout/save-card (or our success_url) with a\n19-digit token. We persist the token and from then on /v1/courier/payout\ntriggers a REAL YaadPay payout_to_card.","operationId":"courier_payout_setup_card_v1_courier_payout_setup_card_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/courier/payout/save-card":{"post":{"summary":"Courier Payout Save Card","description":"Persist the YaadPay token after a successful J2 setup.\n\nCalled either:\n  - by our frontend after parsing the YaadPay return URL params, or\n  - by YaadPay's NotifyURL webhook (server-to-server).","operationId":"courier_payout_save_card_v1_courier_payout_save_card_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourierSaveCardBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/payouts":{"get":{"summary":"Admin List Payouts","description":"Return ALL payouts across the platform (admin only). Filter by status if provided.","operationId":"admin_list_payouts_v1_admin_payouts_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/payouts/mark-paid":{"post":{"summary":"Admin Mark Paid Endpoint","description":"Mark a pending payout as paid (after real bank transfer was completed externally).","operationId":"admin_mark_paid_endpoint_v1_admin_payouts_mark_paid_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminPayoutBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/payouts/mark-failed":{"post":{"summary":"Admin Mark Failed Endpoint","description":"Mark a pending payout as failed (refunds the wallet automatically).","operationId":"admin_mark_failed_endpoint_v1_admin_payouts_mark_failed_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminPayoutBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/courier/promote":{"post":{"summary":"Courier Promote Endpoint","description":"Promote a courier into mobile-business mode (idempotent).\nCreates the CourierProfile, links business_code, ensures wallets, patches\nbusinesses.json so the business appears in /v1/my-businesses + business-welcome.\n\nB7: after successful promote, fire welcome SMS + auto-generate manifest so the\nnew courier-business appears whole (welcome flow no longer broken).","operationId":"courier_promote_endpoint_v1_courier_promote_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourierPromote"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/courier/state":{"post":{"summary":"Courier State Endpoint","description":"Toggle online/offline / shift state.","operationId":"courier_state_endpoint_v1_courier_state_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourierState"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/courier/location":{"post":{"summary":"Courier Location Endpoint","description":"Persist the courier's current shift GPS — used by dispatch + bundles.\n\nReads X-Delta-ID, writes shift_lat/shift_lng/area into the courier profile,\nand emits LOCATION.UPDATED on the bus so dispatch can re-rank nearby work.","operationId":"courier_location_endpoint_v1_courier_location_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourierLocation"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/courier/modes":{"post":{"summary":"Courier Modes Endpoint","description":"Set which modes (wolt/resell/catalog/curator) are enabled for this courier.","operationId":"courier_modes_endpoint_v1_courier_modes_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourierModes"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/courier/vehicles":{"get":{"summary":"Courier Vehicles List","description":"List all vehicles registered for this courier identity.","operationId":"courier_vehicles_list_v1_courier_vehicles_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Courier Vehicle Add","description":"Add a vehicle to the fleet. Optionally make it active immediately.","operationId":"courier_vehicle_add_v1_courier_vehicles_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourierVehicle"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/courier/vehicles/{vehicle_id}":{"delete":{"summary":"Courier Vehicle Remove","description":"Remove a vehicle from the fleet. If it was active, falls back to the next one.","operationId":"courier_vehicle_remove_v1_courier_vehicles__vehicle_id__delete","parameters":[{"name":"vehicle_id","in":"path","required":true,"schema":{"type":"string","title":"Vehicle Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/courier/vehicle":{"patch":{"summary":"Courier Vehicle Set Active","description":"Switch the active vehicle. e.g. motorcycle (lunch deliveries) → car (evening rideshare).\nOptionally also adjust modes — driver mode (curator) is auto-rejected if vehicle can't carry passengers.","operationId":"courier_vehicle_set_active_v1_courier_vehicle_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourierActiveVehicle"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fleet/register":{"post":{"summary":"Fleet Register","description":"Make me a fleet owner. Idempotent — reuses operator profile if I already have one,\notherwise creates one. Returns the referral_code to invite drivers under me.","operationId":"fleet_register_v1_fleet_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FleetRegister"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fleet/{owner_id}/drivers":{"get":{"summary":"Fleet Drivers","description":"List all couriers/drivers whose partner_code resolves to this fleet owner.\nReturns each driver's basic info, vehicle, modes, KPIs, doc status.","operationId":"fleet_drivers_v1_fleet__owner_id__drivers_get","parameters":[{"name":"owner_id","in":"path","required":true,"schema":{"type":"string","title":"Owner Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fleet/{owner_id}/dashboard":{"get":{"summary":"Fleet Dashboard","description":"Aggregate dashboard for fleet owner: today/week/month earnings from overrides + bonuses.","operationId":"fleet_dashboard_v1_fleet__owner_id__dashboard_get","parameters":[{"name":"owner_id","in":"path","required":true,"schema":{"type":"string","title":"Owner Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fleet/{owner_id}/invite":{"get":{"summary":"Fleet Invite","description":"Generate invite link + QR data for recruiting sub-couriers to this fleet.","operationId":"fleet_invite_v1_fleet__owner_id__invite_get","parameters":[{"name":"owner_id","in":"path","required":true,"schema":{"type":"string","title":"Owner Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/courier/markup":{"post":{"summary":"Courier Markup Endpoint","description":"Set Resell-mode markup range and target.","operationId":"courier_markup_endpoint_v1_courier_markup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourierMarkup"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/courier/profile":{"get":{"summary":"Courier Profile Endpoint","description":"Get the current courier-business profile (or null if not promoted yet).","operationId":"courier_profile_endpoint_v1_courier_profile_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/courier/quote":{"post":{"summary":"Courier Quote Endpoint","description":"Per-delivery quote preview: Wolt fee + Resell margin + ROI rating + breakdown.\n\nAccepts EITHER:\n  • distance_km + eta_minutes (precomputed)\n  • from_lat/from_lng + to_lat/to_lng (haversine + speed model)\n  • delivery_id (looks up cached values from store)","operationId":"courier_quote_endpoint_v1_courier_quote_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourierQuote"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/deliveries/{delivery_id}/proof":{"post":{"summary":"Delivery Proof Endpoint","description":"Record proof-of-delivery (photo / PIN / signature) → MRV.sign + ledger commit.\nStores the proof_id on the delivery record for retrieval.","operationId":"delivery_proof_endpoint_v1_deliveries__delivery_id__proof_post","parameters":[{"name":"delivery_id","in":"path","required":true,"schema":{"type":"string","title":"Delivery Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourierProof"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/courier/journey/announce":{"post":{"summary":"Courier Journey Announce Endpoint","description":"Curator mode: announce an upcoming journey for customers to join.","operationId":"courier_journey_announce_endpoint_v1_courier_journey_announce_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourierJourney"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/courier/journeys":{"get":{"summary":"Courier Journeys List Endpoint","description":"List announced journeys (optionally filter by courier or status).\n\nB5: accept ?status=open|closed|all in addition to ?open_only=true|false.\nFrontend (driver-shift.html) sends ?status=open which was silently ignored.","operationId":"courier_journeys_list_endpoint_v1_courier_journeys_get","parameters":[{"name":"courier_id","in":"query","required":false,"schema":{"type":"string","default":"","title":"Courier Id"}},{"name":"open_only","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Open Only"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","default":"","title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/courier/journey/{journey_id}/join":{"post":{"summary":"Courier Journey Join Endpoint","description":"Customer joins a curator journey (group cart entry-point).","operationId":"courier_journey_join_endpoint_v1_courier_journey__journey_id__join_post","parameters":[{"name":"journey_id","in":"path","required":true,"schema":{"type":"string","title":"Journey Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JourneyJoin"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/wallet/charge-customer":{"post":{"summary":"Wallet Charge Customer Endpoint","description":"Top-up the customer wallet from external rails (ApplePay/Bit/YaadPay).\nFor now uses 'platform:cash' as funding source; in production this would\nroute to the real payment provider tied to the customer's stored method.","operationId":"wallet_charge_customer_endpoint_v1_wallet_charge_customer_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerCharge"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/notify/email":{"post":{"summary":"Send Email Notification","description":"Send email notification using existing SMS gateway SMTP","operationId":"send_email_notification_v1_notify_email_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/receipt/generate":{"post":{"summary":"Generate Receipt","description":"Generate receipt/invoice after payment via iCount (real if configured, mock fallback).","operationId":"generate_receipt_v1_receipt_generate_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/map/businesses":{"get":{"summary":"Map Businesses","description":"Get businesses near location for map display","operationId":"map_businesses_v1_map_businesses_get","parameters":[{"name":"lat","in":"query","required":false,"schema":{"type":"number","default":32.08,"title":"Lat"}},{"name":"lng","in":"query","required":false,"schema":{"type":"number","default":34.78,"title":"Lng"}},{"name":"radius_km","in":"query","required":false,"schema":{"type":"number","default":10,"title":"Radius Km"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/onboard/quick":{"post":{"summary":"Quick Onboard","description":"Quick business onboarding — register in 3 minutes","operationId":"quick_onboard_v1_onboard_quick_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/account/delete":{"delete":{"summary":"Delete Account","description":"Delete user account - Apple App Store requirement!","operationId":"delete_account_v1_account_delete_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/web-session/create":{"post":{"summary":"Create Web Session","description":"Create a pending web session that needs iOS app authorization","operationId":"create_web_session_v1_web_session_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebSessionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/web-session/authorize":{"post":{"summary":"Authorize Web Session","description":"iOS app calls this to authorize a web session with user's ΔID","operationId":"authorize_web_session_v1_web_session_authorize_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebSessionAuthorize"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/web-session/{session_id}":{"get":{"summary":"Get Web Session Status","description":"Web polls this to check if iOS app has authorized the session","operationId":"get_web_session_status_v1_web_session__session_id__get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Reject Web Session","description":"iOS app calls this to reject a web session","operationId":"reject_web_session_v1_web_session__session_id__delete","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/contacts/add":{"post":{"summary":"Add Contact","description":"Add a contact to user's contact list","operationId":"add_contact_v1_contacts_add_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactAdd"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/contacts/{delta_id}":{"get":{"summary":"Get Contacts","description":"Get all contacts for a user","operationId":"get_contacts_v1_contacts__delta_id__get","parameters":[{"name":"delta_id","in":"path","required":true,"schema":{"type":"string","title":"Delta Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/notify/connection":{"post":{"summary":"Notify Connection","description":"Notify a user about a new connection","operationId":"notify_connection_v1_notify_connection_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionNotify"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/notifications/{delta_id}":{"get":{"summary":"Get Notifications","description":"Get pending notifications for a user","operationId":"get_notifications_v1_notifications__delta_id__get","parameters":[{"name":"delta_id","in":"path","required":true,"schema":{"type":"string","title":"Delta Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/push/subscribe":{"post":{"summary":"Save Push Subscription","description":"Save Web Push subscription for a user (phone or delta_id).","operationId":"save_push_subscription_v1_push_subscribe_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/push/subscription/{user_id}":{"get":{"summary":"Get Push Subscription","description":"Get push subscription for a user.","operationId":"get_push_subscription_v1_push_subscription__user_id__get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/identity/heartbeat":{"post":{"summary":"Identity Heartbeat","description":"Update last seen. Optional body: { lat, lng, role, world } for Presence (MyΔcity).","operationId":"identity_heartbeat_v1_identity_heartbeat_post","parameters":[{"name":"delta_id","in":"query","required":false,"schema":{"type":"string","default":"","title":"Delta Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/city/presence":{"get":{"summary":"City Presence","description":"List online identities with lat/lng/role (Presence for MyΔcity). Optional ?city= or ?world= filter.","operationId":"city_presence_v1_city_presence_get","parameters":[{"name":"city","in":"query","required":false,"schema":{"type":"string","default":"","title":"City"}},{"name":"world","in":"query","required":false,"schema":{"type":"string","default":"","title":"World"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/register":{"post":{"summary":"Isp Register","description":"Register new user - WE ARE THE ISP!","operationId":"isp_register_api_register_post","parameters":[{"name":"username","in":"query","required":true,"schema":{"type":"string","title":"Username"}},{"name":"email","in":"query","required":true,"schema":{"type":"string","title":"Email"}},{"name":"password","in":"query","required":true,"schema":{"type":"string","title":"Password"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/login":{"post":{"summary":"Isp Login","description":"Login to ΔCLOUD ISP","operationId":"isp_login_api_login_post","parameters":[{"name":"username","in":"query","required":true,"schema":{"type":"string","title":"Username"}},{"name":"password","in":"query","required":true,"schema":{"type":"string","title":"Password"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/tunnel/create":{"post":{"summary":"Isp Create Tunnel","description":"Create tunnel - WE ASSIGN IP AND PORT!","operationId":"isp_create_tunnel_api_tunnel_create_post","parameters":[{"name":"port","in":"query","required":true,"schema":{"type":"integer","title":"Port"}},{"name":"subdomain","in":"query","required":true,"schema":{"type":"string","title":"Subdomain"}},{"name":"authorization","in":"query","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/tunnel/list":{"get":{"summary":"Isp List Tunnels","description":"List user tunnels","operationId":"isp_list_tunnels_api_tunnel_list_get","parameters":[{"name":"authorization","in":"query","required":false,"schema":{"type":"string","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cloud/status":{"get":{"summary":"Cloud Status","description":"Get ΔCLOUD ISP status","operationId":"cloud_status_v1_cloud_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/cloud/expose":{"post":{"summary":"Cloud Expose","description":"Expose a local port through ΔCLOUD","operationId":"cloud_expose_v1_cloud_expose_post","parameters":[{"name":"port","in":"query","required":false,"schema":{"type":"integer","default":8081,"title":"Port"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cloud/link":{"get":{"summary":"Cloud Link","description":"Get shareable link for current server","operationId":"cloud_link_v1_cloud_link_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/gps/phase":{"post":{"summary":"Gps Phase To Internet","description":"🛰️🔥 GPS PHASE → INTERNET! \n\nThis is THE endpoint that converts GPS phase to internet content!\nWorks with standard CLLocation data (no private APIs needed).\n\nFlow:\n1. Receive GPS phase (time, position, velocity)\n2. If URL provided → fetch via ΔBRIDGE/Phase Reconstruction\n3. If no URL → return available content based on phase","operationId":"gps_phase_to_internet_v1_gps_phase_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GPSPhaseRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fieldnet/gps_phase":{"get":{"summary":"Get Latest Gps Phase","description":"🛰️ Get the latest GPS phase sent by iPhone.\nUsed by transparent_vpn_proxy to use REAL GPS phase instead of simulated!","operationId":"get_latest_gps_phase_v1_fieldnet_gps_phase_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/gps/satellite_data":{"post":{"summary":"Receive Satellite Data","description":"🛰️🔥 PHASE BACKBONE - Receive raw satellite data from GPS!\n\nThis is the REAL source - raw PRN, SNR, Doppler, Carrier Phase.\nWe use this to build internet from TIME and PHASE!","operationId":"receive_satellite_data_v1_gps_satellite_data_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GPSSatelliteUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/invoice/create":{"post":{"summary":"Create Invoice","description":"יצירת חשבונית מס/קבלה\n\nCreates a tax invoice via iCount integration","operationId":"create_invoice_v1_invoice_create_post","parameters":[{"name":"X-Delta-ID","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Delta-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/invoice/measurement":{"post":{"summary":"Create Measurement Invoice","description":"יצירת חשבונית למדידה מאומתת","operationId":"create_measurement_invoice_v1_invoice_measurement_post","parameters":[{"name":"X-Delta-ID","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Delta-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeasurementInvoiceRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/invoice/status":{"get":{"summary":"Get Invoice Status","description":"בדיקת סטטוס חיבור iCount — הופך mock vs real שקוף.","operationId":"get_invoice_status_v1_invoice_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/export/transactions":{"post":{"summary":"Export Transactions","description":"ייצוא עסקאות ל-CSV","operationId":"export_transactions_v1_export_transactions_post","parameters":[{"name":"X-Delta-ID","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Delta-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/export/wallet/{wallet_id}":{"post":{"summary":"Export Wallet","description":"ייצוא סיכום ארנק ל-CSV","operationId":"export_wallet_v1_export_wallet__wallet_id__post","parameters":[{"name":"wallet_id","in":"path","required":true,"schema":{"type":"string","title":"Wallet Id"}},{"name":"X-Delta-ID","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Delta-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/export/leads/{business_code}":{"post":{"summary":"Export Leads","description":"ייצוא לידים עסקיים ל-CSV","operationId":"export_leads_v1_export_leads__business_code__post","parameters":[{"name":"business_code","in":"path","required":true,"schema":{"type":"string","title":"Business Code"}},{"name":"X-Delta-ID","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Delta-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/wallets":{"get":{"summary":"Admin Get All Wallets","description":"קבלת כל הארנקים במערכת - לדשבורד מנהל\nReturns all wallets from both storage systems\n🔐 דורש הרשאת platform_owner","operationId":"admin_get_all_wallets_v1_admin_wallets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/admin/api-wallets":{"get":{"summary":"Admin Get Api Wallets","description":"Get wallets from api_wallets storage","operationId":"admin_get_api_wallets_v1_admin_api_wallets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/admin/transactions":{"get":{"summary":"Admin Get All Transactions","description":"קבלת כל העסקאות במערכת\nReturns all transactions from storage\n🔐 דורש הרשאת platform_owner","operationId":"admin_get_all_transactions_v1_admin_transactions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/admin/business/{code}/approve":{"post":{"summary":"Admin Approve Business","description":"Approve a pending business","operationId":"admin_approve_business_v1_admin_business__code__approve_post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/business/{code}/reject":{"post":{"summary":"Admin Reject Business","description":"Reject a pending business","operationId":"admin_reject_business_v1_admin_business__code__reject_post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/business/{code}":{"put":{"summary":"Admin Update Business","description":"Update business details","operationId":"admin_update_business_v1_admin_business__code__put","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Admin Delete Business","description":"Delete a business (DANGEROUS!)","operationId":"admin_delete_business_v1_admin_business__code__delete","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/business-credits":{"get":{"summary":"Admin Get All Credits","description":"קבלת כל הקרדיטים העסקיים\nReturns all business credits\n🔐 דורש הרשאת platform_owner","operationId":"admin_get_all_credits_v1_admin_business_credits_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/admin/ledger":{"get":{"summary":"Admin Get Ledger","description":"קבלת ספר החשבונות (Ledger)\nReturns all ledger commits\n🔐 דורש הרשאת platform_owner","operationId":"admin_get_ledger_v1_admin_ledger_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/admin/stats":{"get":{"summary":"Admin Get Platform Stats","description":"סטטיסטיקות כלליות של הפלטפורמה\nReturns platform-wide statistics","operationId":"admin_get_platform_stats_v1_admin_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/ledger/commit":{"post":{"summary":"Commit To Ledger","description":"Commit transaction to immutable ledger","operationId":"commit_to_ledger_v1_ledger_commit_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Tx"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ledger/history/{user_id}":{"get":{"summary":"Get Ledger History","description":"Get ledger history for user","operationId":"get_ledger_history_v1_ledger_history__user_id__get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/ledger/stats":{"get":{"summary":"Get Ledger Stats","description":"Get ledger statistics","operationId":"get_ledger_stats_v1_ledger_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/deltacard/issue":{"post":{"summary":"Issue Delta Card","description":"Issue a new Delta Card - 🔐 REQUIRES PAYMENT","operationId":"issue_delta_card_v1_deltacard_issue_post","parameters":[{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"card_type","in":"query","required":false,"schema":{"type":"string","default":"digital","title":"Card Type"}},{"name":"currency","in":"query","required":false,"schema":{"type":"string","default":"ILS","title":"Currency"}},{"name":"payment_session_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/deltacard/block/{card_id}":{"post":{"summary":"Block Delta Card","description":"Block a Delta Card","operationId":"block_delta_card_v1_deltacard_block__card_id__post","parameters":[{"name":"card_id","in":"path","required":true,"schema":{"type":"string","title":"Card Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/deltacard/user/{user_id}":{"get":{"summary":"Get User Delta Cards","description":"Get all Delta Cards for user","operationId":"get_user_delta_cards_v1_deltacard_user__user_id__get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/deltacard/all":{"get":{"summary":"Get All Delta Cards","description":"Get all Delta Cards (admin)","operationId":"get_all_delta_cards_v1_deltacard_all_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/touch/initiate":{"post":{"summary":"Initiate Touch Transfer","description":"Initiate NFC touch transfer","operationId":"initiate_touch_transfer_v1_touch_initiate_post","parameters":[{"name":"from_user","in":"query","required":true,"schema":{"type":"string","title":"From User"}},{"name":"to_user","in":"query","required":true,"schema":{"type":"string","title":"To User"}},{"name":"amount","in":"query","required":true,"schema":{"type":"number","title":"Amount"}},{"name":"currency","in":"query","required":false,"schema":{"type":"string","default":"ILS","title":"Currency"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/touch/complete/{session_id}":{"post":{"summary":"Complete Touch Transfer","description":"Complete NFC touch transfer","operationId":"complete_touch_transfer_v1_touch_complete__session_id__post","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}},{"name":"distance_cm","in":"query","required":true,"schema":{"type":"number","title":"Distance Cm"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/forex/rate":{"get":{"summary":"Get Forex Rate","description":"Get exchange rate between currencies","operationId":"get_forex_rate_v1_forex_rate_get","parameters":[{"name":"from_curr","in":"query","required":true,"schema":{"type":"string","title":"From Curr"}},{"name":"to_curr","in":"query","required":true,"schema":{"type":"string","title":"To Curr"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/forex/convert":{"post":{"summary":"Convert Currency","description":"Convert currency","operationId":"convert_currency_v1_forex_convert_post","parameters":[{"name":"amount","in":"query","required":true,"schema":{"type":"number","title":"Amount"}},{"name":"from_curr","in":"query","required":true,"schema":{"type":"string","title":"From Curr"}},{"name":"to_curr","in":"query","required":true,"schema":{"type":"string","title":"To Curr"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/forex/rates":{"get":{"summary":"Get All Forex Rates","description":"Get all available exchange rates","operationId":"get_all_forex_rates_v1_forex_rates_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/atm/business/register":{"post":{"summary":"Register Business Atm","description":"Register a business as ATM","operationId":"register_business_atm_v1_atm_business_register_post","parameters":[{"name":"business_id","in":"query","required":true,"schema":{"type":"string","title":"Business Id"}},{"name":"liquidity","in":"query","required":true,"schema":{"type":"number","title":"Liquidity"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/atm/business/load":{"post":{"summary":"Load Cash At Atm","description":"Load cash into digital wallet at business ATM","operationId":"load_cash_at_atm_v1_atm_business_load_post","parameters":[{"name":"atm_id","in":"query","required":true,"schema":{"type":"string","title":"Atm Id"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"amount","in":"query","required":true,"schema":{"type":"number","title":"Amount"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/atm/business/withdraw":{"post":{"summary":"Withdraw Cash At Atm","description":"Withdraw cash from digital wallet at business ATM","operationId":"withdraw_cash_at_atm_v1_atm_business_withdraw_post","parameters":[{"name":"atm_id","in":"query","required":true,"schema":{"type":"string","title":"Atm Id"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"amount","in":"query","required":true,"schema":{"type":"number","title":"Amount"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/atm/business/list":{"get":{"summary":"List Business Atms","description":"List all registered business ATMs","operationId":"list_business_atms_v1_atm_business_list_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/sms/send":{"post":{"summary":"Send Sms Notification","description":"Send SMS notification (text message) OR money via SMS.","operationId":"send_sms_notification_v1_sms_send_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/sms/receive":{"post":{"summary":"Receive Via Sms","description":"Receive money via SMS code","operationId":"receive_via_sms_v1_sms_receive_post","parameters":[{"name":"code","in":"query","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/merchant/register":{"post":{"summary":"Register Merchant","description":"Register a new merchant","operationId":"register_merchant_v1_merchant_register_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Business"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/merchant/{merchant_id}":{"get":{"summary":"Get Merchant","description":"Get merchant details","operationId":"get_merchant_v1_merchant__merchant_id__get","parameters":[{"name":"merchant_id","in":"path","required":true,"schema":{"type":"string","title":"Merchant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fee/calculate":{"post":{"summary":"Calculate Fee","description":"Calculate transaction fee","operationId":"calculate_fee_v1_fee_calculate_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Transaction"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/snapshot/create":{"post":{"summary":"Create Value Snapshot","description":"Create wallet value snapshot","operationId":"create_value_snapshot_v1_snapshot_create_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Wallet"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/snapshot/verify":{"post":{"summary":"Verify Value Snapshot","description":"Verify wallet snapshot integrity","operationId":"verify_value_snapshot_v1_snapshot_verify_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Snapshot"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/payments/status":{"get":{"summary":"Get Payments Status","description":"Get full payments system status","operationId":"get_payments_status_v1_payments_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/stripe/cardholder/create":{"post":{"summary":"Create Stripe Cardholder","description":"יצירת Cardholder ב-Stripe - שלב ראשון לפני הנפקת כרטיס Visa אמיתי.\n\n🔐 SECURITY: מאומת ע\"י X-Delta-ID header","operationId":"create_stripe_cardholder_v1_stripe_cardholder_create_post","parameters":[{"name":"delta_user_id","in":"query","required":true,"schema":{"type":"string","title":"Delta User Id"}},{"name":"name","in":"query","required":true,"schema":{"type":"string","title":"Name"}},{"name":"email","in":"query","required":true,"schema":{"type":"string","title":"Email"}},{"name":"phone","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/stripe/card/issue":{"post":{"summary":"Issue Stripe Visa Card","description":"🔥 הנפקת כרטיס Visa אמיתי!\n\n🔐 SECURITY: מאומת ע\"י X-Delta-ID header + תשלום\n\nArgs:\n    delta_user_id: ΔID של המשתמש\n    cardholder_id: מזהה Cardholder ב-Stripe\n    card_type: \"virtual\" (מיידי) או \"physical\" (נשלח בדואר)\n    currency: מטבע (usd, eur, ils, etc.)\n    spending_limit: מגבלת הוצאות חודשית\n    payment_session_id: מזהה תשלום (חובה!)\n    \nReturns:\n    כרטיס Visa אמיתי עם מספר, תוקף ו-CVC!","operationId":"issue_stripe_visa_card_v1_stripe_card_issue_post","parameters":[{"name":"delta_user_id","in":"query","required":true,"schema":{"type":"string","title":"Delta User Id"}},{"name":"cardholder_id","in":"query","required":true,"schema":{"type":"string","title":"Cardholder Id"}},{"name":"card_type","in":"query","required":false,"schema":{"type":"string","default":"virtual","title":"Card Type"}},{"name":"currency","in":"query","required":false,"schema":{"type":"string","default":"usd","title":"Currency"}},{"name":"spending_limit","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Spending Limit"}},{"name":"payment_session_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/stripe/card/{card_id}/details":{"get":{"summary":"Get Stripe Card Details","description":"קבלת פרטי הכרטיס המלאים (מספר + CVC).\n\n⚠️ שים לב: זה מידע רגיש! צריך Face ID/Touch ID באפליקציה.","operationId":"get_stripe_card_details_v1_stripe_card__card_id__details_get","parameters":[{"name":"card_id","in":"path","required":true,"schema":{"type":"string","title":"Card Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/stripe/card/{card_id}/freeze":{"post":{"summary":"Freeze Stripe Card","description":"הקפאת כרטיס Visa - מונע שימוש.","operationId":"freeze_stripe_card_v1_stripe_card__card_id__freeze_post","parameters":[{"name":"card_id","in":"path","required":true,"schema":{"type":"string","title":"Card Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/stripe/card/{card_id}/unfreeze":{"post":{"summary":"Unfreeze Stripe Card","description":"הפשרת כרטיס Visa - מאפשר שימוש מחדש.","operationId":"unfreeze_stripe_card_v1_stripe_card__card_id__unfreeze_post","parameters":[{"name":"card_id","in":"path","required":true,"schema":{"type":"string","title":"Card Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/stripe/card/{card_id}/cancel":{"post":{"summary":"Cancel Stripe Card","description":"ביטול כרטיס Visa לצמיתות.","operationId":"cancel_stripe_card_v1_stripe_card__card_id__cancel_post","parameters":[{"name":"card_id","in":"path","required":true,"schema":{"type":"string","title":"Card Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/stripe/card/{card_id}/limit":{"put":{"summary":"Update Stripe Card Limit","description":"עדכון מגבלת הוצאות בכרטיס.","operationId":"update_stripe_card_limit_v1_stripe_card__card_id__limit_put","parameters":[{"name":"card_id","in":"path","required":true,"schema":{"type":"string","title":"Card Id"}},{"name":"limit","in":"query","required":true,"schema":{"type":"number","title":"Limit"}},{"name":"interval","in":"query","required":false,"schema":{"type":"string","default":"monthly","title":"Interval"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/stripe/user/{delta_user_id}/cards":{"get":{"summary":"Get User Stripe Cards","description":"קבלת כל כרטיסי ה-Visa של משתמש.","operationId":"get_user_stripe_cards_v1_stripe_user__delta_user_id__cards_get","parameters":[{"name":"delta_user_id","in":"path","required":true,"schema":{"type":"string","title":"Delta User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/cleanup-duplicate-cards":{"post":{"summary":"Cleanup Duplicate Cards","description":"🧹 ניקוי כרטיסים כפולים - משאיר רק אחד לכל משתמש!\n\n🔐 Admin only - requires X-Admin-Key header","operationId":"cleanup_duplicate_cards_v1_admin_cleanup_duplicate_cards_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/stripe/card/{card_id}/transactions":{"get":{"summary":"Get Stripe Card Transactions","description":"קבלת היסטוריית עסקאות של כרטיס.","operationId":"get_stripe_card_transactions_v1_stripe_card__card_id__transactions_get","parameters":[{"name":"card_id","in":"path","required":true,"schema":{"type":"string","title":"Card Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/stripe/card/{card_id}/apple-wallet":{"get":{"summary":"Get Apple Wallet Data","description":"קבלת נתונים להוספת הכרטיס ל-Apple Wallet.","operationId":"get_apple_wallet_data_v1_stripe_card__card_id__apple_wallet_get","parameters":[{"name":"card_id","in":"path","required":true,"schema":{"type":"string","title":"Card Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fees":{"get":{"summary":"Get All Fees","description":"Get all fees configuration.\n\nReturns all fees, subscriptions, and franchise tiers.","operationId":"get_all_fees_v1_fees_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/fees/frontend":{"get":{"summary":"Get Frontend Fees","description":"Get simplified fees for frontend.\n\nReturns easy-to-use values for JavaScript.","operationId":"get_frontend_fees_v1_fees_frontend_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/fees/{fee_id}":{"get":{"summary":"Get Single Fee","description":"Get a specific fee by ID.\n\nArgs:\n    fee_id: Fee identifier (e.g., 'visa_transaction', 'card_issue')","operationId":"get_single_fee_v1_fees__fee_id__get","parameters":[{"name":"fee_id","in":"path","required":true,"schema":{"type":"string","title":"Fee Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fees/calculate/{fee_id}":{"get":{"summary":"Calculate Fee Endpoint","description":"Calculate fee for a given amount.\n\nArgs:\n    fee_id: Fee identifier\n    amount: Transaction amount\n    \nReturns:\n    Fee calculation result","operationId":"calculate_fee_endpoint_v1_fees_calculate__fee_id__get","parameters":[{"name":"fee_id","in":"path","required":true,"schema":{"type":"string","title":"Fee Id"}},{"name":"amount","in":"query","required":true,"schema":{"type":"number","title":"Amount"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/fees/subscriptions":{"get":{"summary":"Get Subscription Tiers","description":"Get all subscription tiers with pricing.","operationId":"get_subscription_tiers_v1_fees_subscriptions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/admin/fees/history":{"get":{"summary":"Get Fees History","description":"Get fee change history (Admin only).\n\nRequires Owner authorization.","operationId":"get_fees_history_v1_admin_fees_history_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"x-delta-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Delta-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/fees":{"post":{"summary":"Update Fee","description":"Update a fee (Admin only).\n\nRequires Owner authorization.\nUpdates are saved immediately and take effect instantly.","operationId":"update_fee_v1_admin_fees_post","parameters":[{"name":"x-delta-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Delta-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeeUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/admin/fees/reload":{"post":{"summary":"Reload Fees","description":"Reload fees from file (Admin only).\n\nUse this to reload after manual file edits.","operationId":"reload_fees_v1_admin_fees_reload_post","parameters":[{"name":"x-delta-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Delta-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/phase/reconstruct":{"post":{"summary":"Proxy Phase Reconstruct","description":"Proxy to Phase Reconstruction API for browser access via main domain","operationId":"proxy_phase_reconstruct_v1_phase_reconstruct_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"ATMRegisterRequest":{"properties":{"userID":{"type":"string","title":"Userid"},"userName":{"type":"string","title":"Username"},"latitude":{"type":"number","title":"Latitude","default":0.0},"longitude":{"type":"number","title":"Longitude","default":0.0},"maxCashAvailable":{"type":"number","title":"Maxcashavailable"},"acceptingWithdrawals":{"type":"boolean","title":"Acceptingwithdrawals","default":true},"acceptingDeposits":{"type":"boolean","title":"Acceptingdeposits","default":true}},"type":"object","required":["userID","userName","maxCashAvailable"],"title":"ATMRegisterRequest"},"ATMTransactionRequest":{"properties":{"type":{"type":"string","title":"Type"},"amount":{"type":"number","title":"Amount"},"atmUserID":{"type":"string","title":"Atmuserid"}},"type":"object","required":["type","amount","atmUserID"],"title":"ATMTransactionRequest"},"AdminPayoutBody":{"properties":{"payout_id":{"type":"string","title":"Payout Id"},"bank_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bank Ref","default":""},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason","default":""}},"type":"object","required":["payout_id"],"title":"AdminPayoutBody"},"Anchor":{"properties":{"id":{"type":"string","title":"Id"},"phase":{"type":"number","title":"Phase"},"position":{"items":{"type":"number"},"type":"array","title":"Position"},"timestamp":{"type":"number","title":"Timestamp"},"userName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"wifiName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wifiname"},"energy":{"type":"number","title":"Energy"},"lastSeen":{"type":"string","title":"Lastseen"}},"type":"object","required":["id","phase","position","timestamp","energy","lastSeen"],"title":"Anchor"},"AnchorRegistration":{"properties":{"id":{"type":"string","title":"Id"},"position":{"items":{"type":"number"},"type":"array","title":"Position"},"phase":{"type":"number","title":"Phase"},"timestamp":{"type":"number","title":"Timestamp"},"userName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"wifiName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Wifiname"},"energy":{"type":"number","title":"Energy"}},"type":"object","required":["id","position","phase","timestamp","energy"],"title":"AnchorRegistration"},"AnchorResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"anchor_id":{"type":"string","title":"Anchor Id"},"global_phase":{"type":"number","title":"Global Phase"}},"type":"object","required":["success","anchor_id","global_phase"],"title":"AnchorResponse"},"AnchorsResponse":{"properties":{"anchors":{"items":{"$ref":"#/components/schemas/Anchor"},"type":"array","title":"Anchors"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["anchors","count"],"title":"AnchorsResponse"},"ApplePayProcessRequest":{"properties":{"token":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Token"},"payment":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Payment"},"amount":{"type":"number","title":"Amount"},"merchant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant"},"order_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Order Id"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"},"recipient":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient"},"is_p2p":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is P2P","default":false},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"delta_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Delta Id"}},"type":"object","required":["amount"],"title":"ApplePayProcessRequest"},"ApplePayValidateRequest":{"properties":{"validationURL":{"type":"string","title":"Validationurl"}},"type":"object","required":["validationURL"],"title":"ApplePayValidateRequest"},"BatchAcceptBody":{"properties":{"delivery_ids":{"items":{"type":"string"},"type":"array","title":"Delivery Ids"},"mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mode","default":"wolt"}},"type":"object","required":["delivery_ids"],"title":"BatchAcceptBody"},"BitConsentRequest":{"properties":{"psu_id":{"type":"string","title":"Psu Id"},"psu_ip":{"type":"string","title":"Psu Ip","default":""},"valid_days":{"type":"integer","title":"Valid Days","default":90},"frequency_per_day":{"type":"integer","title":"Frequency Per Day","default":4},"access_accounts":{"type":"boolean","title":"Access Accounts","default":true},"access_balances":{"type":"boolean","title":"Access Balances","default":true},"access_transactions":{"type":"boolean","title":"Access Transactions","default":true}},"type":"object","required":["psu_id"],"title":"BitConsentRequest","description":"Request to create a consent for bank account access."},"BitOAuthCallbackRequest":{"properties":{"code":{"type":"string","title":"Code"},"state":{"type":"string","title":"State"}},"type":"object","required":["code","state"],"title":"BitOAuthCallbackRequest","description":"OAuth callback request."},"BitPaymentRequest":{"properties":{"consent_id":{"type":"string","title":"Consent Id"},"access_token":{"type":"string","title":"Access Token"},"debtor_bban":{"type":"string","title":"Debtor Bban"},"creditor_bban":{"type":"string","title":"Creditor Bban"},"creditor_name":{"type":"string","title":"Creditor Name"},"amount":{"type":"number","title":"Amount"},"currency":{"type":"string","title":"Currency","default":"ILS"},"description":{"type":"string","title":"Description","default":"העברה ΔWORLDS"}},"type":"object","required":["consent_id","access_token","debtor_bban","creditor_bban","creditor_name","amount"],"title":"BitPaymentRequest","description":"Request to initiate a bank transfer via Bit."},"BridgeDNSRequest":{"properties":{"domain":{"type":"string","title":"Domain"},"origin":{"type":"string","title":"Origin"}},"type":"object","required":["domain","origin"],"title":"BridgeDNSRequest","description":"DNS resolution request."},"BridgeDNSResponse":{"properties":{"domain":{"type":"string","title":"Domain"},"hostname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hostname"},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases","default":[]},"addresses":{"items":{"type":"string"},"type":"array","title":"Addresses","default":[]},"resolved":{"type":"boolean","title":"Resolved"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"timestamp":{"type":"number","title":"Timestamp"}},"type":"object","required":["domain","resolved","timestamp"],"title":"BridgeDNSResponse","description":"DNS resolution response."},"BridgeProxyRequest":{"properties":{"origin":{"type":"string","title":"Origin"},"url":{"type":"string","title":"Url"},"method":{"type":"string","title":"Method","default":"GET"},"headers":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Headers"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"signature":{"type":"string","title":"Signature","default":""}},"type":"object","required":["origin","url"],"title":"BridgeProxyRequest","description":"Request to proxy through ΔBRIDGE."},"BridgeProxyResponse":{"properties":{"request_id":{"type":"string","title":"Request Id"},"status_code":{"type":"integer","title":"Status Code"},"content_type":{"type":"string","title":"Content Type"},"size_bytes":{"type":"integer","title":"Size Bytes"},"latency_ms":{"type":"number","title":"Latency Ms"},"cached":{"type":"boolean","title":"Cached"},"body":{"type":"string","title":"Body"},"headers":{"additionalProperties":{"type":"string"},"type":"object","title":"Headers"},"timestamp":{"type":"number","title":"Timestamp"}},"type":"object","required":["request_id","status_code","content_type","size_bytes","latency_ms","cached","body","headers","timestamp"],"title":"BridgeProxyResponse","description":"Response from ΔBRIDGE proxy."},"BridgeStatsResponse":{"properties":{"bridge_id":{"type":"string","title":"Bridge Id"},"requests_total":{"type":"integer","title":"Requests Total"},"requests_success":{"type":"integer","title":"Requests Success"},"requests_failed":{"type":"integer","title":"Requests Failed"},"success_rate":{"type":"number","title":"Success Rate"},"downloaded_mb":{"type":"number","title":"Downloaded Mb"},"avg_latency_ms":{"type":"number","title":"Avg Latency Ms"},"unique_origins":{"type":"integer","title":"Unique Origins"},"unique_domains":{"type":"integer","title":"Unique Domains"},"cache_hits":{"type":"integer","title":"Cache Hits"},"cache_misses":{"type":"integer","title":"Cache Misses"},"cache_hit_rate":{"type":"number","title":"Cache Hit Rate"},"timestamp":{"type":"number","title":"Timestamp"}},"type":"object","required":["bridge_id","requests_total","requests_success","requests_failed","success_rate","downloaded_mb","avg_latency_ms","unique_origins","unique_domains","cache_hits","cache_misses","cache_hit_rate","timestamp"],"title":"BridgeStatsResponse","description":"ΔBRIDGE statistics."},"CallAnswerRequest":{"properties":{"call_id":{"type":"string","title":"Call Id"},"callee_id":{"type":"string","title":"Callee Id"},"accepted":{"type":"boolean","title":"Accepted"}},"type":"object","required":["call_id","callee_id","accepted"],"title":"CallAnswerRequest"},"CallEndRequest":{"properties":{"call_id":{"type":"string","title":"Call Id"},"user_id":{"type":"string","title":"User Id"}},"type":"object","required":["call_id","user_id"],"title":"CallEndRequest"},"CallPhaseRequest":{"properties":{"call_id":{"type":"string","title":"Call Id"},"sender_id":{"type":"string","title":"Sender Id"},"phase_type":{"type":"string","title":"Phase Type"},"bits":{"type":"integer","title":"Bits"},"frequency":{"type":"number","title":"Frequency"},"coherence":{"type":"number","title":"Coherence"},"timestamp":{"type":"number","title":"Timestamp"}},"type":"object","required":["call_id","sender_id","phase_type","bits","frequency","coherence","timestamp"],"title":"CallPhaseRequest"},"CallStartRequest":{"properties":{"caller_id":{"type":"string","title":"Caller Id"},"callee_id":{"type":"string","title":"Callee Id"},"call_type":{"type":"string","title":"Call Type","default":"video"}},"type":"object","required":["caller_id","callee_id"],"title":"CallStartRequest"},"CallStartResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"call_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Call Id"},"message":{"type":"string","title":"Message"}},"type":"object","required":["success","message"],"title":"CallStartResponse"},"Card":{"properties":{"id":{"type":"string","title":"Id"},"walletID":{"type":"string","title":"Walletid"},"holderName":{"type":"string","title":"Holdername"},"maskedNumber":{"type":"string","title":"Maskednumber"},"expiry":{"type":"string","title":"Expiry"},"brand":{"type":"string","title":"Brand"},"type":{"type":"string","title":"Type"},"isActive":{"type":"boolean","title":"Isactive"},"isVirtual":{"type":"boolean","title":"Isvirtual"},"canUseApplePay":{"type":"boolean","title":"Canuseapplepay"},"canUseNFC":{"type":"boolean","title":"Canusenfc"}},"type":"object","required":["id","walletID","holderName","maskedNumber","expiry","brand","type","isActive","isVirtual","canUseApplePay","canUseNFC"],"title":"Card"},"CardPaymentRequest":{"properties":{"card_number":{"type":"string","title":"Card Number"},"expiry":{"type":"string","title":"Expiry"},"cvv":{"type":"string","title":"Cvv"},"id_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id Number"},"amount":{"type":"number","title":"Amount"},"merchant":{"type":"string","title":"Merchant"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","default":"תשלום"}},"type":"object","required":["card_number","expiry","cvv","amount","merchant"],"title":"CardPaymentRequest"},"CardsResponse":{"properties":{"cards":{"items":{"$ref":"#/components/schemas/Card"},"type":"array","title":"Cards"}},"type":"object","required":["cards"],"title":"CardsResponse"},"ChatSendBody":{"properties":{"text":{"type":"string","title":"Text"},"role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role","default":"customer"}},"type":"object","required":["text"],"title":"ChatSendBody"},"ChatTranslateBody":{"properties":{"text":{"type":"string","title":"Text"},"target_lang":{"type":"string","title":"Target Lang","default":"he"},"source_lang":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Lang"}},"type":"object","required":["text"],"title":"ChatTranslateBody"},"CheckoutRequest":{"properties":{"amount":{"type":"number","title":"Amount"},"currency":{"type":"string","title":"Currency","default":"ILS"},"description":{"type":"string","title":"Description","default":"תשלום"},"user_id":{"type":"string","title":"User Id"},"success_url":{"type":"string","title":"Success Url"},"cancel_url":{"type":"string","title":"Cancel Url"}},"type":"object","required":["amount","user_id","success_url","cancel_url"],"title":"CheckoutRequest"},"ConnectRequest":{"properties":{"device_id":{"type":"string","title":"Device Id"},"device_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Device Name"}},"type":"object","required":["device_id"],"title":"ConnectRequest"},"ConnectResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"anchor_id":{"type":"string","title":"Anchor Id"}},"type":"object","required":["success","anchor_id"],"title":"ConnectResponse"},"ConnectionNotify":{"properties":{"from_id":{"type":"string","title":"From Id"},"from_name":{"type":"string","title":"From Name"},"to_id":{"type":"string","title":"To Id"},"action":{"type":"string","title":"Action"},"timestamp":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timestamp"}},"type":"object","required":["from_id","from_name","to_id","action"],"title":"ConnectionNotify"},"ContactAdd":{"properties":{"my_delta_id":{"type":"string","title":"My Delta Id"},"contact_delta_id":{"type":"string","title":"Contact Delta Id"},"contact_name":{"type":"string","title":"Contact Name"},"timestamp":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Timestamp"}},"type":"object","required":["my_delta_id","contact_delta_id","contact_name"],"title":"ContactAdd"},"CourierActiveVehicle":{"properties":{"vehicle_type":{"type":"string","title":"Vehicle Type"},"modes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Modes"}},"type":"object","required":["vehicle_type"],"title":"CourierActiveVehicle"},"CourierJourney":{"properties":{"origin":{"type":"string","title":"Origin","default":""},"destination":{"type":"string","title":"Destination"},"depart_at":{"type":"string","title":"Depart At"},"vehicle_capacity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Vehicle Capacity","default":4},"min_subtotal":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Subtotal","default":0.0},"source_business_codes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Source Business Codes"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note","default":""}},"type":"object","required":["destination","depart_at"],"title":"CourierJourney"},"CourierLocation":{"properties":{"lat":{"type":"number","title":"Lat"},"lng":{"type":"number","title":"Lng"},"area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Area","default":""}},"type":"object","required":["lat","lng"],"title":"CourierLocation"},"CourierMarkup":{"properties":{"markup_min":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Markup Min"},"markup_max":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Markup Max"},"markup_target":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Markup Target"}},"type":"object","title":"CourierMarkup"},"CourierModes":{"properties":{"modes":{"items":{"type":"string"},"type":"array","title":"Modes"}},"type":"object","required":["modes"],"title":"CourierModes"},"CourierPromote":{"properties":{"business_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Business Code","default":""},"modes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Modes"},"vehicle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vehicle","default":"motorcycle"},"area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Area","default":""},"home_city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Home City","default":""},"partner_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Partner Code"}},"type":"object","title":"CourierPromote"},"CourierProof":{"properties":{"proof_type":{"type":"string","title":"Proof Type"},"proof_data":{"type":"string","title":"Proof Data"},"customer_delta_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Delta Id","default":""}},"type":"object","required":["proof_type","proof_data"],"title":"CourierProof"},"CourierQuote":{"properties":{"distance_km":{"type":"number","title":"Distance Km","default":0.0},"eta_minutes":{"type":"integer","title":"Eta Minutes","default":0},"vehicle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vehicle","default":"motorcycle"},"mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mode","default":"wolt"},"wholesale_price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Wholesale Price","default":0.0},"delivery_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Delivery Id","default":""},"from_lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"From Lat"},"from_lng":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"From Lng"},"to_lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"To Lat"},"to_lng":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"To Lng"}},"type":"object","title":"CourierQuote"},"CourierSaveCardBody":{"properties":{"token":{"type":"string","title":"Token"},"expiry_month":{"type":"string","title":"Expiry Month"},"expiry_year":{"type":"string","title":"Expiry Year"},"last4":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last4","default":""},"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id","default":""}},"type":"object","required":["token","expiry_month","expiry_year"],"title":"CourierSaveCardBody"},"CourierState":{"properties":{"state":{"type":"string","title":"State"}},"type":"object","required":["state"],"title":"CourierState"},"CourierVehicle":{"properties":{"type":{"type":"string","title":"Type"},"plate":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plate","default":""},"year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year","default":0},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color","default":""},"photo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Photo Url","default":""},"accessible":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Accessible","default":false},"make_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Make Active","default":false}},"type":"object","required":["type"],"title":"CourierVehicle"},"CreatorJobCreate":{"properties":{"business_code":{"type":"string","title":"Business Code"},"content_type":{"type":"string","title":"Content Type","default":"reel"},"content_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Url","default":""},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes","default":""}},"type":"object","required":["business_code"],"title":"CreatorJobCreate"},"CreatorJobPublish":{"properties":{"content_url":{"type":"string","title":"Content Url"}},"type":"object","required":["content_url"],"title":"CreatorJobPublish"},"Credit":{"properties":{"id":{"type":"string","title":"Id"},"lenderID":{"type":"string","title":"Lenderid"},"borrowerID":{"type":"string","title":"Borrowerid"},"originalAmount":{"type":"number","title":"Originalamount"},"remainingAmount":{"type":"number","title":"Remainingamount"},"interestRate":{"type":"number","title":"Interestrate"},"status":{"type":"string","title":"Status"},"createdAt":{"type":"string","title":"Createdat"},"dueDate":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Duedate"}},"type":"object","required":["id","lenderID","borrowerID","originalAmount","remainingAmount","interestRate","status","createdAt","dueDate"],"title":"Credit"},"CreditPaymentRequest":{"properties":{"customer_id":{"type":"string","title":"Customer Id"},"merchant":{"type":"string","title":"Merchant"},"amount":{"type":"number","title":"Amount"},"order_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Order Id"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","default":"תשלום"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}},"type":"object","required":["customer_id","merchant","amount"],"title":"CreditPaymentRequest"},"CreditRequestModel":{"properties":{"borrower_id":{"type":"string","title":"Borrower Id"},"amount":{"type":"number","title":"Amount"},"repayment_days":{"type":"integer","title":"Repayment Days","default":30},"purpose":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Purpose"}},"type":"object","required":["borrower_id","amount"],"title":"CreditRequestModel"},"CreditsResponse":{"properties":{"credits":{"items":{"$ref":"#/components/schemas/Credit"},"type":"array","title":"Credits"}},"type":"object","required":["credits"],"title":"CreditsResponse"},"CustomerCharge":{"properties":{"amount":{"type":"number","title":"Amount"},"delivery_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Delivery Id","default":""},"order_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Order Id","default":""},"payment_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Method","default":"platform_cash"}},"type":"object","required":["amount"],"title":"CustomerCharge"},"DTVRouteRequest":{"properties":{"url":{"type":"string","title":"Url"},"headers":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Headers"}},"type":"object","required":["url"],"title":"DTVRouteRequest"},"DeliveryRating":{"properties":{"rating":{"type":"number","title":"Rating"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment","default":""},"tip_amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Tip Amount","default":0.0}},"type":"object","required":["rating"],"title":"DeliveryRating"},"ExportRequest":{"properties":{"export_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Export Type","default":"transactions"},"start_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Date"},"end_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Date"},"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"business_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Business Code"}},"type":"object","title":"ExportRequest","description":"בקשה לייצוא נתונים"},"ExternalPaymentQRRequest":{"properties":{"business_code":{"type":"string","title":"Business Code"},"amount":{"type":"number","title":"Amount"},"payment_method":{"type":"string","title":"Payment Method"},"currency":{"type":"string","title":"Currency","default":"ILS"}},"type":"object","required":["business_code","amount","payment_method"],"title":"ExternalPaymentQRRequest"},"FeeUpdateRequest":{"properties":{"fee_id":{"type":"string","title":"Fee Id"},"rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rate"},"amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Amount"}},"type":"object","required":["fee_id"],"title":"FeeUpdateRequest","description":"Request to update a fee."},"FleetRegister":{"properties":{"name":{"type":"string","title":"Name"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone","default":""},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email","default":""},"area":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Area","default":""}},"type":"object","required":["name"],"title":"FleetRegister"},"GPSPhaseBroadcast":{"properties":{"type":{"type":"string","title":"Type"},"url":{"type":"string","title":"Url"},"chunks":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Chunks"},"total_chunks":{"type":"integer","title":"Total Chunks"},"source":{"type":"string","title":"Source"},"timestamp":{"type":"number","title":"Timestamp"}},"type":"object","required":["type","url","chunks","total_chunks","source","timestamp"],"title":"GPSPhaseBroadcast"},"GPSPhaseRequest":{"properties":{"time_phase":{"type":"number","title":"Time Phase"},"spatial_phase":{"type":"number","title":"Spatial Phase"},"position":{"items":{"type":"number"},"type":"array","title":"Position"},"velocity":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Velocity","default":0.0},"course":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Course","default":0.0},"frequency":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Frequency","default":100.0},"h_accuracy":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"H Accuracy","default":10.0},"v_accuracy":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"V Accuracy","default":10.0},"estimated_satellites":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Estimated Satellites","default":4},"timestamp":{"type":"number","title":"Timestamp"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"}},"type":"object","required":["time_phase","spatial_phase","position","timestamp"],"title":"GPSPhaseRequest","description":"GPS Phase data from iPhone (works with standard CLLocation API)."},"GPSSatelliteUpdate":{"properties":{"satellites":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Satellites"},"satellites_visible":{"type":"integer","title":"Satellites Visible"},"time_phase":{"type":"number","title":"Time Phase"},"spatial_phase":{"type":"number","title":"Spatial Phase"},"satellite_phase":{"type":"number","title":"Satellite Phase"},"avg_snr_db":{"type":"number","title":"Avg Snr Db"},"position":{"items":{"type":"number"},"type":"array","title":"Position"},"timestamp":{"type":"number","title":"Timestamp"}},"type":"object","required":["satellites","satellites_visible","time_phase","spatial_phase","satellite_phase","avg_snr_db","position","timestamp"],"title":"GPSSatelliteUpdate","description":"Raw GPS satellite data from iPhone."},"HTMLBroadcast":{"properties":{"url":{"type":"string","title":"Url"},"html":{"type":"string","title":"Html"},"timestamp":{"type":"number","title":"Timestamp"},"source":{"type":"string","title":"Source"}},"type":"object","required":["url","html","timestamp","source"],"title":"HTMLBroadcast","description":"HTML broadcast from Chrome Extension"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IdentityRegister":{"properties":{"delta_id":{"type":"string","title":"Delta Id"},"device_name":{"type":"string","title":"Device Name"},"device_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Device Type","default":"iPhone"},"os_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Os Version","default":""},"app_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"App Version","default":"1.0"},"public_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Public Key"}},"type":"object","required":["delta_id","device_name"],"title":"IdentityRegister"},"InvoiceRequest":{"properties":{"customer_name":{"type":"string","title":"Customer Name"},"customer_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Email"},"customer_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Phone"},"description":{"type":"string","title":"Description"},"amount":{"type":"number","title":"Amount"},"payment_method":{"type":"string","title":"Payment Method","default":"apple_pay"},"transaction_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Transaction Id"}},"type":"object","required":["customer_name","description","amount"],"title":"InvoiceRequest","description":"בקשה ליצירת חשבונית"},"JourneyJoin":{"properties":{"order_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Order Id","default":""},"subtotal":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Subtotal","default":0.0}},"type":"object","title":"JourneyJoin"},"LockRequest":{"properties":{"state":{"additionalProperties":true,"type":"object","title":"State"},"client_id":{"type":"string","title":"Client Id"},"ts":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ts"}},"type":"object","required":["state","client_id"],"title":"LockRequest","description":"Request to lock state to ΔPHASE0"},"LockResponse":{"properties":{"phase":{"type":"string","title":"Phase"},"signature":{"type":"string","title":"Signature"},"epoch":{"type":"integer","title":"Epoch"},"coherence":{"type":"number","title":"Coherence"},"mrv":{"additionalProperties":true,"type":"object","title":"Mrv"},"prime_time":{"type":"number","title":"Prime Time"},"deterministic":{"type":"boolean","title":"Deterministic"}},"type":"object","required":["phase","signature","epoch","coherence","mrv","prime_time","deterministic"],"title":"LockResponse","description":"Response with signed phase from ΔPHASE0"},"MeasurementInvoiceRequest":{"properties":{"customer_name":{"type":"string","title":"Customer Name"},"customer_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Email"},"customer_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Phone"},"measurement_type":{"type":"string","title":"Measurement Type"},"measurement_value":{"type":"number","title":"Measurement Value"},"measurement_unit":{"type":"string","title":"Measurement Unit"},"amount":{"type":"number","title":"Amount"},"payment_method":{"type":"string","title":"Payment Method","default":"apple_pay"},"transaction_id":{"type":"string","title":"Transaction Id"},"business_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Business Name"}},"type":"object","required":["customer_name","measurement_type","measurement_value","measurement_unit","amount","transaction_id"],"title":"MeasurementInvoiceRequest","description":"בקשה ליצירת חשבונית מדידה"},"NFCPaymentRequest":{"properties":{"transaction_id":{"type":"string","title":"Transaction Id"},"card_id":{"type":"string","title":"Card Id"},"amount":{"type":"number","title":"Amount"},"currency":{"type":"string","title":"Currency","default":"ILS"},"merchant":{"type":"string","title":"Merchant"},"payment_type":{"type":"string","title":"Payment Type","default":"nfc_hce"}},"type":"object","required":["transaction_id","card_id","amount","merchant"],"title":"NFCPaymentRequest","description":"NFC HCE Payment Request"},"POSTransactionRequest":{"properties":{"amount":{"type":"number","title":"Amount"},"description":{"type":"string","title":"Description","default":"POS Transaction"},"method":{"type":"string","title":"Method","default":"nfc"},"merchantID":{"type":"string","title":"Merchantid"}},"type":"object","required":["amount","merchantID"],"title":"POSTransactionRequest"},"PasskeyCredential":{"properties":{"credentialID":{"type":"string","title":"Credentialid"},"userID":{"type":"string","title":"Userid"},"publicKey":{"type":"string","title":"Publickey"},"createdAt":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Createdat"}},"type":"object","required":["credentialID","userID","publicKey"],"title":"PasskeyCredential"},"PaymentLinkRequest":{"properties":{"merchant":{"type":"string","title":"Merchant"},"amount":{"type":"number","title":"Amount"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"expires_in":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Expires In","default":3600},"work_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Work Id"},"customer_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Phone"},"runtime_order_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Runtime Order Id"},"customer_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Name"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency","default":"ILS"},"return_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Return Url"}},"type":"object","required":["merchant","amount"],"title":"PaymentLinkRequest"},"PayoutMethodBody":{"properties":{"kind":{"type":"string","title":"Kind"},"account":{"type":"string","title":"Account"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name","default":""},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency","default":"ILS"}},"type":"object","required":["kind","account"],"title":"PayoutMethodBody"},"PayoutRequestBody":{"properties":{"amount":{"type":"number","title":"Amount"}},"type":"object","required":["amount"],"title":"PayoutRequestBody"},"PhaseBrowseRequest":{"properties":{"url":{"type":"string","title":"Url"},"anchor_time":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Anchor Time"},"T":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T","default":0.002},"phase_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phase Id"}},"type":"object","required":["url"],"title":"PhaseBrowseRequest"},"PhaseBrowseResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"url":{"type":"string","title":"Url"},"anchor_time":{"type":"number","title":"Anchor Time"},"T":{"type":"number","title":"T"},"frequency":{"type":"number","title":"Frequency"},"phase_value":{"type":"number","title":"Phase Value"},"coherence":{"type":"number","title":"Coherence"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Type"},"size_bytes":{"type":"integer","title":"Size Bytes","default":0},"latency_ms":{"type":"number","title":"Latency Ms","default":0},"compression_ratio":{"type":"number","title":"Compression Ratio","default":1.0},"mode":{"type":"string","title":"Mode","default":"0nm"},"cached":{"type":"boolean","title":"Cached","default":false}},"type":"object","required":["success","url","anchor_time","T","frequency","phase_value","coherence"],"title":"PhaseBrowseResponse"},"PhaseConnectRequest":{"properties":{"phase_id":{"type":"string","title":"Phase Id"},"owner_name":{"type":"string","title":"Owner Name"},"context":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Context"},"intention":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Intention"}},"type":"object","required":["phase_id","owner_name"],"title":"PhaseConnectRequest"},"PhaseConnectResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"phase_id":{"type":"string","title":"Phase Id"},"normalized_phase":{"type":"number","title":"Normalized Phase"},"drift":{"type":"number","title":"Drift"},"prime_time":{"type":"number","title":"Prime Time"},"gateway_id":{"type":"string","title":"Gateway Id"}},"type":"object","required":["success","phase_id","normalized_phase","drift","prime_time","gateway_id"],"title":"PhaseConnectResponse"},"PhaseGatewayStatsResponse":{"properties":{"gateway_id":{"type":"string","title":"Gateway Id"},"connected_phases":{"type":"integer","title":"Connected Phases"},"external_endpoints":{"items":{"type":"string"},"type":"array","title":"External Endpoints"},"phases_normalized":{"type":"integer","title":"Phases Normalized"},"deltas_compressed":{"type":"integer","title":"Deltas Compressed"},"intents_mapped":{"type":"integer","title":"Intents Mapped"},"safety_checks":{"type":"integer","title":"Safety Checks"},"alignments":{"type":"integer","title":"Alignments"},"translations":{"type":"integer","title":"Translations"},"total_data_saved":{"type":"integer","title":"Total Data Saved"},"is_open":{"type":"boolean","title":"Is Open"}},"type":"object","required":["gateway_id","connected_phases","external_endpoints","phases_normalized","deltas_compressed","intents_mapped","safety_checks","alignments","translations","total_data_saved","is_open"],"title":"PhaseGatewayStatsResponse"},"PhaseIntentRequest":{"properties":{"phase_id":{"type":"string","title":"Phase Id"},"intent":{"type":"string","title":"Intent"},"target_phase_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Phase Id"}},"type":"object","required":["phase_id","intent"],"title":"PhaseIntentRequest"},"PhaseIntentResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"category":{"type":"string","title":"Category"},"can_execute":{"type":"boolean","title":"Can Execute"},"sequence":{"type":"integer","title":"Sequence"},"aligned":{"type":"boolean","title":"Aligned"},"steps_count":{"type":"integer","title":"Steps Count"}},"type":"object","required":["success","category","can_execute","sequence","aligned","steps_count"],"title":"PhaseIntentResponse"},"PhaseVideoRequest":{"properties":{"url":{"type":"string","title":"Url"},"T":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"T","default":0.002},"anchor_time":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Anchor Time"}},"type":"object","required":["url"],"title":"PhaseVideoRequest","description":"Request for Phase Video Stream"},"PhaseVideoResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"url":{"type":"string","title":"Url"},"mode":{"type":"string","title":"Mode","default":"0nm"},"direct_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Direct Url"},"use_local_reconstruction":{"type":"boolean","title":"Use Local Reconstruction","default":false},"phase":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Phase"},"reconstruction":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Reconstruction"},"phase_bits":{"type":"integer","title":"Phase Bits","default":9},"phase_frequency":{"type":"number","title":"Phase Frequency","default":500.0},"phase_coherence":{"type":"number","title":"Phase Coherence","default":0.99999},"resonance_value":{"type":"number","title":"Resonance Value","default":0.0},"harmonic_quality":{"type":"number","title":"Harmonic Quality","default":0.0},"transport_compression":{"type":"number","title":"Transport Compression","default":1.0},"transport_protocol":{"type":"string","title":"Transport Protocol","default":"phase"},"proximity_distance":{"type":"number","title":"Proximity Distance","default":0.0},"nearest_node":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nearest Node"},"reconstruction_mode":{"type":"string","title":"Reconstruction Mode","default":"local"},"phase_signature":{"type":"string","title":"Phase Signature","default":""},"total_compression":{"type":"number","title":"Total Compression","default":1.0},"latency_ms":{"type":"number","title":"Latency Ms","default":0.0},"quality":{"type":"string","title":"Quality","default":"UNLIMITED"},"fsd":{"type":"integer","title":"Fsd","default":0},"engines_used":{"type":"integer","title":"Engines Used","default":0},"engines_list":{"items":{"type":"string"},"type":"array","title":"Engines List","default":[]}},"type":"object","required":["success","url"],"title":"PhaseVideoResponse","description":"Response with Phase-encoded video"},"ProfileUpdate":{"properties":{"delta_id":{"type":"string","title":"Delta Id"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"}},"type":"object","required":["delta_id"],"title":"ProfileUpdate"},"QRMerchantRequest":{"properties":{"merchant_id":{"type":"string","title":"Merchant Id"},"merchant_name":{"type":"string","title":"Merchant Name"}},"type":"object","required":["merchant_id","merchant_name"],"title":"QRMerchantRequest"},"QRPaymentRequest":{"properties":{"to_user":{"type":"string","title":"To User"},"amount":{"type":"number","title":"Amount"},"currency":{"type":"string","title":"Currency","default":"ILS"},"description":{"type":"string","title":"Description","default":""}},"type":"object","required":["to_user","amount"],"title":"QRPaymentRequest"},"QRProcessRequest":{"properties":{"qr_id":{"type":"string","title":"Qr Id"},"from_user":{"type":"string","title":"From User"},"amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Amount"}},"type":"object","required":["qr_id","from_user"],"title":"QRProcessRequest"},"ReceiveRequest":{"properties":{"source":{"type":"string","title":"Source"}},"type":"object","required":["source"],"title":"ReceiveRequest"},"ReceiveResponse":{"properties":{"data":{"type":"string","title":"Data"},"source":{"type":"string","title":"Source"},"timestamp":{"type":"number","title":"Timestamp"},"has_data":{"type":"boolean","title":"Has Data"}},"type":"object","required":["data","source","timestamp","has_data"],"title":"ReceiveResponse"},"ReferralRecordRequest":{"properties":{"referrer_code":{"type":"string","title":"Referrer Code"},"referred_entity":{"type":"string","title":"Referred Entity"},"referred_type":{"type":"string","title":"Referred Type","default":"business"},"source":{"type":"string","title":"Source","default":"qr"},"source_detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Detail"},"context":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Context"}},"type":"object","required":["referrer_code","referred_entity"],"title":"ReferralRecordRequest"},"RoutePayload":{"properties":{"data":{"type":"string","format":"binary","title":"Data"},"destination":{"type":"string","title":"Destination"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"}},"type":"object","required":["data","destination"],"title":"RoutePayload"},"RouteResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"route_id":{"type":"string","title":"Route Id"},"timestamp":{"type":"number","title":"Timestamp"}},"type":"object","required":["success","route_id","timestamp"],"title":"RouteResponse"},"RuntimeAssignCourier":{"properties":{"courier_id":{"type":"string","title":"Courier Id"}},"type":"object","required":["courier_id"],"title":"RuntimeAssignCourier"},"RuntimeAttachPaymentSession":{"properties":{"payment_session_id":{"type":"string","title":"Payment Session Id"}},"type":"object","required":["payment_session_id"],"title":"RuntimeAttachPaymentSession"},"RuntimeBusinessReady":{"properties":{"fulfillment":{"type":"string","title":"Fulfillment"},"pickup":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pickup","default":""},"dropoff":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dropoff","default":""}},"type":"object","required":["fulfillment"],"title":"RuntimeBusinessReady"},"RuntimeCheckoutCreate":{"properties":{"business_id":{"type":"string","title":"Business Id"},"items":{"items":{"$ref":"#/components/schemas/RuntimeCheckoutLine"},"type":"array","title":"Items"},"customer_draft":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Customer Draft"},"fulfillment_mode":{"type":"string","title":"Fulfillment Mode","default":"pickup_or_delivery"},"ttl_minutes":{"type":"integer","title":"Ttl Minutes","default":60},"idempotency_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency Key","default":""}},"type":"object","required":["business_id","items"],"title":"RuntimeCheckoutCreate"},"RuntimeCheckoutLine":{"properties":{"product_id":{"type":"string","title":"Product Id","default":""},"sku":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sku"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","default":""},"qty":{"type":"integer","title":"Qty","default":1},"unit_price":{"type":"number","title":"Unit Price","default":0}},"type":"object","title":"RuntimeCheckoutLine"},"RuntimeCourierRegister":{"properties":{"courier_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Courier Id","default":""}},"type":"object","title":"RuntimeCourierRegister"},"RuntimeCustomer":{"properties":{"name":{"type":"string","title":"Name"},"phone":{"type":"string","title":"Phone"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","default":""},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"},"lng":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lng"},"delta_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Delta Id","default":""}},"type":"object","required":["name","phone"],"title":"RuntimeCustomer"},"RuntimeNavStart":{"properties":{"order_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Order Id","default":""},"delivery_id":{"type":"string","title":"Delivery Id"},"leg":{"type":"string","title":"Leg"},"courier_delta_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Courier Delta Id","default":""},"meta":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Meta"}},"type":"object","required":["delivery_id","leg"],"title":"RuntimeNavStart"},"RuntimeOrderDraft":{"properties":{"checkout_session_id":{"type":"string","title":"Checkout Session Id"},"customer":{"$ref":"#/components/schemas/RuntimeCustomer"},"idempotency_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Idempotency Key","default":""}},"type":"object","required":["checkout_session_id","customer"],"title":"RuntimeOrderDraft"},"SavedCardChargeRequest":{"properties":{"card_id":{"type":"string","title":"Card Id"},"amount":{"type":"number","title":"Amount"},"user_id":{"type":"string","title":"User Id"},"description":{"type":"string","title":"Description","default":"תשלום"}},"type":"object","required":["card_id","amount","user_id"],"title":"SavedCardChargeRequest"},"SyncRequest":{"properties":{"device_id":{"type":"string","title":"Device Id"}},"type":"object","required":["device_id"],"title":"SyncRequest"},"SyncResponse":{"properties":{"globalPhase":{"type":"number","title":"Globalphase"},"timestamp":{"type":"number","title":"Timestamp"}},"type":"object","required":["globalPhase","timestamp"],"title":"SyncResponse"},"TransactionRequest":{"properties":{"type":{"type":"string","title":"Type"},"amount":{"type":"number","title":"Amount"},"currency":{"type":"string","title":"Currency","default":"USD"},"from":{"type":"string","title":"From"},"to":{"type":"string","title":"To"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["type","amount","from","to"],"title":"TransactionRequest"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VerifyRequest":{"properties":{"phase_a":{"type":"string","title":"Phase A"},"phase_b":{"type":"string","title":"Phase B"},"signature_a":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signature A"},"signature_b":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signature B"},"state_hash_a":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State Hash A"},"state_hash_b":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State Hash B"}},"type":"object","required":["phase_a","phase_b"],"title":"VerifyRequest","description":"Request to verify phase match"},"VerifyResponse":{"properties":{"match":{"type":"boolean","title":"Match"},"valid_a":{"type":"boolean","title":"Valid A"},"valid_b":{"type":"boolean","title":"Valid B"},"reason":{"type":"string","title":"Reason"},"mrv":{"additionalProperties":true,"type":"object","title":"Mrv"}},"type":"object","required":["match","valid_a","valid_b","reason","mrv"],"title":"VerifyResponse","description":"Verification result"},"VideoResolveRequest":{"properties":{"url":{"type":"string","title":"Url"},"quality":{"type":"string","title":"Quality","default":"best"}},"type":"object","required":["url"],"title":"VideoResolveRequest"},"WalletResponse":{"properties":{"id":{"type":"string","title":"Id"},"userId":{"type":"string","title":"Userid"},"totalBalanceUSD":{"type":"number","title":"Totalbalanceusd"},"currencies":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Currencies"}},"type":"object","required":["id","userId","totalBalanceUSD","currencies"],"title":"WalletResponse"},"WebSessionAuthorize":{"properties":{"session_id":{"type":"string","title":"Session Id"},"delta_id":{"type":"string","title":"Delta Id"},"device_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Device Name"}},"type":"object","required":["session_id","delta_id"],"title":"WebSessionAuthorize"},"WebSessionRequest":{"properties":{"purpose":{"type":"string","title":"Purpose","default":"credit"},"business_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Business Code"},"return_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Return Url"}},"type":"object","title":"WebSessionRequest"},"YaadPayCreateRequest":{"properties":{"amount":{"type":"number","title":"Amount"},"description":{"type":"string","title":"Description","default":"תשלום ΔWORLDS"},"currency":{"type":"string","title":"Currency","default":"ILS"},"payments":{"type":"integer","title":"Payments","default":1},"template":{"type":"integer","title":"Template","default":1},"customer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Id"},"customer_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Name"},"customer_lastname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Lastname"},"customer_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Email"},"customer_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Phone"},"merchant":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant"}},"type":"object","required":["amount"],"title":"YaadPayCreateRequest"},"YaadPayPostponedRequest":{"properties":{"amount":{"type":"number","title":"Amount"},"description":{"type":"string","title":"Description","default":"תשלום דחוי ΔWORLDS"},"customer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Id"},"customer_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Name"}},"type":"object","required":["amount"],"title":"YaadPayPostponedRequest"},"YaadPayRecurringRequest":{"properties":{"amount":{"type":"number","title":"Amount"},"description":{"type":"string","title":"Description","default":"מנוי ΔWORLDS"},"frequency_months":{"type":"integer","title":"Frequency Months","default":1},"total_payments":{"type":"integer","title":"Total Payments","default":999},"first_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Date"},"customer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Id"},"customer_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Name"},"customer_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Email"}},"type":"object","required":["amount"],"title":"YaadPayRecurringRequest"},"YaadPayRefundRequest":{"properties":{"transaction_id":{"type":"string","title":"Transaction Id"},"amount":{"type":"number","title":"Amount"},"payments":{"type":"integer","title":"Payments","default":1}},"type":"object","required":["transaction_id","amount"],"title":"YaadPayRefundRequest"},"YaadPayVerifyRequest":{"properties":{"callback_params":{"additionalProperties":{"type":"string"},"type":"object","title":"Callback Params"}},"type":"object","required":["callback_params"],"title":"YaadPayVerifyRequest"}}}}