{"components":{"schemas":{"AddEmailProspects":{"additionalProperties":false,"properties":{"contact_ids":{"items":{"minimum":1,"type":"integer"},"maxItems":100,"minItems":1,"type":"array"}},"required":["contact_ids"],"type":"object"},"AgencyAccessChange":{"properties":{"access":{"type":"boolean"},"actor_id":{"minimum":1,"type":"integer"},"actor_type":{"enum":["client","subclient"],"type":"string"},"api_grants_changed":{"enum":[false],"type":"boolean"},"workspace_id":{"minimum":1,"type":"integer"}},"required":["workspace_id","actor_type","actor_id","access","api_grants_changed"],"type":"object"},"AgencyWorkspace":{"properties":{"agency_workspace_id":{"minimum":1,"type":"integer"},"api_grant_required":{"enum":[true],"type":"boolean"},"billing_starts":{"enum":["at_first_launch"],"type":"string"},"client_research_started":{"enum":[false],"type":"boolean"},"color":{"nullable":true,"type":"string"},"contact_email":{"nullable":true,"type":"string"},"created_at":{"format":"date-time","nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"status":{"type":"string"},"workspace_id":{"minimum":1,"type":"integer"}},"required":["workspace_id","agency_workspace_id","name","status"],"type":"object"},"AgencyWorkspaceCollection":{"items":{"$ref":"#/components/schemas/AgencyWorkspaceSummary"},"type":"array"},"AgencyWorkspaceDetail":{"properties":{"access":{"items":{"properties":{"actor_id":{"minimum":1,"type":"integer"},"actor_type":{"enum":["client","subclient"],"type":"string"},"is_agency_admin":{"type":"boolean"},"name":{"nullable":true,"type":"string"}},"required":["actor_type","actor_id","is_agency_admin"],"type":"object"},"type":"array"},"agency_workspace_id":{"minimum":1,"type":"integer"},"color":{"nullable":true,"type":"string"},"contact_email":{"nullable":true,"type":"string"},"created_at":{"format":"date-time","nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"status":{"type":"string"},"workspace_id":{"minimum":1,"type":"integer"}},"required":["workspace_id","agency_workspace_id","name","status","access"],"type":"object"},"AgencyWorkspaceSummary":{"properties":{"agency_workspace_id":{"minimum":1,"type":"integer"},"color":{"nullable":true,"type":"string"},"contact_email":{"nullable":true,"type":"string"},"created_at":{"format":"date-time","nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"status":{"type":"string"},"workspace_id":{"minimum":1,"type":"integer"}},"required":["workspace_id","agency_workspace_id","name","status"],"type":"object"},"Analytics":{"properties":{"bounced_messages":{"minimum":0,"type":"integer"},"channel":{"enum":["email","linkedin"],"type":"string"},"connected_prospects":{"minimum":0,"type":"integer"},"connection_requests_sent":{"minimum":0,"type":"integer"},"messaged_prospects":{"minimum":0,"type":"integer"},"period":{"enum":["all_time"],"type":"string"},"prospects":{"minimum":0,"type":"integer"},"replied_messages":{"minimum":0,"type":"integer"},"replied_prospects":{"minimum":0,"type":"integer"},"sent_messages":{"minimum":0,"type":"integer"},"workspace_id":{"minimum":1,"type":"integer"}},"required":["workspace_id","channel","period"],"type":"object"},"ApproveEmailMessage":{"additionalProperties":false,"description":"Approves the exact current message content. Approval does not activate the campaign.","properties":{"expected_revision":{"pattern":"^[a-f0-9]{64}$","type":"string"},"preview_id":{"minimum":1,"type":"integer"}},"required":["preview_id","expected_revision"],"type":"object"},"BulkApproveEmailMessages":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"expected_revision":{"pattern":"^[a-f0-9]{64}$","type":"string"},"preview_id":{"minimum":1,"type":"integer"},"task_id":{"minimum":1,"type":"integer"}},"required":["task_id","preview_id","expected_revision"],"type":"object"},"maxItems":25,"minItems":1,"type":"array"}},"required":["items"],"type":"object"},"BulkEmailApprovals":{"properties":{"approved_count":{"minimum":0,"type":"integer"},"campaign_id":{"minimum":1,"type":"integer"},"results":{"items":{"properties":{"approval_id":{"nullable":true,"type":"string"},"error_code":{"nullable":true,"type":"string"},"outcome":{"enum":["approved","not_approved"],"type":"string"},"task_id":{"minimum":1,"type":"integer"}},"required":["task_id","outcome","approval_id","error_code"],"type":"object"},"type":"array"}},"required":["campaign_id","approved_count","results"],"type":"object"},"Campaign":{"properties":{"channel":{"enum":["email","linkedin"],"type":"string"},"created_at":{"format":"date-time","nullable":true,"type":"string"},"id":{"minimum":1,"type":"integer"},"name":{"type":"string"},"review_path":{"type":"string"},"status":{"type":"string"},"workspace_id":{"minimum":1,"type":"integer"}},"required":["id","workspace_id","channel","name","status"],"type":"object"},"CampaignActivity":{"properties":{"delivery_verified":{"enum":[false],"type":"boolean"},"events":{"items":{"properties":{"bounced":{"type":"boolean"},"message_id":{"minimum":1,"type":"integer"},"occurred_at":{"format":"date-time","type":"string"},"prospect_id":{"minimum":0,"type":"integer"},"skip_code":{"nullable":true,"type":"string"},"status":{"nullable":true,"type":"string"},"type":{"enum":["invitation_recorded","connection_recorded","message_recorded","reply_recorded","prospect_skipped","message_sent","message_opened","link_clicked"],"type":"string"}},"required":["type","occurred_at","prospect_id"],"type":"object"},"type":"array"},"has_more":{"type":"boolean"},"next_before":{"format":"date-time","nullable":true,"type":"string"},"source":{"enum":["saved_state"],"type":"string"}},"required":["events","has_more","next_before","source","delivery_verified"],"type":"object"},"CampaignAnalytics":{"properties":{"campaign_id":{"minimum":1,"type":"integer"},"channel":{"enum":["email","linkedin"],"type":"string"},"delivery_verified":{"enum":[false],"type":"boolean"},"denominators":{"additionalProperties":{"minimum":0,"type":"integer"},"type":"object"},"evaluated_at":{"format":"date-time","type":"string"},"source":{"enum":["saved_state"],"type":"string"},"totals":{"additionalProperties":{"minimum":0,"type":"integer"},"type":"object"}},"required":["campaign_id","channel","totals","denominators","source","delivery_verified"],"type":"object"},"CampaignConfiguration":{"properties":{"activation_status":{"enum":["not_requested"],"type":"string"},"ai_autopilot_enabled":{"type":"boolean"},"approval_status":{"enum":["not_evaluated"],"type":"string"},"audience":{"nullable":true,"type":"string"},"campaign_status":{"type":"string"},"channel":{"enum":["email","linkedin"],"type":"string"},"contact_ids":{"items":{"minimum":1,"type":"integer"},"type":"array"},"edit_blockers":{"items":{"type":"string"},"type":"array"},"editable":{"type":"boolean"},"id":{"minimum":1,"type":"integer"},"language":{"nullable":true,"type":"string"},"lead_source":{"nullable":true,"type":"string"},"name":{"type":"string"},"reply_owner_subclient_id":{"minimum":1,"nullable":true,"type":"integer"},"reply_routing":{"nullable":true,"type":"string"},"revision":{"pattern":"^[a-f0-9]{64}$","type":"string"},"schedule":{"properties":{"active_days":{"items":{"enum":["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],"type":"string"},"maxItems":7,"minItems":1,"type":"array","uniqueItems":true},"daily_connection_limit":{"nullable":true,"type":"integer"},"daily_message_limit":{"nullable":true,"type":"integer"},"daily_volume_per_mailbox":{"nullable":true,"type":"integer"},"initial_wait_days":{"nullable":true,"type":"integer"},"time_end":{"pattern":"^(?:[01][0-9]|2[0-3]):[0-5][0-9]$","type":"string"},"time_start":{"pattern":"^(?:[01][0-9]|2[0-3]):[0-5][0-9]$","type":"string"},"timezone":{"maxLength":100,"minLength":1,"type":"string"}},"required":["timezone","active_days","time_start","time_end"],"type":"object"},"sender_context":{"nullable":true,"type":"string"},"sender_ids":{"items":{"minimum":1,"type":"integer"},"type":"array"},"steps":{"items":{"properties":{"has_attachments":{"type":"boolean"},"id":{"minimum":1,"type":"integer"},"label":{"type":"string"},"message":{"nullable":true,"type":"string"},"template_id":{"minimum":1,"nullable":true,"type":"integer"},"type":{"nullable":true,"type":"string"},"wait_days":{"type":"integer"}},"required":["id","label","wait_days"],"type":"object"},"type":"array"},"workspace_id":{"minimum":1,"type":"integer"}},"required":["id","workspace_id","channel","name","campaign_status","sender_ids","revision","steps","schedule","reply_owner_subclient_id","reply_routing","editable","edit_blockers","approval_status","activation_status"],"type":"object"},"CampaignDetail":{"properties":{"audience":{"nullable":true,"type":"string"},"channel":{"enum":["email","linkedin"],"type":"string"},"created_at":{"format":"date-time","nullable":true,"type":"string"},"id":{"minimum":1,"type":"integer"},"name":{"type":"string"},"review_path":{"type":"string"},"status":{"type":"string"},"steps":{"items":{"properties":{"label":{"nullable":true,"type":"string"},"message":{"nullable":true,"type":"string"},"sequence_number":{"minimum":0,"type":"integer"},"type":{"nullable":true,"type":"string"},"wait_days":{"nullable":true,"type":"integer"}},"type":"object"},"type":"array"},"workspace_id":{"minimum":1,"type":"integer"}},"required":["id","workspace_id","channel","name","status"],"type":"object"},"CampaignList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Campaign"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"nullable":true,"type":"string"}},"required":["data","has_more","next_cursor"],"type":"object"},"Capabilities":{"properties":{"evaluation":{"enum":["request_authorization_only"],"type":"string"},"operations":{"items":{"properties":{"allowed":{"type":"boolean"},"operation_id":{"type":"string"},"reason":{"enum":["insufficient_scope","read_only","workspace_inactive","feature_unavailable",null],"nullable":true,"type":"string"},"required_scope":{"type":"string"},"resource_checks_required":{"enum":[true],"type":"boolean"}},"required":["operation_id","required_scope","allowed","reason","resource_checks_required"],"type":"object"},"type":"array"},"read_only":{"type":"boolean"},"role":{"enum":["owner","admin","member","viewer","agency_operator"],"type":"string"},"workspace_id":{"minimum":1,"type":"integer"},"write_blocker":{"enum":["read_only","workspace_inactive","insufficient_scope",null],"nullable":true,"type":"string"}},"required":["workspace_id","role","read_only","write_blocker","evaluation","operations"],"type":"object"},"CheckDomainAvailability":{"additionalProperties":false,"description":"A label or domain. Uses provider lookup quota; reserves nothing.","properties":{"query":{"maxLength":90,"minLength":1,"type":"string"}},"required":["query"],"type":"object"},"CheckoutHandoff":{"properties":{"charged":{"enum":[false],"type":"boolean"},"checkout_url":{"format":"uri","type":"string"},"next_step":{"type":"string"},"order_created":{"enum":[false],"type":"boolean"},"payment_collected_by":{"enum":["emailx_hosted_checkout"],"type":"string"},"quote":{"properties":{"currency":{"enum":["usd","eur"],"type":"string"},"due_today_before_tax":{"minimum":0,"type":"number"},"expires_at":{"format":"date-time","type":"string"},"lines":{"items":{"properties":{"amount":{"minimum":0,"type":"number"},"code":{"type":"string"},"description":{"type":"string"},"quantity":{"minimum":1,"type":"integer"},"recurrence":{"enum":["monthly","one_time"],"type":"string"},"unit_amount":{"minimum":0,"type":"number"}},"required":["code","description","quantity","unit_amount","amount","recurrence"],"type":"object"},"type":"array"},"monthly_before_tax":{"minimum":0,"type":"number"},"offer":{"enum":["prewarmed_domains","mailboxes"],"type":"string"},"quantity":{"minimum":1,"type":"integer"}},"required":["offer","quantity","currency","lines","due_today_before_tax","monthly_before_tax","expires_at"],"type":"object"},"requires_signed_in_person":{"enum":[true],"type":"boolean"}},"required":["checkout_url","quote","payment_collected_by","charged","order_created","requires_signed_in_person"],"type":"object"},"Contact":{"properties":{"company":{"maxLength":120,"nullable":true,"type":"string"},"created_at":{"format":"date-time","nullable":true,"type":"string"},"email":{"maxLength":200,"nullable":true,"type":"string"},"id":{"minimum":1,"type":"integer"},"last_name":{"maxLength":120,"nullable":true,"type":"string"},"linkedin":{"maxLength":200,"nullable":true,"type":"string"},"location":{"maxLength":200,"nullable":true,"type":"string"},"name":{"maxLength":120,"nullable":true,"type":"string"},"title":{"maxLength":120,"nullable":true,"type":"string"},"unsubscribed":{"type":"boolean"},"website":{"maxLength":200,"nullable":true,"type":"string"},"workspace_id":{"minimum":1,"type":"integer"}},"required":["id","workspace_id","email"],"type":"object"},"ContactExport":{"properties":{"columns":{"items":{"type":"string"},"type":"array"},"csv":{"type":"string"},"format":{"enum":["csv"],"type":"string"},"formula_guard":{"enum":[true],"type":"boolean"},"row_count":{"minimum":0,"type":"integer"},"truncated":{"type":"boolean"}},"required":["format","columns","row_count","truncated","formula_guard","csv"],"type":"object"},"ContactField":{"properties":{"active":{"type":"boolean"},"created_at":{"format":"date-time","nullable":true,"type":"string"},"display_order":{"minimum":0,"type":"integer"},"field_type":{"type":"string"},"id":{"minimum":1,"type":"integer"},"key":{"type":"string"},"label":{"type":"string"}},"required":["id","key","label","field_type","display_order","active"],"type":"object"},"ContactFieldCollection":{"items":{"$ref":"#/components/schemas/ContactField"},"type":"array"},"ContactFieldValues":{"properties":{"contact_id":{"minimum":1,"type":"integer"},"values":{"additionalProperties":{"type":"string"},"type":"object"}},"required":["contact_id","values"],"type":"object"},"ContactList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Contact"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"nullable":true,"type":"string"}},"required":["data","has_more","next_cursor"],"type":"object"},"ContactResearch":{"properties":{"available":{"type":"boolean"},"contact_id":{"minimum":1,"type":"integer"},"refresh_requested":{"enum":[false],"type":"boolean"},"research":{"nullable":true,"type":"object"}},"required":["contact_id","available","research"],"type":"object"},"Conversation":{"properties":{"campaign_id":{"nullable":true,"type":"integer"},"channel":{"enum":["email","linkedin"],"type":"string"},"contact_id":{"nullable":true,"type":"integer"},"first_name":{"nullable":true,"type":"string"},"id":{"minimum":1,"type":"integer"},"last_name":{"nullable":true,"type":"string"},"replied_at":{"format":"date-time","nullable":true,"type":"string"},"subject":{"nullable":true,"type":"string"}},"required":["id","channel"],"type":"object"},"ConversationDetail":{"properties":{"campaign_id":{"nullable":true,"type":"integer"},"channel":{"enum":["email","linkedin"],"type":"string"},"contact_id":{"nullable":true,"type":"integer"},"first_name":{"nullable":true,"type":"string"},"history_complete":{"enum":[false],"type":"boolean"},"history_source":{"type":"string"},"id":{"minimum":1,"type":"integer"},"last_name":{"nullable":true,"type":"string"},"messages":{"items":{"properties":{"direction":{"enum":["incoming","outgoing"],"type":"string"},"sent_at":{"nullable":true,"type":"string"},"text":{"type":"string"}},"required":["direction","text","sent_at"],"type":"object"},"type":"array"},"replied_at":{"format":"date-time","nullable":true,"type":"string"},"subject":{"nullable":true,"type":"string"}},"required":["id","channel","messages","history_source","history_complete"],"type":"object"},"ConversationList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Conversation"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"nullable":true,"type":"string"}},"required":["data","has_more","next_cursor"],"type":"object"},"CreateAgencyWorkspace":{"additionalProperties":false,"description":"Agency owners and admins only. Non-prepaid agencies must pick a plan; billing starts at first launch.","properties":{"contact_email":{"format":"email","maxLength":255,"type":"string"},"emails":{"minimum":0,"type":"integer"},"name":{"maxLength":255,"minLength":1,"type":"string"},"plan":{"maxLength":60,"type":"string"},"senders":{"minimum":0,"type":"integer"},"website":{"maxLength":500,"type":"string"}},"required":["name"],"type":"object"},"CreateCampaign":{"additionalProperties":false,"description":"Always creates a draft. Email accepts channel and name only. LinkedIn optionally accepts audience and up to four steps; connection notes are limited to 300 characters.","properties":{"audience":{"maxLength":10000,"nullable":true,"type":"string"},"channel":{"enum":["email","linkedin"],"type":"string"},"name":{"maxLength":255,"minLength":1,"type":"string"},"steps":{"items":{"additionalProperties":false,"properties":{"message":{"maxLength":8000,"nullable":true,"type":"string"},"type":{"enum":["connection_request","message"],"type":"string"},"wait_days":{"default":2,"maximum":90,"minimum":0,"type":"integer"}},"required":["type"],"type":"object"},"maxItems":4,"type":"array"}},"required":["channel","name"],"type":"object"},"CreateCheckout":{"additionalProperties":false,"description":"Owner or admin only. Returns a hosted page; nothing is charged through the API.","properties":{"confirm_purchase_intent":{"enum":[true],"type":"boolean"},"quote_token":{"maxLength":4096,"pattern":"^quo_","type":"string"}},"required":["quote_token","confirm_purchase_intent"],"type":"object"},"CreateContact":{"additionalProperties":false,"properties":{"company":{"maxLength":120,"nullable":true,"type":"string"},"email":{"format":"email","maxLength":200,"type":"string"},"last_name":{"maxLength":120,"nullable":true,"type":"string"},"linkedin":{"maxLength":200,"nullable":true,"type":"string"},"location":{"maxLength":200,"nullable":true,"type":"string"},"name":{"maxLength":120,"nullable":true,"type":"string"},"title":{"maxLength":120,"nullable":true,"type":"string"},"unsubscribed":{"enum":[true],"type":"boolean"},"website":{"maxLength":200,"nullable":true,"type":"string"}},"required":["email"],"type":"object"},"CreateContactField":{"additionalProperties":false,"properties":{"label":{"maxLength":120,"minLength":1,"type":"string"}},"required":["label"],"type":"object"},"CreateEmailLaunchReview":{"additionalProperties":false,"description":"Creates a short-lived local readiness review for an email draft and its approved messages.","properties":{"expected_revision":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["expected_revision"],"type":"object"},"CreateEmailPreparation":{"additionalProperties":false,"description":"Queues local preparation for an inactive email draft. It does not generate or send messages.","properties":{"expected_revision":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["expected_revision"],"type":"object"},"CreateExclusionList":{"additionalProperties":false,"description":"Inline rows up to 2,000 per request. Matching queued leads in the affected campaigns are skipped; contacted leads keep their history.","properties":{"mode":{"default":"both","enum":["people","companies","both"],"type":"string"},"name":{"maxLength":255,"minLength":1,"type":"string"},"rows":{"items":{"additionalProperties":false,"properties":{"company":{"maxLength":500,"type":"string"},"first_name":{"maxLength":500,"type":"string"},"full_name":{"maxLength":500,"type":"string"},"last_name":{"maxLength":500,"type":"string"},"linkedin_url":{"maxLength":500,"type":"string"}},"type":"object"},"maxItems":2000,"minItems":1,"type":"array"},"scope":{"default":"campaign","enum":["campaign","workspace"],"type":"string"}},"required":["name","rows"],"type":"object"},"CreateInvitation":{"additionalProperties":false,"description":"Owner or admin only. Sends one invitation email through a durable operation; viewer is for agency client workspaces.","properties":{"email":{"format":"email","maxLength":254,"type":"string"},"message":{"maxLength":1000,"type":"string"},"role":{"default":"member","enum":["member","admin","viewer"],"type":"string"}},"required":["email"],"type":"object"},"CreateKnowledge":{"additionalProperties":false,"description":"Text only. Saving does not run AI; request a profile refresh separately.","properties":{"content":{"maxLength":50000,"minLength":1,"type":"string"},"owner_subclient_id":{"minimum":1,"type":"integer"},"scope":{"default":"workspace","enum":["workspace","sender"],"type":"string"},"title":{"maxLength":255,"minLength":1,"type":"string"}},"required":["title","content"],"type":"object"},"CreateLinkedinImport":{"additionalProperties":false,"description":"Requires EMAILX_API_EXECUTION_ENABLED. Accepts normalized LinkedIn profile URLs only; combined command JSON is limited to 64 KiB. No provider calls occur in the request.","properties":{"expected_revision":{"pattern":"^[a-f0-9]{64}$","type":"string"},"leads":{"items":{"additionalProperties":false,"properties":{"company":{"maxLength":255,"nullable":true,"type":"string"},"first_name":{"maxLength":255,"nullable":true,"type":"string"},"last_name":{"maxLength":255,"nullable":true,"type":"string"},"linkedin_url":{"maxLength":500,"type":"string"}},"required":["linkedin_url"],"type":"object"},"maxItems":100,"minItems":1,"type":"array"},"sender_id":{"minimum":1,"type":"integer"}},"required":["expected_revision","sender_id","leads"],"type":"object"},"CreateLinkedinLeadSearch":{"additionalProperties":false,"description":"Uses AI and the sender's LinkedIn search quota in a worker. Candidates are never enrolled or contacted.","properties":{"confirm_ai_and_search_use":{"enum":[true],"type":"boolean"},"icp_description":{"maxLength":5000,"minLength":1,"type":"string"},"language":{"default":"English","maxLength":50,"minLength":1,"type":"string"},"sender_id":{"minimum":1,"type":"integer"}},"required":["icp_description","sender_id","confirm_ai_and_search_use"],"type":"object"},"CreateLinkedinResumeReview":{"additionalProperties":false,"description":"Requires EMAILX_API_EXECUTION_ENABLED. Reviews a paused, previously launched manual LinkedIn campaign for resume. Local and short-lived; provider health, quota and delivery are not verified.","properties":{"expected_revision":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["expected_revision"],"type":"object"},"CreateLinkedinReview":{"additionalProperties":false,"description":"Requires EMAILX_API_EXECUTION_ENABLED. Produces a short-lived local readiness review; provider health, quota and delivery are not verified.","properties":{"expected_revision":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["expected_revision"],"type":"object"},"CreateProspect":{"additionalProperties":false,"description":"Requires a previously resolved LinkedIn provider ID. This endpoint performs no enrichment or sending.","properties":{"company":{"maxLength":255,"type":"string"},"first_name":{"maxLength":255,"type":"string"},"headline":{"maxLength":1000,"type":"string"},"last_name":{"maxLength":255,"type":"string"},"linkedin_url":{"maxLength":500,"type":"string"},"provider_id":{"maxLength":255,"type":"string"}},"required":["provider_id"],"type":"object"},"CreateQuote":{"additionalProperties":false,"description":"Read-only price proposal; reserves nothing and checks no availability.","properties":{"currency":{"enum":["usd","eur"],"type":"string"},"offer":{"enum":["prewarmed_domains","mailboxes"],"type":"string"},"quantity":{"maximum":50,"minimum":1,"type":"integer"}},"required":["offer","quantity"],"type":"object"},"CreateSenderConnection":{"additionalProperties":false,"properties":{"channel":{"enum":["email","linkedin"],"type":"string"}},"required":["channel"],"type":"object"},"CreateTemplate":{"additionalProperties":false,"properties":{"ai_sections":{"description":"IDs and positions must each be unique; input order is preserved.","items":{"additionalProperties":false,"properties":{"id":{"maxLength":120,"minLength":1,"type":"string"},"position":{"maximum":99,"minimum":0,"type":"integer"},"prompt":{"maxLength":5000,"type":"string"},"prompt_html":{"maxLength":5000,"type":"string"}},"required":["id","prompt","position"],"type":"object"},"maxItems":100,"nullable":true,"type":"array"},"body":{"maxLength":5000,"nullable":true,"type":"string"},"click_tracking":{"default":false,"type":"boolean"},"goal":{"default":"Sales","maxLength":50,"nullable":true,"type":"string"},"include_signature":{"default":true,"type":"boolean"},"language":{"default":"English","maxLength":50,"type":"string"},"name":{"maxLength":120,"minLength":1,"type":"string"},"plain_text":{"default":false,"type":"boolean"},"preview_instruction":{"maxLength":5000,"nullable":true,"type":"string"},"preview_text":{"maxLength":5000,"nullable":true,"type":"string"},"prompt":{"maxLength":5000,"nullable":true,"type":"string"},"prompt_html":{"maxLength":5000,"nullable":true,"type":"string"},"subject":{"maxLength":500,"nullable":true,"type":"string"},"subject_instruction":{"maxLength":5000,"nullable":true,"type":"string"},"tracking":{"default":true,"type":"boolean"},"unsubscribe":{"default":false,"type":"boolean"}},"required":["name"],"type":"object"},"CreateWebhookEndpoint":{"additionalProperties":false,"description":"HTTPS on a public address only. Saving does not contact the URL; send a test event to check it.","properties":{"description":{"maxLength":255,"type":"string"},"event_types":{"items":{"enum":["operation.succeeded","operation.partially_succeeded","operation.failed","operation.cancelled","operation.needs_reconciliation","operation.awaiting_user_action"],"type":"string"},"maxItems":6,"minItems":1,"type":"array","uniqueItems":true},"url":{"format":"uri","maxLength":2000,"minLength":9,"type":"string"}},"required":["url","event_types"],"type":"object"},"DiscardReplyDraft":{"additionalProperties":false,"properties":{"draft_id":{"minimum":1,"type":"integer"}},"required":["draft_id"],"type":"object"},"DisconnectPreview":{"properties":{"active_campaign_count":{"minimum":0,"type":"integer"},"affected_campaigns":{"items":{"properties":{"campaign_id":{"minimum":1,"type":"integer"},"name":{"nullable":true,"type":"string"},"status":{"nullable":true,"type":"string"}},"required":["campaign_id","status"],"type":"object"},"type":"array"},"channel":{"enum":["email","linkedin"],"type":"string"},"disconnect_available_via_api":{"enum":[false],"type":"boolean"},"future_work_count":{"minimum":0,"type":"integer"},"history_kept":{"enum":[true],"type":"boolean"},"next_step":{"type":"string"},"sender_id":{"minimum":1,"type":"integer"}},"required":["sender_id","channel","affected_campaigns","active_campaign_count","future_work_count","history_kept","disconnect_available_via_api"],"type":"object"},"DismissReply":{"additionalProperties":false,"properties":{"expected_revision":{"minimum":0,"type":"integer"}},"required":["expected_revision"],"type":"object"},"Domain":{"properties":{"created_at":{"format":"date-time","nullable":true,"type":"string"},"domain":{"nullable":true,"type":"string"},"forwarding_email":{"nullable":true,"type":"string"},"id":{"minimum":1,"type":"integer"},"order_id":{"nullable":true,"type":"integer"},"provider":{"nullable":true,"type":"string"},"redirect_domain":{"nullable":true,"type":"string"},"renew_price":{"nullable":true,"type":"number"},"renewal_date":{"format":"date-time","nullable":true,"type":"string"},"status":{"nullable":true,"type":"string"}},"required":["id","domain","status"],"type":"object"},"DomainAvailabilityResult":{"additionalProperties":false,"properties":{"checked_at":{"format":"date-time","type":"string"},"domains":{"items":{"properties":{"available":{"enum":[true],"type":"boolean"},"domain":{"type":"string"},"price":{"nullable":true,"type":"number"},"renew_price":{"nullable":true,"type":"number"}},"required":["domain","available","price","renew_price"],"type":"object"},"maxItems":20,"type":"array"},"query":{"type":"string"},"reservation":{"enum":[false],"type":"boolean"},"success":{"type":"boolean"}},"required":["query","success","domains","checked_at","reservation"],"type":"object"},"DomainDetail":{"properties":{"created_at":{"format":"date-time","nullable":true,"type":"string"},"domain":{"nullable":true,"type":"string"},"forwarding_email":{"nullable":true,"type":"string"},"id":{"minimum":1,"type":"integer"},"mailboxes":{"items":{"$ref":"#/components/schemas/ProvisionedMailbox"},"type":"array"},"order_id":{"nullable":true,"type":"integer"},"provider":{"nullable":true,"type":"string"},"redirect_domain":{"nullable":true,"type":"string"},"renew_price":{"nullable":true,"type":"number"},"renewal_date":{"format":"date-time","nullable":true,"type":"string"},"status":{"nullable":true,"type":"string"}},"required":["id","domain","status","mailboxes"],"type":"object"},"DomainList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Domain"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"nullable":true,"type":"string"}},"required":["data","has_more","next_cursor"],"type":"object"},"DuplicateCampaign":{"additionalProperties":false,"description":"Copies setup and steps only. People, sends, approvals and history are never copied.","properties":{"name":{"maxLength":255,"minLength":1,"type":"string"}},"type":"object"},"EditEmailMessage":{"additionalProperties":false,"description":"Edits only the selected current preview. Read the message again after editing or a stale-revision conflict.","minProperties":3,"properties":{"body_html":{"maxLength":5000,"type":"string"},"expected_revision":{"pattern":"^[a-f0-9]{64}$","type":"string"},"preheader":{"maxLength":5000,"type":"string"},"preview_id":{"minimum":1,"type":"integer"},"subject":{"maxLength":500,"type":"string"}},"required":["preview_id","expected_revision"],"type":"object"},"EditLiveLinkedinSequence":{"additionalProperties":false,"description":"Replaces message steps on an active or paused campaign. Steps needed by prospects already in the sequence cannot be removed; saved files stay attached by position.","properties":{"active_days":{"items":{"enum":["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],"type":"string"},"minItems":1,"type":"array"},"daily_connection_limit":{"maximum":30,"minimum":1,"type":"integer"},"daily_message_limit":{"maximum":100,"minimum":1,"type":"integer"},"expected_revision":{"pattern":"^[a-f0-9]{64}$","type":"string"},"language":{"maxLength":50,"type":"string"},"steps":{"items":{"additionalProperties":false,"properties":{"label":{"maxLength":200,"type":"string"},"message_template":{"maxLength":8000,"minLength":1,"type":"string"},"wait_days":{"default":3,"maximum":14,"minimum":0,"type":"integer"}},"required":["message_template"],"type":"object"},"maxItems":5,"minItems":1,"type":"array"},"time_end":{"pattern":"^[0-2][0-9]:[0-5][0-9]$","type":"string"},"time_start":{"pattern":"^[0-2][0-9]:[0-5][0-9]$","type":"string"},"user_timezone":{"maxLength":100,"type":"string"}},"required":["expected_revision","steps"],"type":"object"},"EditReplyDraft":{"additionalProperties":false,"properties":{"draft_id":{"minimum":1,"type":"integer"},"text":{"maxLength":8000,"minLength":1,"type":"string"}},"required":["draft_id","text"],"type":"object"},"EmailActivationResult":{"additionalProperties":false,"properties":{"campaign_id":{"minimum":1,"type":"integer"},"campaign_status":{"enum":["active"],"type":"string"},"delivery_verified":{"enum":[false],"type":"boolean"},"dispatch_mode":{"enum":["native_scheduled_dispatch"],"type":"string"},"scheduled_messages":{"maximum":500,"minimum":1,"type":"integer"}},"required":["campaign_id","campaign_status","dispatch_mode","delivery_verified","scheduled_messages"],"type":"object"},"EmailApprovalRevocation":{"properties":{"campaign_active":{"type":"boolean"},"status":{"enum":["awaiting_approval"],"type":"string"},"task_id":{"minimum":1,"type":"integer"}},"required":["task_id","status","campaign_active"],"type":"object"},"EmailConfigurationSchedule":{"additionalProperties":false,"properties":{"active_days":{"items":{"enum":["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],"type":"string"},"maxItems":7,"minItems":1,"type":"array","uniqueItems":true},"daily_volume_per_mailbox":{"maximum":100,"minimum":1,"type":"integer"},"initial_wait_days":{"maximum":90,"minimum":0,"type":"integer"},"time_end":{"pattern":"^(?:[01][0-9]|2[0-3]):[0-5][0-9]$","type":"string"},"time_start":{"pattern":"^(?:[01][0-9]|2[0-3]):[0-5][0-9]$","type":"string"},"timezone":{"maxLength":100,"minLength":1,"type":"string"}},"required":["timezone","active_days","time_start","time_end","daily_volume_per_mailbox","initial_wait_days"],"type":"object"},"EmailGenerationResult":{"properties":{"delivery_verified":{"enum":[false],"type":"boolean"},"generation_verified":{"type":"boolean"},"messages":{"items":{"properties":{"preview_id":{"minimum":1,"type":"integer"},"task_id":{"minimum":1,"type":"integer"}},"required":["task_id","preview_id"],"type":"object"},"maxItems":10,"type":"array"}},"required":["messages","generation_verified","delivery_verified"],"type":"object"},"EmailLaunchReview":{"properties":{"blockers":{"items":{"properties":{"code":{"type":"string"},"task_id":{"minimum":1,"nullable":true,"type":"integer"}},"required":["code","task_id"],"type":"object"},"maxItems":25,"type":"array"},"configuration_revision":{"pattern":"^[a-f0-9]{64}$","type":"string"},"counts":{"properties":{"approved":{"minimum":0,"type":"integer"},"blocked":{"minimum":0,"type":"integer"},"cancelled":{"minimum":0,"type":"integer"},"total":{"minimum":0,"type":"integer"}},"required":["total","approved","cancelled","blocked"],"type":"object"},"expires_at":{"format":"date-time","type":"string"},"id":{"pattern":"^rev_[a-f0-9]{32}$","type":"string"},"ready":{"type":"boolean"},"warnings":{"items":{"type":"string"},"type":"array"}},"required":["id","expires_at","ready","blockers","warnings","configuration_revision"],"type":"object"},"EmailMessage":{"properties":{"body_html":{"type":"string"},"body_text":{"type":"string"},"campaign_id":{"minimum":1,"type":"integer"},"contact_id":{"minimum":1,"type":"integer"},"delivery_verified":{"enum":[false],"type":"boolean"},"preheader":{"type":"string"},"preview_id":{"minimum":1,"type":"integer"},"recipient_email":{"nullable":true,"type":"string"},"revision":{"pattern":"^[a-f0-9]{64}$","type":"string"},"sender_email":{"nullable":true,"type":"string"},"sender_id":{"minimum":1,"nullable":true,"type":"integer"},"status":{"type":"string"},"subject":{"type":"string"},"task_id":{"minimum":1,"type":"integer"},"workflow_email_id":{"minimum":1,"type":"integer"},"workspace_id":{"minimum":1,"type":"integer"}},"required":["workspace_id","campaign_id","task_id","workflow_email_id","contact_id","preview_id","status","subject","body_text","body_html","preheader","revision","delivery_verified"],"type":"object"},"EmailMessageCancellation":{"properties":{"changed":{"type":"boolean"},"later_steps":{"enum":["halted_by_native_dispatch"],"type":"string"},"status":{"enum":["cancelled"],"type":"string"},"task_id":{"minimum":1,"type":"integer"}},"required":["task_id","status","changed"],"type":"object"},"EmailMessageList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/EmailMessageSummary"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"nullable":true,"type":"string"}},"required":["data","has_more","next_cursor"],"type":"object"},"EmailMessageReset":{"properties":{"approval_cleared":{"enum":[true],"type":"boolean"},"discarded_preview_id":{"minimum":1,"type":"integer"},"generation_requested":{"enum":[false],"type":"boolean"},"status":{"enum":["api_prepared"],"type":"string"},"task_id":{"minimum":1,"type":"integer"}},"required":["task_id","status","discarded_preview_id","approval_cleared","generation_requested"],"type":"object"},"EmailMessageSummary":{"properties":{"ambiguous_preview":{"type":"boolean"},"campaign_id":{"minimum":1,"type":"integer"},"contact_id":{"minimum":1,"type":"integer"},"id":{"minimum":1,"type":"integer"},"preview_id":{"minimum":1,"nullable":true,"type":"integer"},"status":{"type":"string"},"step_id":{"minimum":1,"type":"integer"},"task_id":{"minimum":1,"type":"integer"}},"required":["id","task_id","campaign_id","contact_id","step_id","status","preview_id","ambiguous_preview"],"type":"object"},"EmailOperation":{"$ref":"#/components/schemas/Operation"},"EmailPreparationResult":{"properties":{"campaign_id":{"minimum":1,"type":"integer"},"contact_count":{"minimum":1,"type":"integer"},"generation_requested":{"enum":[false],"type":"boolean"},"mailbox_count":{"minimum":1,"type":"integer"},"revision":{"pattern":"^[a-f0-9]{64}$","type":"string"},"scheduled":{"enum":[false],"type":"boolean"},"send_requested":{"enum":[false],"type":"boolean"},"status":{"enum":["prepared"],"type":"string"},"step_count":{"minimum":1,"type":"integer"},"task_count":{"minimum":1,"type":"integer"},"task_ids":{"items":{"minimum":1,"type":"integer"},"type":"array"},"workspace_id":{"minimum":1,"type":"integer"}},"required":["workspace_id","campaign_id","revision","contact_count","step_count","mailbox_count","task_count","task_ids","status","scheduled","generation_requested","send_requested"],"type":"object"},"EmailProgress":{"description":"Reports saved task statuses only; activation or a sent status does not independently verify provider delivery.","properties":{"campaign_id":{"minimum":1,"type":"integer"},"campaign_status":{"type":"string"},"delivery_verified":{"enum":[false],"type":"boolean"},"status_counts":{"additionalProperties":{"minimum":0,"type":"integer"},"type":"object"},"total_tasks":{"minimum":0,"type":"integer"}},"required":["campaign_id","campaign_status","total_tasks","status_counts","delivery_verified"],"type":"object"},"EmailReplyRecipient":{"properties":{"email":{"type":"string"},"thread_id":{"type":"string"}},"required":["email","thread_id"],"type":"object"},"EmailReplySender":{"properties":{"active":{"type":"boolean"},"connection_method":{"nullable":true,"type":"string"},"email":{"type":"string"},"id":{"minimum":1,"nullable":true,"type":"integer"},"name":{"type":"string"},"needs_reauth":{"type":"boolean"},"ready":{"type":"boolean"},"subclient_id":{"minimum":1,"nullable":true,"type":"integer"}},"required":["id","email","name","connection_method","active","needs_reauth","subclient_id","ready"],"type":"object"},"EmailSenderReadiness":{"properties":{"blockers":{"items":{"type":"string"},"type":"array"},"connection_method":{"nullable":true,"type":"string"},"dns_checked":{"enum":[false],"type":"boolean"},"email":{"type":"string"},"evaluated_at":{"format":"date-time","type":"string"},"provider_checked":{"enum":[false],"type":"boolean"},"ready":{"type":"boolean"},"sender_id":{"minimum":1,"type":"integer"},"warmup":{"properties":{"active":{"type":"boolean"},"connected":{"type":"boolean"}},"required":["connected","active"],"type":"object"},"warnings":{"items":{"type":"string"},"type":"array"}},"required":["sender_id","email","ready","blockers","warnings","warmup","dns_checked","provider_checked"],"type":"object"},"Empty":{"additionalProperties":false,"properties":{},"type":"object"},"Error":{"properties":{"error":{"properties":{"code":{"type":"string"},"details":{"additionalProperties":true,"type":"object"},"message":{"type":"string"},"request_id":{"type":"string"}},"required":["code","message","request_id"],"type":"object"}},"required":["error"],"type":"object"},"ExactEmailMessage":{"additionalProperties":false,"properties":{"expected_revision":{"pattern":"^[a-f0-9]{64}$","type":"string"},"preview_id":{"minimum":1,"type":"integer"}},"required":["preview_id","expected_revision"],"type":"object"},"ExclusionEntry":{"properties":{"company":{"nullable":true,"type":"string"},"id":{"minimum":1,"type":"integer"},"kind":{"enum":["person","company"],"type":"string"},"linkedin_url":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"}},"required":["id","kind","name","company","linkedin_url"],"type":"object"},"ExclusionEntryList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ExclusionEntry"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"nullable":true,"type":"string"}},"required":["data","has_more","next_cursor"],"type":"object"},"ExclusionListCollection":{"items":{"$ref":"#/components/schemas/ExclusionListSummary"},"type":"array"},"ExclusionListCreated":{"properties":{"applied":{"properties":{"already_contacted":{"minimum":0,"type":"integer"},"skipped":{"minimum":0,"type":"integer"}},"required":["skipped","already_contacted"],"type":"object"},"list":{"$ref":"#/components/schemas/ExclusionListSummary"},"stats":{"properties":{"companies":{"minimum":0,"type":"integer"},"people":{"minimum":0,"type":"integer"},"rows":{"minimum":0,"type":"integer"},"unusable":{"minimum":0,"type":"integer"}},"required":["rows","people","companies","unusable"],"type":"object"}},"required":["list","stats","applied"],"type":"object"},"ExclusionListDeleted":{"properties":{"campaign_id":{"nullable":true,"type":"integer"},"company_count":{"minimum":0,"type":"integer"},"created_at":{"format":"date-time","nullable":true,"type":"string"},"deleted":{"enum":[true],"type":"boolean"},"enabled":{"type":"boolean"},"id":{"minimum":1,"type":"integer"},"name":{"type":"string"},"people_count":{"minimum":0,"type":"integer"},"previously_skipped_leads_restored":{"enum":[false],"type":"boolean"},"scope":{"enum":["campaign","workspace"],"type":"string"},"source_filename":{"nullable":true,"type":"string"},"updated_at":{"format":"date-time","nullable":true,"type":"string"}},"required":["id","deleted","previously_skipped_leads_restored"],"type":"object"},"ExclusionListSummary":{"properties":{"campaign_id":{"nullable":true,"type":"integer"},"company_count":{"minimum":0,"type":"integer"},"created_at":{"format":"date-time","nullable":true,"type":"string"},"enabled":{"type":"boolean"},"id":{"minimum":1,"type":"integer"},"name":{"type":"string"},"people_count":{"minimum":0,"type":"integer"},"scope":{"enum":["campaign","workspace"],"type":"string"},"source_filename":{"nullable":true,"type":"string"},"updated_at":{"format":"date-time","nullable":true,"type":"string"}},"required":["id","name","scope","campaign_id","people_count","company_count","enabled"],"type":"object"},"ExclusionListToggle":{"properties":{"applied":{"properties":{"already_contacted":{"minimum":0,"type":"integer"},"skipped":{"minimum":0,"type":"integer"}},"required":["skipped","already_contacted"],"type":"object"},"list":{"$ref":"#/components/schemas/ExclusionListSummary"}},"required":["list","applied"],"type":"object"},"ExportContacts":{"additionalProperties":false,"description":"Read-only. Up to 5,000 contacts as CSV with a spreadsheet formula guard.","properties":{"limit":{"maximum":5000,"minimum":1,"type":"integer"},"unsubscribed":{"type":"boolean"}},"type":"object"},"GenerateEmailPreviews":{"additionalProperties":false,"description":"Explicitly confirms AI credit use for 1 to 10 prepared task IDs. Generation creates reviewable content only.","properties":{"confirm_credit_use":{"enum":[true],"type":"boolean"},"expected_revision":{"pattern":"^[a-f0-9]{64}$","type":"string"},"task_ids":{"items":{"minimum":1,"type":"integer"},"maxItems":10,"minItems":1,"type":"array","uniqueItems":true}},"required":["expected_revision","task_ids","confirm_credit_use"],"type":"object"},"Identity":{"properties":{"actor_id":{"minimum":1,"type":"integer"},"actor_type":{"enum":["client","subclient"],"type":"string"},"environment":{"enum":["test","live"],"type":"string"},"expires_at":{"format":"date-time","nullable":true,"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"scopes":{"items":{"type":"string"},"type":"array"},"workspace_ids":{"items":{"minimum":1,"type":"integer"},"type":"array"}},"required":["id","environment","workspace_ids","scopes","expires_at"],"type":"object"},"ImportResult":{"properties":{"campaign_id":{"minimum":1,"type":"integer"},"counts":{"additionalProperties":{"minimum":0,"type":"integer"},"type":"object"},"import_job_id":{"minimum":1,"type":"integer"},"rows_path":{"type":"string"},"status":{"enum":["queued","running","completed","paused","failed"],"type":"string"},"total":{"minimum":0,"type":"integer"}},"required":["import_job_id","campaign_id","status","total","counts","rows_path"],"type":"object"},"ImportRow":{"properties":{"company":{"maxLength":255,"nullable":true,"type":"string"},"error_code":{"maxLength":100,"nullable":true,"type":"string"},"first_name":{"maxLength":255,"nullable":true,"type":"string"},"id":{"minimum":1,"type":"integer"},"last_name":{"maxLength":255,"nullable":true,"type":"string"},"linkedin_url":{"maxLength":500,"nullable":true,"type":"string"},"prospect_id":{"minimum":1,"nullable":true,"type":"integer"},"row_index":{"minimum":1,"type":"integer"},"status":{"maxLength":50,"type":"string"}},"required":["id","row_index","status","linkedin_url","first_name","last_name","company","prospect_id","error_code"],"type":"object"},"ImportRowList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ImportRow"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"nullable":true,"type":"string"}},"required":["data","has_more","next_cursor"],"type":"object"},"InboxReplyMessage":{"properties":{"id":{"type":"string"},"role":{"enum":["sender","lead"],"type":"string"},"text":{"maxLength":1200,"type":"string"},"time":{"nullable":true,"type":"string"}},"required":["id","role","text","time"],"type":"object"},"Invitation":{"properties":{"created_at":{"format":"date-time","nullable":true,"type":"string"},"email":{"type":"string"},"expired":{"type":"boolean"},"expires_at":{"format":"date-time","nullable":true,"type":"string"},"id":{"minimum":1,"type":"integer"},"role":{"enum":["member","admin","viewer","agency"],"type":"string"}},"required":["id","email","role","expired"],"type":"object"},"InvitationList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Invitation"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"nullable":true,"type":"string"}},"required":["data","has_more","next_cursor"],"type":"object"},"InvitationRevoked":{"properties":{"email":{"type":"string"},"id":{"minimum":1,"type":"integer"},"revoked":{"enum":[true],"type":"boolean"}},"required":["id","email","revoked"],"type":"object"},"KnowledgeDeleted":{"properties":{"content_chars":{"minimum":0,"type":"integer"},"created_at":{"format":"date-time","nullable":true,"type":"string"},"deleted":{"enum":[true],"type":"boolean"},"editable":{"type":"boolean"},"id":{"minimum":1,"type":"integer"},"owner_subclient_id":{"nullable":true,"type":"integer"},"profile_refresh_requested":{"enum":[false],"type":"boolean"},"scope":{"enum":["workspace","sender"],"type":"string"},"source_type":{"type":"string"},"title":{"nullable":true,"type":"string"},"updated_at":{"format":"date-time","nullable":true,"type":"string"}},"required":["id","deleted"],"type":"object"},"KnowledgeEntry":{"properties":{"content":{"type":"string"},"content_chars":{"minimum":0,"type":"integer"},"created_at":{"format":"date-time","nullable":true,"type":"string"},"editable":{"type":"boolean"},"id":{"minimum":1,"type":"integer"},"owner_subclient_id":{"nullable":true,"type":"integer"},"profile_refresh_requested":{"enum":[false],"type":"boolean"},"scope":{"enum":["workspace","sender"],"type":"string"},"source_type":{"type":"string"},"title":{"nullable":true,"type":"string"},"updated_at":{"format":"date-time","nullable":true,"type":"string"}},"required":["id","title","source_type","scope","owner_subclient_id","editable","content_chars","content"],"type":"object"},"KnowledgeList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/KnowledgeSummary"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"nullable":true,"type":"string"}},"required":["data","has_more","next_cursor"],"type":"object"},"KnowledgeProfile":{"properties":{"completeness":{"minimum":0,"type":"number"},"knowledge_count":{"minimum":0,"type":"integer"},"owner_subclient_id":{"nullable":true,"type":"integer"},"profile_data":{"type":"object"},"profile_type":{"enum":["company","sender"],"type":"string"},"updated_at":{"format":"date-time","nullable":true,"type":"string"}},"required":["profile_type","owner_subclient_id","profile_data","completeness","knowledge_count"],"type":"object"},"KnowledgeProfiles":{"items":{"$ref":"#/components/schemas/KnowledgeProfile"},"type":"array"},"KnowledgeSummary":{"properties":{"content_chars":{"minimum":0,"type":"integer"},"created_at":{"format":"date-time","nullable":true,"type":"string"},"editable":{"type":"boolean"},"id":{"minimum":1,"type":"integer"},"owner_subclient_id":{"nullable":true,"type":"integer"},"scope":{"enum":["workspace","sender"],"type":"string"},"source_type":{"type":"string"},"title":{"nullable":true,"type":"string"},"updated_at":{"format":"date-time","nullable":true,"type":"string"}},"required":["id","title","source_type","scope","owner_subclient_id","editable","content_chars"],"type":"object"},"LaunchEmailCampaign":{"additionalProperties":false,"description":"Explicitly confirms activation of the reviewed email campaign for native scheduled sending.","properties":{"confirm_launch":{"enum":[true],"type":"boolean"},"review_id":{"pattern":"^rev_[a-f0-9]{32}$","type":"string"}},"required":["review_id","confirm_launch"],"type":"object"},"LaunchLinkedinCampaign":{"additionalProperties":false,"description":"Explicitly confirms activation for ordinary native scheduled dispatch. Does not request immediate outreach.","properties":{"confirm_launch":{"enum":[true],"type":"boolean"},"review_id":{"pattern":"^rev_[a-f0-9]{32}$","type":"string"}},"required":["review_id","confirm_launch"],"type":"object"},"LinkedinActivationResult":{"additionalProperties":false,"properties":{"campaign_id":{"minimum":1,"type":"integer"},"campaign_status":{"enum":["active"],"type":"string"},"delivery_verified":{"enum":[false],"type":"boolean"},"dispatch_mode":{"enum":["native_scheduled_dispatch"],"type":"string"}},"required":["campaign_id","campaign_status","dispatch_mode","delivery_verified"],"type":"object"},"LinkedinConfigurationSchedule":{"additionalProperties":false,"properties":{"active_days":{"items":{"enum":["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],"type":"string"},"maxItems":7,"minItems":1,"type":"array","uniqueItems":true},"daily_connection_limit":{"maximum":30,"minimum":1,"type":"integer"},"daily_message_limit":{"maximum":100,"minimum":1,"type":"integer"},"time_end":{"pattern":"^(?:[01][0-9]|2[0-3]):[0-5][0-9]$","type":"string"},"time_start":{"pattern":"^(?:[01][0-9]|2[0-3]):[0-5][0-9]$","type":"string"},"timezone":{"maxLength":100,"minLength":1,"type":"string"}},"required":["timezone","active_days","time_start","time_end","daily_connection_limit","daily_message_limit"],"type":"object"},"LinkedinExclusions":{"properties":{"applies_to":{"enum":["leads_evaluated_from_now"],"type":"string"},"campaign_id":{"minimum":1,"type":"integer"},"companies":{"items":{"maxLength":200,"type":"string"},"maxItems":200,"type":"array"},"industries":{"items":{"maxLength":200,"type":"string"},"maxItems":200,"type":"array"},"keywords":{"items":{"maxLength":200,"type":"string"},"maxItems":200,"type":"array"},"roles":{"items":{"maxLength":200,"type":"string"},"maxItems":200,"type":"array"}},"required":["campaign_id","roles","companies","industries","keywords","applies_to"],"type":"object"},"LinkedinLaunchReview":{"properties":{"blockers":{"items":{"type":"string"},"type":"array"},"configuration_revision":{"pattern":"^[a-f0-9]{64}$","type":"string"},"expires_at":{"format":"date-time","type":"string"},"id":{"pattern":"^rev_[a-f0-9]{32}$","type":"string"},"ready":{"type":"boolean"},"warnings":{"items":{"type":"string"},"type":"array"}},"required":["id","expires_at","ready","blockers","warnings","configuration_revision"],"type":"object"},"LinkedinLeadSearchResult":{"additionalProperties":false,"properties":{"add_with":{"enum":["create_api_prospect"],"type":"string"},"campaign_id":{"minimum":1,"type":"integer"},"candidates":{"items":{"properties":{"company":{"nullable":true,"type":"string"},"fit_label":{"nullable":true,"type":"string"},"fit_score":{"nullable":true,"type":"number"},"headline":{"nullable":true,"type":"string"},"linkedin_url":{"nullable":true,"type":"string"},"location":{"nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"provider_id":{"type":"string"}},"required":["provider_id","linkedin_url","name","headline","company","location","fit_score","fit_label"],"type":"object"},"maxItems":25,"type":"array"},"enrolled":{"enum":[false],"type":"boolean"},"filtered_count":{"minimum":0,"type":"integer"},"search_limited":{"type":"boolean"},"success":{"type":"boolean"}},"required":["campaign_id","success","search_limited","candidates","filtered_count","enrolled","add_with"],"type":"object"},"LinkedinProgress":{"description":"Counts saved status and timestamp fields. Timestamp presence does not prove provider delivery or campaign-cycle completion.","properties":{"campaign_id":{"minimum":1,"type":"integer"},"campaign_name":{"type":"string"},"campaign_status":{"type":"string"},"lead_count":{"minimum":0,"type":"integer"},"saved_event_counts":{"properties":{"connected_timestamp_count":{"minimum":0,"type":"integer"},"invite_timestamp_count":{"minimum":0,"type":"integer"},"message_timestamp_count":{"minimum":0,"type":"integer"},"reply_timestamp_count":{"minimum":0,"type":"integer"},"scheduled_next_action_count":{"minimum":0,"type":"integer"}},"required":["invite_timestamp_count","connected_timestamp_count","message_timestamp_count","reply_timestamp_count","scheduled_next_action_count"],"type":"object"},"status_counts":{"additionalProperties":{"minimum":0,"type":"integer"},"type":"object"}},"required":["campaign_id","campaign_name","campaign_status","lead_count","status_counts","saved_event_counts"],"type":"object"},"LinkedinProspectProgress":{"properties":{"campaign_id":{"minimum":1,"type":"integer"},"prospect":{"properties":{"company":{"nullable":true,"type":"string"},"connected_at":{"format":"date-time","nullable":true,"type":"string"},"current_step":{"type":"integer"},"error_code":{"maxLength":80,"nullable":true,"type":"string"},"first_name":{"nullable":true,"type":"string"},"headline":{"nullable":true,"type":"string"},"id":{"minimum":1,"type":"integer"},"invite_sent_at":{"format":"date-time","nullable":true,"type":"string"},"last_message_sent_at":{"format":"date-time","nullable":true,"type":"string"},"last_name":{"nullable":true,"type":"string"},"linkedin_url":{"nullable":true,"type":"string"},"location":{"nullable":true,"type":"string"},"next_action_due":{"format":"date-time","nullable":true,"type":"string"},"provider_id":{"type":"string"},"replied_at":{"format":"date-time","nullable":true,"type":"string"},"sender_id":{"minimum":1,"nullable":true,"type":"integer"},"skip_code":{"maxLength":80,"nullable":true,"type":"string"},"skipped_at":{"format":"date-time","nullable":true,"type":"string"},"status":{"type":"string"}},"required":["id","provider_id","linkedin_url","first_name","last_name","headline","location","company","status","current_step","next_action_due","invite_sent_at","connected_at","last_message_sent_at","replied_at","skipped_at","error_code","skip_code","sender_id"],"type":"object"}},"required":["campaign_id","prospect"],"type":"object"},"LinkedinReplyRecipient":{"properties":{"provider_id":{"type":"string"},"thread_id":{"type":"string"}},"required":["provider_id","thread_id"],"type":"object"},"LinkedinReplySender":{"properties":{"account_id":{"type":"string"},"active":{"type":"boolean"},"id":{"minimum":1,"nullable":true,"type":"integer"},"name":{"type":"string"},"ready":{"type":"boolean"},"subclient_id":{"minimum":1,"nullable":true,"type":"integer"}},"required":["id","account_id","name","active","subclient_id","ready"],"type":"object"},"LinkedinResumeResult":{"additionalProperties":false,"properties":{"campaign_id":{"minimum":1,"type":"integer"},"campaign_status":{"enum":["active"],"type":"string"},"delivery_verified":{"enum":[false],"type":"boolean"},"dispatch_mode":{"enum":["native_periodic_scheduler"],"type":"string"}},"required":["campaign_id","campaign_status","dispatch_mode","delivery_verified"],"type":"object"},"LinkedinResumeReview":{"properties":{"audience":{"properties":{"lead_count":{"minimum":0,"type":"integer"},"remaining_count":{"minimum":0,"type":"integer"},"suppressed_count":{"minimum":0,"type":"integer"},"uncertain_attempt_count":{"minimum":0,"type":"integer"}},"required":["lead_count","remaining_count","uncertain_attempt_count","suppressed_count"],"type":"object"},"blockers":{"items":{"type":"string"},"type":"array"},"configuration_revision":{"pattern":"^[a-f0-9]{64}$","type":"string"},"expires_at":{"format":"date-time","type":"string"},"id":{"pattern":"^rev_[a-f0-9]{32}$","type":"string"},"ready":{"type":"boolean"},"warnings":{"items":{"type":"string"},"type":"array"}},"required":["id","expires_at","ready","blockers","warnings","configuration_revision","audience"],"type":"object"},"LinkedinSenderLimits":{"properties":{"configured_weekly_limit":{"nullable":true,"type":"integer"},"effective_weekly_limit":{"minimum":0,"type":"integer"},"invites_blocked_until":{"format":"date-time","nullable":true,"type":"string"},"limit_source":{"enum":["configured","conservative_default_plan_not_checked"],"type":"string"},"next_slot_at":{"format":"date-time","nullable":true,"type":"string"},"observed_at":{"format":"date-time","type":"string"},"provider_checked":{"enum":[false],"type":"boolean"},"remaining_estimate":{"minimum":0,"type":"integer"},"sender_id":{"minimum":1,"type":"integer"},"sent_in_window":{"minimum":0,"type":"integer"},"uncertain_attempts_in_window":{"minimum":0,"type":"integer"},"uncertain_usage_known":{"type":"boolean"},"window_days":{"minimum":1,"type":"integer"}},"required":["sender_id","window_days","configured_weekly_limit","effective_weekly_limit","limit_source","sent_in_window","uncertain_attempts_in_window","remaining_estimate","observed_at","provider_checked"],"type":"object"},"LinkedinTargeting":{"properties":{"ai_autopilot_enabled":{"type":"boolean"},"campaign_id":{"minimum":1,"type":"integer"},"contacted_leads_changed":{"enum":[0],"type":"integer"},"icp_changed":{"type":"boolean"},"icp_description":{"nullable":true,"type":"string"},"queued_leads_rescored":{"minimum":0,"type":"integer"}},"required":["campaign_id","icp_description","ai_autopilot_enabled","icp_changed","queued_leads_rescored","contacted_leads_changed"],"type":"object"},"LiveLinkedinSequence":{"properties":{"applies_to":{"enum":["future_messages"],"type":"string"},"campaign_id":{"minimum":1,"type":"integer"},"prospects_rescheduled":{"minimum":0,"type":"integer"},"revision":{"pattern":"^[a-f0-9]{64}$","type":"string"},"schedule":{"type":"object"},"sent_history_changed":{"enum":[false],"type":"boolean"},"steps":{"items":{"type":"object"},"type":"array"}},"required":["campaign_id","revision","steps","schedule","prospects_rescheduled","sent_history_changed","applies_to"],"type":"object"},"Member":{"properties":{"actor_id":{"minimum":1,"type":"integer"},"actor_type":{"enum":["client","subclient"],"type":"string"},"email":{"nullable":true,"type":"string"},"is_current_actor":{"type":"boolean"},"name":{"type":"string"},"reply_owner_subclient_id":{"minimum":1,"nullable":true,"type":"integer"},"role":{"enum":["owner","admin","member","viewer"],"type":"string"}},"required":["actor_type","actor_id","name","email","role","reply_owner_subclient_id","is_current_actor"],"type":"object"},"MemberList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Member"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"nullable":true,"type":"string"},"owner":{"$ref":"#/components/schemas/Member"}},"required":["data","has_more","next_cursor","owner"],"type":"object"},"MemberRole":{"properties":{"email":{"nullable":true,"type":"string"},"id":{"minimum":1,"type":"integer"},"role":{"enum":["member","admin","viewer"],"type":"string"}},"required":["id","email","role"],"type":"object"},"MessageApproval":{"properties":{"campaign_id":{"minimum":1,"type":"integer"},"id":{"pattern":"^rev_[a-f0-9]{32}$","type":"string"},"preview_id":{"minimum":1,"type":"integer"},"revision":{"pattern":"^[a-f0-9]{64}$","type":"string"},"status":{"enum":["approved"],"type":"string"},"task_id":{"minimum":1,"type":"integer"},"workspace_id":{"minimum":1,"type":"integer"}},"required":["id","workspace_id","campaign_id","task_id","preview_id","status","revision"],"type":"object"},"Operation":{"properties":{"cancellable":{"type":"boolean"},"completed_at":{"format":"date-time","nullable":true,"type":"string"},"created_at":{"format":"date-time","type":"string"},"error_code":{"maxLength":80,"nullable":true,"type":"string"},"id":{"pattern":"^op_[a-f0-9]{32}$","type":"string"},"kind":{"enum":["linkedin.import","linkedin.activate","linkedin.resume","email.prepare","email.generate","email.activate","people.import","email.reply","linkedin.reply","warmup.control","team.invite","domains.search","linkedin.search"],"type":"string"},"resource_id":{"minimum":1,"type":"integer"},"resource_type":{"enum":["linkedin_campaign","email_campaign","workspace","email_conversation","linkedin_conversation","email_sender","workspace_member"],"type":"string"},"result":{"oneOf":[{"$ref":"#/components/schemas/ImportResult"},{"$ref":"#/components/schemas/LinkedinActivationResult"},{"$ref":"#/components/schemas/LinkedinResumeResult"},{"$ref":"#/components/schemas/EmailPreparationResult"},{"$ref":"#/components/schemas/EmailGenerationResult"},{"$ref":"#/components/schemas/EmailActivationResult"},{"$ref":"#/components/schemas/PeopleImportResult"},{"$ref":"#/components/schemas/ReplySendResult"},{"$ref":"#/components/schemas/WarmupCommandResult"},{"$ref":"#/components/schemas/TeamInviteResult"},{"$ref":"#/components/schemas/DomainAvailabilityResult"},{"$ref":"#/components/schemas/LinkedinLeadSearchResult"},{"enum":[null],"nullable":true,"type":"object"}]},"status":{"enum":["queued","running","awaiting_user_action","succeeded","partially_succeeded","failed","needs_reconciliation","cancelled"],"type":"string"},"updated_at":{"format":"date-time","type":"string"},"workspace_id":{"minimum":1,"type":"integer"}},"required":["id","workspace_id","kind","resource_type","resource_id","status","created_at","updated_at","completed_at","error_code","cancellable"],"type":"object"},"OperationList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Operation"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"nullable":true,"type":"string"}},"required":["data","has_more","next_cursor"],"type":"object"},"Order":{"properties":{"created_at":{"format":"date-time","nullable":true,"type":"string"},"currency":{"nullable":true,"type":"string"},"id":{"minimum":1,"type":"integer"},"payment_reference_present":{"type":"boolean"},"provider_order_present":{"type":"boolean"},"purchase_type":{"nullable":true,"type":"string"},"status":{"nullable":true,"type":"string"},"total_amount":{"nullable":true,"type":"number"}},"required":["id","status","total_amount","currency"],"type":"object"},"OrderDetail":{"properties":{"created_at":{"format":"date-time","nullable":true,"type":"string"},"currency":{"nullable":true,"type":"string"},"domains":{"items":{"$ref":"#/components/schemas/Domain"},"type":"array"},"id":{"minimum":1,"type":"integer"},"payment_reference_present":{"type":"boolean"},"provider_order_present":{"type":"boolean"},"purchase_type":{"nullable":true,"type":"string"},"status":{"nullable":true,"type":"string"},"total_amount":{"nullable":true,"type":"number"}},"required":["id","status","total_amount","currency","domains"],"type":"object"},"OrderList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Order"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"nullable":true,"type":"string"}},"required":["data","has_more","next_cursor"],"type":"object"},"Outcome":{"properties":{"channel":{"enum":["email","linkedin"],"type":"string"},"ever_booked":{"type":"boolean"},"ever_interested":{"type":"boolean"},"first_booked_at":{"format":"date-time","nullable":true,"type":"string"},"first_interested_at":{"format":"date-time","nullable":true,"type":"string"},"id":{"minimum":1,"type":"integer"},"interest":{"nullable":true,"type":"string"},"meeting_status":{"type":"string"},"needs_reply":{"type":"boolean"},"processing_status":{"type":"string"},"source_id":{"minimum":1,"type":"integer"},"source_type":{"type":"string"},"updated_at":{"format":"date-time","nullable":true,"type":"string"}},"required":["id","channel","source_type","source_id"],"type":"object"},"OutcomeList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Outcome"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"nullable":true,"type":"string"}},"required":["data","has_more","next_cursor"],"type":"object"},"PeopleImportCommitRequest":{"additionalProperties":false,"description":"Queues a durable import after explicit confirmation. The worker rechecks the preview fingerprint and creates only eligible new contacts.","properties":{"channel":{"enum":["email","linkedin"],"type":"string"},"confirm_import":{"enum":[true],"type":"boolean"},"expected_fingerprint":{"pattern":"^[a-f0-9]{64}$","type":"string"},"file_base64":{"description":"Standard base64 encoding of a CSV or XLSX file, up to 64 KiB decoded.","maxLength":87384,"minLength":1,"type":"string"},"filename":{"maxLength":255,"minLength":1,"type":"string"},"mapping":{"additionalProperties":false,"minProperties":1,"properties":{"company":{"maxLength":255,"minLength":1,"type":"string"},"email":{"maxLength":255,"minLength":1,"type":"string"},"last_name":{"maxLength":255,"minLength":1,"type":"string"},"linkedin":{"maxLength":255,"minLength":1,"type":"string"},"location":{"maxLength":255,"minLength":1,"type":"string"},"name":{"maxLength":255,"minLength":1,"type":"string"},"title":{"maxLength":255,"minLength":1,"type":"string"},"website":{"maxLength":255,"minLength":1,"type":"string"}},"type":"object"}},"required":["file_base64","filename","mapping","channel","expected_fingerprint","confirm_import"],"type":"object"},"PeopleImportOperation":{"$ref":"#/components/schemas/Operation"},"PeopleImportPreview":{"properties":{"channel":{"enum":["email","linkedin"],"type":"string"},"fingerprint":{"pattern":"^[a-f0-9]{64}$","type":"string"},"has_more":{"type":"boolean"},"identity_matching":{"properties":{"candidate_limit":{"minimum":1,"type":"integer"},"email":{"type":"string"},"linkedin":{"type":"string"}},"required":["email","linkedin","candidate_limit"],"type":"object"},"limit":{"maximum":100,"minimum":1,"type":"integer"},"mapping":{"additionalProperties":false,"minProperties":1,"properties":{"company":{"maxLength":255,"minLength":1,"type":"string"},"email":{"maxLength":255,"minLength":1,"type":"string"},"last_name":{"maxLength":255,"minLength":1,"type":"string"},"linkedin":{"maxLength":255,"minLength":1,"type":"string"},"location":{"maxLength":255,"minLength":1,"type":"string"},"name":{"maxLength":255,"minLength":1,"type":"string"},"title":{"maxLength":255,"minLength":1,"type":"string"},"website":{"maxLength":255,"minLength":1,"type":"string"}},"type":"object"},"offset":{"minimum":0,"type":"integer"},"rows":{"items":{"properties":{"blockers":{"items":{"type":"string"},"type":"array"},"existing_contact_id":{"minimum":1,"nullable":true,"type":"integer"},"fields":{"additionalProperties":{"nullable":true,"type":"string"},"type":"object"},"row_code":{"enum":["existing_contact_id","created_eligible","blocked"],"type":"string"},"row_number":{"minimum":1,"type":"integer"}},"required":["row_number","fields","row_code","existing_contact_id","blockers"],"type":"object"},"maxItems":100,"type":"array"},"total_rows":{"maximum":1000,"minimum":0,"type":"integer"},"totals":{"properties":{"blocked_rows":{"minimum":0,"type":"integer"},"created_rows":{"minimum":0,"type":"integer"},"eligible_rows":{"minimum":0,"type":"integer"},"existing_rows":{"minimum":0,"type":"integer"},"total_rows":{"minimum":0,"type":"integer"}},"required":["total_rows","eligible_rows","existing_rows","created_rows","blocked_rows"],"type":"object"},"workspace_id":{"minimum":1,"type":"integer"}},"required":["workspace_id","channel","mapping","rows","totals","fingerprint","total_rows","offset","limit","has_more","identity_matching"],"type":"object"},"PeopleImportPreviewRequest":{"additionalProperties":false,"description":"Read-only preview. The complete command JSON is limited to 256 KiB; decoded files are limited to 64 KiB and 1,000 data rows.","properties":{"channel":{"enum":["email","linkedin"],"type":"string"},"file_base64":{"description":"Standard base64 encoding of a CSV or XLSX file, up to 64 KiB decoded.","maxLength":87384,"minLength":1,"type":"string"},"filename":{"maxLength":255,"minLength":1,"type":"string"},"limit":{"default":25,"maximum":100,"minimum":1,"type":"integer"},"mapping":{"additionalProperties":false,"minProperties":1,"properties":{"company":{"maxLength":255,"minLength":1,"type":"string"},"email":{"maxLength":255,"minLength":1,"type":"string"},"last_name":{"maxLength":255,"minLength":1,"type":"string"},"linkedin":{"maxLength":255,"minLength":1,"type":"string"},"location":{"maxLength":255,"minLength":1,"type":"string"},"name":{"maxLength":255,"minLength":1,"type":"string"},"title":{"maxLength":255,"minLength":1,"type":"string"},"website":{"maxLength":255,"minLength":1,"type":"string"}},"type":"object"},"offset":{"default":0,"minimum":0,"type":"integer"}},"required":["file_base64","filename","mapping","channel"],"type":"object"},"PeopleImportResult":{"properties":{"created_count":{"maximum":1000,"minimum":0,"type":"integer"},"existing_count":{"maximum":1000,"minimum":0,"type":"integer"},"rows_path":{"type":"string"},"total_rows":{"maximum":1000,"minimum":0,"type":"integer"}},"required":["total_rows","created_count","existing_count","rows_path"],"type":"object"},"PeopleImportRowOutcome":{"properties":{"blockers":{"items":{"type":"string"},"maxItems":0,"type":"array"},"contact_id":{"minimum":1,"type":"integer"},"row_code":{"enum":["existing_contact_id","created_eligible"],"type":"string"},"row_number":{"minimum":1,"type":"integer"}},"required":["row_number","row_code","contact_id","blockers"],"type":"object"},"PeopleImportRows":{"properties":{"has_more":{"type":"boolean"},"limit":{"maximum":100,"minimum":1,"type":"integer"},"offset":{"minimum":0,"type":"integer"},"operation_id":{"pattern":"^op_[a-f0-9]{32}$","type":"string"},"rows":{"items":{"$ref":"#/components/schemas/PeopleImportRowOutcome"},"maxItems":100,"type":"array"},"status":{"enum":["queued","running","awaiting_user_action","succeeded","partially_succeeded","failed","needs_reconciliation","cancelled"],"type":"string"},"total_rows":{"maximum":1000,"minimum":0,"type":"integer"}},"required":["operation_id","status","total_rows","offset","limit","rows","has_more"],"type":"object"},"PeopleSelection":{"properties":{"channel":{"enum":["email","linkedin"],"type":"string"},"eligible_ids":{"items":{"minimum":1,"type":"integer"},"type":"array"},"people":{"items":{"properties":{"blockers":{"items":{"type":"string"},"type":"array"},"eligible":{"type":"boolean"},"id":{"minimum":1,"type":"integer"}},"required":["id","eligible","blockers"],"type":"object"},"type":"array"},"selection_fingerprint":{"pattern":"^[a-f0-9]{64}$","type":"string"}},"required":["channel","people","eligible_ids","selection_fingerprint"],"type":"object"},"ProfileRefresh":{"properties":{"already_queued_this_hour":{"type":"boolean"},"completion_verified":{"enum":[false],"type":"boolean"},"queued":{"type":"boolean"},"scheduled_job_status":{"type":"string"},"workspace_id":{"minimum":1,"type":"integer"}},"required":["workspace_id","queued","already_queued_this_hour","scheduled_job_status","completion_verified"],"type":"object"},"Prospect":{"properties":{"campaign_id":{"minimum":1,"type":"integer"},"company":{"nullable":true,"type":"string"},"connected_at":{"format":"date-time","nullable":true,"type":"string"},"connection_sent_at":{"format":"date-time","nullable":true,"type":"string"},"created_at":{"format":"date-time","nullable":true,"type":"string"},"first_name":{"nullable":true,"type":"string"},"id":{"minimum":1,"type":"integer"},"last_message_sent_at":{"format":"date-time","nullable":true,"type":"string"},"last_name":{"nullable":true,"type":"string"},"linkedin_url":{"nullable":true,"type":"string"},"provider_id":{"type":"string"},"replied_at":{"format":"date-time","nullable":true,"type":"string"},"status":{"nullable":true,"type":"string"}},"required":["id","campaign_id","status"],"type":"object"},"ProspectList":{"properties":{"data":{"items":{"oneOf":[{"$ref":"#/components/schemas/Prospect"},{"$ref":"#/components/schemas/Contact"}]},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"nullable":true,"type":"string"}},"required":["data","has_more","next_cursor"],"type":"object"},"ProspectRemovals":{"properties":{"applied":{"type":"boolean"},"campaign_id":{"minimum":1,"type":"integer"},"removable_count":{"minimum":0,"type":"integer"},"removed_count":{"minimum":0,"type":"integer"},"results":{"items":{"properties":{"outcome":{"enum":["removable","removed","kept_has_history","not_found"],"type":"string"},"prospect_id":{"minimum":1,"type":"integer"}},"required":["prospect_id","outcome"],"type":"object"},"type":"array"}},"required":["campaign_id","applied","results","removed_count","removable_count"],"type":"object"},"ProvisionedMailbox":{"properties":{"created_at":{"format":"date-time","nullable":true,"type":"string"},"credentials_available_via_api":{"enum":[false],"type":"boolean"},"domain_id":{"nullable":true,"type":"integer"},"email":{"nullable":true,"type":"string"},"first_name":{"nullable":true,"type":"string"},"id":{"minimum":1,"type":"integer"},"last_name":{"nullable":true,"type":"string"},"status":{"nullable":true,"type":"string"},"warmup_started_at":{"format":"date-time","nullable":true,"type":"string"}},"required":["id","email","status","credentials_available_via_api"],"type":"object"},"Quote":{"properties":{"availability_checked":{"enum":[false],"type":"boolean"},"currency":{"enum":["usd","eur"],"type":"string"},"due_today_before_tax":{"minimum":0,"type":"number"},"expires_at":{"format":"date-time","type":"string"},"lines":{"items":{"properties":{"amount":{"minimum":0,"type":"number"},"code":{"type":"string"},"description":{"type":"string"},"quantity":{"minimum":1,"type":"integer"},"recurrence":{"enum":["monthly","one_time"],"type":"string"},"unit_amount":{"minimum":0,"type":"number"}},"required":["code","description","quantity","unit_amount","amount","recurrence"],"type":"object"},"type":"array"},"monthly_before_tax":{"minimum":0,"type":"number"},"offer":{"enum":["prewarmed_domains","mailboxes"],"type":"string"},"quantity":{"minimum":1,"type":"integer"},"quote_token":{"pattern":"^quo_","type":"string"},"reservation":{"enum":[false],"type":"boolean"},"taxes_included":{"enum":[false],"type":"boolean"},"taxes_note":{"type":"string"}},"required":["offer","quantity","currency","lines","due_today_before_tax","monthly_before_tax","expires_at","quote_token","taxes_included","reservation","availability_checked"],"type":"object"},"RejectEmailMessage":{"additionalProperties":false,"properties":{"expected_revision":{"pattern":"^[a-f0-9]{64}$","type":"string"},"preview_id":{"minimum":1,"type":"integer"}},"required":["preview_id","expected_revision"],"type":"object"},"RejectedEmailMessage":{"properties":{"cancelled_task_ids":{"items":{"minimum":1,"type":"integer"},"maxItems":10,"type":"array"},"status":{"enum":["cancelled"],"type":"string"},"task_id":{"minimum":1,"type":"integer"}},"required":["task_id","status","cancelled_task_ids"],"type":"object"},"RemoveLinkedinProspects":{"additionalProperties":false,"description":"apply=false previews. Only queued prospects with no outreach history are removed.","properties":{"apply":{"type":"boolean"},"prospect_ids":{"items":{"minimum":1,"type":"integer"},"maxItems":500,"minItems":1,"type":"array","uniqueItems":true}},"required":["prospect_ids","apply"],"type":"object"},"ReplyContext":{"description":"Bounded saved conversation context. It performs no provider read; completeness is limited to the saved source and may be incomplete or stale.","properties":{"channel":{"enum":["email","linkedin"],"type":"string"},"completeness":{"$ref":"#/components/schemas/ReplyContextCompleteness"},"conversation_id":{"minimum":1,"type":"integer"},"freshness":{"$ref":"#/components/schemas/ReplyContextFreshness"},"messages":{"items":{"$ref":"#/components/schemas/InboxReplyMessage"},"maxItems":40,"type":"array"},"recipient":{"oneOf":[{"$ref":"#/components/schemas/EmailReplyRecipient"},{"$ref":"#/components/schemas/LinkedinReplyRecipient"}]},"revision":{"pattern":"^[a-f0-9]{64}$","type":"string"},"sender":{"oneOf":[{"$ref":"#/components/schemas/EmailReplySender"},{"$ref":"#/components/schemas/LinkedinReplySender"}]},"source":{"enum":["conversation_outcomes","sent_emails","linkedin_message_history"],"type":"string"}},"required":["channel","conversation_id","sender","recipient","messages","revision","source","freshness","completeness"],"type":"object"},"ReplyContextCompleteness":{"properties":{"complete_within_saved_source":{"type":"boolean"},"message_limit":{"enum":[40],"type":"integer"},"provider_complete":{"enum":[false],"type":"boolean"},"truncated":{"type":"boolean"}},"required":["complete_within_saved_source","provider_complete","truncated","message_limit"],"type":"object"},"ReplyContextFreshness":{"properties":{"provider_checked":{"enum":[false],"type":"boolean"},"saved_at":{"nullable":true,"type":"string"}},"required":["saved_at","provider_checked"],"type":"object"},"ReplyDismissal":{"properties":{"changed":{"type":"boolean"},"channel":{"enum":["email","linkedin"],"type":"string"},"classification_changed":{"enum":[false],"type":"boolean"},"conversation_id":{"minimum":1,"type":"integer"},"outcome":{"$ref":"#/components/schemas/ReplyOutcome"}},"required":["conversation_id","channel","outcome","changed","classification_changed"],"type":"object"},"ReplyDraft":{"properties":{"channel":{"enum":["email","linkedin"],"type":"string"},"created_at":{"format":"date-time","nullable":true,"type":"string"},"id":{"minimum":1,"type":"integer"},"labels":{"items":{"type":"string"},"type":"array"},"stale":{"type":"boolean"},"status":{"enum":["pending","sent","discarded","superseded","failed"],"type":"string"},"text":{"type":"string"},"updated_at":{"format":"date-time","nullable":true,"type":"string"}},"required":["id","channel","status","text","labels","stale"],"type":"object"},"ReplyDraftDiscarded":{"properties":{"id":{"minimum":1,"type":"integer"},"sent":{"enum":[false],"type":"boolean"},"status":{"enum":["discarded"],"type":"string"}},"required":["id","status","sent"],"type":"object"},"ReplyDraftState":{"properties":{"channel":{"enum":["email","linkedin"],"type":"string"},"conversation_id":{"minimum":1,"type":"integer"},"draft":{"oneOf":[{"$ref":"#/components/schemas/ReplyDraft"},{"enum":[null],"nullable":true,"type":"object"}]},"send_with":{"enum":["send_api_inbox_reply"],"type":"string"}},"required":["conversation_id","channel","draft","send_with"],"type":"object"},"ReplyOperation":{"$ref":"#/components/schemas/Operation"},"ReplyOutcome":{"properties":{"analyzed_at":{"format":"date-time","nullable":true,"type":"string"},"id":{"minimum":1,"type":"integer"},"interest":{"nullable":true,"type":"string"},"meeting_status":{"nullable":true,"type":"string"},"needs_reply":{"type":"boolean"},"processing_status":{"nullable":true,"type":"string"},"reply_kind":{"nullable":true,"type":"string"},"revision":{"minimum":0,"type":"integer"}},"required":["id","revision","needs_reply"],"type":"object"},"ReplyRoutingList":{"properties":{"channel":{"enum":["email","linkedin"],"type":"string"},"data":{"items":{"$ref":"#/components/schemas/Member"},"type":"array"},"has_more":{"type":"boolean"},"modes":{"items":{"enum":["person","sender"],"type":"string"},"type":"array"},"next_cursor":{"nullable":true,"type":"string"},"owner":{"$ref":"#/components/schemas/Member"}},"required":["data","has_more","next_cursor","owner","channel","modes"],"type":"object"},"ReplySendResult":{"additionalProperties":false,"description":"Provider acceptance is not proof of recipient delivery.","properties":{"delivery_verified":{"enum":[false],"type":"boolean"},"provider_accepted":{"type":"boolean"},"reply_id":{"minimum":1,"type":"integer"}},"required":["reply_id","provider_accepted","delivery_verified"],"type":"object"},"ReplyState":{"properties":{"channel":{"enum":["email","linkedin"],"type":"string"},"conversation_id":{"minimum":1,"type":"integer"},"outcome":{"oneOf":[{"$ref":"#/components/schemas/ReplyOutcome"},{"enum":[null],"nullable":true,"type":"object"}]}},"required":["conversation_id","channel","outcome"],"type":"object"},"RequestProfileRefresh":{"additionalProperties":false,"properties":{"confirm_ai_use":{"enum":[true],"type":"boolean"}},"required":["confirm_ai_use"],"type":"object"},"ResumeLinkedinCampaign":{"additionalProperties":false,"description":"Explicitly confirms resuming future scheduled outreach. Changes only local campaign state; the periodic scheduler picks it up later. Does not dispatch a launch or retry uncertain attempts.","properties":{"confirm_resume":{"enum":[true],"type":"boolean"},"review_id":{"pattern":"^rev_[a-f0-9]{32}$","type":"string"}},"required":["review_id","confirm_resume"],"type":"object"},"SavedMessagePage":{"properties":{"channel":{"enum":["email","linkedin"],"type":"string"},"conversation_id":{"minimum":1,"type":"integer"},"history_complete":{"enum":[false],"type":"boolean"},"messages":{"items":{"type":"object"},"type":"array"},"next_offset":{"nullable":true,"type":"integer"},"offset":{"minimum":0,"type":"integer"},"provider_checked":{"enum":[false],"type":"boolean"},"revision":{"nullable":true,"type":"string"},"saved_message_count":{"minimum":0,"type":"integer"}},"required":["conversation_id","channel","messages","offset","next_offset","saved_message_count","provider_checked","history_complete"],"type":"object"},"SelectPeople":{"additionalProperties":false,"description":"Read-only selection preview. Provide exactly one of contact_ids or filters; no contact is changed.","oneOf":[{"not":{"required":["filters"]},"required":["contact_ids"]},{"not":{"required":["contact_ids"]},"required":["filters"]}],"properties":{"channel":{"default":"email","enum":["email","linkedin"],"type":"string"},"contact_ids":{"items":{"minimum":1,"type":"integer"},"maxItems":5000,"minItems":1,"type":"array","uniqueItems":true},"filters":{"additionalProperties":false,"minProperties":1,"properties":{"company":{"maxLength":200,"minLength":1,"type":"string"},"email":{"maxLength":200,"minLength":1,"type":"string"},"location":{"maxLength":200,"minLength":1,"type":"string"},"name":{"maxLength":200,"minLength":1,"type":"string"},"title":{"maxLength":200,"minLength":1,"type":"string"}},"type":"object"}},"type":"object"},"SendInboxReply":{"additionalProperties":false,"description":"Queues a user-confirmed reply to the saved conversation. Recipient and sender are fixed by that conversation. Attachments are not supported.","properties":{"confirm_send":{"enum":[true],"type":"boolean"},"expected_revision":{"pattern":"^[a-f0-9]{64}$","type":"string"},"text":{"maxLength":8000,"minLength":1,"type":"string"}},"required":["expected_revision","text","confirm_send"],"type":"object"},"Sender":{"properties":{"active":{"type":"boolean"},"actor_can_use":{"type":"boolean"},"blockers":{"items":{"enum":["read_only","workspace_inactive","sender_not_authorized","sender_owner_inactive","sender_inactive","reauthorization_required","subscription_inactive","linkedin_seat_not_included"],"type":"string"},"type":"array"},"channel":{"enum":["email","linkedin"],"type":"string"},"email":{"nullable":true,"type":"string"},"evaluated_at":{"format":"date-time","type":"string"},"id":{"minimum":1,"type":"integer"},"name":{"nullable":true,"type":"string"},"needs_reauth":{"type":"boolean"},"owner_subclient_id":{"minimum":1,"nullable":true,"type":"integer"},"profile_url":{"nullable":true,"type":"string"},"provider_verified":{"enum":[false],"type":"boolean"},"readiness":{"enum":["blocked","requires_review"],"type":"string"},"status_source":{"enum":["stored_connection"],"type":"string"},"workspace_id":{"minimum":1,"type":"integer"}},"required":["id","channel","active","status_source"],"type":"object"},"SenderConnectionHandoff":{"properties":{"channel":{"enum":["email","linkedin"],"type":"string"},"connect_url":{"format":"uri","type":"string"},"consent_in_provider":{"enum":[true],"type":"boolean"},"credentials_accepted_via_api":{"enum":[false],"type":"boolean"},"next_step":{"type":"string"},"requires_signed_in_person":{"enum":[true],"type":"boolean"}},"required":["channel","connect_url","requires_signed_in_person","consent_in_provider","credentials_accepted_via_api"],"type":"object"},"SenderDetail":{"properties":{"active":{"type":"boolean"},"actor_can_use":{"type":"boolean"},"blockers":{"items":{"enum":["read_only","workspace_inactive","sender_not_authorized","sender_owner_inactive","sender_inactive","reauthorization_required","subscription_inactive","linkedin_seat_not_included"],"type":"string"},"type":"array"},"channel":{"enum":["email","linkedin"],"type":"string"},"configured_weekly_connection_limit":{"nullable":true,"type":"integer"},"connection_method":{"nullable":true,"type":"string"},"connection_observed_at":{"format":"date-time","nullable":true,"type":"string"},"email":{"nullable":true,"type":"string"},"evaluated_at":{"format":"date-time","type":"string"},"id":{"minimum":1,"type":"integer"},"invites_blocked_until":{"format":"date-time","nullable":true,"type":"string"},"name":{"nullable":true,"type":"string"},"needs_reauth":{"type":"boolean"},"owner_subclient_id":{"minimum":1,"nullable":true,"type":"integer"},"profile_url":{"nullable":true,"type":"string"},"provider_verified":{"enum":[false],"type":"boolean"},"readiness":{"enum":["blocked","requires_review"],"type":"string"},"signature":{"type":"string"},"status_source":{"enum":["stored_connection"],"type":"string"},"workspace_id":{"minimum":1,"type":"integer"}},"required":["id","channel","active","status_source"],"type":"object"},"SenderList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Sender"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"nullable":true,"type":"string"}},"required":["data","has_more","next_cursor"],"type":"object"},"SenderVoice":{"properties":{"captured_at":{"format":"date-time","nullable":true,"type":"string"},"channel":{"enum":["email","linkedin"],"type":"string"},"enabled":{"type":"boolean"},"has_style":{"type":"boolean"},"owner_subclient_id":{"nullable":true,"type":"integer"},"samples":{"items":{"properties":{"included":{"type":"boolean"},"language":{"nullable":true,"type":"string"},"source":{"nullable":true,"type":"string"},"text":{"nullable":true,"type":"string"}},"required":["text","included"],"type":"object"},"type":"array"},"sender_id":{"minimum":1,"type":"integer"},"shared_by_owner_identity":{"enum":[true],"type":"boolean"},"source":{"nullable":true,"type":"string"},"style_card":{"nullable":true,"type":"object"},"style_refresh_requested":{"enum":[false],"type":"boolean"}},"required":["sender_id","channel","owner_subclient_id","enabled","has_style","samples","shared_by_owner_identity"],"type":"object"},"SetAgencyAccess":{"additionalProperties":false,"properties":{"access":{"type":"boolean"},"actor_id":{"minimum":1,"type":"integer"},"actor_type":{"enum":["client","subclient"],"type":"string"}},"required":["actor_type","actor_id","access"],"type":"object"},"TeamInviteResult":{"additionalProperties":false,"properties":{"email":{"type":"string"},"invitation_sent":{"type":"boolean"},"member_id":{"minimum":1,"type":"integer"},"reason":{"nullable":true,"type":"string"}},"required":["member_id","email","invitation_sent","reason"],"type":"object"},"Template":{"properties":{"ai_sections":{"items":{},"nullable":true,"type":"array"},"body":{"maxLength":5000,"nullable":true,"type":"string"},"click_tracking":{"nullable":true,"type":"boolean"},"generation_fingerprint":{"pattern":"^[a-f0-9]{64}$","type":"string"},"goal":{"maxLength":50,"nullable":true,"type":"string"},"id":{"minimum":1,"type":"integer"},"include_signature":{"nullable":true,"type":"boolean"},"language":{"maxLength":50,"nullable":true,"type":"string"},"name":{"maxLength":120,"nullable":true,"type":"string"},"plain_text":{"nullable":true,"type":"boolean"},"preview_instruction":{"maxLength":5000,"nullable":true,"type":"string"},"preview_text":{"maxLength":5000,"nullable":true,"type":"string"},"prompt":{"maxLength":5000,"nullable":true,"type":"string"},"prompt_html":{"maxLength":5000,"nullable":true,"type":"string"},"revision":{"pattern":"^[a-f0-9]{64}$","type":"string"},"subject":{"maxLength":500,"nullable":true,"type":"string"},"subject_instruction":{"maxLength":5000,"nullable":true,"type":"string"},"tracking":{"nullable":true,"type":"boolean"},"unsubscribe":{"nullable":true,"type":"boolean"},"workspace_id":{"minimum":1,"type":"integer"}},"required":["id","workspace_id","name","subject","preview_text","body","prompt","prompt_html","subject_instruction","preview_instruction","goal","ai_sections","language","unsubscribe","tracking","click_tracking","plain_text","include_signature","generation_fingerprint","revision"],"type":"object"},"TemplateList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/TemplateSummary"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"nullable":true,"type":"string"}},"required":["data","has_more","next_cursor"],"type":"object"},"TemplateSummary":{"properties":{"goal":{"maxLength":50,"nullable":true,"type":"string"},"id":{"minimum":1,"type":"integer"},"name":{"maxLength":120,"nullable":true,"type":"string"},"revision":{"pattern":"^[a-f0-9]{64}$","type":"string"},"subject":{"maxLength":500,"nullable":true,"type":"string"},"workspace_id":{"minimum":1,"type":"integer"}},"required":["id","workspace_id","name","subject","goal","revision"],"type":"object"},"ToggleExclusionList":{"additionalProperties":false,"properties":{"enabled":{"type":"boolean"}},"required":["enabled"],"type":"object"},"UpdateCampaign":{"additionalProperties":false,"properties":{"name":{"maxLength":255,"minLength":1,"type":"string"}},"required":["name"],"type":"object"},"UpdateCampaignConfiguration":{"additionalProperties":false,"minProperties":2,"properties":{"audience":{"maxLength":10000,"nullable":true,"type":"string"},"expected_revision":{"pattern":"^[a-f0-9]{64}$","type":"string"},"language":{"maxLength":50,"minLength":1,"type":"string"},"name":{"maxLength":255,"minLength":1,"type":"string"},"reply_owner_subclient_id":{"minimum":1,"nullable":true,"type":"integer"},"reply_routing":{"enum":["person","sender"],"type":"string"},"schedule":{"oneOf":[{"$ref":"#/components/schemas/EmailConfigurationSchedule"},{"$ref":"#/components/schemas/LinkedinConfigurationSchedule"}]},"sender_context":{"maxLength":10000,"nullable":true,"type":"string"},"sender_ids":{"items":{"minimum":1,"type":"integer"},"maxItems":100,"type":"array","uniqueItems":true},"steps":{"anyOf":[{"items":{"additionalProperties":false,"properties":{"id":{"minimum":1,"type":"integer"},"label":{"maxLength":255,"minLength":1,"type":"string"},"template_id":{"minimum":1,"type":"integer"},"wait_days":{"maximum":90,"minimum":0,"type":"integer"}},"required":["template_id","wait_days"],"type":"object"},"maxItems":10,"type":"array"},{"items":{"additionalProperties":false,"properties":{"id":{"minimum":1,"type":"integer"},"label":{"maxLength":255,"minLength":1,"type":"string"},"message":{"maxLength":8000,"nullable":true,"type":"string"},"type":{"enum":["connection_request","message"],"type":"string"},"wait_days":{"maximum":14,"minimum":0,"type":"integer"}},"required":["type","wait_days"],"type":"object"},"maxItems":6,"minItems":1,"type":"array"}]}},"required":["expected_revision"],"type":"object"},"UpdateContact":{"additionalProperties":false,"minProperties":1,"properties":{"company":{"maxLength":120,"nullable":true,"type":"string"},"last_name":{"maxLength":120,"nullable":true,"type":"string"},"linkedin":{"maxLength":200,"nullable":true,"type":"string"},"location":{"maxLength":200,"nullable":true,"type":"string"},"name":{"maxLength":120,"nullable":true,"type":"string"},"title":{"maxLength":120,"nullable":true,"type":"string"},"unsubscribed":{"enum":[true],"type":"boolean"},"website":{"maxLength":200,"nullable":true,"type":"string"}},"type":"object"},"UpdateContactField":{"additionalProperties":false,"minProperties":1,"properties":{"active":{"type":"boolean"},"label":{"maxLength":120,"minLength":1,"type":"string"}},"type":"object"},"UpdateContactFieldValues":{"additionalProperties":false,"description":"Keys must be existing field keys; null clears a value.","properties":{"values":{"additionalProperties":{"maxLength":2000,"nullable":true,"type":"string"},"maxProperties":100,"minProperties":1,"type":"object"}},"required":["values"],"type":"object"},"UpdateKnowledge":{"additionalProperties":false,"minProperties":1,"properties":{"content":{"maxLength":50000,"minLength":1,"type":"string"},"title":{"maxLength":255,"minLength":1,"type":"string"}},"type":"object"},"UpdateLinkedinExclusions":{"additionalProperties":false,"description":"Supplied groups replace their stored lists; other groups and runtime keys are kept.","minProperties":1,"properties":{"companies":{"items":{"maxLength":200,"type":"string"},"maxItems":200,"type":"array"},"industries":{"items":{"maxLength":200,"type":"string"},"maxItems":200,"type":"array"},"keywords":{"items":{"maxLength":200,"type":"string"},"maxItems":200,"type":"array"},"roles":{"items":{"maxLength":200,"type":"string"},"maxItems":200,"type":"array"}},"type":"object"},"UpdateLinkedinTargeting":{"additionalProperties":false,"minProperties":1,"properties":{"ai_autopilot_enabled":{"type":"boolean"},"icp_description":{"maxLength":5000,"minLength":1,"type":"string"}},"type":"object"},"UpdateMemberRole":{"additionalProperties":false,"properties":{"role":{"enum":["member","admin","viewer"],"type":"string"}},"required":["role"],"type":"object"},"UpdateSenderVoice":{"additionalProperties":false,"description":"Voice belongs to the sender's owner identity; changes apply to every account that person uses.","minProperties":1,"properties":{"enabled":{"type":"boolean"},"samples":{"items":{"additionalProperties":false,"properties":{"language":{"maxLength":20,"type":"string"},"text":{"maxLength":4000,"minLength":1,"type":"string"}},"required":["text"],"type":"object"},"maxItems":20,"type":"array"}},"type":"object"},"UpdateTemplate":{"additionalProperties":false,"minProperties":2,"properties":{"ai_sections":{"description":"IDs and positions must each be unique; input order is preserved.","items":{"additionalProperties":false,"properties":{"id":{"maxLength":120,"minLength":1,"type":"string"},"position":{"maximum":99,"minimum":0,"type":"integer"},"prompt":{"maxLength":5000,"type":"string"},"prompt_html":{"maxLength":5000,"type":"string"}},"required":["id","prompt","position"],"type":"object"},"maxItems":100,"nullable":true,"type":"array"},"body":{"maxLength":5000,"nullable":true,"type":"string"},"click_tracking":{"default":false,"type":"boolean"},"expected_revision":{"pattern":"^[a-f0-9]{64}$","type":"string"},"goal":{"default":"Sales","maxLength":50,"nullable":true,"type":"string"},"include_signature":{"default":true,"type":"boolean"},"language":{"default":"English","maxLength":50,"type":"string"},"name":{"maxLength":120,"minLength":1,"type":"string"},"plain_text":{"default":false,"type":"boolean"},"preview_instruction":{"maxLength":5000,"nullable":true,"type":"string"},"preview_text":{"maxLength":5000,"nullable":true,"type":"string"},"prompt":{"maxLength":5000,"nullable":true,"type":"string"},"prompt_html":{"maxLength":5000,"nullable":true,"type":"string"},"subject":{"maxLength":500,"nullable":true,"type":"string"},"subject_instruction":{"maxLength":5000,"nullable":true,"type":"string"},"tracking":{"default":true,"type":"boolean"},"unsubscribe":{"default":false,"type":"boolean"}},"required":["expected_revision"],"type":"object"},"UpdateWebhookEndpoint":{"additionalProperties":false,"minProperties":1,"properties":{"description":{"maxLength":255,"nullable":true,"type":"string"},"enabled":{"type":"boolean"},"event_types":{"items":{"enum":["operation.succeeded","operation.partially_succeeded","operation.failed","operation.cancelled","operation.needs_reconciliation","operation.awaiting_user_action"],"type":"string"},"maxItems":6,"minItems":1,"type":"array","uniqueItems":true},"url":{"format":"uri","maxLength":2000,"minLength":9,"type":"string"}},"type":"object"},"WarmupCommand":{"additionalProperties":false,"description":"Exactly one of action or settings. Runs as a durable operation with one provider change.","oneOf":[{"required":["action"]},{"required":["settings"]}],"properties":{"action":{"enum":["start","pause","resume"],"type":"string"},"settings":{"additionalProperties":false,"minProperties":1,"properties":{"emails_per_day":{"maximum":100,"minimum":1,"type":"integer"},"rampup":{"type":"boolean"},"response_rate":{"maximum":100,"minimum":0,"type":"integer"}},"type":"object"}},"type":"object"},"WarmupCommandResult":{"additionalProperties":false,"properties":{"applied":{"items":{"type":"string"},"type":"array"},"failed":{"items":{"type":"string"},"type":"array"},"provider_confirmed":{"type":"boolean"},"sender_id":{"minimum":1,"type":"integer"},"warmup_active":{"type":"boolean"}},"required":["sender_id","warmup_active","applied","failed","provider_confirmed"],"type":"object"},"WarmupState":{"properties":{"active":{"type":"boolean"},"available_actions":{"items":{"enum":["start","pause","resume"],"type":"string"},"type":"array"},"connected":{"type":"boolean"},"metrics_available":{"enum":[false],"type":"boolean"},"provider_checked":{"enum":[false],"type":"boolean"},"sender_id":{"minimum":1,"type":"integer"},"source":{"enum":["saved_state"],"type":"string"}},"required":["sender_id","connected","active","source","metrics_available","provider_checked","available_actions"],"type":"object"},"WebhookDelivery":{"properties":{"attempt_count":{"minimum":0,"type":"integer"},"created_at":{"format":"date-time","nullable":true,"type":"string"},"delivered_at":{"format":"date-time","nullable":true,"type":"string"},"endpoint_id":{"minimum":1,"type":"integer"},"event_id":{"pattern":"^evt_[a-f0-9]{32}$","type":"string"},"event_type":{"enum":["operation.succeeded","operation.partially_succeeded","operation.failed","operation.cancelled","operation.needs_reconciliation","operation.awaiting_user_action","webhook.test"],"type":"string"},"id":{"minimum":1,"type":"integer"},"last_attempt_at":{"format":"date-time","nullable":true,"type":"string"},"last_error":{"nullable":true,"type":"string"},"last_status_code":{"nullable":true,"type":"integer"},"next_attempt_at":{"format":"date-time","nullable":true,"type":"string"},"status":{"enum":["pending","delivering","succeeded","failed","abandoned"],"type":"string"}},"required":["id","endpoint_id","event_id","event_type","status","attempt_count"],"type":"object"},"WebhookDeliveryDetail":{"properties":{"attempt_count":{"minimum":0,"type":"integer"},"created_at":{"format":"date-time","nullable":true,"type":"string"},"delivered_at":{"format":"date-time","nullable":true,"type":"string"},"endpoint_id":{"minimum":1,"type":"integer"},"event_id":{"pattern":"^evt_[a-f0-9]{32}$","type":"string"},"event_type":{"enum":["operation.succeeded","operation.partially_succeeded","operation.failed","operation.cancelled","operation.needs_reconciliation","operation.awaiting_user_action","webhook.test"],"type":"string"},"id":{"minimum":1,"type":"integer"},"last_attempt_at":{"format":"date-time","nullable":true,"type":"string"},"last_error":{"nullable":true,"type":"string"},"last_status_code":{"nullable":true,"type":"integer"},"next_attempt_at":{"format":"date-time","nullable":true,"type":"string"},"payload":{"properties":{"created_at":{"format":"date-time","type":"string"},"data":{"type":"object"},"environment":{"type":"string"},"id":{"type":"string"},"type":{"type":"string"},"workspace_id":{"minimum":1,"type":"integer"}},"required":["id","type","created_at","workspace_id","environment","data"],"type":"object"},"status":{"enum":["pending","delivering","succeeded","failed","abandoned"],"type":"string"}},"required":["id","endpoint_id","event_id","event_type","status","attempt_count","payload"],"type":"object"},"WebhookDeliveryList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/WebhookDelivery"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"nullable":true,"type":"string"}},"required":["data","has_more","next_cursor"],"type":"object"},"WebhookEndpoint":{"properties":{"consecutive_failures":{"minimum":0,"type":"integer"},"created_at":{"format":"date-time","nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"},"disabled_reason":{"nullable":true,"type":"string"},"event_types":{"items":{"enum":["operation.succeeded","operation.partially_succeeded","operation.failed","operation.cancelled","operation.needs_reconciliation","operation.awaiting_user_action"],"type":"string"},"maxItems":6,"minItems":1,"type":"array","uniqueItems":true},"id":{"minimum":1,"type":"integer"},"previous_secret_expires_at":{"format":"date-time","nullable":true,"type":"string"},"status":{"enum":["enabled","disabled"],"type":"string"},"updated_at":{"format":"date-time","nullable":true,"type":"string"},"url":{"format":"uri","type":"string"}},"required":["id","url","event_types","status","consecutive_failures"],"type":"object"},"WebhookEndpointDeleted":{"properties":{"deleted":{"enum":[true],"type":"boolean"},"id":{"minimum":1,"type":"integer"},"pending_deliveries_stopped":{"minimum":0,"type":"integer"}},"required":["id","deleted","pending_deliveries_stopped"],"type":"object"},"WebhookEndpointList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/WebhookEndpoint"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"nullable":true,"type":"string"}},"required":["data","has_more","next_cursor"],"type":"object"},"WebhookEndpointWithSecret":{"properties":{"consecutive_failures":{"minimum":0,"type":"integer"},"created_at":{"format":"date-time","nullable":true,"type":"string"},"description":{"nullable":true,"type":"string"},"disabled_reason":{"nullable":true,"type":"string"},"event_types":{"items":{"enum":["operation.succeeded","operation.partially_succeeded","operation.failed","operation.cancelled","operation.needs_reconciliation","operation.awaiting_user_action"],"type":"string"},"maxItems":6,"minItems":1,"type":"array","uniqueItems":true},"id":{"minimum":1,"type":"integer"},"previous_secret_expires_at":{"format":"date-time","nullable":true,"type":"string"},"secret":{"description":"Shown only in this response. Store it to verify webhook-signature.","pattern":"^whsec_[A-Za-z0-9+/=]{44}$","type":"string"},"status":{"enum":["enabled","disabled"],"type":"string"},"updated_at":{"format":"date-time","nullable":true,"type":"string"},"url":{"format":"uri","type":"string"}},"required":["id","url","event_types","status","consecutive_failures","secret"],"type":"object"},"Workspace":{"properties":{"id":{"minimum":1,"type":"integer"},"is_agency_client":{"type":"boolean"},"name":{"type":"string"},"status":{"type":"string"}},"required":["id","name","status","is_agency_client"],"type":"object"},"WorkspaceList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Workspace"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"nullable":true,"type":"string"}},"required":["data","has_more","next_cursor"],"type":"object"}},"securitySchemes":{"BearerAuth":{"description":"ex_test_ or ex_live_ key issued by an Emailx operator. Never use provider keys or session cookies.","scheme":"bearer","type":"http"}}},"info":{"description":"Customer and agency integrations for Emailx. Beta access is operator-issued. Prepare campaigns, import People, generate and approve exact email content, explicitly activate reviewed campaigns through scheduled dispatch, and inspect saved progress. Reviewed LinkedIn resume and confirmed original-thread inbox replies are available; provisioning and customer webhook subscriptions remain unavailable.","title":"Emailx API","version":"1.0.0-beta"},"openapi":"3.0.3","paths":{"/agency/workspaces":{"get":{"description":"Required scope: `agency:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"list_api_agency_workspaces","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/AgencyWorkspaceCollection"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"List agency client workspaces you can open","tags":["Agency"],"x-emailx-read-only":true,"x-required-scope":"agency:read"},"post":{"description":"Required scope: `agency:manage`. Agency client access also requires `agency:read` and current workspace access. Issue or extend an API key grant before using the new workspace ID.","operationId":"create_api_agency_workspace","parameters":[{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"name":"Example Client","plan":"linkedin","senders":1,"website":"https://example.com"},"schema":{"$ref":"#/components/schemas/CreateAgencyWorkspace"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/AgencyWorkspace"}},"required":["data"],"type":"object"}}},"description":"Created","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Create an agency client workspace","tags":["Agency"],"x-emailx-read-only":false,"x-required-scope":"agency:manage"}},"/agency/workspaces/{client_workspace_id}":{"get":{"description":"Required scope: `agency:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_api_agency_workspace","parameters":[{"description":"Resource identifier.","in":"path","name":"client_workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/AgencyWorkspaceDetail"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read an agency client workspace","tags":["Agency"],"x-emailx-read-only":true,"x-required-scope":"agency:read"}},"/agency/workspaces/{client_workspace_id}/access":{"patch":{"description":"Required scope: `agency:manage`. Agency client access also requires `agency:read` and current workspace access. Changes app access only; API key grants are managed separately.","operationId":"set_api_agency_access","parameters":[{"description":"Resource identifier.","in":"path","name":"client_workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"access":true,"actor_id":42,"actor_type":"subclient"},"schema":{"$ref":"#/components/schemas/SetAgencyAccess"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/AgencyAccessChange"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Grant or remove a teammate's access to a client","tags":["Agency"],"x-emailx-read-only":false,"x-required-scope":"agency:manage"}},"/me":{"get":{"description":"Required scope: `workspaces:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_identity","parameters":[],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Identity"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Inspect your API key","tags":["Getting started"],"x-emailx-read-only":true,"x-required-scope":"workspaces:read"}},"/workspaces":{"get":{"description":"Required scope: `workspaces:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"list_api_workspaces","parameters":[{"in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Opaque next_cursor from the previous response. Keep filters unchanged.","in":"query","name":"cursor","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceList"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"List accessible workspaces","tags":["Workspaces"],"x-emailx-read-only":true,"x-required-scope":"workspaces:read"}},"/workspaces/{workspace_id}":{"get":{"description":"Required scope: `workspaces:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_api_workspace","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Workspace"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Retrieve a workspace","tags":["Workspaces"],"x-emailx-read-only":true,"x-required-scope":"workspaces:read"}},"/workspaces/{workspace_id}/analytics":{"get":{"description":"Required scope: `analytics:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_api_analytics","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Analytics"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read workspace delivery totals","tags":["Analytics"],"x-emailx-read-only":true,"x-required-scope":"analytics:read"}},"/workspaces/{workspace_id}/campaigns":{"get":{"description":"Required scope: `campaigns:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"list_api_campaigns","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Opaque next_cursor from the previous response. Keep filters unchanged.","in":"query","name":"cursor","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignList"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"List campaigns","tags":["Campaigns"],"x-emailx-read-only":true,"x-required-scope":"campaigns:read"},"post":{"description":"Required scope: `campaigns:write`. Agency client access also requires `agency:read` and current workspace access.","operationId":"create_api_campaign","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"audience":"Operations directors in Italian manufacturing companies","channel":"linkedin","name":"Example Studio outreach","steps":[{"type":"connection_request"},{"message":"Write a short introduction using the sender profile.","type":"message","wait_days":2}]},"schema":{"$ref":"#/components/schemas/CreateCampaign"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Campaign"}},"required":["data"],"type":"object"}}},"description":"Created","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Create a campaign draft","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"campaigns:write"}},"/workspaces/{workspace_id}/campaigns/email/{campaign_id}/approvals":{"post":{"description":"Required scope: `messages:approve`. Agency client access also requires `agency:read` and current workspace access. Each item is approved or refused on its own; approval never activates a campaign.","operationId":"bulk_approve_api_email_messages","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"items":[{"expected_revision":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","preview_id":301,"task_id":101}]},"schema":{"$ref":"#/components/schemas/BulkApproveEmailMessages"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/BulkEmailApprovals"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Approve several exact email previews","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"messages:approve"}},"/workspaces/{workspace_id}/campaigns/email/{campaign_id}/generations":{"post":{"description":"Required scope: `campaigns:generate`. Agency client access also requires `agency:read` and current workspace access.","operationId":"generate_api_email_previews","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"confirm_credit_use":true,"expected_revision":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","task_ids":[101]},"schema":{"$ref":"#/components/schemas/GenerateEmailPreviews"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/EmailOperation"}},"required":["data"],"type":"object"}}},"description":"Accepted","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Generate explicitly selected email previews","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"campaigns:generate"}},"/workspaces/{workspace_id}/campaigns/email/{campaign_id}/launch":{"post":{"description":"Required scope: `campaigns:launch-email`. Agency client access also requires `agency:read` and current workspace access.","operationId":"launch_api_email_campaign","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"confirm_launch":true,"review_id":"rev_bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"},"schema":{"$ref":"#/components/schemas/LaunchEmailCampaign"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/EmailOperation"}},"required":["data"],"type":"object"}}},"description":"Accepted","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Activate a reviewed email campaign for scheduled sending","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"campaigns:launch-email"}},"/workspaces/{workspace_id}/campaigns/email/{campaign_id}/messages":{"get":{"description":"Required scope: `messages:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"list_api_email_messages","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Opaque next_cursor from the previous response. Keep filters unchanged.","in":"query","name":"cursor","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailMessageList"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"List email message tasks","tags":["Campaigns"],"x-emailx-read-only":true,"x-required-scope":"messages:read"}},"/workspaces/{workspace_id}/campaigns/email/{campaign_id}/messages/{task_id}":{"get":{"description":"Required scope: `messages:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_api_email_message","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"task_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/EmailMessage"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read an owned email message and its revision","tags":["Campaigns"],"x-emailx-read-only":true,"x-required-scope":"messages:read"},"patch":{"description":"Required scope: `messages:write`. Agency client access also requires `agency:read` and current workspace access.","operationId":"edit_api_email_message","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"task_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"expected_revision":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","preview_id":301,"subject":"A reviewed subject"},"schema":{"$ref":"#/components/schemas/EditEmailMessage"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/EmailMessage"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Edit a generated email message before approval","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"messages:write"}},"/workspaces/{workspace_id}/campaigns/email/{campaign_id}/messages/{task_id}/approve":{"post":{"description":"Required scope: `messages:approve`. Agency client access also requires `agency:read` and current workspace access.","operationId":"approve_api_email_message","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"task_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"expected_revision":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","preview_id":301},"schema":{"$ref":"#/components/schemas/ApproveEmailMessage"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/MessageApproval"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Approve the exact current email message","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"messages:approve"}},"/workspaces/{workspace_id}/campaigns/email/{campaign_id}/messages/{task_id}/cancel":{"post":{"description":"Required scope: `messages:write`. Agency client access also requires `agency:read` and current workspace access. Sending or sent messages are never cancelled; later steps for the same person halt.","operationId":"cancel_api_email_message","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"task_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{},"schema":{"$ref":"#/components/schemas/Empty"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/EmailMessageCancellation"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Cancel one unsent email message","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"messages:write"}},"/workspaces/{workspace_id}/campaigns/email/{campaign_id}/messages/{task_id}/reject":{"post":{"description":"Required scope: `messages:write`. Agency client access also requires `agency:read` and current workspace access.","operationId":"reject_api_email_message","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"task_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"expected_revision":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","preview_id":301},"schema":{"$ref":"#/components/schemas/RejectEmailMessage"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/RejectedEmailMessage"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Reject a message and cancel its later draft steps","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"messages:write"}},"/workspaces/{workspace_id}/campaigns/email/{campaign_id}/messages/{task_id}/reset":{"post":{"description":"Required scope: `messages:write`. Agency client access also requires `agency:read` and current workspace access. Inactive drafts only. No AI runs; generate again through the credit-confirmed generation endpoint.","operationId":"reset_api_email_message","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"task_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"expected_revision":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","preview_id":301},"schema":{"$ref":"#/components/schemas/ExactEmailMessage"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/EmailMessageReset"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Discard a draft preview so it can be generated again","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"messages:write"}},"/workspaces/{workspace_id}/campaigns/email/{campaign_id}/messages/{task_id}/revoke-approval":{"post":{"description":"Required scope: `messages:approve`. Agency client access also requires `agency:read` and current workspace access.","operationId":"revoke_api_email_approval","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"task_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"expected_revision":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","preview_id":301},"schema":{"$ref":"#/components/schemas/ExactEmailMessage"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/EmailApprovalRevocation"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Return an approved unsent message to review","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"messages:approve"}},"/workspaces/{workspace_id}/campaigns/email/{campaign_id}/preparation":{"post":{"description":"Required scope: `campaigns:generate`. Agency client access also requires `agency:read` and current workspace access.","operationId":"prepare_api_email_campaign","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"expected_revision":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"},"schema":{"$ref":"#/components/schemas/CreateEmailPreparation"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/EmailOperation"}},"required":["data"],"type":"object"}}},"description":"Accepted","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Prepare bounded email preview tasks","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"campaigns:generate"}},"/workspaces/{workspace_id}/campaigns/email/{campaign_id}/progress":{"get":{"description":"Required scope: `campaigns:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_api_email_progress","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/EmailProgress"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read saved email task status counts","tags":["Campaigns"],"x-emailx-read-only":true,"x-required-scope":"campaigns:read"}},"/workspaces/{workspace_id}/campaigns/email/{campaign_id}/prospects":{"post":{"description":"Required scope: `campaigns:write`. Agency client access also requires `agency:read` and current workspace access.","operationId":"add_api_email_prospects","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"contact_ids":[123]},"schema":{"$ref":"#/components/schemas/AddEmailProspects"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Campaign"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Add existing contacts to an email draft","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"campaigns:write"}},"/workspaces/{workspace_id}/campaigns/email/{campaign_id}/reviews":{"post":{"description":"Required scope: `campaigns:launch-email`. Agency client access also requires `agency:read` and current workspace access.","operationId":"create_api_email_launch_review","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"expected_revision":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"},"schema":{"$ref":"#/components/schemas/CreateEmailLaunchReview"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/EmailLaunchReview"}},"required":["data"],"type":"object"}}},"description":"Created","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Review approved email content for activation","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"campaigns:launch-email"}},"/workspaces/{workspace_id}/campaigns/linkedin/{campaign_id}/exclusion-lists":{"get":{"description":"Required scope: `campaigns:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"list_api_exclusion_lists","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/ExclusionListCollection"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"List do-not-contact lists for a LinkedIn campaign","tags":["Campaigns"],"x-emailx-read-only":true,"x-required-scope":"campaigns:read"},"post":{"description":"Required scope: `exclusions:write`. Agency client access also requires `agency:read` and current workspace access. Database-only matching; no profile lookup. Matching queued leads are skipped immediately.","operationId":"create_api_exclusion_list","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"mode":"companies","name":"Current customers","rows":[{"company":"Example Studio"}],"scope":"workspace"},"schema":{"$ref":"#/components/schemas/CreateExclusionList"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/ExclusionListCreated"}},"required":["data"],"type":"object"}}},"description":"Created","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Create a do-not-contact list","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"exclusions:write"}},"/workspaces/{workspace_id}/campaigns/linkedin/{campaign_id}/exclusion-lists/{list_id}":{"delete":{"description":"Required scope: `exclusions:write`. Agency client access also requires `agency:read` and current workspace access. Deleting a list does not restore leads it already skipped.","operationId":"delete_api_exclusion_list","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"list_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{},"schema":{"$ref":"#/components/schemas/Empty"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/ExclusionListDeleted"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Delete a do-not-contact list","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"exclusions:write"},"patch":{"description":"Required scope: `exclusions:write`. Agency client access also requires `agency:read` and current workspace access.","operationId":"update_api_exclusion_list","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"list_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"enabled":false},"schema":{"$ref":"#/components/schemas/ToggleExclusionList"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/ExclusionListToggle"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Switch a workspace do-not-contact list on or off for a campaign","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"exclusions:write"}},"/workspaces/{workspace_id}/campaigns/linkedin/{campaign_id}/exclusion-lists/{list_id}/entries":{"get":{"description":"Required scope: `campaigns:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"list_api_exclusion_entries","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"list_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Opaque next_cursor from the previous response. Keep filters unchanged.","in":"query","name":"cursor","schema":{"type":"string"}},{"in":"query","name":"kind","schema":{"enum":["person","company"],"type":"string"}},{"description":"Case-insensitive text search.","in":"query","name":"q","schema":{"maxLength":100,"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExclusionEntryList"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"List do-not-contact entries","tags":["Campaigns"],"x-emailx-read-only":true,"x-required-scope":"campaigns:read"}},"/workspaces/{workspace_id}/campaigns/linkedin/{campaign_id}/exclusions":{"patch":{"description":"Required scope: `campaigns:targeting`. Agency client access also requires `agency:read` and current workspace access.","operationId":"update_api_linkedin_exclusions","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"companies":["Example Competitor"],"roles":["Recruiter"]},"schema":{"$ref":"#/components/schemas/UpdateLinkedinExclusions"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/LinkedinExclusions"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Replace typed LinkedIn exclusion rules","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"campaigns:targeting"}},"/workspaces/{workspace_id}/campaigns/linkedin/{campaign_id}/imports":{"post":{"description":"Required scope: `campaigns:import`. Agency client access also requires `agency:read` and current workspace access. Requires EMAILX_API_EXECUTION_ENABLED and a campaign configuration revision; returns a queued durable operation without resolving profiles in the request.","operationId":"create_api_linkedin_import","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"expected_revision":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","leads":[{"company":"Example Studio","first_name":"Alex","linkedin_url":"https://www.linkedin.com/in/example-person/"}],"sender_id":903},"schema":{"$ref":"#/components/schemas/CreateLinkedinImport"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Operation"}},"required":["data"],"type":"object"}}},"description":"Accepted","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Resolve a bounded list of LinkedIn profiles","tags":["Imports"],"x-emailx-read-only":false,"x-required-scope":"campaigns:import"}},"/workspaces/{workspace_id}/campaigns/linkedin/{campaign_id}/launch":{"post":{"description":"Required scope: `campaigns:launch`. Agency client access also requires `agency:read` and current workspace access. Requires EMAILX_API_EXECUTION_ENABLED and explicit confirm_launch=true. Activation uses native scheduled dispatch and does not initiate immediate outreach.","operationId":"launch_api_linkedin_campaign","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"confirm_launch":true,"review_id":"rev_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"},"schema":{"$ref":"#/components/schemas/LaunchLinkedinCampaign"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Operation"}},"required":["data"],"type":"object"}}},"description":"Accepted","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Activate a reviewed LinkedIn campaign","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"campaigns:launch"}},"/workspaces/{workspace_id}/campaigns/linkedin/{campaign_id}/lead-searches":{"post":{"description":"Required scope: `prospecting:write`. Agency client access also requires `agency:read` and current workspace access. Requires EMAILX_API_EXECUTION_ENABLED and confirm_ai_and_search_use=true. Read candidates from the operation result, then add chosen ones as prospects.","operationId":"create_api_linkedin_lead_search","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"confirm_ai_and_search_use":true,"icp_description":"Heads of operations at Italian manufacturing companies","language":"Italian","sender_id":903},"schema":{"$ref":"#/components/schemas/CreateLinkedinLeadSearch"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Operation"}},"required":["data"],"type":"object"}}},"description":"Accepted","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Find LinkedIn prospects with AI through a durable operation","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"prospecting:write"}},"/workspaces/{workspace_id}/campaigns/linkedin/{campaign_id}/live-sequence":{"put":{"description":"Required scope: `campaigns:edit-live`. Agency client access also requires `agency:read` and current workspace access. Launched campaigns only, with the configuration revision. Sent messages are never changed; due times for queued messages are recalculated.","operationId":"edit_api_linkedin_live_sequence","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"expected_revision":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","steps":[{"label":"Intro","message_template":"Thank them for connecting and ask one question about their operations.","wait_days":0},{"label":"Follow-up","message_template":"Share one short, relevant example.","wait_days":4}]},"schema":{"$ref":"#/components/schemas/EditLiveLinkedinSequence"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/LiveLinkedinSequence"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Edit message steps and schedule on a launched LinkedIn campaign","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"campaigns:edit-live"}},"/workspaces/{workspace_id}/campaigns/linkedin/{campaign_id}/progress":{"get":{"description":"Required scope: `campaigns:read`. Agency client access also requires `agency:read` and current workspace access. Progress reflects saved local state. Timestamps do not prove provider delivery or campaign-cycle completion.","operationId":"get_api_linkedin_progress","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/LinkedinProgress"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read saved LinkedIn campaign progress","tags":["Campaigns"],"x-emailx-read-only":true,"x-required-scope":"campaigns:read"}},"/workspaces/{workspace_id}/campaigns/linkedin/{campaign_id}/prospects":{"post":{"description":"Required scope: `campaigns:write`. Agency client access also requires `agency:read` and current workspace access.","operationId":"create_api_prospect","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"first_name":"Alex","linkedin_url":"https://www.linkedin.com/in/example-person/","provider_id":"resolved_linkedin_member_id"},"schema":{"$ref":"#/components/schemas/CreateProspect"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Prospect"}},"required":["data"],"type":"object"}}},"description":"Created","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Add a resolved prospect to a LinkedIn draft","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"campaigns:write"}},"/workspaces/{workspace_id}/campaigns/linkedin/{campaign_id}/prospects/removals":{"post":{"description":"Required scope: `campaigns:write`. Agency client access also requires `agency:read` and current workspace access. Prospects with any outreach history or uncertain attempt are kept.","operationId":"remove_api_linkedin_prospects","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"apply":false,"prospect_ids":[901]},"schema":{"$ref":"#/components/schemas/RemoveLinkedinProspects"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/ProspectRemovals"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Preview or remove queued LinkedIn prospects without history","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"campaigns:write"}},"/workspaces/{workspace_id}/campaigns/linkedin/{campaign_id}/prospects/{prospect_id}":{"get":{"description":"Required scope: `campaigns:read`. Agency client access also requires `agency:read` and current workspace access. Progress reflects saved local state. Timestamps do not prove provider delivery or campaign-cycle completion.","operationId":"get_api_linkedin_prospect","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"prospect_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/LinkedinProspectProgress"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read one LinkedIn prospect and its saved state","tags":["Campaigns"],"x-emailx-read-only":true,"x-required-scope":"campaigns:read"}},"/workspaces/{workspace_id}/campaigns/linkedin/{campaign_id}/resume":{"post":{"description":"Required scope: `campaigns:launch`. Agency client access also requires `agency:read` and current workspace access. Requires EMAILX_API_EXECUTION_ENABLED and explicit confirm_resume=true. Sets the campaign active for the periodic scheduler; it never dispatches a launch, resets progress or retries uncertain attempts.","operationId":"resume_api_linkedin_campaign","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"confirm_resume":true,"review_id":"rev_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"},"schema":{"$ref":"#/components/schemas/ResumeLinkedinCampaign"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Operation"}},"required":["data"],"type":"object"}}},"description":"Accepted","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Resume a reviewed paused LinkedIn campaign","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"campaigns:launch"}},"/workspaces/{workspace_id}/campaigns/linkedin/{campaign_id}/resume-reviews":{"post":{"description":"Required scope: `campaigns:launch`. Agency client access also requires `agency:read` and current workspace access. Requires EMAILX_API_EXECUTION_ENABLED. Supports paused, previously launched manual campaigns in normal mode. Blocks uncertain invitation attempts, import backlog and lost sender or plan access. The review is local and short-lived.","operationId":"create_api_linkedin_resume_review","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"expected_revision":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"},"schema":{"$ref":"#/components/schemas/CreateLinkedinResumeReview"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/LinkedinResumeReview"}},"required":["data"],"type":"object"}}},"description":"Created","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Review a paused LinkedIn campaign for resume","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"campaigns:launch"}},"/workspaces/{workspace_id}/campaigns/linkedin/{campaign_id}/reviews":{"post":{"description":"Required scope: `campaigns:launch`. Agency client access also requires `agency:read` and current workspace access. Requires EMAILX_API_EXECUTION_ENABLED. The review is local and short-lived; it does not verify provider health, quota or delivery.","operationId":"create_api_linkedin_review","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"expected_revision":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"},"schema":{"$ref":"#/components/schemas/CreateLinkedinReview"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/LinkedinLaunchReview"}},"required":["data"],"type":"object"}}},"description":"Created","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Review a manual LinkedIn draft for launch","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"campaigns:launch"}},"/workspaces/{workspace_id}/campaigns/linkedin/{campaign_id}/targeting":{"patch":{"description":"Required scope: `campaigns:targeting`. Agency client access also requires `agency:read` and current workspace access. Launched campaigns only. A new ICP clears saved search queries and re-scores queued prospects without history.","operationId":"update_api_linkedin_targeting","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"icp_description":"Operations directors at Italian manufacturing companies"},"schema":{"$ref":"#/components/schemas/UpdateLinkedinTargeting"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/LinkedinTargeting"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Update LinkedIn ICP and AI sourcing on a launched campaign","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"campaigns:targeting"}},"/workspaces/{workspace_id}/campaigns/{channel}/{campaign_id}":{"get":{"description":"Required scope: `campaigns:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_api_campaign","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/CampaignDetail"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Retrieve a campaign and its steps","tags":["Campaigns"],"x-emailx-read-only":true,"x-required-scope":"campaigns:read"},"patch":{"description":"Required scope: `campaigns:write`. Agency client access also requires `agency:read` and current workspace access.","operationId":"update_api_campaign","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"name":"Reviewed outreach draft"},"schema":{"$ref":"#/components/schemas/UpdateCampaign"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Campaign"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Rename a campaign draft","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"campaigns:write"}},"/workspaces/{workspace_id}/campaigns/{channel}/{campaign_id}/activity":{"get":{"description":"Required scope: `campaigns:read`. Agency client access also requires `agency:read` and current workspace access. Events are derived from saved timestamps and do not prove provider delivery.","operationId":"get_api_campaign_activity","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"limit","schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}},{"description":"next_before from the previous page, as a UTC timestamp ending in Z.","in":"query","name":"before","schema":{"format":"date-time","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/CampaignActivity"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read saved campaign activity","tags":["Campaigns"],"x-emailx-read-only":true,"x-required-scope":"campaigns:read"}},"/workspaces/{workspace_id}/campaigns/{channel}/{campaign_id}/analytics":{"get":{"description":"Required scope: `analytics:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_api_campaign_analytics","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/CampaignAnalytics"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read saved totals for one campaign","tags":["Analytics"],"x-emailx-read-only":true,"x-required-scope":"analytics:read"}},"/workspaces/{workspace_id}/campaigns/{channel}/{campaign_id}/configuration":{"get":{"description":"Required scope: `campaigns:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_api_campaign_configuration","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/CampaignConfiguration"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read campaign setup and revision","tags":["Campaigns"],"x-emailx-read-only":true,"x-required-scope":"campaigns:read"},"patch":{"description":"Required scope: `campaigns:configure`. Agency client access also requires `agency:read` and current workspace access.","operationId":"configure_api_campaign","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"expected_revision":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","sender_ids":[903]},"schema":{"$ref":"#/components/schemas/UpdateCampaignConfiguration"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/CampaignConfiguration"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Configure an inactive campaign","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"campaigns:configure"}},"/workspaces/{workspace_id}/campaigns/{channel}/{campaign_id}/duplicates":{"post":{"description":"Required scope: `campaigns:write`. Agency client access also requires `agency:read` and current workspace access.","operationId":"duplicate_api_campaign","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"name":"Example Studio outreach, second wave"},"schema":{"$ref":"#/components/schemas/DuplicateCampaign"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Campaign"}},"required":["data"],"type":"object"}}},"description":"Created","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Copy a campaign setup into a new draft","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"campaigns:write"}},"/workspaces/{workspace_id}/campaigns/{channel}/{campaign_id}/pause":{"post":{"description":"Required scope: `campaigns:write`. Agency client access also requires `agency:read` and current workspace access.","operationId":"pause_api_campaign","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{},"schema":{"$ref":"#/components/schemas/Empty"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Campaign"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Pause a campaign","tags":["Campaigns"],"x-emailx-read-only":false,"x-required-scope":"campaigns:write"}},"/workspaces/{workspace_id}/campaigns/{channel}/{campaign_id}/prospects":{"get":{"description":"Required scope: `campaigns:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"list_api_prospects","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"description":"Resource identifier.","in":"path","name":"campaign_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Opaque next_cursor from the previous response. Keep filters unchanged.","in":"query","name":"cursor","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProspectList"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"List campaign prospects","tags":["Campaigns"],"x-emailx-read-only":true,"x-required-scope":"campaigns:read"}},"/workspaces/{workspace_id}/capabilities":{"get":{"description":"Required scope: `workspaces:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_api_capabilities","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Capabilities"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Discover effective API permissions","tags":["Workspaces"],"x-emailx-read-only":true,"x-required-scope":"workspaces:read"}},"/workspaces/{workspace_id}/contact-fields":{"get":{"description":"Required scope: `contacts:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"list_api_contact_fields","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/ContactFieldCollection"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"List custom contact fields","tags":["Contacts"],"x-emailx-read-only":true,"x-required-scope":"contacts:read"},"post":{"description":"Required scope: `contacts:write`. Agency client access also requires `agency:read` and current workspace access.","operationId":"create_api_contact_field","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"label":"Deal stage"},"schema":{"$ref":"#/components/schemas/CreateContactField"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/ContactField"}},"required":["data"],"type":"object"}}},"description":"Created","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Create a custom contact field","tags":["Contacts"],"x-emailx-read-only":false,"x-required-scope":"contacts:write"}},"/workspaces/{workspace_id}/contact-fields/{field_id}":{"patch":{"description":"Required scope: `contacts:write`. Agency client access also requires `agency:read` and current workspace access.","operationId":"update_api_contact_field","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"field_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"label":"Pipeline stage"},"schema":{"$ref":"#/components/schemas/UpdateContactField"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/ContactField"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Rename or hide a custom contact field","tags":["Contacts"],"x-emailx-read-only":false,"x-required-scope":"contacts:write"}},"/workspaces/{workspace_id}/contacts":{"get":{"description":"Required scope: `contacts:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"list_api_contacts","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Opaque next_cursor from the previous response. Keep filters unchanged.","in":"query","name":"cursor","schema":{"type":"string"}},{"description":"Case-insensitive exact email match.","in":"query","name":"email","schema":{"type":"string"}},{"in":"query","name":"unsubscribed","schema":{"enum":["true","false"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactList"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"List contacts","tags":["Contacts"],"x-emailx-read-only":true,"x-required-scope":"contacts:read"},"post":{"description":"Required scope: `contacts:write`. Agency client access also requires `agency:read` and current workspace access.","operationId":"create_api_contact","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"company":"Example Studio","email":"alex@example.com","name":"Alex"},"schema":{"$ref":"#/components/schemas/CreateContact"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Contact"}},"required":["data"],"type":"object"}}},"description":"Created","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Create a contact","tags":["Contacts"],"x-emailx-read-only":false,"x-required-scope":"contacts:write"}},"/workspaces/{workspace_id}/contacts/exports":{"post":{"description":"Required scope: `contacts:read`. Agency client access also requires `agency:read` and current workspace access. Read-only and bounded; cells that could run as spreadsheet formulas are prefixed with an apostrophe.","operationId":"export_api_contacts","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"limit":1000,"unsubscribed":false},"schema":{"$ref":"#/components/schemas/ExportContacts"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/ContactExport"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Export contacts as CSV","tags":["Contacts"],"x-emailx-read-only":true,"x-required-scope":"contacts:read"}},"/workspaces/{workspace_id}/contacts/imports":{"post":{"description":"Required scope: `contacts:write`. Agency client access also requires `agency:read` and current workspace access.","operationId":"create_api_people_import","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"channel":"email","confirm_import":true,"expected_fingerprint":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","file_base64":"RW1haWwKYWRhQGV4YW1wbGUudGVzdAo=","filename":"contacts.csv","mapping":{"email":"Email"}},"schema":{"$ref":"#/components/schemas/PeopleImportCommitRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/PeopleImportOperation"}},"required":["data"],"type":"object"}}},"description":"Accepted","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Queue a reviewed People contact import","tags":["Contacts"],"x-emailx-read-only":false,"x-required-scope":"contacts:write"}},"/workspaces/{workspace_id}/contacts/imports/preview":{"post":{"description":"Required scope: `contacts:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"preview_api_people_import","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"channel":"email","file_base64":"RW1haWwKYWRhQGV4YW1wbGUudGVzdAo=","filename":"contacts.csv","limit":25,"mapping":{"email":"Email"},"offset":0},"schema":{"$ref":"#/components/schemas/PeopleImportPreviewRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/PeopleImportPreview"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Preview a CSV or XLSX People import","tags":["Contacts"],"x-emailx-read-only":true,"x-required-scope":"contacts:read"}},"/workspaces/{workspace_id}/contacts/imports/{operation_id}/rows":{"get":{"description":"Required scope: `contacts:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"list_api_people_import_rows","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"operation_id","required":true,"schema":{"pattern":"^op_[a-f0-9]{32}$","type":"string"}},{"in":"query","name":"offset","schema":{"default":0,"minimum":0,"type":"integer"}},{"in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/PeopleImportRows"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read bounded People import row outcomes","tags":["Contacts"],"x-emailx-read-only":true,"x-required-scope":"contacts:read"}},"/workspaces/{workspace_id}/contacts/selection":{"post":{"description":"Required scope: `contacts:read`. Agency client access also requires `agency:read` and current workspace access. Read-only selection preview; requires an Idempotency-Key for safe request replay.","operationId":"select_api_people","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"channel":"email","filters":{"company":"Example Studio","location":"Milano"}},"schema":{"$ref":"#/components/schemas/SelectPeople"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/PeopleSelection"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Preview a People selection","tags":["Contacts"],"x-emailx-read-only":true,"x-required-scope":"contacts:read"}},"/workspaces/{workspace_id}/contacts/{contact_id}":{"get":{"description":"Required scope: `contacts:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_api_contact","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"contact_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Contact"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Retrieve a contact","tags":["Contacts"],"x-emailx-read-only":true,"x-required-scope":"contacts:read"},"patch":{"description":"Required scope: `contacts:write`. Agency client access also requires `agency:read` and current workspace access.","operationId":"update_api_contact","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"contact_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"unsubscribed":true},"schema":{"$ref":"#/components/schemas/UpdateContact"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Contact"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Update a contact","tags":["Contacts"],"x-emailx-read-only":false,"x-required-scope":"contacts:write"}},"/workspaces/{workspace_id}/contacts/{contact_id}/fields":{"get":{"description":"Required scope: `contacts:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_api_contact_field_values","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"contact_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/ContactFieldValues"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read a contact's custom field values","tags":["Contacts"],"x-emailx-read-only":true,"x-required-scope":"contacts:read"},"patch":{"description":"Required scope: `contacts:write`. Agency client access also requires `agency:read` and current workspace access.","operationId":"update_api_contact_field_values","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"contact_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"values":{"deal_stage":"Qualified"}},"schema":{"$ref":"#/components/schemas/UpdateContactFieldValues"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/ContactFieldValues"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Set a contact's custom field values","tags":["Contacts"],"x-emailx-read-only":false,"x-required-scope":"contacts:write"}},"/workspaces/{workspace_id}/contacts/{contact_id}/research":{"get":{"description":"Required scope: `contacts:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_api_contact_research","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"contact_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/ContactResearch"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read saved research for a contact","tags":["Contacts"],"x-emailx-read-only":true,"x-required-scope":"contacts:read"}},"/workspaces/{workspace_id}/conversations":{"get":{"description":"Required scope: `inbox:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"list_api_conversations","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Opaque next_cursor from the previous response. Keep filters unchanged.","in":"query","name":"cursor","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationList"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"List saved inbox conversations","tags":["Inbox"],"x-emailx-read-only":true,"x-required-scope":"inbox:read"}},"/workspaces/{workspace_id}/conversations/{channel}/{conversation_id}":{"get":{"description":"Required scope: `inbox:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_api_conversation","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"description":"Resource identifier.","in":"path","name":"conversation_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/ConversationDetail"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Retrieve saved conversation messages","tags":["Inbox"],"x-emailx-read-only":true,"x-required-scope":"inbox:read"}},"/workspaces/{workspace_id}/conversations/{channel}/{conversation_id}/context":{"get":{"description":"Required scope: `inbox:read`. Agency client access also requires `agency:read` and current workspace access. Bounded saved context only, without provider refresh. Read completeness and freshness before composing a reply.","operationId":"get_api_reply_context","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"description":"Resource identifier.","in":"path","name":"conversation_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/ReplyContext"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read saved reply context and revision","tags":["Inbox"],"x-emailx-read-only":true,"x-required-scope":"inbox:read"}},"/workspaces/{workspace_id}/conversations/{channel}/{conversation_id}/dismissals":{"post":{"description":"Required scope: `inbox:write`. Agency client access also requires `agency:read` and current workspace access. Revision-bound: a newer prospect message keeps the reply listed. Classification is unchanged.","operationId":"dismiss_api_reply","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"description":"Resource identifier.","in":"path","name":"conversation_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"expected_revision":3},"schema":{"$ref":"#/components/schemas/DismissReply"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/ReplyDismissal"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Remove a reply from Needs your reply","tags":["Inbox"],"x-emailx-read-only":false,"x-required-scope":"inbox:write"}},"/workspaces/{workspace_id}/conversations/{channel}/{conversation_id}/messages":{"get":{"description":"Required scope: `inbox:read`. Agency client access also requires `agency:read` and current workspace access. Pages over saved messages only; no provider refresh, and history can be incomplete.","operationId":"list_api_conversation_messages","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"description":"Resource identifier.","in":"path","name":"conversation_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"offset","schema":{"default":0,"minimum":0,"type":"integer"}},{"in":"query","name":"limit","schema":{"default":20,"maximum":40,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/SavedMessagePage"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Page through saved conversation messages","tags":["Inbox"],"x-emailx-read-only":true,"x-required-scope":"inbox:read"}},"/workspaces/{workspace_id}/conversations/{channel}/{conversation_id}/replies":{"post":{"description":"Required scope: `inbox:send`. Agency client access also requires `agency:read` and current workspace access. Requires EMAILX_API_EXECUTION_ENABLED, the current saved-context revision and confirm_send=true. Uses the original sender and thread. Unknown provider outcomes require reconciliation and are never automatically resent.","operationId":"send_api_inbox_reply","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"description":"Resource identifier.","in":"path","name":"conversation_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"confirm_send":true,"expected_revision":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","text":"Thanks for your message. I will follow up shortly."},"schema":{"$ref":"#/components/schemas/SendInboxReply"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Operation"}},"required":["data"],"type":"object"}}},"description":"Accepted","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Queue an explicitly confirmed inbox reply","tags":["Inbox"],"x-emailx-read-only":false,"x-required-scope":"inbox:send"}},"/workspaces/{workspace_id}/conversations/{channel}/{conversation_id}/reply-draft":{"get":{"description":"Required scope: `inbox:read`. Agency client access also requires `agency:read` and current workspace access. Returns the newest pending draft, or null. Send it through the confirmed reply operation with the exact text.","operationId":"get_api_reply_draft","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"description":"Resource identifier.","in":"path","name":"conversation_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/ReplyDraftState"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read the current reply draft","tags":["Inbox"],"x-emailx-read-only":true,"x-required-scope":"inbox:read"},"patch":{"description":"Required scope: `inbox:write`. Agency client access also requires `agency:read` and current workspace access. Refused when the conversation moved on after the draft was written.","operationId":"edit_api_reply_draft","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"description":"Resource identifier.","in":"path","name":"conversation_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"draft_id":55,"text":"Thanks Alex, Thursday at 10:00 works for me."},"schema":{"$ref":"#/components/schemas/EditReplyDraft"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/ReplyDraft"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Edit a pending reply draft","tags":["Inbox"],"x-emailx-read-only":false,"x-required-scope":"inbox:write"}},"/workspaces/{workspace_id}/conversations/{channel}/{conversation_id}/reply-draft/discard":{"post":{"description":"Required scope: `inbox:write`. Agency client access also requires `agency:read` and current workspace access. Discards the draft only; nothing is sent and the conversation is kept.","operationId":"discard_api_reply_draft","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"description":"Resource identifier.","in":"path","name":"conversation_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"draft_id":55},"schema":{"$ref":"#/components/schemas/DiscardReplyDraft"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/ReplyDraftDiscarded"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Discard a pending reply draft","tags":["Inbox"],"x-emailx-read-only":false,"x-required-scope":"inbox:write"}},"/workspaces/{workspace_id}/conversations/{channel}/{conversation_id}/reply-state":{"get":{"description":"Required scope: `inbox:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_api_reply_state","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"description":"Resource identifier.","in":"path","name":"conversation_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/ReplyState"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read needs-reply state and outcome revision","tags":["Inbox"],"x-emailx-read-only":true,"x-required-scope":"inbox:read"}},"/workspaces/{workspace_id}/domains":{"get":{"description":"Required scope: `infrastructure:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"list_api_domains","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Opaque next_cursor from the previous response. Keep filters unchanged.","in":"query","name":"cursor","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainList"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"List owned sending domains","tags":["Infrastructure"],"x-emailx-read-only":true,"x-required-scope":"infrastructure:read"}},"/workspaces/{workspace_id}/domains/availability-checks":{"post":{"description":"Required scope: `infrastructure:read`. Agency client access also requires `agency:read` and current workspace access. Requires EMAILX_API_EXECUTION_ENABLED. Runs a provider lookup in a worker; results are not reservations.","operationId":"check_api_domain_availability","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"query":"examplestudio"},"schema":{"$ref":"#/components/schemas/CheckDomainAvailability"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Operation"}},"required":["data"],"type":"object"}}},"description":"Accepted","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Check domain availability through a durable operation","tags":["Infrastructure"],"x-emailx-read-only":true,"x-required-scope":"infrastructure:read"}},"/workspaces/{workspace_id}/domains/{domain_id}":{"get":{"description":"Required scope: `infrastructure:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_api_domain","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"domain_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/DomainDetail"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read a domain and its mailboxes","tags":["Infrastructure"],"x-emailx-read-only":true,"x-required-scope":"infrastructure:read"}},"/workspaces/{workspace_id}/infrastructure/checkouts":{"post":{"description":"Required scope: `infrastructure:purchase`. Agency client access also requires `agency:read` and current workspace access. Owner or admin only. Returns a hosted Emailx page; the API never charges, spends a balance or provisions.","operationId":"create_api_checkout","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"confirm_purchase_intent":true,"quote_token":"quo_COPY_THE_QUOTE_TOKEN"},"schema":{"$ref":"#/components/schemas/CreateCheckout"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/CheckoutHandoff"}},"required":["data"],"type":"object"}}},"description":"Created","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Hand a quote off to hosted checkout","tags":["Infrastructure"],"x-emailx-read-only":false,"x-required-scope":"infrastructure:purchase"}},"/workspaces/{workspace_id}/infrastructure/mailboxes/{mailbox_id}":{"get":{"description":"Required scope: `infrastructure:read`. Agency client access also requires `agency:read` and current workspace access. Passwords, app passwords and authenticator secrets are never returned.","operationId":"get_api_provisioned_mailbox","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"mailbox_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/ProvisionedMailbox"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read a provisioned mailbox without credentials","tags":["Infrastructure"],"x-emailx-read-only":true,"x-required-scope":"infrastructure:read"}},"/workspaces/{workspace_id}/infrastructure/orders":{"get":{"description":"Required scope: `infrastructure:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"list_api_orders","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Opaque next_cursor from the previous response. Keep filters unchanged.","in":"query","name":"cursor","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderList"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"List infrastructure orders","tags":["Infrastructure"],"x-emailx-read-only":true,"x-required-scope":"infrastructure:read"}},"/workspaces/{workspace_id}/infrastructure/orders/{order_id}":{"get":{"description":"Required scope: `infrastructure:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_api_order","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"order_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/OrderDetail"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read an infrastructure order","tags":["Infrastructure"],"x-emailx-read-only":true,"x-required-scope":"infrastructure:read"}},"/workspaces/{workspace_id}/infrastructure/quotes":{"post":{"description":"Required scope: `infrastructure:read`. Agency client access also requires `agency:read` and current workspace access. Read-only: prices come from current Emailx pricing; taxes and discounts are added at checkout.","operationId":"create_api_quote","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"currency":"eur","offer":"prewarmed_domains","quantity":2},"schema":{"$ref":"#/components/schemas/CreateQuote"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Quote"}},"required":["data"],"type":"object"}}},"description":"Created","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Create an expiring price quote","tags":["Infrastructure"],"x-emailx-read-only":true,"x-required-scope":"infrastructure:read"}},"/workspaces/{workspace_id}/invitations":{"get":{"description":"Required scope: `team:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"list_api_invitations","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Opaque next_cursor from the previous response. Keep filters unchanged.","in":"query","name":"cursor","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvitationList"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"List pending team invitations","tags":["Team"],"x-emailx-read-only":true,"x-required-scope":"team:read"},"post":{"description":"Required scope: `team:invite`. Agency client access also requires `agency:read` and current workspace access. Requires EMAILX_API_EXECUTION_ENABLED. Owner or admin only; sends one invitation email.","operationId":"create_api_invitation","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"email":"teammate@example.com","role":"member"},"schema":{"$ref":"#/components/schemas/CreateInvitation"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Operation"}},"required":["data"],"type":"object"}}},"description":"Accepted","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Invite a teammate","tags":["Team"],"x-emailx-read-only":false,"x-required-scope":"team:invite"}},"/workspaces/{workspace_id}/invitations/{invitation_id}":{"delete":{"description":"Required scope: `team:invite`. Agency client access also requires `agency:read` and current workspace access.","operationId":"revoke_api_invitation","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"invitation_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{},"schema":{"$ref":"#/components/schemas/Empty"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/InvitationRevoked"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Revoke a pending invitation","tags":["Team"],"x-emailx-read-only":false,"x-required-scope":"team:invite"}},"/workspaces/{workspace_id}/knowledge":{"get":{"description":"Required scope: `knowledge:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"list_api_knowledge","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Opaque next_cursor from the previous response. Keep filters unchanged.","in":"query","name":"cursor","schema":{"type":"string"}},{"in":"query","name":"scope","schema":{"enum":["workspace","sender"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeList"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"List knowledge entries","tags":["Knowledge"],"x-emailx-read-only":true,"x-required-scope":"knowledge:read"},"post":{"description":"Required scope: `knowledge:write`. Agency client access also requires `agency:read` and current workspace access. Saves text only; no AI runs until a profile refresh is requested.","operationId":"create_api_knowledge","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"content":"Emailx plans start at...","scope":"workspace","title":"Pricing overview"},"schema":{"$ref":"#/components/schemas/CreateKnowledge"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/KnowledgeEntry"}},"required":["data"],"type":"object"}}},"description":"Created","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Add a text knowledge entry","tags":["Knowledge"],"x-emailx-read-only":false,"x-required-scope":"knowledge:write"}},"/workspaces/{workspace_id}/knowledge/profile-refreshes":{"post":{"description":"Required scope: `knowledge:write`. Agency client access also requires `agency:read` and current workspace access. Requires confirm_ai_use=true. Queues one native refresh per workspace per hour; completion is not verified.","operationId":"refresh_api_knowledge_profile","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"confirm_ai_use":true},"schema":{"$ref":"#/components/schemas/RequestProfileRefresh"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/ProfileRefresh"}},"required":["data"],"type":"object"}}},"description":"Accepted","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Queue a profile refresh from knowledge (uses AI)","tags":["Knowledge"],"x-emailx-read-only":false,"x-required-scope":"knowledge:write"}},"/workspaces/{workspace_id}/knowledge/profiles":{"get":{"description":"Required scope: `knowledge:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_api_knowledge_profiles","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/KnowledgeProfiles"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read company and sender profiles","tags":["Knowledge"],"x-emailx-read-only":true,"x-required-scope":"knowledge:read"}},"/workspaces/{workspace_id}/knowledge/{knowledge_id}":{"delete":{"description":"Required scope: `knowledge:write`. Agency client access also requires `agency:read` and current workspace access.","operationId":"delete_api_knowledge","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"knowledge_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{},"schema":{"$ref":"#/components/schemas/Empty"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/KnowledgeDeleted"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Delete a knowledge entry","tags":["Knowledge"],"x-emailx-read-only":false,"x-required-scope":"knowledge:write"},"get":{"description":"Required scope: `knowledge:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_api_knowledge","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"knowledge_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/KnowledgeEntry"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read a knowledge entry","tags":["Knowledge"],"x-emailx-read-only":true,"x-required-scope":"knowledge:read"},"patch":{"description":"Required scope: `knowledge:write`. Agency client access also requires `agency:read` and current workspace access.","operationId":"update_api_knowledge","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"knowledge_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"content":"Updated pricing overview."},"schema":{"$ref":"#/components/schemas/UpdateKnowledge"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/KnowledgeEntry"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Edit a text knowledge entry","tags":["Knowledge"],"x-emailx-read-only":false,"x-required-scope":"knowledge:write"}},"/workspaces/{workspace_id}/members":{"get":{"description":"Required scope: `team:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"list_api_members","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Opaque next_cursor from the previous response. Keep filters unchanged.","in":"query","name":"cursor","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberList"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"List active workspace teammates","tags":["Team"],"x-emailx-read-only":true,"x-required-scope":"team:read"}},"/workspaces/{workspace_id}/members/{member_id}":{"patch":{"description":"Required scope: `team:manage`. Agency client access also requires `agency:read` and current workspace access. Owner or admin only; you cannot change your own role and agency access is managed by the agency.","operationId":"update_api_member_role","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"member_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"role":"admin"},"schema":{"$ref":"#/components/schemas/UpdateMemberRole"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/MemberRole"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Change a teammate's role","tags":["Team"],"x-emailx-read-only":false,"x-required-scope":"team:manage"}},"/workspaces/{workspace_id}/operations":{"get":{"description":"Required scope: `operations:read`. Agency client access also requires `agency:read` and current workspace access. Requires EMAILX_API_EXECUTION_ENABLED and operations:read, plus inbox:read for replies, contacts:read for People imports or campaigns:read for campaign operations.","operationId":"list_api_operations","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Opaque next_cursor from the previous response. Keep filters unchanged.","in":"query","name":"cursor","schema":{"type":"string"}},{"in":"query","name":"status","schema":{"enum":["queued","running","succeeded","partially_succeeded","failed","needs_reconciliation","awaiting_user_action","cancelled"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperationList"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"List durable campaign commands","tags":["Operations"],"x-emailx-read-only":true,"x-required-scope":"operations:read"}},"/workspaces/{workspace_id}/operations/{operation_id}":{"get":{"description":"Required scope: `operations:read`. Agency client access also requires `agency:read` and current workspace access. Requires EMAILX_API_EXECUTION_ENABLED and operations:read, plus inbox:read for replies, contacts:read for People imports or campaigns:read for campaign operations.","operationId":"get_api_operation","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"operation_id","required":true,"schema":{"pattern":"^op_[a-f0-9]{32}$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Operation"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read durable command progress and results","tags":["Operations"],"x-emailx-read-only":true,"x-required-scope":"operations:read"}},"/workspaces/{workspace_id}/operations/{operation_id}/cancel":{"post":{"description":"Required scope: `operations:write`. Agency client access also requires `agency:read` and current workspace access. Requires EMAILX_API_EXECUTION_ENABLED, operations:write, the operation resource read grant and its original command grant. Cancellation succeeds only before processing begins.","operationId":"cancel_api_operation","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"operation_id","required":true,"schema":{"pattern":"^op_[a-f0-9]{32}$","type":"string"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{},"schema":{"$ref":"#/components/schemas/Empty"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Operation"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Cancel an eligible command before effects start","tags":["Operations"],"x-emailx-read-only":false,"x-required-scope":"operations:write"}},"/workspaces/{workspace_id}/operations/{operation_id}/rows":{"get":{"description":"Required scope: `operations:read`. Agency client access also requires `agency:read` and current workspace access. Requires EMAILX_API_EXECUTION_ENABLED and operations:read, plus inbox:read for replies, contacts:read for People imports or campaigns:read for campaign operations.","operationId":"list_api_import_rows","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"operation_id","required":true,"schema":{"pattern":"^op_[a-f0-9]{32}$","type":"string"}},{"in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Opaque next_cursor from the previous response. Keep filters unchanged.","in":"query","name":"cursor","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportRowList"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read import row outcomes","tags":["Imports"],"x-emailx-read-only":true,"x-required-scope":"operations:read"}},"/workspaces/{workspace_id}/outcomes":{"get":{"description":"Required scope: `analytics:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"list_api_outcomes","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Opaque next_cursor from the previous response. Keep filters unchanged.","in":"query","name":"cursor","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutcomeList"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"List recorded conversation outcomes","tags":["Analytics"],"x-emailx-read-only":true,"x-required-scope":"analytics:read"}},"/workspaces/{workspace_id}/reply-routing/options":{"get":{"description":"Required scope: `team:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_api_reply_routing","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Opaque next_cursor from the previous response. Keep filters unchanged.","in":"query","name":"cursor","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplyRoutingList"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Discover reply notification owners","tags":["Team"],"x-emailx-read-only":true,"x-required-scope":"team:read"}},"/workspaces/{workspace_id}/sender-connections":{"post":{"description":"Required scope: `senders:read`. Agency client access also requires `agency:read` and current workspace access. Returns a hosted Emailx page; passwords and provider tokens are never accepted through the API.","operationId":"create_api_sender_connection","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"channel":"email"},"schema":{"$ref":"#/components/schemas/CreateSenderConnection"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/SenderConnectionHandoff"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Get the hosted page to connect a sender","tags":["Senders"],"x-emailx-read-only":true,"x-required-scope":"senders:read"}},"/workspaces/{workspace_id}/senders":{"get":{"description":"Required scope: `senders:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"list_api_senders","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Opaque next_cursor from the previous response. Keep filters unchanged.","in":"query","name":"cursor","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SenderList"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"List connected sender metadata","tags":["Senders"],"x-emailx-read-only":true,"x-required-scope":"senders:read"}},"/workspaces/{workspace_id}/senders/email/{sender_id}/readiness":{"get":{"description":"Required scope: `senders:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_api_email_sender_readiness","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"sender_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/EmailSenderReadiness"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Check saved email sender readiness","tags":["Senders"],"x-emailx-read-only":true,"x-required-scope":"senders:read"}},"/workspaces/{workspace_id}/senders/email/{sender_id}/warmup":{"get":{"description":"Required scope: `senders:read`. Agency client access also requires `agency:read` and current workspace access. Saved state only; live warmup metrics are not fetched.","operationId":"get_api_warmup","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"sender_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/WarmupState"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read saved warmup state","tags":["Senders"],"x-emailx-read-only":true,"x-required-scope":"senders:read"}},"/workspaces/{workspace_id}/senders/email/{sender_id}/warmup/commands":{"post":{"description":"Required scope: `warmup:write`. Agency client access also requires `agency:read` and current workspace access. Requires EMAILX_API_EXECUTION_ENABLED and a mailbox already connected to warmup in Emailx. One provider change per operation; unknown outcomes need reconciliation.","operationId":"command_api_warmup","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"sender_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"action":"pause"},"schema":{"$ref":"#/components/schemas/WarmupCommand"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Operation"}},"required":["data"],"type":"object"}}},"description":"Accepted","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Start, pause, resume or tune warmup","tags":["Senders"],"x-emailx-read-only":false,"x-required-scope":"warmup:write"}},"/workspaces/{workspace_id}/senders/linkedin/{sender_id}/limits":{"get":{"description":"Required scope: `senders:read`. Agency client access also requires `agency:read` and current workspace access. Saved usage only; the LinkedIn plan is not checked and remaining capacity is an estimate.","operationId":"get_api_linkedin_sender_limits","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"sender_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/LinkedinSenderLimits"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read saved LinkedIn invitation usage and limits","tags":["Senders"],"x-emailx-read-only":true,"x-required-scope":"senders:read"}},"/workspaces/{workspace_id}/senders/{channel}/{sender_id}":{"get":{"description":"Required scope: `senders:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_api_sender","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"description":"Resource identifier.","in":"path","name":"sender_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/SenderDetail"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Inspect a sender and stored readiness","tags":["Senders"],"x-emailx-read-only":true,"x-required-scope":"senders:read"}},"/workspaces/{workspace_id}/senders/{channel}/{sender_id}/disconnect-preview":{"get":{"description":"Required scope: `senders:read`. Agency client access also requires `agency:read` and current workspace access. Read-only impact preview; disconnecting stays in Emailx.","operationId":"get_api_disconnect_preview","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"description":"Resource identifier.","in":"path","name":"sender_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/DisconnectPreview"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Preview what disconnecting a sender affects","tags":["Senders"],"x-emailx-read-only":true,"x-required-scope":"senders:read"}},"/workspaces/{workspace_id}/senders/{channel}/{sender_id}/voice":{"get":{"description":"Required scope: `knowledge:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_api_sender_voice","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"description":"Resource identifier.","in":"path","name":"sender_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/SenderVoice"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read a sender's writing voice","tags":["Senders"],"x-emailx-read-only":true,"x-required-scope":"knowledge:read"},"patch":{"description":"Required scope: `voice:write`. Agency client access also requires `agency:read` and current workspace access. Members can change only their own voice; owners and admins can change any sender.","operationId":"update_api_sender_voice","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"channel","required":true,"schema":{"enum":["email","linkedin"],"type":"string"}},{"description":"Resource identifier.","in":"path","name":"sender_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"enabled":true,"samples":[{"language":"it","text":"Ciao Marco, grazie per la risposta."}]},"schema":{"$ref":"#/components/schemas/UpdateSenderVoice"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/SenderVoice"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Update a sender's writing voice","tags":["Senders"],"x-emailx-read-only":false,"x-required-scope":"voice:write"}},"/workspaces/{workspace_id}/templates":{"get":{"description":"Required scope: `templates:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"list_api_templates","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Opaque next_cursor from the previous response. Keep filters unchanged.","in":"query","name":"cursor","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateList"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"List email templates","tags":["Templates"],"x-emailx-read-only":true,"x-required-scope":"templates:read"},"post":{"description":"Required scope: `templates:write`. Agency client access also requires `agency:read` and current workspace access.","operationId":"create_api_template","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"body":"<p>Hello</p>","goal":"Sales","name":"Italian intro","subject":"A quick introduction"},"schema":{"$ref":"#/components/schemas/CreateTemplate"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Template"}},"required":["data"],"type":"object"}}},"description":"Created","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Create an email template","tags":["Templates"],"x-emailx-read-only":false,"x-required-scope":"templates:write"}},"/workspaces/{workspace_id}/templates/{template_id}":{"get":{"description":"Required scope: `templates:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_api_template","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"template_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Template"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Retrieve an email template","tags":["Templates"],"x-emailx-read-only":true,"x-required-scope":"templates:read"},"patch":{"description":"Required scope: `templates:write`. Agency client access also requires `agency:read` and current workspace access.","operationId":"update_api_template","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"template_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"expected_revision":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","prompt":"Write a concise introduction."},"schema":{"$ref":"#/components/schemas/UpdateTemplate"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/Template"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Update an email template","tags":["Templates"],"x-emailx-read-only":false,"x-required-scope":"templates:write"}},"/workspaces/{workspace_id}/webhook-deliveries":{"get":{"description":"Required scope: `webhooks:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"list_api_webhook_deliveries","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Opaque next_cursor from the previous response. Keep filters unchanged.","in":"query","name":"cursor","schema":{"type":"string"}},{"in":"query","name":"endpoint_id","schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"status","schema":{"enum":["pending","delivering","succeeded","failed","abandoned"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDeliveryList"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"List webhook deliveries","tags":["Webhooks"],"x-emailx-read-only":true,"x-required-scope":"webhooks:read"}},"/workspaces/{workspace_id}/webhook-deliveries/{delivery_id}":{"get":{"description":"Required scope: `webhooks:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_api_webhook_delivery","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"delivery_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/WebhookDeliveryDetail"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read a webhook delivery","tags":["Webhooks"],"x-emailx-read-only":true,"x-required-scope":"webhooks:read"}},"/workspaces/{workspace_id}/webhook-deliveries/{delivery_id}/redeliver":{"post":{"description":"Required scope: `webhooks:manage`. Agency client access also requires `agency:read` and current workspace access. Requires EMAILX_API_WEBHOOKS_ENABLED. Owner or admin only. Schedules up to seven new attempts with the same webhook-id.","operationId":"redeliver_api_webhook","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"delivery_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{},"schema":{"$ref":"#/components/schemas/Empty"}}},"required":false},"responses":{"202":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/WebhookDelivery"}},"required":["data"],"type":"object"}}},"description":"Accepted","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Redeliver a webhook event","tags":["Webhooks"],"x-emailx-read-only":false,"x-required-scope":"webhooks:manage"}},"/workspaces/{workspace_id}/webhook-endpoints":{"get":{"description":"Required scope: `webhooks:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"list_api_webhook_endpoints","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"in":"query","name":"limit","schema":{"default":25,"maximum":100,"minimum":1,"type":"integer"}},{"description":"Opaque next_cursor from the previous response. Keep filters unchanged.","in":"query","name":"cursor","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpointList"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"List webhook endpoints","tags":["Webhooks"],"x-emailx-read-only":true,"x-required-scope":"webhooks:read"},"post":{"description":"Required scope: `webhooks:manage`. Agency client access also requires `agency:read` and current workspace access. Requires EMAILX_API_WEBHOOKS_ENABLED. Owner or admin only. The signing secret is returned once. Deliveries are signed with webhook-id, webhook-timestamp and webhook-signature (v1, HMAC-SHA256) and may arrive more than once; dedupe on webhook-id.","operationId":"create_api_webhook_endpoint","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"description":"CRM sync","event_types":["operation.succeeded","operation.failed"],"url":"https://hooks.example.com/emailx"},"schema":{"$ref":"#/components/schemas/CreateWebhookEndpoint"}}},"required":true},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/WebhookEndpointWithSecret"}},"required":["data"],"type":"object"}}},"description":"Created","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Create a webhook endpoint","tags":["Webhooks"],"x-emailx-read-only":false,"x-required-scope":"webhooks:manage"}},"/workspaces/{workspace_id}/webhook-endpoints/{endpoint_id}":{"delete":{"description":"Required scope: `webhooks:manage`. Agency client access also requires `agency:read` and current workspace access. Requires EMAILX_API_WEBHOOKS_ENABLED. Owner or admin only. Pending deliveries stop.","operationId":"delete_api_webhook_endpoint","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"endpoint_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{},"schema":{"$ref":"#/components/schemas/Empty"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/WebhookEndpointDeleted"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Delete a webhook endpoint","tags":["Webhooks"],"x-emailx-read-only":false,"x-required-scope":"webhooks:manage"},"get":{"description":"Required scope: `webhooks:read`. Agency client access also requires `agency:read` and current workspace access.","operationId":"get_api_webhook_endpoint","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"endpoint_id","required":true,"schema":{"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/WebhookEndpoint"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Read a webhook endpoint","tags":["Webhooks"],"x-emailx-read-only":true,"x-required-scope":"webhooks:read"},"patch":{"description":"Required scope: `webhooks:manage`. Agency client access also requires `agency:read` and current workspace access. Requires EMAILX_API_WEBHOOKS_ENABLED. Owner or admin only.","operationId":"update_api_webhook_endpoint","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"endpoint_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"enabled":false},"schema":{"$ref":"#/components/schemas/UpdateWebhookEndpoint"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/WebhookEndpoint"}},"required":["data"],"type":"object"}}},"description":"Success","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Change a webhook endpoint","tags":["Webhooks"],"x-emailx-read-only":false,"x-required-scope":"webhooks:manage"}},"/workspaces/{workspace_id}/webhook-endpoints/{endpoint_id}/secret-rotations":{"post":{"description":"Required scope: `webhooks:manage`. Agency client access also requires `agency:read` and current workspace access. Requires EMAILX_API_WEBHOOKS_ENABLED. Owner or admin only. The new secret is returned once; the previous secret keeps signing for 24 hours.","operationId":"rotate_api_webhook_secret","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"endpoint_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{},"schema":{"$ref":"#/components/schemas/Empty"}}},"required":false},"responses":{"201":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/WebhookEndpointWithSecret"}},"required":["data"],"type":"object"}}},"description":"Created","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Rotate a webhook signing secret","tags":["Webhooks"],"x-emailx-read-only":false,"x-required-scope":"webhooks:manage"}},"/workspaces/{workspace_id}/webhook-endpoints/{endpoint_id}/test-events":{"post":{"description":"Required scope: `webhooks:manage`. Agency client access also requires `agency:read` and current workspace access. Requires EMAILX_API_WEBHOOKS_ENABLED. Owner or admin only. Queues one webhook.test event; the worker posts it within a minute.","operationId":"send_api_webhook_test","parameters":[{"description":"Emailx workspace (Clients) ID, not the agency workspace link ID.","in":"path","name":"workspace_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Resource identifier.","in":"path","name":"endpoint_id","required":true,"schema":{"minimum":1,"type":"integer"}},{"description":"Unique per logical mutation. Same path and body replay for 24 hours.","in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9_.:/-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{},"schema":{"$ref":"#/components/schemas/Empty"}}},"required":false},"responses":{"202":{"content":{"application/json":{"schema":{"properties":{"data":{"$ref":"#/components/schemas/WebhookDelivery"}},"required":["data"],"type":"object"}}},"description":"Accepted","headers":{"Emailx-Api-Version":{"schema":{"type":"string"}},"X-RateLimit-Limit":{"schema":{"type":"string"}},"X-RateLimit-Remaining":{"schema":{"type":"string"}},"X-RateLimit-Reset":{"schema":{"type":"string"}},"X-Request-Id":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Invalid, expired or revoked API key"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Insufficient scope or write permission"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource missing or inaccessible"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Conflict, concurrent request or uncertain original result","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Rate limited; respect Retry-After","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Request error"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"API disabled, request storage unavailable or feature not enabled","headers":{"Retry-After":{"description":"Seconds to wait when present.","schema":{"type":"string"}}}}},"security":[{"BearerAuth":[]}],"summary":"Send a test event","tags":["Webhooks"],"x-emailx-read-only":false,"x-required-scope":"webhooks:manage"}}},"servers":[{"description":"Same host as the Emailx workspace","url":"/api/v1"}],"tags":[{"name":"Getting started"},{"name":"Workspaces"},{"name":"Contacts"},{"name":"Templates"},{"name":"Campaigns"},{"name":"Inbox"},{"name":"Senders"},{"name":"Team"},{"name":"Analytics"},{"name":"Imports"},{"name":"Operations"},{"name":"Knowledge"},{"name":"Infrastructure"},{"name":"Agency"}]}
