{"openapi":"3.1.0","info":{"title":"Sonarly Integration API","version":"1.0.0","description":"Public API for third-party integrations with Sonarly","x-sonarly-revision":"4b4647885428b926c7a60457b2a3862233fbba586ea7f423dd48b59918640d9a"},"servers":[{"url":"https://api.sonarly.io","description":"Production"}],"components":{"securitySchemes":{"BearerApiKey":{"type":"http","scheme":"bearer","description":"API key in format sk_live_..."}},"schemas":{"ActivityListSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Stable identifier for this normalized activity entry."},"displayAt":{"type":"string","format":"date-time","description":"Timestamp used to place the item in the activity log."},"scheduledAt":{"type":["string","null"],"format":"date-time","description":"Current or final scheduled time, when known."},"executedAt":{"type":["string","null"],"format":"date-time","description":"Execution completion or failure time; null while the action is still planned."},"originalScheduledAt":{"type":["string","null"],"format":"date-time","description":"First scheduled time before any rescheduling."},"nextScheduledAt":{"type":["string","null"],"format":"date-time","description":"Next planned attempt after a deferral or reschedule."},"type":{"type":"string","enum":["invitation","direct_message","inmail","email","like","comment","profile_view","invitation_withdrawal","wait","condition","sync"]},"state":{"type":"string","enum":["queued","scheduled","waiting","processing","succeeded","sent","failed","skipped","rescheduled","cancelled","deferred","rejected"]},"deliveryState":{"type":"string","enum":["queued","scheduled","processing","sent","failed","deferred","rejected","cancelled"]},"campaignId":{"type":"string"},"campaignName":{"type":"string"},"workflowInstanceId":{"type":"string"},"leadId":{"type":"string"},"conversationId":{"type":"string"},"prospectName":{"type":"string"},"nodeId":{"type":"string"},"nodeSubType":{"type":"string"},"workflowStepLabel":{"type":"string"},"subject":{"type":"string"},"content":{"type":"string"},"reasonCode":{"type":"string","enum":["CONTENT_DISCARDED","WORKFLOW_MANUAL_STOP","CAMPAIGN_MANUAL_STOP","AUTO_CANCELLED_ON_REPLY","ALREADY_CONNECTED","INVITE_ALREADY_PENDING","INCOMING_INVITE_PENDING","NOT_CONNECTED","DM_COOLDOWN_ACTIVE","ALREADY_CONNECTED_USE_DM","CANNOT_RECEIVE_INMAIL","LEAD_SYNCED_RECENTLY","LINKEDIN_SYNC_NOT_REQUIRED","NO_POST_FOUND","POST_ALREADY_LIKED","POST_ALREADY_COMMENTED","MANUAL_COMMENT_EMPTY","NO_PENDING_INVITATION","INVITATION_TOO_RECENT","NO_CHAT_FOUND","INMAIL_FOLLOW_UP_UNSUPPORTED","PRE_FILTERED_DEAD_END","MANUAL_DISPOSITION_BLOCKED","BLOCK_LIST_CHANNEL_SUPPRESSED","RATE_LIMITED","WEEKLY_LIMIT","DAILY_LIMIT","LINKEDIN_ACCOUNT_DISCONNECTED","NO_APPROVED_CONTENT","NO_INMAIL_CREDITS","WRITING_STYLE_MISSING","INVALID_POST_LINK","WAITING_FOR_APPROVAL","WAITING_FOR_SCHEDULE","ACCOUNT_MISSING","PROVIDER_ID_MISSING","SERVER_ERROR","NETWORK_ERROR","CONTENT_GENERATION_FAILED","CAMPAIGN_NOT_FOUND","INSTANCE_NOT_FOUND","NO_HANDLER_IMPLEMENTED","LINKEDIN_OPERATION_FAILED","EXTERNAL_SERVICE_ERROR","UNKNOWN_FAILURE"],"description":"Stable machine-readable reason code. Unknown internal failures are normalized to UNKNOWN_FAILURE."},"reason":{"type":"string"},"provisional":{"type":"boolean","description":"True for current planning data that may still move or be cancelled before execution."}},"required":["id","displayAt","scheduledAt","executedAt","originalScheduledAt","nextScheduledAt","type","state","provisional"]}},"nextCursor":{"type":["string","null"]},"hasMore":{"type":"boolean"},"window":{"type":"object","properties":{"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"generatedAt":{"type":"string","format":"date-time"}},"required":["from","to","generatedAt"]}},"required":["items","nextCursor","hasMore","window"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"ErrorResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"data":{"type":"null"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{}},"required":["code","message"]},"traceId":{"type":"string"}},"required":["success","data","error"]},"ValidationErrorResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"data":{"type":"null"},"error":{"type":"object","properties":{"code":{"type":"string","enum":["VALIDATION_ERROR"]},"message":{"type":"string"},"details":{}},"required":["code","message"]},"traceId":{"type":"string"}},"required":["success","data","error"]},"AccountListSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","name","createdAt"]}}},"required":["items"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"ScheduledMessageResponseSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"id":{"type":"string","minLength":1},"activityId":{"type":"string","minLength":1,"description":"Stable activity ID for monitoring this scheduled response through GET /activity."},"status":{"type":"string","enum":["queued","scheduled","processing","sent","failed","deferred","rejected","cancelled"]},"scheduledAt":{"type":["string","null"],"format":"date-time"},"sentAt":{"type":["string","null"],"format":"date-time"},"channel":{"type":"string","enum":["direct_message","inmail"]},"conversationId":{"type":["string","null"]},"messageId":{"type":["string","null"]},"idempotencyKey":{"type":"string","minLength":1},"deferred":{"type":"boolean"}},"required":["id","activityId","status","scheduledAt","sentAt","channel","conversationId","messageId","deferred"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"MessageListSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"text":{"type":["string","null"]},"sentAt":{"type":"string","minLength":1},"accountId":{"type":"string","minLength":1},"accountType":{"type":"string","minLength":1},"conversationId":{"type":"string","minLength":1},"conversationProviderId":{"type":"string","minLength":1},"conversationName":{"type":["string","null"]},"participantProviderId":{"type":"string"},"senderId":{"type":"string","minLength":1},"isSender":{"type":"boolean"},"unreadCount":{"type":"integer","minimum":0},"parentMessageId":{"type":["string","null"]},"attachments":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["img","video","audio","file","linkedin_post"]},"id":{"type":"string","minLength":1},"url":{"type":"string"},"fileName":{"type":"string"},"mimeType":{"type":"string"}},"required":["type","id"]}}},"required":["id","text","sentAt","accountId","accountType","conversationId","conversationProviderId","conversationName","senderId","isSender","unreadCount","attachments"]}},"nextCursor":{"type":["string","null"]},"hasMore":{"type":"boolean"}},"required":["items","nextCursor","hasMore"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"CampaignListSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"status":{"type":"string","enum":["draft","active","archived"]},"selectedLeadCount":{"type":"integer","minimum":0},"includeConversationHistory":{"type":"boolean"},"autoCancelOnMessageReceived":{"type":"boolean"},"outreachLanguage":{"type":"string","enum":["en","de"]},"businessHours":{"type":"object","properties":{"window":{"type":"object","properties":{"start":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"},"end":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"}},"required":["start","end"],"additionalProperties":false},"days":{"type":"array","items":{"type":"string","enum":["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]},"minItems":1},"timezone":{"type":"string","minLength":1}},"required":["window","days","timezone"],"additionalProperties":false},"messageHours":{"type":"object","properties":{"window":{"type":"object","properties":{"start":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"},"end":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"}},"required":["start","end"],"additionalProperties":false},"days":{"type":"array","items":{"type":"string","enum":["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]},"minItems":1},"timezone":{"type":"string","minLength":1}},"required":["window","days","timezone"],"additionalProperties":false},"maxRunsPerDay":{"type":"integer","minimum":1,"maximum":40},"createdAt":{"type":["string","null"]},"updatedAt":{"type":["string","null"]},"startedAt":{"type":["string","null"]},"rateLimitedUntil":{"type":["string","null"]}},"required":["id","name","description","status","selectedLeadCount","includeConversationHistory","autoCancelOnMessageReceived","outreachLanguage","businessHours","messageHours","createdAt","updatedAt","startedAt"]}}},"required":["items"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"CampaignSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"status":{"type":"string","enum":["draft","active","archived"]},"selectedLeadCount":{"type":"integer","minimum":0},"includeConversationHistory":{"type":"boolean"},"autoCancelOnMessageReceived":{"type":"boolean"},"outreachLanguage":{"type":"string","enum":["en","de"]},"businessHours":{"type":"object","properties":{"window":{"type":"object","properties":{"start":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"},"end":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"}},"required":["start","end"],"additionalProperties":false},"days":{"type":"array","items":{"type":"string","enum":["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]},"minItems":1},"timezone":{"type":"string","minLength":1}},"required":["window","days","timezone"],"additionalProperties":false},"messageHours":{"type":"object","properties":{"window":{"type":"object","properties":{"start":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"},"end":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"}},"required":["start","end"],"additionalProperties":false},"days":{"type":"array","items":{"type":"string","enum":["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]},"minItems":1},"timezone":{"type":"string","minLength":1}},"required":["window","days","timezone"],"additionalProperties":false},"maxRunsPerDay":{"type":"integer","minimum":1,"maximum":40},"createdAt":{"type":["string","null"]},"updatedAt":{"type":["string","null"]},"startedAt":{"type":["string","null"]},"rateLimitedUntil":{"type":["string","null"]}},"required":["id","name","description","status","selectedLeadCount","includeConversationHistory","autoCancelOnMessageReceived","outreachLanguage","businessHours","messageHours","createdAt","updatedAt","startedAt"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"CampaignStarterTemplateListSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","enum":["engage-inmail","engage-connect-dm","connect-engage-dm","connect"]},"name":{"type":"string"},"description":{"type":"string"},"available":{"type":"boolean"}},"required":["id","name","description","available"]}}},"required":["items"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"UpdateCampaignScheduleBody":{"type":"object","properties":{"businessHours":{"type":"object","properties":{"window":{"type":"object","properties":{"start":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"},"end":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"}},"required":["start","end"],"additionalProperties":false},"days":{"type":"array","items":{"type":"string","enum":["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]},"minItems":1},"timezone":{"type":"string","minLength":1}},"required":["window","days","timezone"],"additionalProperties":false},"messageHours":{"type":"object","properties":{"window":{"type":"object","properties":{"start":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"},"end":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"}},"required":["start","end"],"additionalProperties":false},"days":{"type":"array","items":{"type":"string","enum":["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]},"minItems":1},"timezone":{"type":"string","minLength":1}},"required":["window","days","timezone"],"additionalProperties":false},"maxRunsPerDay":{"type":"integer","minimum":1,"maximum":40}},"required":["businessHours","messageHours"],"additionalProperties":false},"CampaignContentApprovalListSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"workflowInstanceId":{"type":"string","description":"Workflow instance currently waiting for content approval."},"campaignId":{"type":"string","description":"Campaign that owns the workflow instance."},"campaignName":{"type":"string","description":"Human-readable campaign name."},"linkedListId":{"type":"string","description":"Audience or list ID linked to the campaign, when available."},"leadId":{"type":"string","description":"Lead ID associated with the workflow instance."},"personId":{"type":"string","description":"Prospect person ID associated with the lead."},"firstName":{"type":"string","description":"Prospect first name."},"lastName":{"type":"string","description":"Prospect last name."},"title":{"type":"string","description":"Prospect job title, when available."},"companyName":{"type":"string","description":"Prospect company name, when available."},"photoUrl":{"type":"string","description":"Prospect profile image URL, when available."},"linkedinUrl":{"type":"string","description":"Prospect LinkedIn profile URL, when available."},"latestStep":{"type":"string","description":"Latest workflow step for this approval item."},"pendingContent":{"type":"array","items":{"type":"object","properties":{"nodeId":{"type":"string","description":"Pending content node ID to send back when approving edited content."},"nodeSubType":{"type":"string","description":"Workflow node subtype that produced the pending content."},"contentType":{"type":"string","enum":["direct_message","inmail","direct_message_inmail","email","connection_request","comment"],"description":"Delivery or approval content type for this item."},"subject":{"type":"string","description":"Generated or edited subject for InMail or email content."},"message":{"type":"string","description":"Generated message or comment text. JSON \\n line breaks are preserved."},"requestMessage":{"type":"string","description":"Generated or edited connection-request text."},"generatedAt":{"type":["string","null"],"description":"Timestamp when the content was generated, when available."},"previousStepSubType":{"type":"string","description":"Workflow step immediately before this content action."},"workflowPath":{"type":"array","items":{"type":"object","properties":{"conditionSubType":{"type":"string"},"branch":{"type":"string","enum":["true","false"]}},"required":["conditionSubType","branch"]},"description":"Condition branches leading to this content action."},"reviewContext":{"type":"object","properties":{"displayLabel":{"type":"string"},"sequence":{"type":"integer","minimum":0},"contentSequence":{"type":"integer","exclusiveMinimum":0},"pathLabel":{"type":"string"},"previousStepSubType":{"type":"string"}},"required":["displayLabel","sequence","pathLabel"],"description":"Human-readable workflow position for this content action."},"postLink":{"type":"string","description":"LinkedIn post URL for comment approvals."},"postSummary":{"type":"string","description":"Selected LinkedIn post summary for comment approvals."}},"required":["nodeId","nodeSubType","contentType","message"]},"description":"Editable content items currently waiting for approval."},"workflowReview":{"type":"object","properties":{"nodes":{"type":"array","items":{"type":"object","properties":{"nodeId":{"type":"string"},"nodeSubType":{"type":"string"},"nodeType":{"type":"string","enum":["TRIGGER","CONDITION","ACTION","FLOW"]},"displayLabel":{"type":"string"},"sequence":{"type":"integer","exclusiveMinimum":0},"contentSequence":{"type":"integer","exclusiveMinimum":0},"isContentStep":{"type":"boolean"}},"required":["nodeId","nodeSubType","nodeType","displayLabel","sequence","isContentStep"]}},"edges":{"type":"array","items":{"type":"object","properties":{"sourceNodeId":{"type":"string"},"targetNodeId":{"type":"string"},"branch":{"type":"string","enum":["true","false"]}},"required":["sourceNodeId","targetNodeId"]}}},"required":["nodes","edges"],"description":"Read-only workflow projection for understanding where each content item belongs."}},"required":["workflowInstanceId","campaignId","campaignName","leadId","personId","firstName","lastName","latestStep","pendingContent"]},"description":"Pending content approvals on this page."},"totalItems":{"type":"number","description":"Total number of pending content approvals matching the query."},"totalPages":{"type":"number","description":"Total number of result pages."},"currentPage":{"type":"number","description":"Current one-based result page."}},"required":["items","totalItems","totalPages","currentPage"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"CampaignLeadStatusListSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"leadId":{"type":"string"},"workflowStatus":{"type":"string","enum":["pending","waiting","completed","stopped","not_started","not_in_campaign","not_eligible"]},"workflowInstanceId":{"type":"string"},"latestStep":{"type":"string"},"workflowStopReason":{"type":"string","enum":["CONTENT_DISCARDED","WORKFLOW_MANUAL_STOP","CAMPAIGN_MANUAL_STOP","AUTO_CANCELLED_ON_REPLY"]},"hasPendingApproval":{"type":"boolean"}},"required":["leadId","workflowStatus","hasPendingApproval"]}}},"required":["items"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"CampaignContentApprovalSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"workflowInstanceId":{"type":"string","description":"Workflow instance currently waiting for content approval."},"campaignId":{"type":"string","description":"Campaign that owns the workflow instance."},"campaignName":{"type":"string","description":"Human-readable campaign name."},"linkedListId":{"type":"string","description":"Audience or list ID linked to the campaign, when available."},"leadId":{"type":"string","description":"Lead ID associated with the workflow instance."},"personId":{"type":"string","description":"Prospect person ID associated with the lead."},"firstName":{"type":"string","description":"Prospect first name."},"lastName":{"type":"string","description":"Prospect last name."},"title":{"type":"string","description":"Prospect job title, when available."},"companyName":{"type":"string","description":"Prospect company name, when available."},"photoUrl":{"type":"string","description":"Prospect profile image URL, when available."},"linkedinUrl":{"type":"string","description":"Prospect LinkedIn profile URL, when available."},"latestStep":{"type":"string","description":"Latest workflow step for this approval item."},"pendingContent":{"type":"array","items":{"type":"object","properties":{"nodeId":{"type":"string","description":"Pending content node ID to send back when approving edited content."},"nodeSubType":{"type":"string","description":"Workflow node subtype that produced the pending content."},"contentType":{"type":"string","enum":["direct_message","inmail","direct_message_inmail","email","connection_request","comment"],"description":"Delivery or approval content type for this item."},"subject":{"type":"string","description":"Generated or edited subject for InMail or email content."},"message":{"type":"string","description":"Generated message or comment text. JSON \\n line breaks are preserved."},"requestMessage":{"type":"string","description":"Generated or edited connection-request text."},"generatedAt":{"type":["string","null"],"description":"Timestamp when the content was generated, when available."},"previousStepSubType":{"type":"string","description":"Workflow step immediately before this content action."},"workflowPath":{"type":"array","items":{"type":"object","properties":{"conditionSubType":{"type":"string"},"branch":{"type":"string","enum":["true","false"]}},"required":["conditionSubType","branch"]},"description":"Condition branches leading to this content action."},"reviewContext":{"type":"object","properties":{"displayLabel":{"type":"string"},"sequence":{"type":"integer","minimum":0},"contentSequence":{"type":"integer","exclusiveMinimum":0},"pathLabel":{"type":"string"},"previousStepSubType":{"type":"string"}},"required":["displayLabel","sequence","pathLabel"],"description":"Human-readable workflow position for this content action."},"postLink":{"type":"string","description":"LinkedIn post URL for comment approvals."},"postSummary":{"type":"string","description":"Selected LinkedIn post summary for comment approvals."}},"required":["nodeId","nodeSubType","contentType","message"]},"description":"Editable content items currently waiting for approval."},"workflowReview":{"type":"object","properties":{"nodes":{"type":"array","items":{"type":"object","properties":{"nodeId":{"type":"string"},"nodeSubType":{"type":"string"},"nodeType":{"type":"string","enum":["TRIGGER","CONDITION","ACTION","FLOW"]},"displayLabel":{"type":"string"},"sequence":{"type":"integer","exclusiveMinimum":0},"contentSequence":{"type":"integer","exclusiveMinimum":0},"isContentStep":{"type":"boolean"}},"required":["nodeId","nodeSubType","nodeType","displayLabel","sequence","isContentStep"]}},"edges":{"type":"array","items":{"type":"object","properties":{"sourceNodeId":{"type":"string"},"targetNodeId":{"type":"string"},"branch":{"type":"string","enum":["true","false"]}},"required":["sourceNodeId","targetNodeId"]}}},"required":["nodes","edges"],"description":"Read-only workflow projection for understanding where each content item belongs."}},"required":["workflowInstanceId","campaignId","campaignName","leadId","personId","firstName","lastName","latestStep","pendingContent"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"UpdateCampaignRunMessagesBody":{"type":"object","properties":{"contentItems":{"type":"array","items":{"type":"object","properties":{"nodeId":{"type":"string","minLength":1,"description":"Pending content node ID returned by the content approval payload."},"subject":{"type":"string","maxLength":200,"description":"Optional edited subject for InMail or email content."},"message":{"type":"string","maxLength":8000,"description":"Final rendered message or comment text. JSON \\n line breaks are preserved; unresolved double-brace template variables are rejected by approval validation."},"requestMessage":{"type":"string","maxLength":8000,"description":"Optional final rendered connection-request text. Unresolved double-brace template variables are rejected by approval validation."}},"required":["nodeId","message"],"additionalProperties":false},"minItems":1,"maxItems":25,"description":"Message updates to save while keeping the workflow run waiting for approval."}},"required":["contentItems"],"additionalProperties":false},"CampaignApprovalResultSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"action":{"type":"string","enum":["approved","discarded"],"description":"approved means the workflow run continues; discarded means the workflow run was stopped."},"workflowInstanceId":{"type":"string","description":"Workflow run instance affected by the approval or discard action."},"leadStatus":{"type":"object","properties":{"leadId":{"type":"string"},"workflowStatus":{"type":"string","enum":["pending","waiting","completed","stopped","not_started","not_in_campaign","not_eligible"]},"workflowInstanceId":{"type":"string"},"latestStep":{"type":"string"},"workflowStopReason":{"type":"string","enum":["CONTENT_DISCARDED","WORKFLOW_MANUAL_STOP","CAMPAIGN_MANUAL_STOP","AUTO_CANCELLED_ON_REPLY"]},"hasPendingApproval":{"type":"boolean"}},"required":["leadId","workflowStatus","hasPendingApproval"],"description":"Refreshed campaign-scoped lead status. A discard action returns a stopped workflow status for this instance."}},"required":["action","workflowInstanceId","leadStatus"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"ApproveCampaignRunBody":{"type":"object","properties":{},"default":{},"additionalProperties":false},"ApproveCampaignPendingContentBody":{"type":"object","properties":{"contentItems":{"type":"array","items":{"type":"object","properties":{"nodeId":{"type":"string","minLength":1,"description":"Pending content node ID returned by the content approval payload."},"subject":{"type":"string","maxLength":200,"description":"Optional edited subject for InMail or email content."},"message":{"type":"string","maxLength":8000,"description":"Final rendered message or comment text. JSON \\n line breaks are preserved; unresolved double-brace template variables are rejected by approval validation."},"requestMessage":{"type":"string","maxLength":8000,"description":"Optional final rendered connection-request text. Unresolved double-brace template variables are rejected by approval validation."}},"required":["nodeId","message"],"additionalProperties":false},"minItems":1,"maxItems":25,"description":"Legacy inline message updates to apply before approving and continuing the workflow run."}},"default":{},"additionalProperties":false},"CampaignContentSlotListSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"channel":{"type":"string","enum":["direct_message","inmail"]},"label":{"type":"string"},"position":{"type":"integer","minimum":1},"channelPosition":{"type":"integer","minimum":1},"templateId":{"type":["string","null"]}},"required":["id","channel","label","position","channelPosition","templateId"]}}},"required":["items"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"CampaignContentSlotSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"channel":{"type":"string","enum":["direct_message","inmail"]},"label":{"type":"string"},"position":{"type":"integer","minimum":1},"channelPosition":{"type":"integer","minimum":1},"templateId":{"type":["string","null"]}},"required":["id","channel","label","position","channelPosition","templateId"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"StartedCampaignSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"campaign":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"status":{"type":"string","enum":["draft","active","archived"]},"selectedLeadCount":{"type":"integer","minimum":0},"includeConversationHistory":{"type":"boolean"},"autoCancelOnMessageReceived":{"type":"boolean"},"outreachLanguage":{"type":"string","enum":["en","de"]},"businessHours":{"type":"object","properties":{"window":{"type":"object","properties":{"start":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"},"end":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"}},"required":["start","end"],"additionalProperties":false},"days":{"type":"array","items":{"type":"string","enum":["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]},"minItems":1},"timezone":{"type":"string","minLength":1}},"required":["window","days","timezone"],"additionalProperties":false},"messageHours":{"type":"object","properties":{"window":{"type":"object","properties":{"start":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"},"end":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"}},"required":["start","end"],"additionalProperties":false},"days":{"type":"array","items":{"type":"string","enum":["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]},"minItems":1},"timezone":{"type":"string","minLength":1}},"required":["window","days","timezone"],"additionalProperties":false},"maxRunsPerDay":{"type":"integer","minimum":1,"maximum":40},"createdAt":{"type":["string","null"]},"updatedAt":{"type":["string","null"]},"startedAt":{"type":["string","null"]},"rateLimitedUntil":{"type":["string","null"]}},"required":["id","name","description","status","selectedLeadCount","includeConversationHistory","autoCancelOnMessageReceived","outreachLanguage","businessHours","messageHours","createdAt","updatedAt","startedAt"]},"triggered":{"type":"boolean"},"instancesCreated":{"type":"integer","minimum":0}},"required":["campaign","triggered","instancesCreated"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"StoppedCampaignSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"campaign":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"status":{"type":"string","enum":["draft","active","archived"]},"selectedLeadCount":{"type":"integer","minimum":0},"includeConversationHistory":{"type":"boolean"},"autoCancelOnMessageReceived":{"type":"boolean"},"outreachLanguage":{"type":"string","enum":["en","de"]},"businessHours":{"type":"object","properties":{"window":{"type":"object","properties":{"start":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"},"end":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"}},"required":["start","end"],"additionalProperties":false},"days":{"type":"array","items":{"type":"string","enum":["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]},"minItems":1},"timezone":{"type":"string","minLength":1}},"required":["window","days","timezone"],"additionalProperties":false},"messageHours":{"type":"object","properties":{"window":{"type":"object","properties":{"start":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"},"end":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"}},"required":["start","end"],"additionalProperties":false},"days":{"type":"array","items":{"type":"string","enum":["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]},"minItems":1},"timezone":{"type":"string","minLength":1}},"required":["window","days","timezone"],"additionalProperties":false},"maxRunsPerDay":{"type":"integer","minimum":1,"maximum":40},"createdAt":{"type":["string","null"]},"updatedAt":{"type":["string","null"]},"startedAt":{"type":["string","null"]},"rateLimitedUntil":{"type":["string","null"]}},"required":["id","name","description","status","selectedLeadCount","includeConversationHistory","autoCancelOnMessageReceived","outreachLanguage","businessHours","messageHours","createdAt","updatedAt","startedAt"]},"instancesStopped":{"type":"integer","minimum":0}},"required":["campaign","instancesStopped"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"DeletedSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"deleted":{"type":"boolean","enum":[true]}},"required":["deleted"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"ProspectingJobListSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"jobId":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["prospecting","signal_scan","crm_sync","contact_export"]},"status":{"type":"string","enum":["queued","running","completed","failed","cancelled"]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["jobId","type","status","createdAt","updatedAt"]}},"nextCursor":{"type":["string","null"]},"hasMore":{"type":"boolean"}},"required":["items","nextCursor","hasMore"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"ProspectingJobStartSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"jobId":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["queued","running","completed","failed","cancelled"]},"createdAt":{"type":"string","format":"date-time"}},"required":["jobId","status","createdAt"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"ProspectingQuotaSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"listType":{"type":"string","enum":["LINKEDIN_CLASSIC","LINKEDIN_SALES_NAVIGATOR","POST_COMMENTERS","POST_REACTIONS"]},"quotaType":{"type":"string","enum":["linkedinClassicSearch","salesNavigatorSearch","postCommenters","postReactions"]},"used":{"type":"integer","minimum":0},"limit":{"type":"integer","minimum":0},"remaining":{"type":"integer","minimum":0},"resetAt":{"type":["string","null"],"format":"date-time"},"exhausted":{"type":"boolean"}},"required":["listType","quotaType","used","limit","remaining","resetAt","exhausted"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"ProspectingJobStatusSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"jobId":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["prospecting","signal_scan","crm_sync","contact_export"]},"status":{"type":"string","enum":["queued","running","completed","failed","cancelled"]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"stages":{"type":"object","properties":{"import":{"type":"object","properties":{"status":{"type":"string","enum":["queued","running","completed","failed"]},"progress":{"type":"number"}},"required":["status"]},"enrichment":{"type":"object","properties":{"status":{"type":"string","enum":["queued","running","completed","failed"]},"progress":{"type":"number"}},"required":["status"]}}},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code"]}},"required":["jobId","type","status","createdAt","updatedAt"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"ProspectingJobCancelSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"jobId":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["cancelled"]}},"required":["jobId","status"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"AudienceListSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["linkedin_search","sales_navigator","post_commenters","post_reactions","upload","monitoring","on_demand"]},"description":{"type":"string"},"folderId":{"type":["string","null"]},"prospectCount":{"type":"integer","minimum":0},"createdAt":{"type":["string","null"]}},"required":["id","name","type","prospectCount","createdAt"]}},"nextCursor":{"type":["string","null"]},"hasMore":{"type":"boolean"}},"required":["items","nextCursor","hasMore"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"AudienceSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["linkedin_search","sales_navigator","post_commenters","post_reactions","upload","monitoring","on_demand"]},"description":{"type":"string"},"folderId":{"type":["string","null"]},"prospectCount":{"type":"integer","minimum":0},"createdAt":{"type":["string","null"]}},"required":["id","name","type","prospectCount","createdAt"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"AudienceNavigationSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"folders":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"audienceType":{"type":"string","enum":["on_demand","monitoring"]},"isPinned":{"type":"boolean"},"position":{"type":"integer","minimum":0},"createdAt":{"type":["string","null"]},"updatedAt":{"type":["string","null"]},"audiences":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["linkedin_search","sales_navigator","post_commenters","post_reactions","upload","monitoring","on_demand"]},"description":{"type":"string"},"folderId":{"type":["string","null"]},"prospectCount":{"type":"integer","minimum":0},"createdAt":{"type":["string","null"]}},"required":["id","name","type","prospectCount","createdAt"]}}},"required":["id","name","audienceType","isPinned","position","createdAt","updatedAt","audiences"]}},"ungroupedAudiences":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["linkedin_search","sales_navigator","post_commenters","post_reactions","upload","monitoring","on_demand"]},"description":{"type":"string"},"folderId":{"type":["string","null"]},"prospectCount":{"type":"integer","minimum":0},"createdAt":{"type":["string","null"]}},"required":["id","name","type","prospectCount","createdAt"]}}},"required":["folders","ungroupedAudiences"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"AudienceFolderSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"audienceType":{"type":"string","enum":["on_demand","monitoring"]},"isPinned":{"type":"boolean"},"position":{"type":"integer","minimum":0},"createdAt":{"type":["string","null"]},"updatedAt":{"type":["string","null"]}},"required":["id","name","audienceType","isPinned","position","createdAt","updatedAt"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"AudienceLeadMoveSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"sourceAudience":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["linkedin_search","sales_navigator","post_commenters","post_reactions","upload","monitoring","on_demand"]},"description":{"type":"string"},"folderId":{"type":["string","null"]},"prospectCount":{"type":"integer","minimum":0},"createdAt":{"type":["string","null"]}},"required":["id","name","type","prospectCount","createdAt"]},"targetAudience":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"type":{"type":"string","enum":["linkedin_search","sales_navigator","post_commenters","post_reactions","upload","monitoring","on_demand"]},"description":{"type":"string"},"folderId":{"type":["string","null"]},"prospectCount":{"type":"integer","minimum":0},"createdAt":{"type":["string","null"]}},"required":["id","name","type","prospectCount","createdAt"]},"movedCount":{"type":"integer","minimum":0}},"required":["sourceAudience","targetAudience","movedCount"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"AudienceProspectListSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"firstName":{"type":"string"},"lastName":{"type":"string"},"name":{"type":"string"},"headline":{"type":"string"},"about":{"type":"string"},"photoUrl":{"type":"string","format":"uri"},"linkedinUrl":{"type":"string","format":"uri"},"publicIdentifier":{"type":"string"},"company":{"type":"object","properties":{"name":{"type":"string"},"linkedinIdentifier":{"type":"string"},"linkedinUrl":{"type":"string","format":"uri"},"industry":{"type":"string"},"website":{"type":"string","format":"uri"},"size":{"type":"string"},"location":{"type":"string"},"about":{"type":"string"},"logoUrl":{"type":"string","format":"uri"},"founded":{"type":"string"},"type":{"type":"string"},"specialties":{"type":"string"},"followerCount":{"type":"integer","minimum":0},"tagline":{"type":"string"}}},"title":{"type":"string"},"location":{"type":"object","properties":{"text":{"type":"string"},"countryCode":{"type":"string"}}},"emails":{"type":"array","items":{"type":"object","properties":{"email":{"type":"string","format":"email"},"deliverable":{"type":"boolean"},"qualityScore":{"type":"number"}},"required":["email"]}},"premium":{"type":"boolean"},"isOpenProfile":{"type":"boolean"},"connectionStatus":{"type":"string"},"chatStatus":{"type":"string"}},"required":["id"]}},"nextCursor":{"type":["string","null"]},"hasMore":{"type":"boolean"}},"required":["items","nextCursor","hasMore"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"SignalSpecificationListSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"sources":{"type":"array","items":{"type":"string"}}},"required":["id","name","description","sources"]}},"nextCursor":{"type":["string","null"]},"hasMore":{"type":"boolean"}},"required":["items","nextCursor","hasMore"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"SignalSpecificationSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"sources":{"type":"array","items":{"type":"string"}}},"required":["id","name","description","sources"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"ValuePropositionListSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"values":{"type":"array","items":{"type":"string"}},"challenges":{"type":"array","items":{"type":"string"}},"createdAt":{"type":"string","format":"date-time"}},"required":["id","name","description","values","challenges","createdAt"]}},"nextCursor":{"type":["string","null"]},"hasMore":{"type":"boolean"}},"required":["items","nextCursor","hasMore"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"ValuePropositionSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"values":{"type":"array","items":{"type":"string"}},"challenges":{"type":"array","items":{"type":"string"}},"createdAt":{"type":"string","format":"date-time"}},"required":["id","name","description","values","challenges","createdAt"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"WritingStyleListSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"contentType":{"type":"string","enum":["direct_message","inmail","direct_message_inmail","comment","connection_request"]},"samples":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["signal","basic"]},"message":{"type":"string"},"subject":{"type":"string"},"signalTag":{"type":"string"}},"required":["type","message","subject"]}},"includeRules":{"type":"array","items":{"type":"string"}},"excludeRules":{"type":"array","items":{"type":"string"}},"useStrictTemplate":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","name","description","contentType","samples","includeRules","excludeRules","useStrictTemplate","createdAt"]}},"nextCursor":{"type":["string","null"]},"hasMore":{"type":"boolean"}},"required":["items","nextCursor","hasMore"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"WritingStyleSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"contentType":{"type":"string","enum":["direct_message","inmail","direct_message_inmail","comment","connection_request"]},"samples":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["signal","basic"]},"message":{"type":"string"},"subject":{"type":"string"},"signalTag":{"type":"string"}},"required":["type","message","subject"]}},"includeRules":{"type":"array","items":{"type":"string"}},"excludeRules":{"type":"array","items":{"type":"string"}},"useStrictTemplate":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","name","description","contentType","samples","includeRules","excludeRules","useStrictTemplate","createdAt"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"IcpTemplateFilterOptionsSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"sections":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"label":{"type":"string"},"fields":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"type":{"type":"string","enum":["multi-select","text-list","boolean","select"]},"description":{"type":"string"},"aliases":{"type":"array","items":{"type":"string"}},"options":{"type":"array","items":{"type":"object","properties":{"value":{"type":"string"},"label":{"type":"string"}},"required":["value","label"]}}},"required":["key","label","type"]}}},"required":["id","label","fields"]}}},"required":["sections"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"IcpTemplateListSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"filters":{"type":"object","properties":{"personTitleIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":500,"default":[]},"personTitleExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":500,"default":[]},"personTitleExtraIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"includeSimilarTitles":{"type":"boolean","default":false},"includeTitleVariants":{"type":"boolean"},"seniorityIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":25,"default":[]},"seniorityExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":25,"default":[]},"personFunctionIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"personFunctionExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"functionIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50},"functionExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50},"personFirstNameIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"personFirstNameExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"personLastNameIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"personLastNameExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"personLocationCountryIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":300,"default":[]},"personLocationCountryExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":300,"default":[]},"personLocationStateIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":600,"default":[]},"personLocationStateExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":600,"default":[]},"personLocationCityIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"personLocationCityExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyNameIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyNameExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyNameMatchMode":{"type":"string","enum":["exact","phrase"],"default":"phrase"},"companyDomainIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyDomainExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyDomainMatchMode":{"type":"string","enum":["strict","contains"],"default":"contains"},"companyLocationCountryIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":300,"default":[]},"companyLocationCountryExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":300,"default":[]},"companyLocationStateIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":600,"default":[]},"companyLocationStateExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":600,"default":[]},"companyLocationCityIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyLocationCityExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyEmployeeSizeIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":20,"default":[]},"companyEmployeeSizeExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":20},"companySizeIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":20},"companySizeExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":20},"companyIndustryIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":200,"default":[]},"companyIndustryExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":200,"default":[]},"companyAudienceIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50},"companyKeywordIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyKeywordExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"technologiesIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":100},"annualRevenueIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":25},"totalFundingIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":25},"fundingStageIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":25}}},"source":{"type":"string","enum":["manual","onboarding_ai","template_ai"]},"sourceUrl":{"type":"string"},"createdAt":{"anyOf":[{"type":"string"},{"type":"string","format":"date-time"}]}},"required":["id","name","description","filters","source","createdAt"]}},"nextCursor":{"type":["string","null"]},"hasMore":{"type":"boolean"}},"required":["items","nextCursor","hasMore"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"IcpTemplateSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"filters":{"type":"object","properties":{"personTitleIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":500,"default":[]},"personTitleExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":500,"default":[]},"personTitleExtraIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"includeSimilarTitles":{"type":"boolean","default":false},"includeTitleVariants":{"type":"boolean"},"seniorityIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":25,"default":[]},"seniorityExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":25,"default":[]},"personFunctionIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"personFunctionExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"functionIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50},"functionExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50},"personFirstNameIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"personFirstNameExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"personLastNameIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"personLastNameExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"personLocationCountryIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":300,"default":[]},"personLocationCountryExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":300,"default":[]},"personLocationStateIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":600,"default":[]},"personLocationStateExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":600,"default":[]},"personLocationCityIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"personLocationCityExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyNameIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyNameExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyNameMatchMode":{"type":"string","enum":["exact","phrase"],"default":"phrase"},"companyDomainIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyDomainExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyDomainMatchMode":{"type":"string","enum":["strict","contains"],"default":"contains"},"companyLocationCountryIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":300,"default":[]},"companyLocationCountryExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":300,"default":[]},"companyLocationStateIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":600,"default":[]},"companyLocationStateExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":600,"default":[]},"companyLocationCityIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyLocationCityExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyEmployeeSizeIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":20,"default":[]},"companyEmployeeSizeExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":20},"companySizeIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":20},"companySizeExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":20},"companyIndustryIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":200,"default":[]},"companyIndustryExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":200,"default":[]},"companyAudienceIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50},"companyKeywordIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyKeywordExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"technologiesIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":100},"annualRevenueIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":25},"totalFundingIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":25},"fundingStageIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":25}}},"source":{"type":"string","enum":["manual","onboarding_ai","template_ai"]},"sourceUrl":{"type":"string"},"createdAt":{"anyOf":[{"type":"string"},{"type":"string","format":"date-time"}]}},"required":["id","name","description","filters","source","createdAt"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"SignalScanListSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"scanId":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["prospecting","signal_scan","crm_sync","contact_export"]},"status":{"type":"string","enum":["queued","running","completed","failed","cancelled"]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["scanId","type","status","createdAt","updatedAt"]}},"nextCursor":{"type":["string","null"]},"hasMore":{"type":"boolean"}},"required":["items","nextCursor","hasMore"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"SignalScanStartSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"scanId":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["queued","running","completed","failed","cancelled"]},"createdAt":{"type":"string","format":"date-time"}},"required":["scanId","status","createdAt"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"SignalScanStatusSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"scanId":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["prospecting","signal_scan","crm_sync","contact_export"]},"status":{"type":"string","enum":["queued","running","completed","failed","cancelled"]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}},"required":["scanId","type","status","createdAt","updatedAt"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"SignalScanCancelSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"scanId":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["cancelled"]}},"required":["scanId","status"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"ProviderIdProspectLookupSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"providerId":{"type":"string","minLength":1},"resolution":{"type":"string","enum":["none","single","multiple"]},"matches":{"type":"array","items":{"type":"object","properties":{"prospectId":{"type":"string","minLength":1},"personId":{"type":"string","minLength":1},"publicIdentifier":{"type":["string","null"]},"linkedinUrl":{"type":["string","null"],"format":"uri"},"name":{"type":["string","null"]},"companyName":{"type":["string","null"]},"title":{"type":["string","null"]}},"required":["prospectId"]}}},"required":["providerId","resolution","matches"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"ProspectSignalsSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"prospectId":{"type":"string","minLength":1},"status":{"type":"string","enum":["pending","evaluated"]},"results":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","minLength":1},"items":{"type":"array","items":{"type":"object","properties":{"score":{"type":"number","minimum":1,"maximum":3},"reasoning":{"type":"string"},"summary":{"type":"string"},"title":{"type":"string"},"postedAt":{"type":"string","format":"date-time"},"postLink":{"type":"string","format":"uri"},"totalLikes":{"type":"integer","minimum":0},"totalComments":{"type":"integer","minimum":0},"replySummary":{"type":"string"},"commentedAt":{"type":"string","format":"date-time"},"commentLink":{"type":"string","format":"uri"},"jobUrl":{"type":"string","format":"uri"},"companyName":{"type":"string"},"location":{"type":"string"},"employmentType":{"type":"string"},"seniorityLevel":{"type":"string"},"salary":{"type":"string"},"changeType":{"type":"string"},"oldValue":{"type":"string"},"newValue":{"type":"string"},"detectedAt":{"type":"string","format":"date-time"},"percentageChange":{"type":"number"}},"required":["score"]}},"evaluatedAt":{"type":"string","format":"date-time"}},"required":["type","items"]}},"evaluatedAt":{"type":"string","format":"date-time"}},"required":["prospectId","status","results"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]},"SalesNavigatorListSuccessResponse":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]}}},"required":["items"]},"error":{"type":"null"},"traceId":{"type":"string"}},"required":["success","data","error"]}},"parameters":{}},"paths":{"/v1/accounts/{accountGroupId}/activity":{"get":{"operationId":"activity.list","summary":"List scheduled and executed account activity","description":"Returns a side-effect-free operational log of scheduled and executed outreach actions. The default window covers seven days before and seven days after the request time; explicit `from` and `to` values may cover at most 14 days. Future entries have `provisional: true` and may move when workflow branches, replies, fatigue, business hours, or account limits change. Use `executedAt` with a final `state` to distinguish completed delivery from planning. Results use cursor pagination. Unknown query parameters are rejected with `422 VALIDATION_ERROR`.\n\nRequired API permission: `activity:read`.\nPrerequisites: `integration_api_key`, `account_group_access`.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","format":"date-time","description":"Inclusive ISO 8601 window start. Pair with to for reproducible audits."},"required":false,"description":"Inclusive ISO 8601 window start. Pair with to for reproducible audits.","name":"from","in":"query"},{"schema":{"type":"string","format":"date-time","description":"Exclusive ISO 8601 window end. The effective window may not exceed 14 days."},"required":false,"description":"Exclusive ISO 8601 window end. The effective window may not exceed 14 days.","name":"to","in":"query"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$","description":"Limit activity to one campaign."},"required":false,"description":"Limit activity to one campaign.","name":"campaignId","in":"query"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$","description":"Limit activity to one prospect lead."},"required":false,"description":"Limit activity to one prospect lead.","name":"leadId","in":"query"},{"schema":{"type":"string","enum":["invitation","direct_message","inmail","email","like","comment","profile_view","invitation_withdrawal","wait","condition","sync"],"description":"Limit activity to one normalized action type."},"required":false,"description":"Limit activity to one normalized action type.","name":"type","in":"query"},{"schema":{"type":"string","enum":["queued","scheduled","waiting","processing","succeeded","sent","failed","skipped","rescheduled","cancelled","deferred","rejected"],"description":"Limit activity to one normalized lifecycle state."},"required":false,"description":"Limit activity to one normalized lifecycle state.","name":"state","in":"query"},{"schema":{"type":"string","minLength":1,"description":"Opaque cursor returned as nextCursor."},"required":false,"description":"Opaque cursor returned as nextCursor.","name":"cursor","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":50,"description":"Page size from 1 to 100."},"required":false,"description":"Page size from 1 to 100.","name":"limit","in":"query"}],"responses":{"200":{"description":"Account activity","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityListSuccessResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts":{"get":{"operationId":"accounts.list","summary":"List accounts accessible with this API key","description":"Returns the account groups that the authenticated integration may access. Use the returned id as accountGroupId for account-scoped operations.\n\nAuthentication: a valid integration API key is required.\nPrerequisites: `integration_api_key`.","security":[{"BearerApiKey":[]}],"responses":{"200":{"description":"List of accounts","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountListSuccessResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/messages/responses":{"post":{"operationId":"messages.responses.create","summary":"Queue a scheduled message response","description":"Queues a one-off response through Sonarly's outbound scheduler instead of sending synchronously. The response includes `activityId`, which matches the stable item ID returned by GET /activity for status monitoring. This endpoint only creates scheduled direct-message or InMail replies; it does not edit campaign-generated content, create LinkedIn comments, or send connection-request notes. Pass channel explicitly. Every reply to an existing conversation must use channel=direct_message with the conversationId returned by GET /messages, even when the conversation originally started as InMail; this keeps the response in the existing thread. For an existing prospect, pass prospectId. To answer an inbound-first conversation whose sender is not yet a Sonarly prospect, pass channel=direct_message and conversationId; Sonarly verifies that the conversation belongs to the requested account before scheduling the reply. InMail starts a new conversation and therefore must not include conversationId; it always requires prospectId, channel=inmail, and a subject. When channel is omitted but subject is present, Sonarly treats the response as InMail. The scheduler does not apply a recipient cooldown to replies: when no active outbound request already exists for the same prospect or conversation, Sonarly schedules the next available slot that satisfies business hours, fatigue, daily or weekly limits, and account rate limits. If that first valid slot is more than 72 hours away, the API returns 422 and no message content is queued. Campaign workflow sends continue to use campaign message hours. To edit generated campaign messages, comments, or invite notes, PATCH the campaign workflow-run messages before approval.\n\nRequired API permission: `messages:write`.\nPrerequisites: `integration_api_key`, `account_group_access`.\nIdempotency: send a stable `Idempotency-Key` header when retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","minLength":1,"maxLength":256,"description":"Stable caller-generated key for this exact write. Reuse it when retrying the same request.","example":"request_01JY9B2S6E4Q8K7M3N5R1T0VCP"},"required":true,"name":"Idempotency-Key","in":"header"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"prospectId":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"message":{"type":"string","minLength":1,"maxLength":8000},"channel":{"type":"string","enum":["direct_message","inmail"]},"conversationId":{"type":"string","minLength":1},"subject":{"type":"string","minLength":1,"maxLength":200}},"required":["message"]},"example":{"conversationId":"conversation_01JY9B2S6E4Q8K7M3N5R1T0VCP","channel":"direct_message","message":"Thanks for reaching out. Happy to continue the conversation here."}}}},"responses":{"202":{"description":"Queued or scheduled outbound message response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduledMessageResponseSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict — resource is in a state that prevents this operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/messages":{"get":{"operationId":"messages.list","summary":"List inbox messages across connected accounts or within one conversation","description":"Account-level requests default to status=unanswered and windowDays=30, returning latest conversations that need a response. Pass status=all to include answered conversations, or pass conversationId to read full history for one conversation by default. The returned conversationId can be used to queue a direct reply even when no prospectId exists.\n\nRequired API permission: `messages:read`.\nPrerequisites: `integration_api_key`, `account_group_access`.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string"},"required":false,"name":"cursor","in":"query"},{"schema":{"type":"number","minimum":1,"maximum":100,"default":25},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string","minLength":1},"required":false,"name":"conversationId","in":"query"},{"schema":{"type":"string","enum":["all","unanswered","answered","new"]},"required":false,"name":"status","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":30},"required":false,"name":"windowDays","in":"query"}],"responses":{"200":{"description":"Paginated inbox messages across connected accounts or within one filtered conversation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageListSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/campaigns":{"get":{"operationId":"campaigns.list","summary":"List campaigns for an account group","description":"Lists bounded public campaigns accessible through the integrations API. Provide accountGroupId and optionally limit from 1 to 100; cursor is not supported.\n\nRequired API permission: `campaigns:read`.\nPrerequisites: `integration_api_key`, `account_group_access`.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":100},"required":false,"name":"limit","in":"query"}],"responses":{"200":{"description":"Campaign metadata without workflow definitions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignListSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"operationId":"campaigns.create-from-starter-template","summary":"Create a draft campaign from a curated starter template","description":"Creates a draft campaign from one of Sonarly's bounded starter templates. The request accepts only a public starterTemplateId, campaign name, audienceId, and optional leadIds subset. Workflow nodes, internal identifiers, and raw workflow payloads are always generated server-side.\n\nRequired API permission: `campaigns:write`.\nPrerequisites: `integration_api_key`, `account_group_access`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"starterTemplateId":{"type":"string","enum":["engage-inmail","engage-connect-dm","connect-engage-dm","connect"]},"name":{"type":"string","minLength":2,"maxLength":100},"audienceId":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"leadIds":{"type":"array","items":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"maxItems":2000,"default":[]}},"required":["starterTemplateId","name","audienceId"],"additionalProperties":false}}}},"responses":{"201":{"description":"Created draft campaign metadata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict — resource is in a state that prevents this operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/campaigns/starter-templates":{"get":{"operationId":"campaigns.starter-templates.list","summary":"List curated public starter templates for campaign creation","description":"Returns the bounded public starter-template catalog for campaign creation. The response includes only public metadata and availability, never workflow nodes, graph structure, or internal template implementation details.\n\nRequired API permission: `campaigns:read`.\nPrerequisites: `integration_api_key`, `account_group_access`.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"}],"responses":{"200":{"description":"Starter template catalog","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignStarterTemplateListSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/campaigns/{campaignId}":{"get":{"operationId":"campaigns.get","summary":"Get a single campaign","description":"Returns bounded campaign metadata including the effective business and message schedule. Schedule windows include allowed days, local start and end times, and the IANA timezone used by the scheduler.\n\nRequired API permission: `campaigns:read`.\nPrerequisites: `integration_api_key`, `account_group_access`.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"campaignId","in":"path"}],"responses":{"200":{"description":"Campaign metadata without workflow definitions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"operationId":"campaigns.delete","summary":"Delete a campaign","description":"Deletes a bounded public campaign when the campaign is in a deletable state.\n\nRequired API permission: `campaigns:write`.\nPrerequisites: `integration_api_key`, `account_group_access`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"campaignId","in":"path"}],"responses":{"200":{"description":"Campaign deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict — resource is in a state that prevents this operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/campaigns/{campaignId}/schedule":{"patch":{"operationId":"campaigns.schedule.update","summary":"Update a campaign schedule","description":"Atomically replaces the campaign's business and message schedules and can update the maximum LinkedIn workflow runs per day. Message days must be included in business days, message hours must fit within business hours, and both schedules must use the same IANA timezone. maxRunsPerDay applies when the workflow contains a LinkedIn action and cannot exceed the connected account's tier limit. The response returns the complete effective campaign configuration.\n\nRequired API permission: `campaigns:write`.\nPrerequisites: `integration_api_key`, `account_group_access`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"campaignId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCampaignScheduleBody"},"example":{"businessHours":{"window":{"start":"08:00","end":"17:00"},"days":["Mon","Tue","Wed","Thu","Fri","Sat"],"timezone":"Europe/Berlin"},"messageHours":{"window":{"start":"09:00","end":"14:00"},"days":["Mon","Tue","Wed","Thu","Fri","Sat"],"timezone":"Europe/Berlin"},"maxRunsPerDay":15}}}},"responses":{"200":{"description":"Campaign schedule and optional daily LinkedIn run limit updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/campaigns/content-approvals":{"get":{"operationId":"campaigns.pending-content.list","summary":"List campaign content needing approval","description":"Returns one item per prospect workflow run waiting for approval, including editable `subject`, `message`, and `requestMessage` fields plus a read-only `workflowReview` graph and per-message `reviewContext`. Use one-based `page` and `limit` pagination and inspect `currentPage`, `totalPages`, and `totalItems`; `limit` accepts 1–100. Approval is atomic for the complete pending batch of that one prospect run. Direct messages and InMail use `message` and optional `subject`, connection requests can include `requestMessage`, and comment content includes `postLink` and `postSummary` so reviewers can verify the target. Multiline content is represented as JSON strings with `\\n` line breaks. Unknown query parameters are rejected with `422 VALIDATION_ERROR`.\n\nRequired API permission: `campaigns:read`.\nPrerequisites: `integration_api_key`, `account_group_access`.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":false,"name":"campaignId","in":"query"},{"schema":{"type":"integer","minimum":1,"default":1},"required":false,"name":"page","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":25},"required":false,"name":"limit","in":"query"}],"responses":{"200":{"description":"Pending approval content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignContentApprovalListSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/campaigns/{campaignId}/lead-status":{"get":{"operationId":"campaigns.lead-status.get","summary":"Get campaign workflow status for a specific set of leads","description":"Returns campaign-scoped workflow status for the requested lead IDs, including explicit not-started and not-in-campaign results so callers do not have to infer missing rows.\n\nRequired API permission: `campaigns:read`.\nPrerequisites: `integration_api_key`, `account_group_access`.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"campaignId","in":"path"},{"schema":{"type":"string","minLength":1},"required":true,"name":"leadIds","in":"query"}],"responses":{"200":{"description":"Campaign workflow status for the requested leads","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignLeadStatusListSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/campaigns/{campaignId}/workflow-instances/{workflowInstanceId}/content-approval":{"get":{"operationId":"campaigns.pending-content.get","summary":"Get one campaign content approval","description":"Returns one workflow instance's pending content approval payload. Use the returned `pendingContent[].nodeId` values when updating workflow-run messages. For comments, `postLink` and `postSummary` identify the selected post that the comment would target; for connection requests, `requestMessage` is the editable invite note.\n\nRequired API permission: `campaigns:read`.\nPrerequisites: `integration_api_key`, `account_group_access`.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"campaignId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"workflowInstanceId","in":"path"}],"responses":{"200":{"description":"Pending approval content for one workflow instance","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignContentApprovalSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/campaigns/{campaignId}/workflow-runs/{workflowInstanceId}/approval":{"get":{"operationId":"campaigns.workflow-runs.approval.get","summary":"Get one campaign run approval","description":"Returns one prospect workflow run's complete pending approval payload. Match each `pendingContent[].nodeId` to `workflowReview.nodes[].nodeId`; use `reviewContext` for its human-readable position, such as Initial DM or Follow-up DM 1. Use those node IDs when updating messages. For comments, `postLink` and `postSummary` identify the selected post; for connection requests, `requestMessage` is the editable invite note.\n\nRequired API permission: `campaigns:read`.\nPrerequisites: `integration_api_key`, `account_group_access`.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"campaignId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"workflowInstanceId","in":"path"}],"responses":{"200":{"description":"Pending approval content for one workflow run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignContentApprovalSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/campaigns/{campaignId}/workflow-runs/{workflowInstanceId}/messages":{"patch":{"operationId":"campaigns.workflow-runs.messages.update","summary":"Update campaign run messages","description":"Saves edited messages for one prospect's workflow run while it is waiting for approval. The request may update selected items, but it does not approve, discard, continue, stop, or duplicate the run. Send final rendered text only: unresolved template variables such as `{{ First_name }}` are rejected by approval validation. Use `message` for direct-message, InMail, and comment text, `subject` for InMail or email subject lines, and `requestMessage` for connection-request invite notes. Message and comment text preserves `\\n` line breaks; for comment content, an empty or whitespace-only `message` skips the comment step after approval.\n\nRequired API permission: `campaigns:write`.\nPrerequisites: `integration_api_key`, `account_group_access`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"campaignId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"workflowInstanceId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCampaignRunMessagesBody"},"example":{"contentItems":[{"nodeId":"direct-message-step","subject":"Quick follow-up","message":"Hi Avery,\n\nthanks for sharing your thoughts on outbound workflows. The point about keeping approvals fast stood out to me."},{"nodeId":"connection-request-step","message":"Hi Avery, your post about approval workflows stood out.","requestMessage":"Hi Avery, saw your workflow post and thought it would be useful to connect."},{"nodeId":"comment-on-post","message":"Strong point on keeping approvals close to the campaign context."}]}}}},"responses":{"200":{"description":"Campaign run messages updated; workflow run is still waiting for approval","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignContentApprovalSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict — resource is in a state that prevents this operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/campaigns/{campaignId}/workflow-runs/{workflowInstanceId}/approve":{"post":{"operationId":"campaigns.workflow-runs.approve","summary":"Approve a campaign run","description":"Accepts an empty JSON object, atomically approves every pending content item for one prospect's workflow run, and continues that existing run with the currently saved messages. Individual messages cannot be approved or ignored independently. Approval does not send all follow-ups immediately: waits and branches continue in workflow order. To edit selected messages first, call the workflow-run messages endpoint before approving.\n\nRequired API permission: `campaigns:write`.\nPrerequisites: `integration_api_key`, `account_group_access`.\nIdempotency: send a stable `Idempotency-Key` header when retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"campaignId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"workflowInstanceId","in":"path"},{"schema":{"type":"string","minLength":1,"maxLength":256,"description":"Stable caller-generated key for this exact write. Reuse it when retrying the same request.","example":"request_01JY9B2S6E4Q8K7M3N5R1T0VCP"},"required":true,"name":"Idempotency-Key","in":"header"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApproveCampaignRunBody"},"example":{}}}},"responses":{"200":{"description":"Campaign run approved and workflow status refreshed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignApprovalResultSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict — resource is in a state that prevents this operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/campaigns/{campaignId}/workflow-runs/{workflowInstanceId}/discard":{"post":{"operationId":"campaigns.workflow-runs.discard","summary":"Discard a campaign run","description":"Discards the pending approval by stopping the workflow run for the affected lead. This is terminal for that run: it does not update messages, skip only one content item, or continue the run. To change generated content and continue, update messages first, then approve.\n\nRequired API permission: `campaigns:write`.\nPrerequisites: `integration_api_key`, `account_group_access`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"campaignId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"workflowInstanceId","in":"path"}],"responses":{"200":{"description":"Campaign run discarded, stopped, and workflow status refreshed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignApprovalResultSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict — resource is in a state that prevents this operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/campaigns/{campaignId}/workflow-instances/{workflowInstanceId}/approve":{"post":{"operationId":"campaigns.pending-content.approve","summary":"Approve pending campaign content (legacy)","description":"Legacy route that atomically approves one prospect's campaign-scoped workflow run. When `contentItems` is provided, it must include every unapproved generated item for that run exactly once; partial batches are rejected without continuing the run. New clients should call the workflow-run messages endpoint first, then approve the workflow run.\n\nRequired API permission: `campaigns:write`.\nPrerequisites: `integration_api_key`, `account_group_access`.\nIdempotency: send a stable `Idempotency-Key` header when retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"campaignId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"workflowInstanceId","in":"path"},{"schema":{"type":"string","minLength":1,"maxLength":256,"description":"Stable caller-generated key for this exact write. Reuse it when retrying the same request.","example":"request_01JY9B2S6E4Q8K7M3N5R1T0VCP"},"required":true,"name":"Idempotency-Key","in":"header"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApproveCampaignPendingContentBody"},"example":{"contentItems":[{"nodeId":"direct-message-step","subject":"Quick follow-up","message":"Hi Avery,\n\nthanks for sharing your thoughts on outbound workflows. The point about keeping approvals fast stood out to me."},{"nodeId":"connection-request-step","message":"Hi Avery, your post about approval workflows stood out.","requestMessage":"Hi Avery, saw your workflow post and thought it would be useful to connect."},{"nodeId":"comment-on-post","message":"Strong point on keeping approvals close to the campaign context."}]}}}},"responses":{"200":{"description":"Campaign run approved and workflow status refreshed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignApprovalResultSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict — resource is in a state that prevents this operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/campaigns/{campaignId}/workflow-instances/{workflowInstanceId}/discard":{"post":{"operationId":"campaigns.pending-content.discard","summary":"Discard pending campaign content (legacy)","description":"Legacy route that discards the pending approval by stopping the campaign-scoped workflow run. This is terminal for the affected lead workflow instance: it does not update messages, skip only one content item, or continue the run. To change generated content and continue, call the workflow-run messages endpoint first, then approve the workflow run.\n\nRequired API permission: `campaigns:write`.\nPrerequisites: `integration_api_key`, `account_group_access`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"campaignId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"workflowInstanceId","in":"path"}],"responses":{"200":{"description":"Campaign run discarded, stopped, and workflow status refreshed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignApprovalResultSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict — resource is in a state that prevents this operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/campaigns/{campaignId}/content-slots":{"get":{"operationId":"campaigns.content-slots.list","summary":"List editable campaign content slots without exposing workflow definitions","description":"Lists editable campaign content slots for a bounded public campaign without exposing workflow definitions.\n\nRequired API permission: `campaigns:read`.\nPrerequisites: `integration_api_key`, `account_group_access`.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"campaignId","in":"path"}],"responses":{"200":{"description":"Editable campaign content slots","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignContentSlotListSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/campaigns/{campaignId}/content-slots/{slotId}":{"patch":{"operationId":"campaigns.content-slots.update","summary":"Update the linked template for one editable campaign content slot","description":"Updates the linked template for one editable campaign content slot through the bounded public campaign API.\n\nRequired API permission: `campaigns:write`.\nPrerequisites: `integration_api_key`, `account_group_access`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"campaignId","in":"path"},{"schema":{"type":"string","format":"uuid"},"required":true,"name":"slotId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"templateId":{"type":"string","minLength":1,"maxLength":200}},"required":["templateId"]}}}},"responses":{"200":{"description":"Updated campaign content slot","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignContentSlotSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict — resource is in a state that prevents this operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/campaigns/{campaignId}/duplicate":{"post":{"operationId":"campaigns.duplicate","summary":"Duplicate a campaign into a draft with a target audience and selected leads","description":"This is one of the two supported public campaign-creation flows alongside starter-template creation. The new draft is created by duplicating an existing campaign, optionally renaming it, attaching a required audienceId, and optionally narrowing the duplicate to the provided leadIds subset. The public API does not expose workflow-template lookup, raw workflow payloads, or scratch-built workflow authoring.\n\nRequired API permission: `campaigns:write`.\nPrerequisites: `integration_api_key`, `account_group_access`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"campaignId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":2,"maxLength":100},"audienceId":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"leadIds":{"type":"array","items":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"maxItems":2000,"default":[]}},"required":["audienceId"]}}}},"responses":{"201":{"description":"Duplicated draft campaign metadata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict — resource is in a state that prevents this operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/campaigns/{campaignId}/start":{"post":{"operationId":"campaigns.start","summary":"Start a campaign and trigger manual workflows when required","description":"Starts a bounded public campaign and triggers manual workflows when required.\n\nRequired API permission: `campaigns:write`.\nPrerequisites: `integration_api_key`, `account_group_access`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"campaignId","in":"path"}],"responses":{"200":{"description":"Started campaign metadata and trigger summary","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartedCampaignSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict — resource is in a state that prevents this operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/campaigns/{campaignId}/stop":{"post":{"operationId":"campaigns.stop","summary":"Stop an active campaign","description":"Stops an active bounded public campaign without exposing broader workflow controls.\n\nRequired API permission: `campaigns:write`.\nPrerequisites: `integration_api_key`, `account_group_access`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"campaignId","in":"path"}],"responses":{"200":{"description":"Stopped campaign metadata and instance summary","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoppedCampaignSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict — resource is in a state that prevents this operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/prospecting":{"get":{"operationId":"prospecting.jobs.list","summary":"List prospecting jobs","description":"Lists bounded public prospecting jobs for an account group through the integrations API.\n\nRequired API permission: `prospecting:read`.\nPrerequisites: `integration_api_key`, `account_group_access`.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string"},"required":false,"name":"cursor","in":"query"},{"schema":{"type":"number","minimum":1,"maximum":100,"default":25},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string","enum":["queued","running","completed","failed","cancelled"]},"required":false,"name":"status","in":"query"}],"responses":{"200":{"description":"Paginated prospecting jobs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProspectingJobListSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"operationId":"prospecting.jobs.start","summary":"Start a prospecting job","description":"Starts a bounded public prospecting job for an account group through the integrations API.\n\nRequired API permission: `prospecting:write`.\nPrerequisites: `integration_api_key`, `account_group_access`, `valid_prospecting_request`.\nIdempotency: send a stable `Idempotency-Key` header when retrying this request.\n\nDatabase prospecting replaces the old ICP template import flow. Start jobs here with LinkedIn search, Sales Navigator, post engagement, or URL upload sources.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","minLength":1,"maxLength":256,"description":"Stable caller-generated key for this exact write. Reuse it when retrying the same request.","example":"request_01JY9B2S6E4Q8K7M3N5R1T0VCP"},"required":true,"name":"Idempotency-Key","in":"header"}],"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"searchEmails":{"type":"boolean","default":false},"type":{"type":"string","enum":["linkedin_search"]},"searchUrl":{"type":"string","format":"uri"},"maxResults":{"type":"integer","minimum":50,"maximum":500,"default":500}},"required":["name","type","searchUrl"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"searchEmails":{"type":"boolean","default":false},"type":{"type":"string","enum":["sales_navigator"]},"savedSearchId":{"type":"string","minLength":1},"leadListId":{"type":"string","minLength":1},"maxResults":{"type":"integer","minimum":50,"maximum":2000,"default":500}},"required":["name","type"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"searchEmails":{"type":"boolean","default":false},"type":{"type":"string","enum":["post_commenters"]},"postUrl":{"type":"string","format":"uri"},"maxResults":{"type":"integer","minimum":50,"maximum":1000,"default":500}},"required":["name","type","postUrl"]},{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"searchEmails":{"type":"boolean","default":false},"type":{"type":"string","enum":["post_reactions"]},"postUrl":{"type":"string","format":"uri"},"maxResults":{"type":"integer","minimum":50,"maximum":500,"default":500}},"required":["name","type","postUrl"]},{"type":"object","properties":{"type":{"type":"string","enum":["url_upload"]},"name":{"type":"string","minLength":1,"maxLength":200},"urls":{"type":"array","items":{"type":"string","format":"uri"},"minItems":1,"maxItems":1000},"searchEmails":{"type":"boolean","default":false}},"required":["type","name","urls"]}]},"example":{"type":"linkedin_search","name":"B2B SaaS founder import","searchUrl":"https://www.linkedin.com/search/results/people/?keywords=founder","maxResults":500,"searchEmails":false}}}},"responses":{"200":{"description":"Existing completed prospecting job replayed for the same request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProspectingJobStartSuccessResponse"}}}},"202":{"description":"Job created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProspectingJobStartSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment or credit balance required","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict — resource is in a state that prevents this operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/prospecting/quota":{"get":{"operationId":"prospecting.quota.get","summary":"Get prospecting quota status","description":"Returns current prospecting quota usage for an account group before starting a public job.\n\nRequired API permission: `prospecting:read`.\nPrerequisites: `integration_api_key`, `account_group_access`.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","enum":["LINKEDIN_CLASSIC","LINKEDIN_SALES_NAVIGATOR","POST_COMMENTERS","POST_REACTIONS"],"default":"LINKEDIN_SALES_NAVIGATOR"},"required":false,"name":"listType","in":"query"}],"responses":{"200":{"description":"Prospecting quota status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProspectingQuotaSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/prospecting/{jobId}":{"get":{"operationId":"prospecting.jobs.get","summary":"Get prospecting job status","description":"Returns the current public status for one prospecting job through the integrations API.\n\nRequired API permission: `prospecting:read`.\nPrerequisites: `integration_api_key`, `account_group_access`.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","format":"uuid"},"required":true,"name":"jobId","in":"path"}],"responses":{"200":{"description":"Job status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProspectingJobStatusSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/prospecting/{jobId}/cancel":{"post":{"operationId":"prospecting.jobs.cancel","summary":"Cancel a prospecting job","description":"Cancels a public prospecting job when the job is still in a cancellable status.\n\nRequired API permission: `prospecting:write`.\nPrerequisites: `integration_api_key`, `account_group_access`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","format":"uuid"},"required":true,"name":"jobId","in":"path"}],"responses":{"200":{"description":"Job cancelled","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProspectingJobCancelSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Job is not in a cancellable status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/audiences":{"get":{"operationId":"audiences.list","summary":"List audiences (imported lists)","description":"Returns audiences that are ready for use. Audiences still being populated by an active prospecting job are excluded from the list.\n\nRequired API permission: `audiences:read`.\nPrerequisites: `integration_api_key`, `account_group_access`.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string"},"required":false,"name":"cursor","in":"query"},{"schema":{"type":"number","minimum":1,"maximum":100,"default":25},"required":false,"name":"limit","in":"query"}],"responses":{"200":{"description":"Paginated audiences","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudienceListSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"operationId":"audiences.create","summary":"Create an audience","description":"Creates an audience in the account group.\n\nRequired API permission: `audiences:write`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":2,"maxLength":100},"description":{"type":"string","maxLength":500},"type":{"type":"string","enum":["on_demand","monitoring"]}},"required":["name","type"]}}}},"responses":{"201":{"description":"Audience created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudienceSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Audience cannot be created with the requested configuration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/audiences/navigation":{"get":{"operationId":"audiences.navigation.get","summary":"Get grouped audience navigation","description":"Returns folders with nested audiences plus ungrouped audiences for the selected account group. Audiences still being populated by an active prospecting job are excluded.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"}],"responses":{"200":{"description":"Grouped audience navigation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudienceNavigationSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/audiences/folders":{"post":{"operationId":"audience-folders.create","summary":"Create an audience folder","description":"Creates an audience folder in the account group.\n\nRequired API permission: `audiences:write`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"audienceType":{"type":"string","enum":["on_demand","monitoring"]}},"required":["name","audienceType"]}}}},"responses":{"201":{"description":"Audience folder created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudienceFolderSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/audiences/folders/{folderId}":{"patch":{"operationId":"audience-folders.rename","summary":"Rename an audience folder","description":"Renames an audience folder in the account group.\n\nRequired API permission: `audiences:write`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"folderId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100}},"required":["name"]}}}},"responses":{"200":{"description":"Audience folder updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudienceFolderSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"operationId":"audience-folders.delete","summary":"Delete an audience folder","description":"Deletes an audience folder in the account group.\n\nRequired API permission: `audiences:write`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"folderId","in":"path"}],"responses":{"200":{"description":"Audience folder deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/audiences/{audienceId}":{"get":{"operationId":"audiences.get","summary":"Get a single audience","description":"Returns one ready audience for inspection before a campaign or signal operation.\n\nRequired API permission: `audiences:read`.\nPrerequisites: `integration_api_key`, `account_group_access`.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"audienceId","in":"path"}],"responses":{"200":{"description":"Audience details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudienceSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Audience is still being populated by an active prospecting job (AUDIENCE_NOT_READY)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"operationId":"audiences.update","summary":"Update an audience","description":"Updates audience metadata.\n\nRequired API permission: `audiences:write`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"audienceId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":2,"maxLength":100},"description":{"type":"string","maxLength":500}}}}}},"responses":{"200":{"description":"Audience updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudienceSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Audience is still being populated by an active prospecting job (AUDIENCE_NOT_READY)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Audience update failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"operationId":"audiences.delete","summary":"Delete an audience","description":"Deletes an audience.\n\nRequired API permission: `audiences:write`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"audienceId","in":"path"}],"responses":{"200":{"description":"Audience deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Audience is still being populated by an active prospecting job (AUDIENCE_NOT_READY)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/audiences/{audienceId}/move-leads":{"post":{"operationId":"audiences.leads.move","summary":"Move leads between audiences","description":"Moves leads from one audience to another.\n\nRequired API permission: `audiences:write`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"audienceId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"targetAudienceId":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"leadIds":{"type":"array","items":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"minItems":1}},"required":["targetAudienceId","leadIds"]}}}},"responses":{"200":{"description":"Leads moved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudienceLeadMoveSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"One of the audiences is still being populated by an active prospecting job (AUDIENCE_NOT_READY)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Lead move failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/audiences/{audienceId}/move-to-folder":{"post":{"operationId":"audiences.folder.move-to","summary":"Move an audience into a folder","description":"Moves an audience into a folder.\n\nRequired API permission: `audiences:write`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"audienceId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"folderId":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"}},"required":["folderId"]}}}},"responses":{"200":{"description":"Audience moved into folder","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudienceSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Audience is still being populated by an active prospecting job (AUDIENCE_NOT_READY)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Folder move failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/audiences/{audienceId}/remove-from-folder":{"post":{"operationId":"audiences.folder.remove-from","summary":"Move an audience out of a folder","description":"Removes an audience from its folder.\n\nRequired API permission: `audiences:write`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"audienceId","in":"path"}],"responses":{"200":{"description":"Audience removed from folder","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudienceSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Audience is still being populated by an active prospecting job (AUDIENCE_NOT_READY)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/audiences/{audienceId}/prospects":{"get":{"operationId":"audiences.prospects.list","summary":"List prospects in an audience","description":"Returns public prospect records from one ready audience. Use returned prospect identifiers only within the same account group.\n\nRequired API permission: `prospects:read`.\nPrerequisites: `integration_api_key`, `account_group_access`.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"audienceId","in":"path"},{"schema":{"type":"string"},"required":false,"name":"cursor","in":"query"},{"schema":{"type":"number","minimum":1,"maximum":100,"default":25},"required":false,"name":"limit","in":"query"}],"responses":{"200":{"description":"Paginated prospects","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AudienceProspectListSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Audience is still being populated by an active prospecting job (AUDIENCE_NOT_READY)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/signal-specifications":{"get":{"operationId":"signal-specifications.list","summary":"List signal specifications","description":"Returns reusable signal specifications with cursor pagination for selection before a signal scan.\n\nRequired API permission: `templates:read`.\nPrerequisites: `integration_api_key`, `account_group_access`.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string"},"required":false,"name":"cursor","in":"query"},{"schema":{"type":"number","minimum":1,"maximum":100,"default":25},"required":false,"name":"limit","in":"query"}],"responses":{"200":{"description":"Paginated signal specifications","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignalSpecificationListSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"operationId":"signal-specifications.create","summary":"Create a signal specification","description":"Creates a signal specification template.\n\nRequired API permission: `templates:write`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":2,"maxLength":100},"description":{"type":"string","maxLength":300,"default":""},"useValueProposition":{"type":"boolean","default":false},"valuePropositionIds":{"type":"array","items":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"default":[]},"specifications":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"key":{"type":"string","enum":["company-post"]},"maxAge":{"type":"number","minimum":1},"signals":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"definition":{"type":"string","minLength":1,"maxLength":500}},"required":["id","definition"]},"default":[]},"noiseFilters":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"definition":{"type":"string","minLength":1,"maxLength":500}},"required":["id","definition"]},"default":[]}},"required":["key","maxAge"]},{"type":"object","properties":{"key":{"type":"string","enum":["personal-post"]},"maxAge":{"type":"number","minimum":1},"signals":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"definition":{"type":"string","minLength":1,"maxLength":500}},"required":["id","definition"]},"default":[]},"noiseFilters":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"definition":{"type":"string","minLength":1,"maxLength":500}},"required":["id","definition"]},"default":[]}},"required":["key","maxAge"]},{"type":"object","properties":{"key":{"type":"string","enum":["job-post"]},"maxAge":{"type":"number","minimum":1},"signals":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"definition":{"type":"string","minLength":1,"maxLength":500}},"required":["id","definition"]},"default":[]},"noiseFilters":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"definition":{"type":"string","minLength":1,"maxLength":500}},"required":["id","definition"]},"default":[]},"location":{"type":["string","null"]}},"required":["key","maxAge","location"]},{"type":"object","properties":{"key":{"type":"string","enum":["personal-comment"]},"maxAge":{"type":"number","minimum":1},"signals":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"definition":{"type":"string","minLength":1,"maxLength":500}},"required":["id","definition"]},"default":[]},"noiseFilters":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"definition":{"type":"string","minLength":1,"maxLength":500}},"required":["id","definition"]},"default":[]}},"required":["key","maxAge"]},{"type":"object","properties":{"key":{"type":"string","enum":["company-change"]},"maxAge":{"type":"number","minimum":1},"intents":{"type":"array","items":{"type":"string","enum":["FUNDING","HIRING_SIZE","LOCATIONS","WEBSITE_BRAND","SPECIALTIES","ABOUT_TEXT","FOLLOWERS"]},"minItems":1}},"required":["key","maxAge","intents"]}]},"minItems":1}},"required":["name","specifications"]}}}},"responses":{"201":{"description":"Signal specification created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignalSpecificationSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/signal-specifications/{specificationId}":{"get":{"operationId":"signal-specifications.get","summary":"Get a signal specification","description":"Returns one signal specification for inspection before a signal scan.\n\nRequired API permission: `templates:read`.\nPrerequisites: `integration_api_key`, `account_group_access`.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"specificationId","in":"path"}],"responses":{"200":{"description":"Signal specification details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignalSpecificationSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"operationId":"signal-specifications.update","summary":"Update a signal specification","description":"Updates a signal specification template.\n\nRequired API permission: `templates:write`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"specificationId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":2,"maxLength":100},"description":{"type":"string","maxLength":300},"useValueProposition":{"type":"boolean"},"valuePropositionIds":{"type":"array","items":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"}},"specifications":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"key":{"type":"string","enum":["company-post"]},"maxAge":{"type":"number","minimum":1},"signals":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"definition":{"type":"string","minLength":1,"maxLength":500}},"required":["id","definition"]},"default":[]},"noiseFilters":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"definition":{"type":"string","minLength":1,"maxLength":500}},"required":["id","definition"]},"default":[]}},"required":["key","maxAge"]},{"type":"object","properties":{"key":{"type":"string","enum":["personal-post"]},"maxAge":{"type":"number","minimum":1},"signals":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"definition":{"type":"string","minLength":1,"maxLength":500}},"required":["id","definition"]},"default":[]},"noiseFilters":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"definition":{"type":"string","minLength":1,"maxLength":500}},"required":["id","definition"]},"default":[]}},"required":["key","maxAge"]},{"type":"object","properties":{"key":{"type":"string","enum":["job-post"]},"maxAge":{"type":"number","minimum":1},"signals":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"definition":{"type":"string","minLength":1,"maxLength":500}},"required":["id","definition"]},"default":[]},"noiseFilters":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"definition":{"type":"string","minLength":1,"maxLength":500}},"required":["id","definition"]},"default":[]},"location":{"type":["string","null"]}},"required":["key","maxAge","location"]},{"type":"object","properties":{"key":{"type":"string","enum":["personal-comment"]},"maxAge":{"type":"number","minimum":1},"signals":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"definition":{"type":"string","minLength":1,"maxLength":500}},"required":["id","definition"]},"default":[]},"noiseFilters":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"definition":{"type":"string","minLength":1,"maxLength":500}},"required":["id","definition"]},"default":[]}},"required":["key","maxAge"]},{"type":"object","properties":{"key":{"type":"string","enum":["company-change"]},"maxAge":{"type":"number","minimum":1},"intents":{"type":"array","items":{"type":"string","enum":["FUNDING","HIRING_SIZE","LOCATIONS","WEBSITE_BRAND","SPECIALTIES","ABOUT_TEXT","FOLLOWERS"]},"minItems":1}},"required":["key","maxAge","intents"]}]},"minItems":1}}}}}},"responses":{"200":{"description":"Signal specification updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignalSpecificationSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"operationId":"signal-specifications.delete","summary":"Delete a signal specification","description":"Deletes a signal specification template.\n\nRequired API permission: `templates:write`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"specificationId","in":"path"}],"responses":{"200":{"description":"Signal specification deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/value-propositions":{"get":{"operationId":"value-propositions.list","summary":"List value propositions","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string"},"required":false,"name":"cursor","in":"query"},{"schema":{"type":"number","minimum":1,"maximum":100,"default":25},"required":false,"name":"limit","in":"query"}],"responses":{"200":{"description":"Paginated value propositions","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValuePropositionListSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"operationId":"value-propositions.create","summary":"Create a value proposition","description":"Creates a value proposition template.\n\nRequired API permission: `templates:write`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":2,"maxLength":100},"description":{"type":"string","maxLength":500,"default":""},"values":{"type":"array","items":{"type":"string","minLength":1,"maxLength":100},"maxItems":5,"default":[]},"challenges":{"type":"array","items":{"type":"string","minLength":1,"maxLength":100},"maxItems":5,"default":[]}},"required":["name"]}}}},"responses":{"201":{"description":"Value proposition created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValuePropositionSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/value-propositions/{valuePropositionId}":{"get":{"operationId":"value-propositions.get","summary":"Get a value proposition","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"valuePropositionId","in":"path"}],"responses":{"200":{"description":"Value proposition details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValuePropositionSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"operationId":"value-propositions.update","summary":"Update a value proposition","description":"Updates a value proposition template.\n\nRequired API permission: `templates:write`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"valuePropositionId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":2,"maxLength":100},"description":{"type":"string","maxLength":500},"values":{"type":"array","items":{"type":"string","minLength":1,"maxLength":100},"maxItems":5},"challenges":{"type":"array","items":{"type":"string","minLength":1,"maxLength":100},"maxItems":5}}}}}},"responses":{"200":{"description":"Value proposition updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValuePropositionSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"operationId":"value-propositions.delete","summary":"Delete a value proposition","description":"Deletes a value proposition template.\n\nRequired API permission: `templates:write`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"valuePropositionId","in":"path"}],"responses":{"200":{"description":"Value proposition deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/writing-styles":{"get":{"operationId":"writing-styles.list","summary":"List writing styles","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string"},"required":false,"name":"cursor","in":"query"},{"schema":{"type":"number","minimum":1,"maximum":100,"default":25},"required":false,"name":"limit","in":"query"}],"responses":{"200":{"description":"Paginated writing styles","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WritingStyleListSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"operationId":"writing-styles.create","summary":"Create a writing style","description":"Creates a writing style template. Sample subjects and messages support Spintax such as `{Hi|Hello}` plus profile variables `{{ First_name }}`, `{{ Last_name }}`, `{{ Title }}`, `{{ Company_name }}`, `{{ Location }}`, and `{{ Industry }}`. Signal samples also support `{{ Signal }}` and `{{ Signal_anonym }}`. Sonarly renders these before content approval; workflow-run message updates must contain final text without unresolved variables.\n\nRequired API permission: `templates:write`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":2,"maxLength":100},"description":{"type":"string","maxLength":500,"default":""},"contentType":{"type":"string","enum":["direct_message","inmail","direct_message_inmail","email","comment","connection_request"],"default":"direct_message_inmail"},"samples":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["signal","basic"]},"message":{"type":"string","maxLength":2000,"default":"","description":"Writing-style sample text. Supports Spintax like {Hi|Hello} and documented double-brace profile or signal variables."},"subject":{"type":"string","maxLength":200,"default":"","description":"Optional sample subject. Supports the same Spintax and template variables as message."},"signalTag":{"type":"string","enum":["job","personal_post","company_post","comment","company_change"]}},"required":["type"]},"maxItems":20},"valuePropositionId":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"includeRules":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"default":[]},"excludeRules":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"default":[]},"useStrictTemplate":{"type":"boolean","default":true,"description":"When true, generated outreach follows the writing-style samples as strict templates."}},"required":["name","samples"]},"example":{"name":"Concise founder outreach","description":"Short, specific outreach with deterministic personalization.","contentType":"direct_message_inmail","samples":[{"type":"basic","subject":"{Quick thought|One idea} for {{ Company_name }}","message":"{Hi|Hello} {{ First_name }}, I noticed your work at {{ Company_name }}. Open to compare notes?"},{"type":"signal","subject":"Your recent update","message":"{Hi|Hello} {{ First_name }}, {{ Signal }} stood out to me."}],"includeRules":["Keep the message below 300 characters"],"excludeRules":["Do not use generic praise"],"useStrictTemplate":true}}}},"responses":{"201":{"description":"Writing style created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WritingStyleSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/writing-styles/{writingStyleId}":{"get":{"operationId":"writing-styles.get","summary":"Get a writing style","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"writingStyleId","in":"path"}],"responses":{"200":{"description":"Writing style details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WritingStyleSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"operationId":"writing-styles.update","summary":"Update a writing style","description":"Updates a writing style template. Use `{option one|option two}` for Spintax and double braces for supported profile or signal variables. These template features are rendered before approval and must not be copied unresolved into workflow-run message updates.\n\nRequired API permission: `templates:write`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"writingStyleId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":2,"maxLength":100},"description":{"type":"string","maxLength":500},"contentType":{"type":"string","enum":["direct_message","inmail","direct_message_inmail","email","comment","connection_request"]},"samples":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["signal","basic"]},"message":{"type":"string","maxLength":2000,"default":"","description":"Writing-style sample text. Supports Spintax like {Hi|Hello} and documented double-brace profile or signal variables."},"subject":{"type":"string","maxLength":200,"default":"","description":"Optional sample subject. Supports the same Spintax and template variables as message."},"signalTag":{"type":"string","enum":["job","personal_post","company_post","comment","company_change"]}},"required":["type"]},"maxItems":20},"valuePropositionId":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"includeRules":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"excludeRules":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200}},"useStrictTemplate":{"type":"boolean"}}},"example":{"samples":[{"type":"basic","subject":"{Quick thought|One idea} for {{ Company_name }}","message":"{Hi|Hello} {{ First_name }}, I noticed your work at {{ Company_name }}. Open to compare notes?"},{"type":"signal","subject":"Your recent update","message":"{Hi|Hello} {{ First_name }}, {{ Signal }} stood out to me."}],"useStrictTemplate":true}}}},"responses":{"200":{"description":"Writing style updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WritingStyleSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"operationId":"writing-styles.delete","summary":"Delete a writing style","description":"Deletes a writing style template.\n\nRequired API permission: `templates:write`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"writingStyleId","in":"path"}],"responses":{"200":{"description":"Writing style deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/icp-templates/filter-options":{"get":{"operationId":"icp-templates.filter-options","summary":"List ICP filter options","description":"Returns the global ICP filter fields and curated option values supported by ICP templates.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"}],"responses":{"200":{"description":"ICP filter options","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IcpTemplateFilterOptionsSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/icp-templates":{"get":{"operationId":"icp-templates.list","summary":"List ICP templates","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string"},"required":false,"name":"cursor","in":"query"},{"schema":{"type":"number","minimum":1,"maximum":100,"default":25},"required":false,"name":"limit","in":"query"}],"responses":{"200":{"description":"Paginated ICP templates","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IcpTemplateListSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"operationId":"icp-templates.create","summary":"Create an ICP template","description":"Creates an account-group scoped ICP template that is visible in the dashboard.\n\nRequired API permission: `templates:write`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":2,"maxLength":100},"description":{"type":"string","maxLength":500,"default":""},"filters":{"type":"object","properties":{"personTitleIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":500,"default":[]},"personTitleExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":500,"default":[]},"personTitleExtraIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"includeSimilarTitles":{"type":"boolean","default":false},"includeTitleVariants":{"type":"boolean"},"seniorityIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":25,"default":[]},"seniorityExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":25,"default":[]},"personFunctionIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"personFunctionExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"functionIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50},"functionExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50},"personFirstNameIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"personFirstNameExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"personLastNameIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"personLastNameExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"personLocationCountryIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":300,"default":[]},"personLocationCountryExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":300,"default":[]},"personLocationStateIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":600,"default":[]},"personLocationStateExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":600,"default":[]},"personLocationCityIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"personLocationCityExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyNameIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyNameExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyNameMatchMode":{"type":"string","enum":["exact","phrase"],"default":"phrase"},"companyDomainIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyDomainExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyDomainMatchMode":{"type":"string","enum":["strict","contains"],"default":"contains"},"companyLocationCountryIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":300,"default":[]},"companyLocationCountryExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":300,"default":[]},"companyLocationStateIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":600,"default":[]},"companyLocationStateExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":600,"default":[]},"companyLocationCityIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyLocationCityExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyEmployeeSizeIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":20,"default":[]},"companyEmployeeSizeExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":20},"companySizeIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":20},"companySizeExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":20},"companyIndustryIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":200,"default":[]},"companyIndustryExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":200,"default":[]},"companyAudienceIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50},"companyKeywordIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyKeywordExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"technologiesIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":100},"annualRevenueIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":25},"totalFundingIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":25},"fundingStageIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":25}},"default":{}},"sourceUrl":{"type":"string","maxLength":2048,"format":"uri"}},"required":["name"]},"example":{"name":"B2B SaaS founders","description":"Founder-led B2B SaaS companies that sell to revenue teams and already invest in outbound.","filters":{"personTitleIncludes":["Founder","CEO","Head of Sales"],"companyIndustryIncludes":["Marketing & Advertising","IT Services and IT Consulting"],"companyEmployeeSizeIncludes":["11-50 employees","51-200 employees"],"companyAudienceIncludes":["B2B"],"companyKeywordIncludes":["outbound","sales automation"],"includeSimilarTitles":true},"sourceUrl":"https://sonarly.io"}}}},"responses":{"201":{"description":"ICP template created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IcpTemplateSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/icp-templates/{icpTemplateId}":{"get":{"operationId":"icp-templates.get","summary":"Get an ICP template","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"icpTemplateId","in":"path"}],"responses":{"200":{"description":"ICP template details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IcpTemplateSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"operationId":"icp-templates.update","summary":"Update an ICP template","description":"Updates an ICP template.\n\nRequired API permission: `templates:write`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"icpTemplateId","in":"path"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":2,"maxLength":100},"description":{"type":"string","maxLength":500},"filters":{"type":"object","properties":{"personTitleIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":500,"default":[]},"personTitleExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":500,"default":[]},"personTitleExtraIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"includeSimilarTitles":{"type":"boolean","default":false},"includeTitleVariants":{"type":"boolean"},"seniorityIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":25,"default":[]},"seniorityExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":25,"default":[]},"personFunctionIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"personFunctionExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"functionIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50},"functionExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50},"personFirstNameIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"personFirstNameExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"personLastNameIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"personLastNameExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"personLocationCountryIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":300,"default":[]},"personLocationCountryExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":300,"default":[]},"personLocationStateIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":600,"default":[]},"personLocationStateExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":600,"default":[]},"personLocationCityIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"personLocationCityExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyNameIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyNameExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyNameMatchMode":{"type":"string","enum":["exact","phrase"],"default":"phrase"},"companyDomainIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyDomainExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyDomainMatchMode":{"type":"string","enum":["strict","contains"],"default":"contains"},"companyLocationCountryIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":300,"default":[]},"companyLocationCountryExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":300,"default":[]},"companyLocationStateIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":600,"default":[]},"companyLocationStateExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":600,"default":[]},"companyLocationCityIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyLocationCityExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyEmployeeSizeIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":20,"default":[]},"companyEmployeeSizeExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":20},"companySizeIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":20},"companySizeExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":20},"companyIndustryIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":200,"default":[]},"companyIndustryExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":200,"default":[]},"companyAudienceIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50},"companyKeywordIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"companyKeywordExcludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":50,"default":[]},"technologiesIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":100},"annualRevenueIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":25},"totalFundingIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":25},"fundingStageIncludes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":25}}},"sourceUrl":{"type":"string","maxLength":2048,"format":"uri"}}},"example":{"description":"B2B SaaS companies with active outbound motions and clear founder or revenue-leader ownership.","filters":{"personTitleIncludes":["Founder","CEO","VP Sales"],"companyIndustryIncludes":["Marketing & Advertising"],"companyEmployeeSizeIncludes":["11-50 employees","51-200 employees"],"companyAudienceIncludes":["B2B"],"includeSimilarTitles":true}}}}},"responses":{"200":{"description":"ICP template updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IcpTemplateSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"operationId":"icp-templates.delete","summary":"Delete an ICP template","description":"Deletes an ICP template.\n\nRequired API permission: `templates:write`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"icpTemplateId","in":"path"}],"responses":{"200":{"description":"ICP template deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/signals/scans":{"get":{"operationId":"signals.scan.list","summary":"List signal scans","description":"Lists public signal scans for an account group through the bounded integrations API.\n\nRequired API permission: `signals:read`.\nPrerequisites: `integration_api_key`, `account_group_access`.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string"},"required":false,"name":"cursor","in":"query"},{"schema":{"type":"number","minimum":1,"maximum":100,"default":25},"required":false,"name":"limit","in":"query"},{"schema":{"type":"string","enum":["queued","running","completed","failed","cancelled"]},"required":false,"name":"status","in":"query"}],"responses":{"200":{"description":"Paginated signal scans","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignalScanListSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"operationId":"signals.scan.start","summary":"Start a signal scan","description":"Starts a public signal scan job for an account group through the integrations API.\n\nRequired API permission: `signals:write`.\nPrerequisites: `integration_api_key`, `account_group_access`.\nIdempotency: send a stable `Idempotency-Key` header when retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","minLength":1,"maxLength":256,"description":"Stable caller-generated key for this exact write. Reuse it when retrying the same request.","example":"request_01JY9B2S6E4Q8K7M3N5R1T0VCP"},"required":true,"name":"Idempotency-Key","in":"header"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"signalSpecificationId":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"audienceId":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"prospectIds":{"type":"array","items":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"}}},"required":["signalSpecificationId","audienceId"]}}}},"responses":{"200":{"description":"Existing completed signal scan replayed for the same request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignalScanStartSuccessResponse"}}}},"202":{"description":"Scan started","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignalScanStartSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Conflict — resource is in a state that prevents this operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/signals/scans/{scanId}":{"get":{"operationId":"signals.scan.get","summary":"Get signal scan status","description":"Returns the current public status for one signal scan through the integrations API.\n\nRequired API permission: `signals:read`.\nPrerequisites: `integration_api_key`, `account_group_access`.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","format":"uuid"},"required":true,"name":"scanId","in":"path"}],"responses":{"200":{"description":"Scan status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignalScanStatusSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/signals/scans/{scanId}/cancel":{"post":{"operationId":"signals.scan.cancel","summary":"Cancel a signal scan","description":"Cancels a public signal scan when the scan is still in a cancellable status.\n\nRequired API permission: `signals:write`.\nPrerequisites: `integration_api_key`, `account_group_access`.\nIdempotency: not supported; check the current resource state before retrying this request.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","format":"uuid"},"required":true,"name":"scanId","in":"path"}],"responses":{"200":{"description":"Scan cancelled","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignalScanCancelSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Scan is not in a cancellable status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/prospects/by-provider-id/{providerId}":{"get":{"operationId":"prospects.by-provider-id.get","summary":"Lookup prospects by provider ID","description":"Returns the provider-id lookup result plus any company name and title metadata Sonarly has already stored for the matched prospect.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","minLength":1},"required":true,"name":"providerId","in":"path"}],"responses":{"200":{"description":"Provider ID prospect lookup result with identity, company, and title metadata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderIdProspectLookupSuccessResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/prospects/{prospectId}/signals":{"get":{"operationId":"prospects.signals.get","summary":"Get signal results for a single prospect","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"},{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"prospectId","in":"path"},{"schema":{"type":"integer","minimum":1,"maximum":3},"required":false,"name":"minScore","in":"query"}],"responses":{"200":{"description":"Prospect signal results","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProspectSignalsSuccessResponse"}}}},"400":{"description":"Request validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/sales-navigator/saved-searches":{"get":{"operationId":"sales-navigator.saved-searches.list","summary":"List Sales Navigator saved searches","description":"Returns saved Sales Navigator searches available to the account group for bounded prospecting jobs.\n\nRequired API permission: `prospecting:read`.\nPrerequisites: `integration_api_key`, `account_group_access`.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"}],"responses":{"200":{"description":"Saved searches","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesNavigatorListSuccessResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/accounts/{accountGroupId}/sales-navigator/lead-lists":{"get":{"operationId":"sales-navigator.lead-lists.list","summary":"List Sales Navigator lead lists","description":"Returns Sales Navigator lead lists available to the account group for bounded prospecting jobs.\n\nRequired API permission: `prospecting:read`.\nPrerequisites: `integration_api_key`, `account_group_access`.","security":[{"BearerApiKey":[]}],"parameters":[{"schema":{"type":"string","pattern":"^[a-fA-F0-9]{24}$"},"required":true,"name":"accountGroupId","in":"path"}],"responses":{"200":{"description":"Lead lists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesNavigatorListSuccessResponse"}}}},"401":{"description":"Invalid or missing API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Missing required permission","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"502":{"description":"Upstream service error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}},"webhooks":{}}