# sales_service API routes Total routes: 67 - `POST` `/api/v1/calls/inbound-webhook` -> `inbound_call` - `POST` `/api/v1/calls/outbound` -> `outbound_call` - `POST` `/api/v1/calls/{call_id}/complete` -> `complete_call` - `POST` `/api/v1/calls/{call_id}/transcript` -> `attach_transcript` - `POST` `/api/v1/communications/{communication_id}/bind-external` -> `bind_external_communication` - `POST` `/api/v1/communications/{communication_id}/summary` -> `summarize_communication` - `POST` `/api/v1/communications/{communication_id}/switch-channel` -> `switch_channel` - `GET` `/api/v1/dashboard` -> `sales_dashboard` - `GET` `/api/v1/deals` -> `list_deals` - `POST` `/api/v1/deals` -> `create_deal` - `GET` `/api/v1/deals/{deal_id}` -> `get_deal` - `PATCH` `/api/v1/deals/{deal_id}` -> `update_deal` - `GET` `/api/v1/deals/{deal_id}/calls` -> `list_calls` - `POST` `/api/v1/deals/{deal_id}/change-stage` -> `change_stage` - `POST` `/api/v1/deals/{deal_id}/close` -> `close_deal` - `GET` `/api/v1/deals/{deal_id}/communications` -> `list_communications` - `POST` `/api/v1/deals/{deal_id}/communications/text` -> `start_text_communication` - `POST` `/api/v1/deals/{deal_id}/communications/voice` -> `start_voice_communication` - `POST` `/api/v1/deals/{deal_id}/conditions` -> `upsert_conditions` - `GET` `/api/v1/deals/{deal_id}/counterparty` -> `get_counterparty` - `PATCH` `/api/v1/deals/{deal_id}/counterparty` -> `patch_counterparty` - `POST` `/api/v1/deals/{deal_id}/counterparty` -> `create_counterparty` - `POST` `/api/v1/deals/{deal_id}/documents` -> `create_document` - `POST` `/api/v1/deals/{deal_id}/escalate` -> `escalate_deal` - `POST` `/api/v1/deals/{deal_id}/invoices` -> `create_invoice` - `GET` `/api/v1/deals/{deal_id}/messages` -> `list_messages` - `POST` `/api/v1/deals/{deal_id}/offers` -> `create_offer` - `GET` `/api/v1/deals/{deal_id}/payments` -> `list_payments` - `POST` `/api/v1/deals/{deal_id}/schedule-next-action` -> `schedule_next_action` - `POST` `/api/v1/deals/{deal_id}/select-scenario` -> `select_scenario` - `GET` `/api/v1/deals/{deal_id}/workspace` -> `get_workspace` - `GET` `/api/v1/documents/{document_id}` -> `get_document` - `POST` `/api/v1/documents/{document_id}/confirm` -> `confirm_document` - `POST` `/api/v1/documents/{document_id}/send` -> `send_document` - `POST` `/api/v1/documents/{document_id}/sign-status-webhook` -> `sign_document` - `GET` `/api/v1/invoices/{invoice_id}` -> `get_invoice` - `POST` `/api/v1/invoices/{invoice_id}/mark-overdue` -> `mark_invoice_overdue` - `POST` `/api/v1/invoices/{invoice_id}/send` -> `send_invoice` - `GET` `/api/v1/leads` -> `list_leads` - `POST` `/api/v1/leads` -> `create_lead` - `GET` `/api/v1/leads/{lead_id}` -> `get_lead` - `PATCH` `/api/v1/leads/{lead_id}` -> `update_lead` - `POST` `/api/v1/leads/{lead_id}/convert-to-deal` -> `convert_lead_to_deal` - `POST` `/api/v1/leads/{lead_id}/enrich` -> `enrich_lead` - `POST` `/api/v1/messages/inbound-webhook` -> `inbound_message` - `POST` `/api/v1/messages/outbound` -> `outbound_message` - `GET` `/api/v1/offers/{offer_id}` -> `get_offer` - `POST` `/api/v1/offers/{offer_id}/accept` -> `accept_offer` - `POST` `/api/v1/offers/{offer_id}/reject` -> `reject_offer` - `POST` `/api/v1/offers/{offer_id}/send` -> `send_offer` - `POST` `/api/v1/payments/webhook` -> `payment_webhook` - `POST` `/api/v1/payments/{payment_id}/reconcile` -> `reconcile_payment` - `PATCH` `/api/v1/pipeline-stages/{stage_id}` -> `update_pipeline_stage` - `GET` `/api/v1/pipelines` -> `list_pipelines` - `POST` `/api/v1/pipelines` -> `create_pipeline` - `GET` `/api/v1/pipelines/{pipeline_id}` -> `get_pipeline` - `PATCH` `/api/v1/pipelines/{pipeline_id}` -> `update_pipeline` - `POST` `/api/v1/pipelines/{pipeline_id}/set-default` -> `set_default_pipeline` - `GET` `/api/v1/pipelines/{pipeline_id}/stages` -> `list_pipeline_stages` - `POST` `/api/v1/pipelines/{pipeline_id}/stages` -> `create_pipeline_stage` - `GET` `/docs` -> `swagger_ui_html` - `GET` `/docs/oauth2-redirect` -> `swagger_ui_redirect` - `GET` `/health` -> `health` - `POST` `/internal/sales-sync/telegram` -> `sync_telegram_thread` - `POST` `/internal/sales-sync/voice` -> `sync_voice_session` - `GET` `/openapi.json` -> `openapi` - `GET` `/redoc` -> `redoc_html`