{"openapi":"3.1.0","info":{"title":"Leadpoet API","version":"1.0.0","description":"Automate Leadpoet Lead engine, Pipeline and Outreach with a scoped workspace API key. Lead requests are asynchronous research: they reserve workspace credits and usually finish within a day. Guide: https://leadpoet.com/docs/api"},"servers":[{"url":"https://leadpoet.com/api/v1"}],"tags":[{"name":"Discovery"},{"name":"Reference"},{"name":"Account"},{"name":"Lead requests"},{"name":"Company requests"}],"paths":{"/openapi.json":{"get":{"operationId":"getOpenApiDocument","summary":"Retrieve the OpenAPI contract","tags":["Discovery"],"security":[],"responses":{"200":{"description":"The OpenAPI 3.1 contract for the enabled v1 surface.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"Cache-Control":{"$ref":"#/components/headers/CacheControl"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenApiDocument"}}}},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/playbook":{"get":{"operationId":"getPlaybook","summary":"Read Leadpoet's sales playbook","description":"Best practices for ICPs, lead requests, accounts, messaging, campaigns, replies and results, with sources. Read it before planning an ICP, a request or a campaign, or drafting outreach.","tags":["Discovery"],"security":[],"parameters":[{"name":"topic","in":"query","required":false,"description":"Return one topic instead of the whole playbook.","schema":{"type":"string","enum":["target-market","requests","accounts","messaging","campaigns","replies","experiments"]}}],"responses":{"200":{"description":"The playbook, or one topic of it.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"Cache-Control":{"$ref":"#/components/headers/CacheControl"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Playbook"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/me":{"get":{"operationId":"getApiIdentity","summary":"Inspect the current API credential","tags":["Account"],"security":[{"apiKeyAuth":[]}],"responses":{"200":{"description":"The authenticated credential's identity.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiIdentity"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/credits":{"get":{"operationId":"getCredits","summary":"Retrieve the account's credit balance","tags":["Account"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["credits:read"],"responses":{"200":{"description":"Credit balance and plan allocation.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Credits"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"429":{"$ref":"#/components/responses/RateLimited"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/requests":{"post":{"operationId":"createRequest","summary":"Create a lead request","tags":["Lead engine"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["lead_engine:write"],"x-body-scopes":{"recurrence":["outreach:send"]},"x-retry-contract":"header","description":"Starts a lead request: Leadpoet researches companies and contacts that match the targeting and delivers them to Pipeline, usually within a day and up to about three days. Reserves credits. With recurrence, also schedules paid repeats that add contacts to a campaign. Read getPlaybook topic requests first. Including body.recurrence also requires outreach:send. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"supplied_companies":{"type":"array","items":{"type":"object","properties":{"company_name":{"type":"string","minLength":1,"maxLength":240},"domain":{"type":"string","minLength":1,"maxLength":500},"linkedin_url":{"type":"string","minLength":1,"maxLength":500}},"additionalProperties":false},"minItems":1,"maxItems":1000},"recurrence":{"type":"object","properties":{"campaign_id":{"type":"string","format":"uuid"},"cadence":{"type":"string","enum":["daily","weekly"]},"monthly_credit_limit":{"anyOf":[{"type":"integer","minimum":50,"maximum":500000},{"type":"null"}]},"weekday":{"type":"integer","minimum":0,"maximum":6},"local_time":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"},"timezone":{"type":"string","minLength":1,"maxLength":100},"credit_limit":{"type":"integer","minimum":50,"maximum":15250},"include_first_batch":{"type":"boolean"}},"required":["campaign_id","weekday","local_time","timezone","credit_limit"],"additionalProperties":false},"contact_methods":{"type":"object","properties":{"email":{"type":"boolean"},"linkedin":{"type":"boolean"},"phone":{"type":"boolean"}},"required":["email","linkedin","phone"],"additionalProperties":false},"phone_enrichment_included":{"type":"boolean","description":"Copy phone_enrichment_included from GET /requests/contact-settings. Required when contact_methods.phone is true."},"contacts_per_company":{"type":"integer","minimum":1,"maximum":50,"description":"Contacts to deliver per company. Each contact above included_contacts_per_company costs pricing.credits_per_extra_contact per company."},"included_contacts_per_company":{"type":"integer","minimum":1,"maximum":50,"description":"Copy included_contacts_per_company from GET /requests/contact-settings. A stale value returns 409 contact_allowance_changed."},"lead_type":{"type":"string","enum":["high_intent","target_fit"],"default":"high_intent"},"request_description":{"anyOf":[{"type":"string","maxLength":20000},{"type":"null"}]},"product_description":{"anyOf":[{"type":"string","maxLength":20000},{"type":"null"}]},"intent_signals":{"anyOf":[{"type":"string","maxLength":20000},{"type":"null"}]},"signal_profile":{"type":"object","properties":{"schema_version":{"type":"string","const":"icp-signal-profile:v1"},"bindings":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["primary","monitor_only"]},"definition":{"allOf":[{},{"type":"object","properties":{"schema_version":{"type":"string","const":"signal-definition:v1"},"archetype_id":{"type":"string","enum":["capital_ownership","people_hiring","technology","growth_expansion","product_commercial","regulatory_risk","intent_engagement"]},"signal_kind_id":{"type":"string","pattern":"^[a-z][a-z0-9_]{1,63}$"},"signal_kind_version":{"type":"integer","minimum":1,"maximum":1000},"parameters":{"type":"object","additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"array","items":{"type":"string"},"maxItems":20}]}},"max_age_days":{"type":"integer","minimum":1,"maximum":3650}},"required":["schema_version","archetype_id","signal_kind_id","signal_kind_version","parameters","max_age_days"],"additionalProperties":false}]}},"required":["role","definition"],"additionalProperties":false},"maxItems":10}},"required":["schema_version","bindings"],"additionalProperties":false},"max_leads":{"type":"integer","minimum":1,"maximum":500,"default":1,"description":"Number of companies. A paid request takes 10 to 50; a supplied list uses its own length, which must also be 10 to 50 distinct companies, and the free-lead offer takes 1."},"countries":{"type":"array","items":{"type":"string"},"default":[],"description":"Full country names, for example \"United States\"."},"states":{"type":"array","items":{"type":"string"},"default":[]},"cities":{"type":"array","items":{"type":"string"},"default":[]},"company_sizes":{"type":"array","items":{"type":"string"},"default":[],"description":"App size labels: \"<10 employees\", \"10–50 employees\", \"50–200 employees\", \"200–500 employees\", \"500–1,000 employees\", \"1,000–5,000 employees\", \"5,000–10,000 employees\" or \"10,000+ employees\"."},"filters":{"type":"object","additionalProperties":{},"default":{}},"credit_budget":{"type":"integer","minimum":10,"maximum":15250,"description":"With contacts_per_company, the exact total for a paid request: max_leads × (credits_per_company + credits_per_extra_contact × extra contacts per company + credits_per_mobile_contact × contacts_per_company when contact_methods.phone is true), from GET /requests/contact-settings pricing. Example: 10 companies with 2 contacts each and 1 included cost 150 credits. Without contacts_per_company, credit_budget / 10 sets the number of companies. A paid request needs at least 10 companies (100 credits with included contacts); a supplied list is priced by its length. A paid request must leave at least 100 credits, or less than its own price per company (the company plus its extra contacts and mobile numbers). The free-lead offer instead sends funding_source \"free_lead_promotion\", free_lead_entitlement_id, max_leads 1 and credit_budget 10."},"funding_source":{"type":"string","const":"free_lead_promotion"},"free_lead_entitlement_id":{"type":"string","format":"uuid"},"require_phone":{"type":"boolean","default":false},"requested_roles":{"type":"array","items":{"type":"string"},"default":[]},"natural_language_query":{"anyOf":[{"type":"string","maxLength":20000},{"type":"null"}]},"naturalLanguageQuery":{"anyOf":[{"type":"string","maxLength":20000},{"type":"null"}]},"icp_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"saved_product":{"type":"object","properties":{"product_id":{"type":"string","format":"uuid"},"version_id":{"type":"string","format":"uuid"}},"required":["product_id","version_id"],"additionalProperties":false},"icp_name":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"query_details":{"anyOf":[{"type":"object","additionalProperties":{}},{"type":"null"}]},"queryDetails":{"anyOf":[{"type":"object","additionalProperties":{}},{"type":"null"}]},"website_scan_application":{"type":"object","properties":{"scan_id":{"type":"string","format":"uuid"},"product_id":{"type":"string","pattern":"^[0-9a-f]{20}$"},"reviewed":{"type":"boolean"},"segment_id":{"type":"string","pattern":"^[0-9a-f]{20}$"}},"required":["scan_id","product_id"],"additionalProperties":false}},"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"success":{"type":"boolean"},"query_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"query_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"icp_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"company_card_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"credits_remaining":{"type":"number"},"progress":{"type":"object","properties":{"state":{"type":"string","enum":["working","ready","failed","archived"]},"message":{"type":"string"},"check_again_after_seconds":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}]}},"required":["state","message","check_again_after_seconds"],"additionalProperties":false}},"required":["success","query_ids","company_card_ids"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"success":{"type":"boolean"},"query_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"query_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"icp_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"company_card_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"credits_remaining":{"type":"number"},"progress":{"type":"object","properties":{"state":{"type":"string","enum":["working","ready","failed","archived"]},"message":{"type":"string"},"check_again_after_seconds":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}]}},"required":["state","message","check_again_after_seconds"],"additionalProperties":false}},"required":["success","query_ids","company_card_ids"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"success":{"type":"boolean"},"query_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"query_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"icp_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"company_card_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"credits_remaining":{"type":"number"},"progress":{"type":"object","properties":{"state":{"type":"string","enum":["working","ready","failed","archived"]},"message":{"type":"string"},"check_again_after_seconds":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}]}},"required":["state","message","check_again_after_seconds"],"additionalProperties":false}},"required":["success","query_ids","company_card_ids"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}},"get":{"operationId":"listRequests","summary":"List lead requests","tags":["Lead engine"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["lead_engine:read"],"x-retry-contract":"none","x-pagination":{"kind":"page","parameter":"page","limit":"limit","items":"queries","total":"total","maximumLimit":100},"description":"Lists the workspace's lead requests, newest first, with status, targeting, delivered counts and progress. Paged by page and limit. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"maximum":100000,"default":1}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}}],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"queries":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["pending","processing","ready","completed","error","failed"]},"icp_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"icp_profile_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"company_card_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"parent_request_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"superseded_by_request_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"request_kind":{"type":["string","null"]},"lead_type":{"type":["string","null"]},"request_description":{"type":["string","null"]},"product_description":{"type":["string","null"]},"intent_signals":{"type":["string","null"]},"natural_language_query":{"type":["string","null"]},"max_leads":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]},"requested_company_count":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]},"companies_delivered":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]},"requested_contact_count":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]},"approved_extra_companies":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]},"countries":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"states":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"cities":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"company_sizes":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"requested_roles":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"supplied_companies":{"type":"array","items":{"type":"object","properties":{"company_name":{"type":"string","minLength":1,"maxLength":240},"domain":{"type":"string","minLength":1,"maxLength":500},"linkedin_url":{"type":"string","minLength":1,"maxLength":500}},"additionalProperties":false},"minItems":1,"maxItems":1000},"source":{"type":["string","null"]},"external_id":{"type":["string","null"]},"created_at":{"type":["string","null"]},"completed_at":{"type":["string","null"]},"archived_at":{"type":["string","null"]},"error_message":{"anyOf":[{"type":"string","const":"Request failed. Review this request in Lead engine."},{"type":"null"}]},"progress":{"type":"object","properties":{"state":{"type":"string","enum":["working","ready","failed","archived"]},"message":{"type":"string"},"check_again_after_seconds":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}]}},"required":["state","message","check_again_after_seconds"],"additionalProperties":false}},"required":["id","status","error_message","progress"],"additionalProperties":false}},"total":{"type":"integer","minimum":0}},"required":["queries","total"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/requests/contact-settings":{"get":{"operationId":"getContactAllowance","summary":"Get contact allowance","tags":["Lead engine"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["lead_engine:read"],"x-retry-contract":"none","description":"Returns how many contacts per company a lead request includes and whether phone enrichment is included. Use it to price a lead request. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"included_contacts_per_company":{"type":"integer","description":"Contacts per company included in the company price."},"phone_enrichment_included":{"type":"boolean","description":"True when your plan includes mobile numbers."},"pricing":{"type":"object","properties":{"credits_per_company":{"type":"integer"},"credits_per_extra_contact":{"type":"integer","description":"Per company, for each contact above included_contacts_per_company."},"credits_per_mobile_contact":{"type":"integer","description":"Per requested contact when contact_methods.phone is true; 0 when mobile numbers are included."},"min_companies":{"type":"integer"},"max_companies":{"type":"integer"},"max_contacts_per_company":{"type":"integer"}},"required":["credits_per_company","credits_per_extra_contact","credits_per_mobile_contact","min_companies","max_companies","max_contacts_per_company"],"additionalProperties":true,"description":"Unit prices for computing createRequest credit_budget."}},"required":["included_contacts_per_company","phone_enrichment_included","pricing"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/requests/{id}":{"get":{"operationId":"getRequest","summary":"Get a lead request","tags":["Lead engine"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["lead_engine:read"],"x-retry-contract":"none","description":"Returns one lead request with its status, targeting, delivered counts and progress. Finished results are in Pipeline. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["pending","processing","ready","completed","error","failed"]},"icp_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"icp_profile_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"company_card_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"parent_request_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"superseded_by_request_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"request_kind":{"type":["string","null"]},"lead_type":{"type":["string","null"]},"request_description":{"type":["string","null"]},"product_description":{"type":["string","null"]},"intent_signals":{"type":["string","null"]},"natural_language_query":{"type":["string","null"]},"max_leads":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]},"requested_company_count":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]},"companies_delivered":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]},"requested_contact_count":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]},"approved_extra_companies":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]},"countries":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"states":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"cities":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"company_sizes":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"requested_roles":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"supplied_companies":{"type":"array","items":{"type":"object","properties":{"company_name":{"type":"string","minLength":1,"maxLength":240},"domain":{"type":"string","minLength":1,"maxLength":500},"linkedin_url":{"type":"string","minLength":1,"maxLength":500}},"additionalProperties":false},"minItems":1,"maxItems":1000},"source":{"type":["string","null"]},"external_id":{"type":["string","null"]},"created_at":{"type":["string","null"]},"completed_at":{"type":["string","null"]},"archived_at":{"type":["string","null"]},"error_message":{"anyOf":[{"type":"string","const":"Request failed. Review this request in Lead engine."},{"type":"null"}]},"progress":{"type":"object","properties":{"state":{"type":"string","enum":["working","ready","failed","archived"]},"message":{"type":"string"},"check_again_after_seconds":{"anyOf":[{"type":"integer","exclusiveMinimum":0},{"type":"null"}]}},"required":["state","message","check_again_after_seconds"],"additionalProperties":false}},"required":["id","status","error_message","progress"],"additionalProperties":false},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/pipeline":{"get":{"operationId":"getPipeline","summary":"Get the company pipeline","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:read"],"x-retry-contract":"none","x-pagination":{"kind":"cursor","parameter":"cursor","limit":"limit","next":"pagination.next_cursor","items":"cards","maximumLimit":100,"scope":"icp_id","optIn":"limit","legacy":"snapshot"},"description":"Returns company cards and their contacts in the selected ICP scope. MCP defaults to 25 compact company summaries. Follow pagination.next_cursor to read more. Use card_id and projection full for one company’s public details. REST calls without paging options retain the full snapshot. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"icp_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"array","items":{"type":"string","format":"uuid"},"minItems":1,"maxItems":100}]}},{"name":"pipeline_scope","in":"query","required":false,"schema":{"type":"string","const":"saved"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"description":"Opt into a page of company cards. MCP defaults to 25; follow pagination.next_cursor for more."}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[A-Za-z0-9_-]+$"}},{"name":"projection","in":"query","required":false,"schema":{"type":"string","enum":["summary","full"],"description":"Paged reads default to summary. Use full with card_id to fetch a company's public details."}},{"name":"card_id","in":"query","required":false,"schema":{"type":"string","format":"uuid","description":"Fetch one company by its returned card ID, within the selected ICP scope."}}],"x-query-schema":{"type":"object","properties":{"icp_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"array","items":{"type":"string","format":"uuid"},"minItems":1,"maxItems":100}]},"pipeline_scope":{"type":"string","const":"saved"},"limit":{"type":"integer","minimum":1,"maximum":100,"description":"Opt into a page of company cards. MCP defaults to 25; follow pagination.next_cursor for more."},"cursor":{"type":"string","minLength":1,"maxLength":512,"pattern":"^[A-Za-z0-9_-]+$"},"projection":{"type":"string","enum":["summary","full"],"description":"Paged reads default to summary. Use full with card_id to fetch a company's public details."},"card_id":{"type":"string","format":"uuid","description":"Fetch one company by its returned card ID, within the selected ICP scope."}},"additionalProperties":false,"if":{"properties":{"pipeline_scope":{"const":"saved"}},"required":["pipeline_scope"]},"else":{"properties":{"icp_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"array","maxItems":20}]}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"enabled":{"type":"boolean"},"selected_icp_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"selected_icp_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"config_version":{"type":["number","null"]},"icps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":["string","null"]},"is_default":{"type":["boolean","null"]},"status":{"type":["string","null"]},"current_profile_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"archived_at":{"type":["string","null"]}},"required":["id"],"additionalProperties":false}},"stages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"icp_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"name":{"type":["string","null"]},"system_key":{"type":["string","null"]},"lifecycle_category":{"type":["string","null"]},"position":{"type":["number","null"]},"is_system":{"type":["boolean","null"]},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"archived_at":{"type":["string","null"]}},"required":["id"],"additionalProperties":false}},"cards":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"icp_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"query_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"source_request_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"stage_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"status":{"type":["string","null"]},"position":{"type":["number","null"]},"pinned":{"type":["boolean","null"]},"company_name":{"type":["string","null"]},"company_domain":{"type":["string","null"]},"website":{"type":["string","null"]},"company_linkedin":{"type":["string","null"]},"industry":{"type":["string","null"]},"sub_industry":{"type":["string","null"]},"hq_city":{"type":["string","null"]},"hq_state":{"type":["string","null"]},"hq_country":{"type":["string","null"]},"employee_count":{"type":["string","null"]},"description":{"type":["string","null"]},"icp_details":{"type":["string","null"]},"stage_effective_date":{"type":["string","null"]},"stage_change_source":{"type":["string","null"]},"automation_paused":{"type":["boolean","null"]},"sales_motion":{"type":["string","null"]},"nurture_review_date":{"type":["string","null"]},"notes":{"type":["string","null"]},"owner":{"type":["string","null"]},"expected_close_date":{"type":["string","null"]},"deal_value":{"type":["string","null"]},"currency":{"type":["string","null"]},"loss_reason":{"type":["string","null"]},"loss_subreason":{"type":["string","null"]},"loss_reason_note":{"type":["string","null"]},"win_reason":{"type":["string","null"]},"win_subreason":{"type":["string","null"]},"win_reason_note":{"type":["string","null"]},"follow_up_date":{"type":["string","null"]},"converted_at":{"type":["string","null"]},"source_detected_channel":{"type":["string","null"]},"source_detected_reference_type":{"type":["string","null"]},"source_detected_reference_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"source_detected_reference_label":{"type":["string","null"]},"source_channel":{"type":["string","null"]},"source_reference_type":{"type":["string","null"]},"source_reference_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"source_reference_label":{"type":["string","null"]},"source_override_active":{"type":["boolean","null"]},"source_override_note":{"type":["string","null"]},"source_attribution_updated_at":{"type":["string","null"]},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"archived_at":{"type":["string","null"]}},"required":["id"],"additionalProperties":false}},"contacts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"query_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"stage_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"company_card_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"is_primary_contact":{"type":["boolean","null"]},"contact_position":{"type":["number","null"]},"contact_source":{"type":["string","null"]},"enriched_at":{"type":["string","null"]},"privacy_deleted_at":{"type":["string","null"]},"name":{"type":["string","null"]},"email":{"type":["string","null"]},"role":{"type":["string","null"]},"company":{"type":["string","null"]},"linkedin":{"type":["string","null"]},"website":{"type":["string","null"]},"company_linkedin":{"type":["string","null"]},"industry":{"type":["string","null"]},"sub_industry":{"type":["string","null"]},"city":{"type":["string","null"]},"state":{"type":["string","null"]},"country":{"type":["string","null"]},"hq_state":{"type":["string","null"]},"hq_country":{"type":["string","null"]},"employee_count":{"type":["string","null"]},"description":{"type":["string","null"]},"icp_details":{"type":["string","null"]},"intent_score":{"type":["number","null"]},"notes_revision":{"type":["number","null"]},"position":{"type":["number","null"]},"pinned":{"type":["boolean","null"]},"phone":{"type":["string","null"]},"instagram":{"type":["string","null"]},"crm_push_status":{"type":["string","null"]},"crm_last_push_at":{"type":["string","null"]},"notes":{"type":["string","null"]},"owner":{"type":["string","null"]},"expected_close_date":{"type":["string","null"]},"deal_value":{"type":["string","null"]},"currency":{"type":["string","null"]},"loss_reason":{"type":["string","null"]},"loss_subreason":{"type":["string","null"]},"loss_reason_note":{"type":["string","null"]},"win_reason":{"type":["string","null"]},"win_subreason":{"type":["string","null"]},"win_reason_note":{"type":["string","null"]},"follow_up_date":{"type":["string","null"]},"converted_at":{"type":["string","null"]},"created_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]},"archived_at":{"type":["string","null"]}},"required":["id"],"additionalProperties":false}},"requests":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["pending","processing","ready","completed","error","failed"]},"icp_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"icp_profile_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"company_card_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"parent_request_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"superseded_by_request_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"request_kind":{"type":["string","null"]},"lead_type":{"type":["string","null"]},"request_description":{"type":["string","null"]},"product_description":{"type":["string","null"]},"intent_signals":{"type":["string","null"]},"natural_language_query":{"type":["string","null"]},"max_leads":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]},"requested_company_count":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]},"companies_delivered":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]},"requested_contact_count":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]},"approved_extra_companies":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]},"countries":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"states":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"cities":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"company_sizes":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"requested_roles":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}]},"supplied_companies":{"type":"array","items":{"type":"object","properties":{"company_name":{"type":"string","minLength":1,"maxLength":240},"domain":{"type":"string","minLength":1,"maxLength":500},"linkedin_url":{"type":"string","minLength":1,"maxLength":500}},"additionalProperties":false},"minItems":1,"maxItems":1000},"source":{"type":["string","null"]},"external_id":{"type":["string","null"]},"created_at":{"type":["string","null"]},"completed_at":{"type":["string","null"]},"archived_at":{"type":["string","null"]}},"required":["id","status"],"additionalProperties":false}},"account_pipeline_compatibility":{"type":"object","additionalProperties":{}},"deal_summaries":{"type":"array","items":{"type":"object","additionalProperties":{}}},"projection":{"type":"string","enum":["summary","full"]},"pagination":{"type":"object","properties":{"limit":{"type":"integer"},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["limit","has_more","next_cursor"],"additionalProperties":false}},"required":["enabled","icps","stages","cards","contacts","requests"],"additionalProperties":false},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/pipeline/companies/{id}":{"patch":{"operationId":"updateCompany","summary":"Update a company in the pipeline","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:write"],"x-retry-contract":"state","description":"Changes a company card's stage, pin, notes, owner, deal value, currency, expected close date or automation pause. With expected_stage_id it fails if the card moved since it was read. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"stage_id":{"type":"string","format":"uuid"},"expected_stage_id":{"type":"string","format":"uuid"},"stage_effective_date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"automation_paused":{"type":"boolean"},"sales_motion":{"type":"string","enum":["active","nurture","none"]},"nurture_review_date":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"pinned":{"type":"boolean"},"notes":{"anyOf":[{"type":"string","maxLength":20000},{"type":"null"}]},"deal_value":{"anyOf":[{"type":"number","minimum":0,"maximum":999999999999.99},{"type":"null"}]},"currency":{"type":"string","enum":["USD","EUR","GBP","CAD","AUD","JPY","CHF","CNY","INR","BRL"]},"expected_close_date":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"owner":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}]},"loss_reason":{"anyOf":[{"type":"string","minLength":1,"maxLength":120},{"type":"null"}]},"loss_subreason":{"anyOf":[{"type":"string","minLength":1,"maxLength":120},{"type":"null"}]},"loss_reason_note":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"win_reason":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"win_subreason":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"win_reason_note":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"follow_up_date":{"type":["string","null"]}},"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/pipeline/contact-enrichment/readiness":{"get":{"operationId":"getContactReadiness","summary":"Check contact enrichment availability","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:read"],"x-retry-contract":"none","description":"Reports whether requesting more contacts at a pipeline company is available for this account, with a reason when it is not. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/pipeline/companies/{id}/contact-requests":{"post":{"operationId":"requestContacts","summary":"Find more contacts at a company","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:write"],"x-retry-contract":"header","description":"Queues research to find 1-10 contacts matching a role group or titles at a pipeline company. Reserves 5 credits per contact; undelivered contacts are refunded. getContactReadiness shows whether it is available for this account. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"role_group":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}]},"exact_title":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"title_any_of":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"minItems":1,"maxItems":8},"quantity":{"type":"integer","minimum":1,"maximum":10,"default":1},"include_phone":{"type":"boolean","default":false},"require_phone":{"type":"boolean","default":false},"require_email":{"type":"boolean","const":true,"default":true}},"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/pipeline/companies/{cardId}/contact-requests/{requestId}":{"get":{"operationId":"getContactRequest","summary":"Get a contact request's status","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:read"],"x-retry-contract":"none","description":"Returns the status of one contact request for a company: requested and approved contact counts, credits reserved, finalized or refunded, and any failure reason. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"cardId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"requestId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/pipeline/companies/{cardId}/contact-requests/latest":{"get":{"operationId":"getLatestContactRequest","summary":"Get a company's latest contact request","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:read"],"x-retry-contract":"none","description":"Returns the status of the most recent contact request for a company, or null if there is none. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"cardId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/icps":{"get":{"operationId":"listIcps","summary":"List ICPs","tags":["Lead engine"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["lead_engine:read"],"x-retry-contract":"none","description":"Lists the workspace's active ICPs, starting with its built-in Primary Market ICP, with their current published version and a short targeting summary. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"profiles":{"type":"array","items":{"type":"object","additionalProperties":{}}}},"required":["profiles"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}},"post":{"operationId":"createManualIcp","summary":"Create an ICP from a full profile","tags":["Lead engine"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["lead_engine:write"],"x-retry-contract":"header","description":"Creates a new ICP from a full profile: product context, company fit, buyer groups, problems, signals and outreach guidance. It is saved as an unpublished draft. Read getPlaybook topic target-market first. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"definition":{"type":"object","properties":{"schema_version":{"type":"number","const":1},"product_context":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":240},"summary":{"type":"string","minLength":1,"maxLength":2000},"website_url":{"type":"string","format":"uri","maxLength":2048},"facts":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string","minLength":20,"maxLength":300},"source_url":{"type":"string","format":"uri","maxLength":2000}},"required":["text","source_url"],"additionalProperties":false},"maxItems":3}},"additionalProperties":false},"company_fit":{"type":"object","properties":{"description":{"type":"string","minLength":1,"maxLength":500},"location_selection":{"type":"object","properties":{"countries":{"type":"array","items":{"type":"string","minLength":1,"maxLength":3},"maxItems":250},"states":{"type":"array","items":{"type":"string","minLength":1,"maxLength":100},"maxItems":100},"cities":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":100}},"required":["countries","states","cities"],"additionalProperties":false},"required":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20},"preferred":{"type":"array","items":{"type":"string","minLength":1,"maxLength":500},"maxItems":20},"excluded":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20},"geographies":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":500},"industries":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20},"company_sizes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20},"attributes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20}},"required":["required","preferred","excluded","geographies","industries","company_sizes","attributes"],"additionalProperties":false},"buyer_groups":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","minLength":1,"maxLength":240},"functions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":10},"seniorities":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":10},"example_titles":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20},"buying_influence":{"type":"string","enum":["champion","economic_buyer","decision_maker","influencer","user","unknown"]}},"required":["role","functions","seniorities","example_titles","buying_influence"],"additionalProperties":false},"maxItems":12},"problems":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":20},"desired_outcomes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":20},"objections":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":20},"qualification_signal_requests":{"type":"array","items":{"type":"object","properties":{"signal":{"type":"string","minLength":1,"maxLength":2000},"category":{"type":"string","minLength":1,"maxLength":80},"max_age_days":{"type":"integer","minimum":1,"maximum":3650}},"required":["signal"],"additionalProperties":false},"maxItems":20},"monitor_signal_templates":{"type":"array","items":{"type":"object","properties":{"signal":{"type":"string","minLength":1,"maxLength":2000},"category":{"type":"string","minLength":1,"maxLength":80},"max_age_days":{"type":"integer","minimum":1,"maximum":3650}},"required":["signal"],"additionalProperties":false},"maxItems":10},"outreach_guidance":{"type":"object","properties":{"value_themes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12},"personalization_cues":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12},"prohibited_angles":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12},"supported_cta_types":{"type":"array","items":{"type":"string","enum":["question","resource","referral","meeting","trial","other"]},"maxItems":6},"message_style":{"type":"object","properties":{"formality":{"type":"string","enum":["formal","balanced","conversational"]},"approach":{"type":"string","enum":["direct","balanced","consultative"]},"detail":{"type":"string","enum":["short","balanced","explanatory"]},"technical_language":{"type":"string","enum":["avoid","allow","prefer"]},"warmth":{"type":"string","enum":["low","medium","high"]},"confidence":{"type":"string","enum":["restrained","balanced","assertive"]},"punctuation":{"type":"string","enum":["restrained","standard","expressive"]},"formatting":{"type":"string","enum":["plain_text","short_paragraphs","bullets"]},"email_subject_style":{"type":"string","enum":["plain","topic","question","name_drop"]},"locale":{"type":"string","pattern":"^[a-z]{2,3}(?:-[A-Z]{2})?$"},"language":{"type":"string","minLength":1,"maxLength":240},"preferred_phrases":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":30,"default":[]},"prohibited_phrases":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":30,"default":[]},"positive_examples":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12,"default":[]},"negative_examples":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12,"default":[]}},"additionalProperties":false}},"required":["value_themes","personalization_cues","prohibited_angles","supported_cta_types"],"additionalProperties":false}},"required":["schema_version","product_context","company_fit","buyer_groups","problems","desired_outcomes","objections","qualification_signal_requests","monitor_signal_templates","outreach_guidance"],"additionalProperties":false},"source":{"type":"string","enum":["manual","current_form"],"default":"manual"}},"required":["name","definition"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"icp":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"},"name":{"type":"string"},"is_default":{"type":"boolean"},"current_profile_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"archived_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]}},"required":["id","user_id","name","is_default"],"additionalProperties":true},"draft":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"icp_id":{"type":"string","format":"uuid"},"state":{"type":"string","enum":["draft","published"]},"version_number":{"anyOf":[{"type":"integer"},{"type":"null"}]},"draft_revision":{"type":"integer","description":"Send as expected_revision to updateIcpDraft and expected_draft_revision to publishIcp."},"storage_schema_version":{"type":"integer","description":"2 means the draft saves targeting only: update it with schema_version 2, company_fit and buyer_groups."},"definition":{"type":"object","additionalProperties":{}}},"required":["id","icp_id","state","version_number","draft_revision","definition"],"additionalProperties":true}},"required":["icp","draft"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"icp":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"},"name":{"type":"string"},"is_default":{"type":"boolean"},"current_profile_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"archived_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]}},"required":["id","user_id","name","is_default"],"additionalProperties":true},"draft":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"icp_id":{"type":"string","format":"uuid"},"state":{"type":"string","enum":["draft","published"]},"version_number":{"anyOf":[{"type":"integer"},{"type":"null"}]},"draft_revision":{"type":"integer","description":"Send as expected_revision to updateIcpDraft and expected_draft_revision to publishIcp."},"storage_schema_version":{"type":"integer","description":"2 means the draft saves targeting only: update it with schema_version 2, company_fit and buyer_groups."},"definition":{"type":"object","additionalProperties":{}}},"required":["id","icp_id","state","version_number","draft_revision","definition"],"additionalProperties":true}},"required":["icp","draft"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"icp":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"},"name":{"type":"string"},"is_default":{"type":"boolean"},"current_profile_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"archived_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]}},"required":["id","user_id","name","is_default"],"additionalProperties":true},"draft":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"icp_id":{"type":"string","format":"uuid"},"state":{"type":"string","enum":["draft","published"]},"version_number":{"anyOf":[{"type":"integer"},{"type":"null"}]},"draft_revision":{"type":"integer","description":"Send as expected_revision to updateIcpDraft and expected_draft_revision to publishIcp."},"storage_schema_version":{"type":"integer","description":"2 means the draft saves targeting only: update it with schema_version 2, company_fit and buyer_groups."},"definition":{"type":"object","additionalProperties":{}}},"required":["id","icp_id","state","version_number","draft_revision","definition"],"additionalProperties":true}},"required":["icp","draft"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/icps/audiences":{"post":{"operationId":"createIcp","summary":"Create an ICP","tags":["Lead engine"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["lead_engine:write"],"x-retry-contract":"header","description":"Creates a new ICP from targeting only (company fit and buyer groups). It is saved as an unpublished draft until publishIcp publishes it. Read getPlaybook topic target-market first. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"definition":{"type":"object","properties":{"company_fit":{"type":"object","properties":{"description":{"type":"string","minLength":1,"maxLength":500},"location_selection":{"type":"object","properties":{"countries":{"type":"array","items":{"type":"string","minLength":1,"maxLength":3},"maxItems":250},"states":{"type":"array","items":{"type":"string","minLength":1,"maxLength":100},"maxItems":100},"cities":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":100}},"required":["countries","states","cities"],"additionalProperties":false},"required":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20},"preferred":{"type":"array","items":{"type":"string","minLength":1,"maxLength":500},"maxItems":20},"excluded":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20},"geographies":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":500},"industries":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20},"company_sizes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20},"attributes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20}},"required":["required","preferred","excluded","geographies","industries","company_sizes","attributes"],"additionalProperties":false},"buyer_groups":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","minLength":1,"maxLength":240},"functions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":10},"seniorities":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":10},"example_titles":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20},"buying_influence":{"type":"string","enum":["champion","economic_buyer","decision_maker","influencer","user","unknown"]}},"required":["role","functions","seniorities","example_titles","buying_influence"],"additionalProperties":false},"maxItems":12},"schema_version":{"type":"number","const":2},"contact_methods":{"type":"object","properties":{"email":{"type":"boolean"},"linkedin":{"type":"boolean"},"phone":{"type":"boolean"}},"required":["email","linkedin","phone"],"additionalProperties":false}},"required":["company_fit","buyer_groups","schema_version"],"additionalProperties":false}},"required":["name","definition"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"icp":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"},"name":{"type":"string"},"is_default":{"type":"boolean"},"current_profile_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"archived_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]}},"required":["id","user_id","name","is_default"],"additionalProperties":true},"draft":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"icp_id":{"type":"string","format":"uuid"},"state":{"type":"string","enum":["draft","published"]},"version_number":{"anyOf":[{"type":"integer"},{"type":"null"}]},"draft_revision":{"type":"integer","description":"Send as expected_revision to updateIcpDraft and expected_draft_revision to publishIcp."},"storage_schema_version":{"type":"integer","description":"2 means the draft saves targeting only: update it with schema_version 2, company_fit and buyer_groups."},"definition":{"type":"object","additionalProperties":{}}},"required":["id","icp_id","state","version_number","draft_revision","definition"],"additionalProperties":true}},"required":["icp","draft"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"icp":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"},"name":{"type":"string"},"is_default":{"type":"boolean"},"current_profile_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"archived_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]}},"required":["id","user_id","name","is_default"],"additionalProperties":true},"draft":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"icp_id":{"type":"string","format":"uuid"},"state":{"type":"string","enum":["draft","published"]},"version_number":{"anyOf":[{"type":"integer"},{"type":"null"}]},"draft_revision":{"type":"integer","description":"Send as expected_revision to updateIcpDraft and expected_draft_revision to publishIcp."},"storage_schema_version":{"type":"integer","description":"2 means the draft saves targeting only: update it with schema_version 2, company_fit and buyer_groups."},"definition":{"type":"object","additionalProperties":{}}},"required":["id","icp_id","state","version_number","draft_revision","definition"],"additionalProperties":true}},"required":["icp","draft"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"icp":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"},"name":{"type":"string"},"is_default":{"type":"boolean"},"current_profile_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"archived_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]}},"required":["id","user_id","name","is_default"],"additionalProperties":true},"draft":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"icp_id":{"type":"string","format":"uuid"},"state":{"type":"string","enum":["draft","published"]},"version_number":{"anyOf":[{"type":"integer"},{"type":"null"}]},"draft_revision":{"type":"integer","description":"Send as expected_revision to updateIcpDraft and expected_draft_revision to publishIcp."},"storage_schema_version":{"type":"integer","description":"2 means the draft saves targeting only: update it with schema_version 2, company_fit and buyer_groups."},"definition":{"type":"object","additionalProperties":{}}},"required":["id","icp_id","state","version_number","draft_revision","definition"],"additionalProperties":true}},"required":["icp","draft"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/icps/{icpId}":{"get":{"operationId":"getIcp","summary":"Get an ICP","tags":["Lead engine"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["lead_engine:read"],"x-retry-contract":"none","description":"Returns one ICP with its current published version and any unpublished draft, including the draft revision that edits and publishing require. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"icpId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"icp":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"user_id":{"type":"string","format":"uuid"},"name":{"type":"string"},"is_default":{"type":"boolean"},"current_profile_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"archived_at":{"type":["string","null"]},"updated_at":{"type":["string","null"]}},"required":["id","user_id","name","is_default"],"additionalProperties":true},"current_version":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"icp_id":{"type":"string","format":"uuid"},"state":{"type":"string","enum":["draft","published"]},"version_number":{"anyOf":[{"type":"integer"},{"type":"null"}]},"draft_revision":{"type":"integer","description":"Send as expected_revision to updateIcpDraft and expected_draft_revision to publishIcp."},"storage_schema_version":{"type":"integer","description":"2 means the draft saves targeting only: update it with schema_version 2, company_fit and buyer_groups."},"definition":{"type":"object","additionalProperties":{}}},"required":["id","icp_id","state","version_number","draft_revision","definition"],"additionalProperties":true},{"type":"null"}]},"draft":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"icp_id":{"type":"string","format":"uuid"},"state":{"type":"string","enum":["draft","published"]},"version_number":{"anyOf":[{"type":"integer"},{"type":"null"}]},"draft_revision":{"type":"integer","description":"Send as expected_revision to updateIcpDraft and expected_draft_revision to publishIcp."},"storage_schema_version":{"type":"integer","description":"2 means the draft saves targeting only: update it with schema_version 2, company_fit and buyer_groups."},"definition":{"type":"object","additionalProperties":{}}},"required":["id","icp_id","state","version_number","draft_revision","definition"],"additionalProperties":true},{"type":"null"}]}},"required":["icp","current_version","draft"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/icps/{icpId}/versions":{"get":{"operationId":"listIcpVersions","summary":"List ICP versions","tags":["Lead engine"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["lead_engine:read"],"x-retry-contract":"none","description":"Lists an ICP's published versions, newest first. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"icpId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"versions":{"type":"array","items":{"type":"object","additionalProperties":{}}}},"required":["versions"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/icps/{icpId}/draft":{"post":{"operationId":"createIcpDraft","summary":"Create an ICP draft","tags":["Lead engine"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["lead_engine:write"],"x-retry-contract":"none","description":"Creates an editable draft of an ICP from its current published version. Returns the existing draft if one is already open. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"icpId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"draft":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"icp_id":{"type":"string","format":"uuid"},"state":{"type":"string","enum":["draft","published"]},"version_number":{"anyOf":[{"type":"integer"},{"type":"null"}]},"draft_revision":{"type":"integer","description":"Send as expected_revision to updateIcpDraft and expected_draft_revision to publishIcp."},"storage_schema_version":{"type":"integer","description":"2 means the draft saves targeting only: update it with schema_version 2, company_fit and buyer_groups."},"definition":{"type":"object","additionalProperties":{}}},"required":["id","icp_id","state","version_number","draft_revision","definition"],"additionalProperties":true}},"required":["draft"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"draft":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"icp_id":{"type":"string","format":"uuid"},"state":{"type":"string","enum":["draft","published"]},"version_number":{"anyOf":[{"type":"integer"},{"type":"null"}]},"draft_revision":{"type":"integer","description":"Send as expected_revision to updateIcpDraft and expected_draft_revision to publishIcp."},"storage_schema_version":{"type":"integer","description":"2 means the draft saves targeting only: update it with schema_version 2, company_fit and buyer_groups."},"definition":{"type":"object","additionalProperties":{}}},"required":["id","icp_id","state","version_number","draft_revision","definition"],"additionalProperties":true}},"required":["draft"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"draft":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"icp_id":{"type":"string","format":"uuid"},"state":{"type":"string","enum":["draft","published"]},"version_number":{"anyOf":[{"type":"integer"},{"type":"null"}]},"draft_revision":{"type":"integer","description":"Send as expected_revision to updateIcpDraft and expected_draft_revision to publishIcp."},"storage_schema_version":{"type":"integer","description":"2 means the draft saves targeting only: update it with schema_version 2, company_fit and buyer_groups."},"definition":{"type":"object","additionalProperties":{}}},"required":["id","icp_id","state","version_number","draft_revision","definition"],"additionalProperties":true}},"required":["draft"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/icps/{icpId}/drafts/{draftId}":{"patch":{"operationId":"updateIcpDraft","summary":"Update an ICP draft","tags":["Lead engine"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["lead_engine:write"],"x-retry-contract":"state","description":"Saves a new name or definition to an ICP's unpublished draft, checked against the draft revision. The published version is unchanged until publishIcp. Read getPlaybook topic target-market first. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"icpId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"draftId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"expected_revision":{"type":"integer","minimum":1},"name":{"type":"string","minLength":1,"maxLength":120},"definition":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"number","const":1},"product_context":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":240},"summary":{"type":"string","minLength":1,"maxLength":2000},"website_url":{"type":"string","format":"uri","maxLength":2048},"facts":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string","minLength":20,"maxLength":300},"source_url":{"type":"string","format":"uri","maxLength":2000}},"required":["text","source_url"],"additionalProperties":false},"maxItems":3}},"additionalProperties":false},"company_fit":{"type":"object","properties":{"description":{"type":"string","minLength":1,"maxLength":500},"location_selection":{"type":"object","properties":{"countries":{"type":"array","items":{"type":"string","minLength":1,"maxLength":3},"maxItems":250},"states":{"type":"array","items":{"type":"string","minLength":1,"maxLength":100},"maxItems":100},"cities":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":100}},"required":["countries","states","cities"],"additionalProperties":false},"required":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20},"preferred":{"type":"array","items":{"type":"string","minLength":1,"maxLength":500},"maxItems":20},"excluded":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20},"geographies":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":500},"industries":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20},"company_sizes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20},"attributes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20}},"required":["required","preferred","excluded","geographies","industries","company_sizes","attributes"],"additionalProperties":false},"buyer_groups":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","minLength":1,"maxLength":240},"functions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":10},"seniorities":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":10},"example_titles":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20},"buying_influence":{"type":"string","enum":["champion","economic_buyer","decision_maker","influencer","user","unknown"]}},"required":["role","functions","seniorities","example_titles","buying_influence"],"additionalProperties":false},"maxItems":12},"problems":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":20},"desired_outcomes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":20},"objections":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":20},"qualification_signal_requests":{"type":"array","items":{"type":"object","properties":{"signal":{"type":"string","minLength":1,"maxLength":2000},"category":{"type":"string","minLength":1,"maxLength":80},"max_age_days":{"type":"integer","minimum":1,"maximum":3650}},"required":["signal"],"additionalProperties":false},"maxItems":20},"monitor_signal_templates":{"type":"array","items":{"type":"object","properties":{"signal":{"type":"string","minLength":1,"maxLength":2000},"category":{"type":"string","minLength":1,"maxLength":80},"max_age_days":{"type":"integer","minimum":1,"maximum":3650}},"required":["signal"],"additionalProperties":false},"maxItems":10},"outreach_guidance":{"type":"object","properties":{"value_themes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12},"personalization_cues":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12},"prohibited_angles":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12},"supported_cta_types":{"type":"array","items":{"type":"string","enum":["question","resource","referral","meeting","trial","other"]},"maxItems":6},"message_style":{"type":"object","properties":{"formality":{"type":"string","enum":["formal","balanced","conversational"]},"approach":{"type":"string","enum":["direct","balanced","consultative"]},"detail":{"type":"string","enum":["short","balanced","explanatory"]},"technical_language":{"type":"string","enum":["avoid","allow","prefer"]},"warmth":{"type":"string","enum":["low","medium","high"]},"confidence":{"type":"string","enum":["restrained","balanced","assertive"]},"punctuation":{"type":"string","enum":["restrained","standard","expressive"]},"formatting":{"type":"string","enum":["plain_text","short_paragraphs","bullets"]},"email_subject_style":{"type":"string","enum":["plain","topic","question","name_drop"]},"locale":{"type":"string","pattern":"^[a-z]{2,3}(?:-[A-Z]{2})?$"},"language":{"type":"string","minLength":1,"maxLength":240},"preferred_phrases":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":30,"default":[]},"prohibited_phrases":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":30,"default":[]},"positive_examples":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12,"default":[]},"negative_examples":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12,"default":[]}},"additionalProperties":false}},"required":["value_themes","personalization_cues","prohibited_angles","supported_cta_types"],"additionalProperties":false},"contact_methods":{"type":"object","properties":{"email":{"type":"boolean"},"linkedin":{"type":"boolean"},"phone":{"type":"boolean"}},"required":["email","linkedin","phone"],"additionalProperties":false}},"required":["schema_version","product_context","company_fit","buyer_groups","problems","desired_outcomes","objections","qualification_signal_requests","monitor_signal_templates","outreach_guidance"],"additionalProperties":false},{"type":"object","properties":{"company_fit":{"type":"object","properties":{"description":{"type":"string","minLength":1,"maxLength":500},"location_selection":{"type":"object","properties":{"countries":{"type":"array","items":{"type":"string","minLength":1,"maxLength":3},"maxItems":250},"states":{"type":"array","items":{"type":"string","minLength":1,"maxLength":100},"maxItems":100},"cities":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":100}},"required":["countries","states","cities"],"additionalProperties":false},"required":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20},"preferred":{"type":"array","items":{"type":"string","minLength":1,"maxLength":500},"maxItems":20},"excluded":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20},"geographies":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":500},"industries":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20},"company_sizes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20},"attributes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20}},"required":["required","preferred","excluded","geographies","industries","company_sizes","attributes"],"additionalProperties":false},"buyer_groups":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","minLength":1,"maxLength":240},"functions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":10},"seniorities":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":10},"example_titles":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20},"buying_influence":{"type":"string","enum":["champion","economic_buyer","decision_maker","influencer","user","unknown"]}},"required":["role","functions","seniorities","example_titles","buying_influence"],"additionalProperties":false},"maxItems":12},"schema_version":{"type":"number","const":2},"contact_methods":{"type":"object","properties":{"email":{"type":"boolean"},"linkedin":{"type":"boolean"},"phone":{"type":"boolean"}},"required":["email","linkedin","phone"],"additionalProperties":false}},"required":["company_fit","buyer_groups","schema_version"],"additionalProperties":false}]}},"required":["expected_revision"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"draft":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"icp_id":{"type":"string","format":"uuid"},"state":{"type":"string","enum":["draft","published"]},"version_number":{"anyOf":[{"type":"integer"},{"type":"null"}]},"draft_revision":{"type":"integer","description":"Send as expected_revision to updateIcpDraft and expected_draft_revision to publishIcp."},"storage_schema_version":{"type":"integer","description":"2 means the draft saves targeting only: update it with schema_version 2, company_fit and buyer_groups."},"definition":{"type":"object","additionalProperties":{}}},"required":["id","icp_id","state","version_number","draft_revision","definition"],"additionalProperties":true}},"required":["draft"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/icps/{icpId}/drafts/{draftId}/publish":{"post":{"operationId":"publishIcp","summary":"Publish an ICP draft","tags":["Lead engine"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["lead_engine:write"],"x-retry-contract":"header","description":"Publishes an ICP draft as the ICP's new current version. With publish_linked_drafts, a new ICP's linked Product drafts are published too. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"icpId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"draftId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"publish_linked_drafts":{"type":"boolean"},"expected_current_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"expected_draft_revision":{"type":"integer","minimum":1}},"required":["expected_draft_revision"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"icp_id":{"type":"string","format":"uuid"},"draft_id":{"type":"string","format":"uuid"},"version_number":{"type":"integer"},"profile_version_id":{"type":"string","format":"uuid","description":"The published version; it becomes current_profile_version_id."}},"additionalProperties":true},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"icp_id":{"type":"string","format":"uuid"},"draft_id":{"type":"string","format":"uuid"},"version_number":{"type":"integer"},"profile_version_id":{"type":"string","format":"uuid","description":"The published version; it becomes current_profile_version_id."}},"additionalProperties":true},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"icp_id":{"type":"string","format":"uuid"},"draft_id":{"type":"string","format":"uuid"},"version_number":{"type":"integer"},"profile_version_id":{"type":"string","format":"uuid","description":"The published version; it becomes current_profile_version_id."}},"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/icps/{icpId}/archive":{"post":{"operationId":"archiveIcp","summary":"Archive an ICP","tags":["Lead engine"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["lead_engine:write"],"x-retry-contract":"header","description":"Archives an ICP (shown as delete in the app). It leaves ICP lists and its records are kept. The Primary Market ICP cannot be archived. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"icpId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"anyOf":[{"not":{}},{"type":"object","properties":{"reason":{"type":["string","null"],"description":"Optional audit reason; whitespace is trimmed and the first 500 characters are saved."}},"additionalProperties":false}]}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/pipeline/contacts":{"get":{"operationId":"listPipelineContacts","summary":"List pipeline contacts","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:read"],"x-retry-contract":"none","description":"Lists contacts on the contact pipeline for one or more ICPs, with stages, company, outreach status and reply and meeting counts. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"icp_id","in":"query","required":true,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"array","items":{"type":"string","format":"uuid"},"minItems":1,"maxItems":20}]}}],"x-query-schema":{"type":"object","properties":{"icp_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"array","items":{"type":"string","format":"uuid"},"minItems":1,"maxItems":20}]}},"required":["icp_id"],"additionalProperties":false},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"pipeline":{"anyOf":[{"type":"object","additionalProperties":{}},{"type":"null"}]},"stages":{"type":"array","items":{"type":"object","additionalProperties":{}}},"engagements":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Engagement ID used by pinContact and moveContact."},"lead_id":{"type":"string","format":"uuid"},"company_card_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"stage_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"pinned":{"type":"boolean"}},"required":["id","lead_id","company_card_id","stage_id","pinned"],"additionalProperties":true}}},"required":["pipeline","stages","engagements"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/pipeline/contacts/{engagementId}/stage":{"patch":{"operationId":"moveContact","summary":"Move a contact to a stage","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:write"],"x-retry-contract":"body","description":"Moves one contact to another stage. Moving into a qualified stage creates or reuses a deal for its company and returns an undo receipt. A connected HubSpot receives the new stage on contacts Leadpoet created. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"engagementId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to_stage_id":{"type":"string","format":"uuid"},"expected_stage_id":{"type":"string","format":"uuid"},"expected_revision":{"type":"integer","minimum":0},"position":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]},"target_entity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"placement":{"type":"string","enum":["before","after","end"]}},"required":["to_stage_id","expected_stage_id","expected_revision"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/pipeline/contacts/{engagementId}/pin":{"patch":{"operationId":"pinContact","summary":"Pin or unpin a contact","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:write"],"x-retry-contract":"state","description":"Pins or unpins a contact on the contact pipeline board. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"engagementId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"pinned":{"type":"boolean"}},"required":["pinned"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"engagement":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"pinned":{"type":"boolean"},"stage_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"updated_at":{"type":"string"}},"required":["id","pinned","stage_id","updated_at"],"additionalProperties":true}},"required":["engagement"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/pipeline/deals":{"get":{"operationId":"listDeals","summary":"List pipeline deals","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:read"],"x-retry-contract":"none","description":"Lists active or archived deals with their pipeline and stages, optionally for selected ICPs. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"icp_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"array","items":{"type":"string","format":"uuid"},"minItems":1,"maxItems":20}]}},{"name":"visibility","in":"query","required":false,"schema":{"type":"string","enum":["active","archived"]}}],"x-query-schema":{"type":"object","properties":{"icp_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"array","items":{"type":"string","format":"uuid"},"minItems":1,"maxItems":20}]},"visibility":{"type":"string","enum":["active","archived"]}},"additionalProperties":false},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/pipeline/companies/{cardId}/deals":{"post":{"operationId":"createDeal","summary":"Create a deal for a company","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:write"],"x-retry-contract":"header","description":"Adds a new manual deal to a pipeline company with name, type, status, amount, currency, dates and owner. Reusing an Idempotency-Key returns the existing deal. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"cardId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":160},"deal_type":{"type":"string","enum":["new_business","renewal","upsell","cross_sell","services","other"],"default":"other"},"status":{"type":"string","enum":["open","won","lost"],"default":"open"},"amount_native":{"anyOf":[{"type":"number","minimum":0,"maximum":999999999999.9999},{"type":"null"}],"default":null},"currency":{"type":"string","pattern":"^[A-Z]{3}$","default":"USD"},"close_date":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"default":null},"expected_close_date":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}],"default":null},"owner_name":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"default":null},"loss_reason":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"loss_subreason":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"loss_reason_note":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"loss_follow_up_date":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"win_reason":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"win_subreason":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"win_reason_note":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]}},"required":["name"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}},"get":{"operationId":"listCompanyDeals","summary":"List a company's deals","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:read"],"x-retry-contract":"none","description":"Lists the active deals on one pipeline company, with its deal summary. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"cardId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/pipeline/deals/{dealId}":{"patch":{"operationId":"updateDeal","summary":"Update a deal","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:write"],"x-retry-contract":"state","description":"Edits a deal's name, type, status, amount, dates, owner or outcome reasons, or archives or restores it. Deals synced from a CRM are read-only except outcome reasons on closed deals. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"dealId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":160},"deal_type":{"type":"string","enum":["new_business","renewal","upsell","cross_sell","services","other"]},"status":{"type":"string","enum":["open","won","lost"]},"amount_native":{"anyOf":[{"type":"number","minimum":0,"maximum":999999999999.9999},{"type":"null"}]},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"close_date":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"expected_close_date":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"owner_name":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"loss_reason":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"loss_subreason":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"loss_reason_note":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"loss_follow_up_date":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"win_reason":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"win_subreason":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"win_reason_note":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"archived":{"type":"boolean"}},"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/pipeline/deals/{dealId}/stage":{"patch":{"operationId":"moveDeal","summary":"Move a deal to a stage","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:write"],"x-retry-contract":"body","description":"Moves one deal to another stage. Moving to a won or lost stage closes it and needs a close date and any required outcome reasons. Deals synced from a CRM cannot be moved. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"dealId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to_stage_id":{"type":"string","format":"uuid"},"expected_stage_id":{"type":"string","format":"uuid"},"expected_revision":{"type":"integer","minimum":0},"position":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]},"close_date":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"loss_reason":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"loss_subreason":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"loss_reason_note":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"loss_follow_up_date":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"win_reason":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"win_subreason":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"win_reason_note":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"target_entity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"placement":{"type":"string","enum":["before","after","end"]}},"required":["to_stage_id","expected_stage_id","expected_revision"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/pipeline/configuration":{"get":{"operationId":"getPipelineConfiguration","summary":"Get pipeline stage configuration","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:read"],"x-retry-contract":"none","description":"Returns the stages, stage categories and milestone mappings of the account, contact or deal pipeline. The account pipeline needs an ICP ID. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"entity","in":"query","required":true,"schema":{"type":"string","enum":["account","contact","deal"]}},{"name":"icp_id","in":"query","required":false,"schema":{"type":"string","format":"uuid","description":"Required when entity is account."}},{"name":"pipeline_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}}],"x-query-schema":{"type":"object","properties":{"entity":{"type":"string","enum":["account","contact","deal"]},"icp_id":{"type":"string","format":"uuid","description":"Required when entity is account."},"pipeline_id":{"type":"string","format":"uuid"}},"required":["entity"],"additionalProperties":false,"if":{"properties":{"entity":{"const":"account"}},"required":["entity"]},"then":{"required":["icp_id"]}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/pipeline/companies/{cardId}/notes":{"get":{"operationId":"listCompanyNotes","summary":"List notes on a company record","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:read"],"x-retry-contract":"none","description":"Lists notes on a company, or on one of its contacts or deals, newest first, up to 50 per page. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"cardId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"entity_type","in":"query","required":true,"schema":{"type":"string","enum":["account","contact","deal"]}},{"name":"entity_id","in":"query","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":100000,"default":0}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50,"default":20}}],"x-query-schema":{"type":"object","properties":{"entity_type":{"type":"string","enum":["account","contact","deal"]},"entity_id":{"type":"string","format":"uuid"},"offset":{"type":"integer","minimum":0,"maximum":100000,"default":0},"limit":{"type":"integer","minimum":1,"maximum":50,"default":20}},"required":["entity_type","entity_id"],"additionalProperties":false},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"notes":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"company_card_id":{"type":"string","format":"uuid"},"entity_type":{"type":"string","enum":["account","contact","deal"]},"entity_id":{"type":"string","format":"uuid"},"body":{"type":"string"},"author_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"author_name":{"type":["string","null"]},"source_system":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","company_card_id","entity_type","entity_id","body","author_user_id","author_name","source_system","created_at","updated_at"],"additionalProperties":true}},"total":{"type":"integer"},"has_more":{"type":"boolean"}},"required":["notes","total","has_more"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}},"post":{"operationId":"createCompanyNote","summary":"Add a note to a company record","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:write"],"x-retry-contract":"header_uuid","description":"Adds a note to a company, or to one of its contacts (by lead ID) or deals. Reusing an Idempotency-Key returns the existing note. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"cardId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"entity_type":{"type":"string","enum":["account","contact","deal"]},"entity_id":{"type":"string","format":"uuid"},"body":{"type":"string","minLength":1,"maxLength":50000}},"required":["entity_type","entity_id","body"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"note":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"company_card_id":{"type":"string","format":"uuid"},"entity_type":{"type":"string","enum":["account","contact","deal"]},"entity_id":{"type":"string","format":"uuid"},"body":{"type":"string"},"author_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"author_name":{"type":["string","null"]},"source_system":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","company_card_id","entity_type","entity_id","body","author_user_id","author_name","source_system","created_at","updated_at"],"additionalProperties":true},"created":{"type":"boolean"}},"required":["note","created"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"note":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"company_card_id":{"type":"string","format":"uuid"},"entity_type":{"type":"string","enum":["account","contact","deal"]},"entity_id":{"type":"string","format":"uuid"},"body":{"type":"string"},"author_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"author_name":{"type":["string","null"]},"source_system":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","company_card_id","entity_type","entity_id","body","author_user_id","author_name","source_system","created_at","updated_at"],"additionalProperties":true},"created":{"type":"boolean"}},"required":["note","created"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"note":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"company_card_id":{"type":"string","format":"uuid"},"entity_type":{"type":"string","enum":["account","contact","deal"]},"entity_id":{"type":"string","format":"uuid"},"body":{"type":"string"},"author_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"author_name":{"type":["string","null"]},"source_system":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"required":["id","company_card_id","entity_type","entity_id","body","author_user_id","author_name","source_system","created_at","updated_at"],"additionalProperties":true},"created":{"type":"boolean"}},"required":["note","created"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/accounts":{"get":{"operationId":"listSendingAccounts","summary":"List sending accounts","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","description":"Lists the workspace's connected email and LinkedIn sending accounts with status, pause state, daily cap, warm-up state and timezone. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"accounts":{"type":"array","items":{"type":"object","additionalProperties":{}}}},"required":["accounts"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/conversations":{"get":{"operationId":"listConversations","summary":"List conversations","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","x-pagination":{"kind":"cursor","parameter":"cursor","next":"next_cursor","items":"conversations","maximumLimit":50},"description":"Lists campaign email threads and LinkedIn chats that have a sent message or a reply, plus LinkedIn network chats. Filter by view (replies, sent, all) or fetch one by enrollment_id or thread_id. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":4000}},{"name":"enrollment_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"compose","in":"query","required":false,"schema":{"type":"string","const":"true"}},{"name":"thread_id","in":"query","required":false,"schema":{"type":"string","pattern":"^(?:network:[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}|[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}:(?:email|linkedin))$"}},{"name":"account_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"view","in":"query","required":false,"schema":{"type":"string","enum":["replies","sent","all"],"default":"all"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50,"default":40}}],"x-query-schema":{"type":"object","properties":{"cursor":{"type":"string","maxLength":4000},"enrollment_id":{"type":"string","format":"uuid"},"compose":{"type":"string","const":"true"},"thread_id":{"type":"string","pattern":"^(?:network:[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}|[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}:(?:email|linkedin))$"},"account_id":{"type":"string","format":"uuid"},"view":{"type":"string","enum":["replies","sent","all"],"default":"all"},"limit":{"type":"integer","minimum":1,"maximum":50,"default":40}},"additionalProperties":false},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"conversations":{"type":"array","items":{"type":"object","additionalProperties":{}}},"next_cursor":{"type":["string","null"]},"partial_failures":{"type":"array","items":{}}},"required":["conversations","next_cursor"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/profile":{"get":{"operationId":"getOutreachProfile","summary":"Get the outreach profile","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","description":"Returns the workspace outreach profile that AI drafts are written from: offer, voice, proof claims, compliance rules and when it was confirmed. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}},"put":{"operationId":"updateOutreachProfile","summary":"Update the outreach profile","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:write"],"x-retry-contract":"state","description":"Saves changes to the workspace outreach profile that AI drafts are written from, such as offer, message lines, voice, sender details, sign-off, meeting link and website link. Read getPlaybook topic messaging first. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"save_meeting_link":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"name":{"type":"string","minLength":1,"maxLength":80},"url":{"type":"string","maxLength":500}},"required":["id","name","url"],"additionalProperties":false},"offer":{"type":"object","properties":{"sentence":{"type":"string","minLength":1,"maxLength":300},"capabilities":{"type":"array","items":{"type":"string","minLength":1,"maxLength":160},"maxItems":8},"message_lines":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":120},"confirmed":{"type":"boolean"},"topic":{"type":"string","minLength":1,"maxLength":80},"approved_question":{"type":"string","minLength":1,"maxLength":240},"approved_permission_action":{"type":"string","minLength":1,"maxLength":240},"approved_meeting_preparation_offer":{"type":"string","minLength":1,"maxLength":80}},"required":["text","confirmed"],"additionalProperties":false},"maxItems":8},"preferred_cta":{"type":"string","maxLength":160},"approved_recipient_outcome":{"anyOf":[{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":400},"confirmed":{"type":"boolean","const":true}},"required":["text","confirmed"],"additionalProperties":false},{"type":"null"}]},"disallowed_topics":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":12},"prohibited_claims":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":12}},"additionalProperties":false},"voice":{"type":"object","properties":{"rules":{"type":"array","items":{"type":"string","maxLength":200},"maxItems":12},"examples":{"type":"array","items":{"type":"string","maxLength":1000},"maxItems":4},"sender_name":{"anyOf":[{"type":"string"},{"type":"null"}]},"sender_role":{"anyOf":[{"type":"string"},{"type":"null"}]},"sender_company":{"anyOf":[{"type":"string"},{"type":"null"}]},"sign_off":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}]},"cta_style":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"scheduling":{"type":"object","properties":{"saved_links":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"name":{"type":"string","minLength":1,"maxLength":80},"url":{"type":"string","maxLength":500}},"required":["id","name","url"],"additionalProperties":false},"maxItems":100},"calendar_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]},"include_in_outreach":{"type":"boolean"},"meeting_duration_minutes":{"anyOf":[{"type":"integer","minimum":10,"maximum":120},{"type":"null"}]}},"additionalProperties":false},"website_cta":{"type":"object","properties":{"url":{"anyOf":[{"type":"string","format":"uri","maxLength":1000},{"type":"null"}]},"description":{"anyOf":[{"type":"string","minLength":1,"maxLength":500},{"type":"null"}]},"action_label":{"anyOf":[{"type":"string","minLength":3,"maxLength":160},{"type":"null"}]}},"required":["url","description"],"additionalProperties":false}},"additionalProperties":false},"proof_claims":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"text":{"type":"string","minLength":1,"maxLength":300},"type":{"type":"string","enum":["customer_result","metric","capability","social_proof"]},"customer_ref":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}]},"attested":{"type":"boolean"},"valid_until":{"type":["string","null"]},"status":{"type":"string","enum":["active","expired","retired"],"default":"active"}},"required":["id","text","type","attested"],"additionalProperties":false},"maxItems":20},"compliance":{"type":"object","properties":{"legal_entity":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"postal_address":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}]},"opt_out_method":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}]}},"additionalProperties":false},"confirm":{"type":"boolean","default":false}},"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/audience-sources":{"get":{"operationId":"listAudienceSources","summary":"List audience sources","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","description":"Lists delivered requests, ICPs and pipeline sources that can build a campaign audience, with aggregate contact counts. Returns no contact rows. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"destination_requirement","in":"query","required":false,"schema":{"type":"string","enum":["email","linkedin","email_or_linkedin","email_and_linkedin"],"default":"email_or_linkedin"}}],"x-query-schema":{"type":"object","properties":{"destination_requirement":{"type":"string","enum":["email","linkedin","email_or_linkedin","email_and_linkedin"],"default":"email_or_linkedin"}},"additionalProperties":false},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"requests":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"label":{"type":"string"},"total_leads":{"type":"integer"},"contactable_leads":{"type":"integer"},"email_ready_leads":{"type":"integer"},"linkedin_ready_leads":{"type":"integer"},"created_at":{"type":["string","null"]},"unavailable_reason":{"type":["string","null"]}},"required":["id","label","total_leads","contactable_leads","email_ready_leads","linkedin_ready_leads"],"additionalProperties":true}},"icps":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"label":{"type":"string"},"total_leads":{"type":"integer"},"contactable_leads":{"type":"integer"},"email_ready_leads":{"type":"integer"},"linkedin_ready_leads":{"type":"integer"},"created_at":{"type":["string","null"]},"unavailable_reason":{"type":["string","null"]}},"required":["id","label","total_leads","contactable_leads","email_ready_leads","linkedin_ready_leads"],"additionalProperties":true}},"pipeline":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"label":{"type":"string"},"total_leads":{"type":"integer"},"contactable_leads":{"type":"integer"},"email_ready_leads":{"type":"integer"},"linkedin_ready_leads":{"type":"integer"},"created_at":{"type":["string","null"]},"unavailable_reason":{"type":["string","null"]}},"required":["id","label","total_leads","contactable_leads","email_ready_leads","linkedin_ready_leads"],"additionalProperties":true}}},"required":["requests","icps","pipeline"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/audience-contacts":{"get":{"operationId":"listAudienceContacts","summary":"Search audience contacts","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","description":"Searches and pages through workspace contacts available for a campaign audience, showing whether each has email or LinkedIn and can be selected. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"search","in":"query","required":false,"schema":{"type":"string","maxLength":120}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"maximum":1000000,"default":0}},{"name":"filters","in":"query","required":false,"schema":{"type":"string","maxLength":5000,"description":"JSON-encoded audience filters, using the same filter fields as audience selection."}},{"name":"destination_requirement","in":"query","required":false,"schema":{"type":"string","enum":["email","linkedin","email_or_linkedin","email_and_linkedin"],"default":"email_or_linkedin"}}],"x-query-schema":{"type":"object","properties":{"search":{"type":"string","maxLength":120},"limit":{"type":"integer","minimum":1,"maximum":100,"default":50},"offset":{"type":"integer","minimum":0,"maximum":1000000,"default":0},"filters":{"type":"string","maxLength":5000,"description":"JSON-encoded audience filters, using the same filter fields as audience selection."},"destination_requirement":{"type":"string","enum":["email","linkedin","email_or_linkedin","email_and_linkedin"],"default":"email_or_linkedin"}},"additionalProperties":false},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/audiences/preview":{"post":{"operationId":"previewAudience","summary":"Preview a new audience","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:write"],"x-retry-contract":"operation_id","description":"Builds a saved audience snapshot from selected requests, ICPs, companies, contacts or the pipeline and returns admitted, excluded and eligibility counts. Nothing is sent. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"recontact_lead_id":{"type":"string","format":"uuid"},"request_ids":{"type":"array","items":{"type":"string","format":"uuid"},"maxItems":20,"default":[]},"icp_ids":{"type":"array","items":{"type":"string","format":"uuid"},"maxItems":10,"default":[]},"company_card_ids":{"type":"array","items":{"type":"string","format":"uuid"},"maxItems":100,"default":[]},"lead_ids":{"type":"array","items":{"type":"string","format":"uuid"},"maxItems":2000,"default":[]},"include_pipeline":{"type":"boolean","default":false},"new_only":{"type":"boolean","default":false},"filters":{"type":"object","properties":{"industries":{"type":"array","items":{"type":"string"},"maxItems":50,"default":[]},"company_sizes":{"type":"array","items":{"type":"string","enum":["1_10","11_50","51_200","201_500","501_1000","1001_5000","5001_10000","10001_plus","under_10","10_50","50_200","200_500","500_1000","1000_5000","5000_10000","10000_plus"]},"maxItems":16,"default":[]}},"additionalProperties":false},"destination_requirement":{"type":"string","enum":["email","linkedin","email_or_linkedin","email_and_linkedin"],"default":"email_or_linkedin"}},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"snapshot_id":{"type":"string","format":"uuid","description":"Pass as audience_snapshot_id to createCampaign."},"admitted":{"type":"integer"},"excluded_count":{"type":"integer"},"tier_counts":{"type":"object","additionalProperties":{"type":"number"}},"evidence_sla_met":{"type":"boolean"},"source_label":{"type":"string"},"funnel":{"type":"object","additionalProperties":{}}},"required":["snapshot_id","admitted","excluded_count","tier_counts","evidence_sla_met","source_label"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"snapshot_id":{"type":"string","format":"uuid","description":"Pass as audience_snapshot_id to createCampaign."},"admitted":{"type":"integer"},"excluded_count":{"type":"integer"},"tier_counts":{"type":"object","additionalProperties":{"type":"number"}},"evidence_sla_met":{"type":"boolean"},"source_label":{"type":"string"},"funnel":{"type":"object","additionalProperties":{}}},"required":["snapshot_id","admitted","excluded_count","tier_counts","evidence_sla_met","source_label"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"snapshot_id":{"type":"string","format":"uuid","description":"Pass as audience_snapshot_id to createCampaign."},"admitted":{"type":"integer"},"excluded_count":{"type":"integer"},"tier_counts":{"type":"object","additionalProperties":{"type":"number"}},"evidence_sla_met":{"type":"boolean"},"source_label":{"type":"string"},"funnel":{"type":"object","additionalProperties":{}}},"required":["snapshot_id","admitted","excluded_count","tier_counts","evidence_sla_met","source_label"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/audiences":{"post":{"operationId":"createAudience","summary":"Save an audience","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:write"],"x-retry-contract":"operation_id","description":"Saves an audience snapshot from selected requests, ICPs, companies, contacts or the pipeline for use in a new campaign. Returns the snapshot ID and admitted and excluded counts. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"recontact_lead_id":{"type":"string","format":"uuid"},"request_ids":{"type":"array","items":{"type":"string","format":"uuid"},"maxItems":20,"default":[]},"icp_ids":{"type":"array","items":{"type":"string","format":"uuid"},"maxItems":10,"default":[]},"company_card_ids":{"type":"array","items":{"type":"string","format":"uuid"},"maxItems":100,"default":[]},"lead_ids":{"type":"array","items":{"type":"string","format":"uuid"},"maxItems":2000,"default":[]},"include_pipeline":{"type":"boolean","default":false},"new_only":{"type":"boolean","default":false},"filters":{"type":"object","properties":{"industries":{"type":"array","items":{"type":"string"},"maxItems":50,"default":[]},"company_sizes":{"type":"array","items":{"type":"string","enum":["1_10","11_50","51_200","201_500","501_1000","1001_5000","5001_10000","10001_plus","under_10","10_50","50_200","200_500","500_1000","1000_5000","5000_10000","10000_plus"]},"maxItems":16,"default":[]}},"additionalProperties":false},"destination_requirement":{"type":"string","enum":["email","linkedin","email_or_linkedin","email_and_linkedin"],"default":"email_or_linkedin"}},"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"snapshot_id":{"type":"string","format":"uuid","description":"Pass as audience_snapshot_id to createCampaign."},"admitted":{"type":"integer"},"excluded_count":{"type":"integer"},"tier_counts":{"type":"object","additionalProperties":{"type":"number"}},"evidence_sla_met":{"type":"boolean"},"source_label":{"type":"string"}},"required":["snapshot_id","admitted","excluded_count","tier_counts","evidence_sla_met","source_label"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"snapshot_id":{"type":"string","format":"uuid","description":"Pass as audience_snapshot_id to createCampaign."},"admitted":{"type":"integer"},"excluded_count":{"type":"integer"},"tier_counts":{"type":"object","additionalProperties":{"type":"number"}},"evidence_sla_met":{"type":"boolean"},"source_label":{"type":"string"}},"required":["snapshot_id","admitted","excluded_count","tier_counts","evidence_sla_met","source_label"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"snapshot_id":{"type":"string","format":"uuid","description":"Pass as audience_snapshot_id to createCampaign."},"admitted":{"type":"integer"},"excluded_count":{"type":"integer"},"tier_counts":{"type":"object","additionalProperties":{"type":"number"}},"evidence_sla_met":{"type":"boolean"},"source_label":{"type":"string"}},"required":["snapshot_id","admitted","excluded_count","tier_counts","evidence_sla_met","source_label"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}},"get":{"operationId":"listAudiences","summary":"List saved audiences","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","x-pagination":{"kind":"bounded","items":"snapshots","limited":"results_limited","maximumItems":50},"description":"Lists the 50 most recent saved audience snapshots with source, member count, status and freshness. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"snapshots":{"type":"array","items":{"type":"object","additionalProperties":{}}},"results_limited":{"type":"boolean"}},"required":["snapshots","results_limited"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns":{"get":{"operationId":"listCampaigns","summary":"List campaigns","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","x-pagination":{"kind":"cursor","parameter":"cursor","next":"next_cursor","items":"strategies","maximumLimit":100},"description":"Lists current, archived or all campaigns with status, contact, message and reply counts, and delivery and approval health. Paginated. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"channels","in":"query","required":false,"schema":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."}},{"name":"senders","in":"query","required":false,"schema":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."}},{"name":"campaigns","in":"query","required":false,"schema":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."}},{"name":"icps","in":"query","required":false,"schema":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."}},{"name":"products","in":"query","required":false,"schema":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."}},{"name":"view","in":"query","required":false,"schema":{"type":"string","enum":["current","archived","all"],"default":"current"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}}],"x-query-schema":{"type":"object","properties":{"channels":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."},"senders":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."},"campaigns":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."},"icps":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."},"products":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."},"view":{"type":"string","enum":["current","archived","all"],"default":"current"},"limit":{"type":"integer","minimum":1,"maximum":100,"default":50},"cursor":{"type":"string"}},"additionalProperties":false},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"strategies":{"type":"array","items":{"type":"object","additionalProperties":{}}},"next_cursor":{"type":["string","null"]}},"required":["strategies","next_cursor"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}},"post":{"operationId":"createCampaign","summary":"Create a draft campaign","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:write"],"x-retry-contract":"operation_id","description":"Creates a new draft campaign from a saved audience, sender accounts and campaign settings. The draft does not send until it is launched. Read getPlaybook topics campaigns and messaging first. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"audience_snapshot_id":{"type":"string","format":"uuid"},"icp_profile_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"default":null},"icp_profile_overrides":{"type":"object","properties":{"value_themes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12},"personalization_cues":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12},"prohibited_angles":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12}},"additionalProperties":false,"default":{}},"goal":{"type":"string","enum":["meeting","question","referral","website_traffic","resource","sample"],"default":"meeting"},"mode":{"type":"string","enum":["copilot","autopilot"],"default":"copilot"},"autopilot_scope":{"type":"string","enum":["recommended","all"],"default":"recommended"},"allowed_account_ids":{"type":"array","items":{"type":"string","format":"uuid"},"maxItems":20},"linkedin_account_ids":{"type":"array","items":{"type":"string","format":"uuid"},"maxItems":20,"default":[]},"max_unique_contacts":{"type":"integer","minimum":1,"maximum":2000,"default":100},"daily_unique_contact_cap":{"type":"integer","minimum":1,"maximum":2000,"default":25},"auto_admit":{"type":"boolean","default":false},"advanced_settings":{"type":"object","properties":{"recontact_request":{"anyOf":[{"type":"object","properties":{"lead_id":{"type":"string","format":"uuid"},"reason":{"type":"string","minLength":10,"maxLength":400}},"required":["lead_id","reason"],"additionalProperties":false},{"type":"null"}]},"campaign_product":{"anyOf":[{"type":"object","properties":{"version":{"type":"string","const":"campaign-product-v1"},"requestId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"productSelection":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"icp_id":{"type":"string","format":"uuid"},"icp_version_id":{"type":"string","format":"uuid"},"product_id":{"type":"string","format":"uuid"},"product_version_id":{"type":"string","format":"uuid"},"link_id":{"type":"string","format":"uuid"},"link_version_id":{"type":"string","format":"uuid"}},"required":["id","icp_id","icp_version_id","product_id","product_version_id","link_id","link_version_id"],"additionalProperties":false},"productReference":{"type":"object","properties":{"productId":{"type":"string","format":"uuid"},"versionId":{"type":"string","format":"uuid"}},"required":["productId","versionId"],"additionalProperties":false},"productDescription":{"type":"string","minLength":1,"maxLength":800},"selection":{"type":"string","enum":["automatic","selected","custom"]},"followupFactIds":{"type":"array","items":{"type":"string","pattern":"^[a-f0-9]{64}$"},"minItems":1,"maxItems":3}},"required":["version","requestId","productDescription","selection"],"additionalProperties":false},{"type":"null"}]},"campaign_website_cta":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":1000},"description":{"type":"string","minLength":1,"maxLength":500},"action_label":{"type":"string","minLength":3,"maxLength":160}},"required":["url","description","action_label"],"additionalProperties":false},{"type":"null"}]},"campaign_offer_description":{"anyOf":[{"type":"string"},{"type":"null"}]},"campaign_meeting_link":{"type":"object","properties":{"include_in_outreach":{"type":"boolean"},"link":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"name":{"type":"string","minLength":1,"maxLength":80},"url":{"type":"string","maxLength":500}},"required":["id","name","url"],"additionalProperties":false},{"type":"null"}]},"save_to_library":{"type":"boolean"},"placement":{"type":"string","enum":["followups_only","intro_and_followups"]}},"required":["include_in_outreach","link","save_to_library"],"additionalProperties":false},"linkedin_connection_note_enabled":{"type":"boolean"},"use_mailbox_signature":{"type":"boolean"},"sending_days":{"type":"array","items":{"type":"integer","minimum":0,"maximum":6},"minItems":1,"maxItems":7},"include_postal_address":{"type":"boolean"},"postal_address":{"type":"string","maxLength":300},"email_opt_out_method":{"type":"string","enum":["link","reply"]},"email_footer":{"anyOf":[{"type":"object","properties":{"version":{"type":"number","const":1},"business_details":{"type":"boolean"},"opt_out":{"type":"string","const":"link"}},"required":["version","business_details","opt_out"],"additionalProperties":false},{"type":"object","properties":{"version":{"type":"number","const":1},"business_details":{"type":"boolean"},"opt_out":{"type":"string","const":"reply"}},"required":["version","business_details","opt_out"],"additionalProperties":false},{"type":"object","properties":{"version":{"type":"number","const":1},"business_details":{"type":"boolean"},"opt_out":{"type":"string","const":"natural"}},"required":["version","business_details","opt_out"],"additionalProperties":false},{"type":"object","properties":{"version":{"type":"number","const":1},"business_details":{"type":"boolean"},"opt_out":{"type":"string","const":"own_words"},"opt_out_text":{"allOf":[{"type":"string"},{"type":"string","minLength":10,"maxLength":200}]}},"required":["version","business_details","opt_out","opt_out_text"],"additionalProperties":false}]}},"additionalProperties":{},"default":{}},"plays":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":2,"maxLength":60,"pattern":"^[a-z0-9_-]+$"},"name":{"type":"string","minLength":2,"maxLength":80},"kind":{"type":"string","enum":["insight","diagnostic","resource","free_sample","social_proof","custom"]},"angle":{"type":"string","minLength":8,"maxLength":400},"value_exchange":{"type":"string","minLength":4,"maxLength":400},"cta":{"type":"object","properties":{"kind":{"type":"string","enum":["question","permission","resource_offer","sample_offer","meeting","website_visit","referral"]},"instruction":{"type":"string","minLength":4,"maxLength":240}},"required":["kind","instruction"],"additionalProperties":false},"evidence_requirements":{"type":"array","items":{"type":"string","minLength":2,"maxLength":120},"maxItems":8,"default":[]},"fulfillment":{"type":"object","properties":{"type":{"type":"string","enum":["none","resource","generated_sample"]},"description":{"anyOf":[{"type":"string","maxLength":400},{"type":"null"}],"default":null},"asset_url":{"anyOf":[{"type":"string","format":"uri","maxLength":1000},{"type":"null"}],"default":null}},"required":["type"],"additionalProperties":false},"sequence_guidance":{"type":"array","items":{"type":"string","minLength":4,"maxLength":300},"minItems":1,"maxItems":5}},"required":["key","name","kind","angle","value_exchange","cta","fulfillment","sequence_guidance"],"additionalProperties":false},"minItems":2,"maxItems":4}},"required":["name","audience_snapshot_id","allowed_account_ids"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"strategy_id":{"type":"string","format":"uuid"}},"required":["strategy_id"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"strategy_id":{"type":"string","format":"uuid"}},"required":["strategy_id"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"strategy_id":{"type":"string","format":"uuid"}},"required":["strategy_id"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaign-product-descriptions":{"get":{"operationId":"listCampaignProductDescriptions","summary":"List campaign product descriptions","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","x-pagination":{"kind":"cursor","parameter":"cursor","next":"next_cursor","items":"descriptions","maximumLimit":100},"description":"Lists product or service descriptions saved on existing campaigns so one can be reused when creating a new campaign. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":50}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}}],"x-query-schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":100,"default":50},"cursor":{"type":"string"}},"additionalProperties":false},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"descriptions":{"type":"array","items":{"type":"object","properties":{"campaignId":{"type":"string","format":"uuid"},"campaignName":{"type":"string","minLength":1,"maxLength":120},"description":{"type":"string","minLength":1,"maxLength":800}},"required":["campaignId","campaignName","description"],"additionalProperties":false},"maxItems":100},"next_cursor":{"type":["string","null"]}},"required":["descriptions","next_cursor"],"additionalProperties":false},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}":{"get":{"operationId":"getCampaign","summary":"Get a campaign","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","description":"Returns one campaign's settings, status, AI planning budget and contact counts by enrollment status. Archived campaigns are not returned. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"strategy":{"type":"object","additionalProperties":{}},"enrollment_counts":{"type":"object","additionalProperties":{"type":"number"}},"enrollment_counts_limited":{"type":"boolean"}},"required":["strategy","enrollment_counts","enrollment_counts_limited"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}},"put":{"operationId":"updateCampaign","summary":"Update a draft campaign","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:write"],"x-retry-contract":"state","description":"Changes a draft campaign's settings, such as name, audience, ICP, goal, senders, contact limits and sequence. Only drafts can be updated; launched campaigns are rejected. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"audience_snapshot_id":{"type":"string","format":"uuid"},"icp_profile_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"icp_profile_overrides":{"type":"object","properties":{"value_themes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12},"personalization_cues":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12},"prohibited_angles":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12}},"additionalProperties":false},"goal":{"type":"string","enum":["meeting","question","referral","website_traffic","resource","sample"],"default":"meeting"},"allowed_account_ids":{"type":"array","items":{"type":"string","format":"uuid"},"maxItems":20},"linkedin_account_ids":{"type":"array","items":{"type":"string","format":"uuid"},"maxItems":20},"max_unique_contacts":{"type":"integer","minimum":1,"maximum":2000},"daily_unique_contact_cap":{"type":"integer","minimum":1,"maximum":2000},"plays":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string","minLength":2,"maxLength":60,"pattern":"^[a-z0-9_-]+$"},"name":{"type":"string","minLength":2,"maxLength":80},"kind":{"type":"string","enum":["insight","diagnostic","resource","free_sample","social_proof","custom"]},"angle":{"type":"string","minLength":8,"maxLength":400},"value_exchange":{"type":"string","minLength":4,"maxLength":400},"cta":{"type":"object","properties":{"kind":{"type":"string","enum":["question","permission","resource_offer","sample_offer","meeting","website_visit","referral"]},"instruction":{"type":"string","minLength":4,"maxLength":240}},"required":["kind","instruction"],"additionalProperties":false},"evidence_requirements":{"type":"array","items":{"type":"string","minLength":2,"maxLength":120},"maxItems":8,"default":[]},"fulfillment":{"type":"object","properties":{"type":{"type":"string","enum":["none","resource","generated_sample"]},"description":{"anyOf":[{"type":"string","maxLength":400},{"type":"null"}],"default":null},"asset_url":{"anyOf":[{"type":"string","format":"uri","maxLength":1000},{"type":"null"}],"default":null}},"required":["type"],"additionalProperties":false},"sequence_guidance":{"type":"array","items":{"type":"string","minLength":4,"maxLength":300},"minItems":1,"maxItems":5}},"required":["key","name","kind","angle","value_exchange","cta","fulfillment","sequence_guidance"],"additionalProperties":false},"minItems":2,"maxItems":4},"advanced_settings":{"type":"object","properties":{"recontact_request":{"anyOf":[{"type":"object","properties":{"lead_id":{"type":"string","format":"uuid"},"reason":{"type":"string","minLength":10,"maxLength":400}},"required":["lead_id","reason"],"additionalProperties":false},{"type":"null"}]},"use_mailbox_signature":{"type":"boolean"},"sending_days":{"anyOf":[{"type":"array","items":{"type":"integer","minimum":0,"maximum":6},"minItems":1,"maxItems":7},{"type":"null"}]},"include_postal_address":{"type":"boolean"},"postal_address":{"type":"string","maxLength":300},"email_opt_out_method":{"type":"string","enum":["link","reply"]},"email_footer":{"anyOf":[{"anyOf":[{"type":"object","properties":{"version":{"type":"number","const":1},"business_details":{"type":"boolean"},"opt_out":{"type":"string","const":"link"}},"required":["version","business_details","opt_out"],"additionalProperties":false},{"type":"object","properties":{"version":{"type":"number","const":1},"business_details":{"type":"boolean"},"opt_out":{"type":"string","const":"reply"}},"required":["version","business_details","opt_out"],"additionalProperties":false},{"type":"object","properties":{"version":{"type":"number","const":1},"business_details":{"type":"boolean"},"opt_out":{"type":"string","const":"natural"}},"required":["version","business_details","opt_out"],"additionalProperties":false},{"type":"object","properties":{"version":{"type":"number","const":1},"business_details":{"type":"boolean"},"opt_out":{"type":"string","const":"own_words"},"opt_out_text":{"allOf":[{"type":"string"},{"type":"string","minLength":10,"maxLength":200}]}},"required":["version","business_details","opt_out","opt_out_text"],"additionalProperties":false}]},{"type":"null"}]},"controlled_campaign":{"anyOf":[{},{"type":"null"}]},"request_offer_policy":{"anyOf":[{"type":"string","const":"outreach-request-offer-v1"},{"type":"null"}]},"campaign_product":{"anyOf":[{"type":"object","properties":{"version":{"type":"string","const":"campaign-product-v1"},"requestId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"productSelection":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"icp_id":{"type":"string","format":"uuid"},"icp_version_id":{"type":"string","format":"uuid"},"product_id":{"type":"string","format":"uuid"},"product_version_id":{"type":"string","format":"uuid"},"link_id":{"type":"string","format":"uuid"},"link_version_id":{"type":"string","format":"uuid"}},"required":["id","icp_id","icp_version_id","product_id","product_version_id","link_id","link_version_id"],"additionalProperties":false},"productReference":{"type":"object","properties":{"productId":{"type":"string","format":"uuid"},"versionId":{"type":"string","format":"uuid"}},"required":["productId","versionId"],"additionalProperties":false},"productDescription":{"type":"string","minLength":1,"maxLength":800},"selection":{"type":"string","enum":["automatic","selected","custom"]},"followupFactIds":{"type":"array","items":{"type":"string","pattern":"^[a-f0-9]{64}$"},"minItems":1,"maxItems":3}},"required":["version","requestId","productDescription","selection"],"additionalProperties":false},{"type":"null"}]},"campaign_website_cta":{"anyOf":[{"type":"object","properties":{"url":{"type":"string","maxLength":1000},"description":{"type":"string","minLength":1,"maxLength":500},"action_label":{"type":"string","minLength":3,"maxLength":160}},"required":["url","description","action_label"],"additionalProperties":false},{"type":"null"}]},"campaign_offer_description":{"anyOf":[{"type":"string"},{"type":"null"}]},"campaign_meeting_link":{"type":"object","properties":{"include_in_outreach":{"type":"boolean"},"link":{"anyOf":[{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"name":{"type":"string","minLength":1,"maxLength":80},"url":{"type":"string","maxLength":500}},"required":["id","name","url"],"additionalProperties":false},{"type":"null"}]},"save_to_library":{"type":"boolean"},"placement":{"type":"string","enum":["followups_only","intro_and_followups"]}},"required":["include_in_outreach","link","save_to_library"],"additionalProperties":false},"linkedin_connection_note_enabled":{"type":"boolean"}},"additionalProperties":false}},"required":["name","audience_snapshot_id","allowed_account_ids","daily_unique_contact_cap"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/preview":{"post":{"operationId":"previewCampaign","summary":"Check a campaign before launch","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"safe","description":"Returns launch readiness for a campaign: audience eligibility, sender health and capacity, sample recipients and the preview version that launch requires. Saves nothing. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/contract-proposal":{"post":{"operationId":"proposeCampaignContract","summary":"Propose a launch contract","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"safe","description":"Builds the versioned campaign contract that launch requires from the campaign's saved records, or lists the records that are missing. Saves nothing and does not launch. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/launch":{"post":{"operationId":"launchCampaign","summary":"Launch a campaign","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:send"],"x-retry-contract":"bound","description":"Launches a draft campaign using the preview version and proposed contract. Enrolls its audience and queues messages, which send after review in Copilot mode or automatically in Autopilot mode. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"preview_version":{"type":"string","minLength":1,"maxLength":80},"fit_confirmation":{"anyOf":[{"type":"object","properties":{"token":{"type":"string","pattern":"^[a-f0-9]{64}$"},"strategyId":{"type":"string","format":"uuid"},"strategyUpdatedAt":{"type":"string","minLength":1,"maxLength":80},"offerFingerprint":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"offerSummary":{"type":"string","minLength":1,"maxLength":800},"audienceSnapshotId":{"type":"string","format":"uuid"},"qualificationDefinitionVersion":{"type":"string","minLength":1,"maxLength":120},"version":{"type":"string","const":"campaign-fixed-sequence-confirmation-v1"}},"required":["token","strategyId","strategyUpdatedAt","offerFingerprint","offerSummary","audienceSnapshotId","qualificationDefinitionVersion","version"],"additionalProperties":false},{"type":"object","properties":{"token":{"type":"string","pattern":"^[a-f0-9]{64}$"},"strategyId":{"type":"string","format":"uuid"},"strategyUpdatedAt":{"type":"string","minLength":1,"maxLength":80},"offerFingerprint":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"offerSummary":{"type":"string","minLength":1,"maxLength":800},"audienceSnapshotId":{"type":"string","format":"uuid"},"qualificationDefinitionVersion":{"type":"string","minLength":1,"maxLength":120},"version":{"type":"string","const":"campaign-offer-fit-confirmation-v2"}},"required":["token","strategyId","strategyUpdatedAt","offerFingerprint","offerSummary","audienceSnapshotId","qualificationDefinitionVersion","version"],"additionalProperties":false},{"type":"object","properties":{"token":{"type":"string","pattern":"^[a-f0-9]{64}$"},"strategyId":{"type":"string","format":"uuid"},"strategyUpdatedAt":{"type":"string","minLength":1,"maxLength":80},"offerFingerprint":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"offerSummary":{"type":"string","minLength":1,"maxLength":800},"audienceSnapshotId":{"type":"string","format":"uuid"},"qualificationDefinitionVersion":{"type":"string","minLength":1,"maxLength":120},"version":{"type":"string","const":"campaign-offer-fit-confirmation-v1"},"snapshotFreshUntil":{"type":"string","format":"date-time"}},"required":["token","strategyId","strategyUpdatedAt","offerFingerprint","offerSummary","audienceSnapshotId","qualificationDefinitionVersion","version","snapshotFreshUntil"],"additionalProperties":false}]},"campaign_contract_input":{"type":"object","properties":{"schema_version":{"type":"string","const":"outreach-campaign-contract-v1"},"contract_version":{"type":"integer","exclusiveMinimum":0},"platform_defaults_version":{"type":"string","minLength":1,"maxLength":120},"strategy_id":{"type":"string","format":"uuid"},"created_at":{"type":"string","format":"date-time"},"authority_policy_version":{"type":"string","const":"outreach-authority-v1"},"authority_order":{"type":"array","items":{"type":"string","enum":["compliance_and_prohibited_claims","verified_evidence_and_approved_sender_claims","fulfillment_and_channel_restrictions","campaign_and_sequence_contract","icp_and_market_hypotheses","client_brand_and_sender_style","learned_preferences","model_wording"]},"minItems":8,"maxItems":8},"generation_policy":{"type":"object","properties":{"generator_model":{"type":"string","minLength":1,"maxLength":160},"recovery_model":{"type":"string","minLength":1,"maxLength":160},"judge_model":{"type":"string","minLength":1,"maxLength":160},"prompt_version":{"type":"string","minLength":1,"maxLength":120},"build_version":{"type":"string","minLength":1,"maxLength":120},"temperature":{"type":"number","minimum":0,"maximum":2},"seed_policy":{"type":"string","enum":["provider_seed_unsupported","fixed_seed"]},"seed":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]},"replay_policy_version":{"type":"string","const":"outreach-generation-input-replay-v1"},"byte_identical_output_guaranteed":{"type":"boolean","const":false}},"required":["generator_model","recovery_model","judge_model","prompt_version","build_version","temperature","seed_policy","seed","replay_policy_version","byte_identical_output_guaranteed"],"additionalProperties":false},"message_policy":{"type":"object","properties":{"mode":{"type":"string","enum":["signal_led","signal_optional","value_only"]},"copy_preferences":{"type":"object","properties":{"version":{"type":"number","const":1},"includeIntroduction":{"type":"boolean"},"noEmDash":{"type":"boolean","const":true},"omitParagraphFinalPeriods":{"type":"boolean","const":true}},"required":["version","includeIntroduction","noEmDash"],"additionalProperties":false},"require_verified_signal":{"type":"boolean","const":true},"standalone_value_line_confirmed":{"type":"boolean","const":true}},"required":["mode"],"additionalProperties":false},"audience":{"type":"object","properties":{"snapshot_id":{"type":"string","format":"uuid"},"source_version":{"type":"string","minLength":1,"maxLength":120},"qualification_definition_version":{"type":"string","minLength":1,"maxLength":120},"intended_buyer_functions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":160},"maxItems":40},"inclusion_summary":{"type":"string","minLength":1,"maxLength":1000},"exclusions":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","minLength":1,"maxLength":80},"description":{"type":"string","minLength":1,"maxLength":500}},"required":["code","description"],"additionalProperties":false},"minItems":1,"maxItems":80},"jurisdictions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":80},"maxItems":40}},"required":["snapshot_id","source_version","qualification_definition_version","intended_buyer_functions","inclusion_summary","exclusions","jurisdictions"],"additionalProperties":false},"client_offer":{"type":"object","properties":{"summary":{"type":"string","maxLength":1200},"approved_positioning":{"type":"array","items":{"type":"string","minLength":1,"maxLength":800},"maxItems":20},"confirmed_capabilities":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"statement":{"type":"string","minLength":1,"maxLength":800},"message_topic":{"type":"string","minLength":1,"maxLength":80},"approved_question":{"type":"string","minLength":1,"maxLength":240},"approved_permission_action":{"type":"string","minLength":1,"maxLength":240},"approved_meeting_preparation_offer":{"type":"string","minLength":1,"maxLength":80},"approved_at":{"type":"string","format":"date-time"},"valid_until":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]}},"required":["id","statement","approved_at","valid_until"],"additionalProperties":false},"maxItems":40},"approved_recipient_outcome":{"type":"object","properties":{"text":{"type":"string","minLength":1,"maxLength":400},"approved_at":{"type":"string","format":"date-time"}},"required":["text","approved_at"],"additionalProperties":false},"approved_website_action_label":{"type":"string","minLength":1,"maxLength":160},"approved_offer_description":{"type":"string","minLength":1,"maxLength":300},"approved_proof":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":100},"statement":{"type":"string","minLength":1,"maxLength":1200},"type":{"type":"string","enum":["customer_result","metric","social_proof"]},"attested_at":{"type":"string","format":"date-time"},"valid_until":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]}},"required":["id","statement","type","attested_at","valid_until"],"additionalProperties":false},"maxItems":40}},"required":["summary","approved_positioning","confirmed_capabilities","approved_proof"],"additionalProperties":false},"campaign_product":{"type":"object","properties":{"input":{"type":"object","properties":{"version":{"type":"string","const":"campaign-product-v1"},"requestId":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"productSelection":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"icp_id":{"type":"string","format":"uuid"},"icp_version_id":{"type":"string","format":"uuid"},"product_id":{"type":"string","format":"uuid"},"product_version_id":{"type":"string","format":"uuid"},"link_id":{"type":"string","format":"uuid"},"link_version_id":{"type":"string","format":"uuid"}},"required":["id","icp_id","icp_version_id","product_id","product_version_id","link_id","link_version_id"],"additionalProperties":false},"productReference":{"type":"object","properties":{"productId":{"type":"string","format":"uuid"},"versionId":{"type":"string","format":"uuid"}},"required":["productId","versionId"],"additionalProperties":false},"productDescription":{"type":"string","minLength":1,"maxLength":800},"selection":{"type":"string","enum":["automatic","selected","custom"]},"followupFactIds":{"type":"array","items":{"type":"string","pattern":"^[a-f0-9]{64}$"},"minItems":1,"maxItems":3}},"required":["version","requestId","productDescription","selection"],"additionalProperties":false},"originalDescription":{"anyOf":[{"type":"string","minLength":1,"maxLength":2000},{"type":"null"}]},"sourceLabel":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}]},"confirmedAt":{"type":"string","format":"date-time"},"followupFacts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-f0-9]{64}$"},"quote":{"type":"string","minLength":20,"maxLength":300},"sourceUrl":{"type":"string","format":"uri","maxLength":2000}},"required":["id","quote","sourceUrl"],"additionalProperties":false},"minItems":1,"maxItems":3}},"required":["input","originalDescription","sourceLabel","confirmedAt"],"additionalProperties":false},"campaign_context":{"type":"object","properties":{"version":{"type":"number","const":1},"mode":{"type":"string","const":"fixed_sequence"}},"required":["version","mode"],"additionalProperties":false},"writer_preset":{"type":"string","const":"intent-driven-linkedin-v1"},"objective":{"type":"string","enum":["resource","sample","question","referral","meeting","website"]},"success_event":{"type":"object","properties":{"type":{"type":"string","enum":["resource_requested","resource_delivered","resource_meaningfully_used","sample_accepted","sample_delivered","substantive_response","qualified_referral_named","qualified_meeting_booked","meaningful_website_visit"]},"definition":{"type":"string","minLength":1,"maxLength":600},"outcome_definition_version":{"type":"string","minLength":1,"maxLength":80}},"required":["type","definition","outcome_definition_version"],"additionalProperties":false},"sequence":{"type":"object","properties":{"sequence_contract_id":{"type":"string","format":"uuid"},"version":{"type":"integer","exclusiveMinimum":0},"content_sha256":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"allowed_stage_ids":{"type":"array","items":{"type":"string","enum":["attention","relevance","value_offer_or_diagnostic","final_follow_up","response_handling","meeting","referral","resource_delivery","exit"]},"minItems":1,"maxItems":9},"branch_rule_ids":{"type":"array","items":{"type":"string","minLength":1,"maxLength":100},"minItems":1,"maxItems":96},"definition":{"type":"object","properties":{"stages":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":80},"state":{"type":"string","enum":["attention","relevance","value_offer_or_diagnostic","final_follow_up","response_handling","meeting","referral","resource_delivery","exit"]},"position":{"type":"integer","exclusiveMinimum":0,"maximum":32},"channel_ctas":{"type":"array","items":{"type":"object","properties":{"channel":{"type":"string","enum":["email","li_connect","li_message","li_inmail"]},"allowed_ctas":{"type":"array","items":{"type":"string","enum":["question","permission","resource_offer","sample_offer","meeting","referral","website_visit","reply","linkedin_connection"]},"minItems":1,"maxItems":9}},"required":["channel","allowed_ctas"],"additionalProperties":false},"maxItems":4},"wait":{"type":"object","properties":{"minimum_hours":{"anyOf":[{"type":"integer","minimum":0,"maximum":8760},{"type":"null"}]},"maximum_hours":{"anyOf":[{"type":"integer","minimum":0,"maximum":8760},{"type":"null"}]},"minimum_business_days":{"anyOf":[{"type":"integer","minimum":0,"maximum":365},{"type":"null"}]},"maximum_business_days":{"anyOf":[{"type":"integer","minimum":0,"maximum":365},{"type":"null"}]}},"required":["minimum_hours","maximum_hours"],"additionalProperties":false},"escalation":{"type":"string","enum":["none","low_friction","value_delivery","meeting"]},"terminal":{"type":"boolean"}},"required":["id","state","position","channel_ctas","wait","escalation","terminal"],"additionalProperties":false},"minItems":1,"maxItems":9},"branches":{"type":"array","items":{"type":"object","properties":{"rule_id":{"type":"string","minLength":1,"maxLength":100},"event":{"type":"string","enum":["enrollment_started","no_response_due","linkedin_followup_due","linkedin_primary_resume_due","interested_reply_received","question_received","objection_received","referral_received","wrong_person_received","not_now_received","unsubscribe_or_negative_received","linkedin_connection_accepted","linkedin_connection_rejected","linkedin_connection_acceptance_timed_out","not_now_resume_due","meeting_booked","referral_qualified","resource_delivered","conversation_exited","pending_linkedin_invite_recovered"]},"from_state":{"type":"string","enum":["attention","relevance","value_offer_or_diagnostic","final_follow_up","response_handling","meeting","referral","resource_delivery","exit"]},"from_branch":{"anyOf":[{"type":"string","enum":["none","no_response","interested_reply","question","objection","referral","wrong_person","not_now","unsubscribe_or_negative","linkedin_connection_accepted","linkedin_connection_rejected","linkedin_connection_acceptance_timeout"]},{"type":"null"}]},"to_state":{"type":"string","enum":["attention","relevance","value_offer_or_diagnostic","final_follow_up","response_handling","meeting","referral","resource_delivery","exit"]},"to_branch":{"anyOf":[{"type":"string","enum":["none","no_response","interested_reply","question","objection","referral","wrong_person","not_now","unsubscribe_or_negative","linkedin_connection_accepted","linkedin_connection_rejected","linkedin_connection_acceptance_timeout"]},{"type":"string","const":"preserve"}]},"action":{"type":"string","enum":["advance","wait","pause","stop","deliver_resource","request_referral","schedule_meeting"]},"resume_after_hours":{"anyOf":[{"type":"integer","minimum":0,"maximum":8760},{"type":"null"}]}},"required":["rule_id","event","from_state","from_branch","to_state","to_branch","action","resume_after_hours"],"additionalProperties":false},"minItems":1,"maxItems":96}},"required":["stages","branches"],"additionalProperties":false}},"required":["sequence_contract_id","version","content_sha256","allowed_stage_ids","branch_rule_ids","definition"],"additionalProperties":false},"custom_sequence":{"anyOf":[{"type":"object","properties":{"schema_version":{"type":"string","const":"outreach-custom-sequence-v1"},"mode":{"type":"string","const":"custom"},"touches":{"type":"array","items":{"type":"object","properties":{"position":{"type":"integer","exclusiveMinimum":0,"maximum":4},"stage":{"type":"string","enum":["attention","relevance","value_offer_or_diagnostic","final_follow_up"]},"channel":{"type":"string","enum":["email","li_connect","li_message","li_inmail"]},"delay_business_days":{"type":"integer","minimum":0,"maximum":365},"subject":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"body":{"type":"string","maxLength":20000}},"required":["position","stage","channel","delay_business_days","subject","body"],"additionalProperties":false},"minItems":1,"maxItems":4},"stop_on_reply":{"type":"boolean","const":true},"content_sha256":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"}},"required":["schema_version","mode","touches","stop_on_reply","content_sha256"],"additionalProperties":false},{"type":"object","properties":{"schema_version":{"type":"string","const":"outreach-custom-sequence-v2"},"mode":{"type":"string","const":"custom"},"touches":{"type":"array","items":{"type":"object","properties":{"position":{"type":"integer","exclusiveMinimum":0,"maximum":4},"stage":{"type":"string","enum":["attention","relevance","value_offer_or_diagnostic","final_follow_up"]},"channel":{"type":"string","enum":["email","li_connect","li_message","li_inmail"]},"delay_business_days":{"type":"integer","minimum":0,"maximum":365},"subject":{"anyOf":[{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"value":{"type":"string","minLength":1,"maxLength":20000}},"required":["type","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"variable"},"name":{"anyOf":[{"type":"string","enum":["first_name","full_name","company_name","job_title","sender_first_name","sender_full_name","sender_job_title","sender_company_name"]},{"type":"string"}]}},"required":["type","name"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"ai"},"block_id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,119}$"},"instruction":{"type":"string","minLength":1,"maxLength":500},"operation":{"type":"string","enum":["approved_capability_selector","verified_signal_selector","profile_guided_text","evidence_bounded_text"]},"context":{"type":"array","items":{"type":"string","enum":["verified_intent","approved_capabilities","contact_role","company_facts","campaign_goal","prior_outbound_message"]},"minItems":1,"maxItems":6},"output":{"type":"object","properties":{"shape":{"type":"string","enum":["noun_phrase","short_clause","sentence","two_sentences","two_items"]},"max_chars":{"type":"integer","exclusiveMinimum":0,"maximum":500}},"required":["shape","max_chars"],"additionalProperties":false},"fallback":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","const":"hold"}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","const":"omit"}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","const":"literal"},"segments":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"value":{"type":"string","minLength":1,"maxLength":20000}},"required":["type","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"variable"},"name":{"anyOf":[{"type":"string","enum":["first_name","full_name","company_name","job_title","sender_first_name","sender_full_name","sender_job_title","sender_company_name"]},{"type":"string"}]}},"required":["type","name"],"additionalProperties":false}]},"minItems":1,"maxItems":80}},"required":["mode","segments"],"additionalProperties":false}]}},"required":["type","block_id","instruction","operation","context","output","fallback"],"additionalProperties":false}]},"minItems":1,"maxItems":80},{"type":"null"}]},"body":{"anyOf":[{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"value":{"type":"string","minLength":1,"maxLength":20000}},"required":["type","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"variable"},"name":{"anyOf":[{"type":"string","enum":["first_name","full_name","company_name","job_title","sender_first_name","sender_full_name","sender_job_title","sender_company_name"]},{"type":"string"}]}},"required":["type","name"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"ai"},"block_id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,119}$"},"instruction":{"type":"string","minLength":1,"maxLength":500},"operation":{"type":"string","enum":["approved_capability_selector","verified_signal_selector","profile_guided_text","evidence_bounded_text"]},"context":{"type":"array","items":{"type":"string","enum":["verified_intent","approved_capabilities","contact_role","company_facts","campaign_goal","prior_outbound_message"]},"minItems":1,"maxItems":6},"output":{"type":"object","properties":{"shape":{"type":"string","enum":["noun_phrase","short_clause","sentence","two_sentences","two_items"]},"max_chars":{"type":"integer","exclusiveMinimum":0,"maximum":500}},"required":["shape","max_chars"],"additionalProperties":false},"fallback":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","const":"hold"}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","const":"omit"}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","const":"literal"},"segments":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"value":{"type":"string","minLength":1,"maxLength":20000}},"required":["type","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"variable"},"name":{"anyOf":[{"type":"string","enum":["first_name","full_name","company_name","job_title","sender_first_name","sender_full_name","sender_job_title","sender_company_name"]},{"type":"string"}]}},"required":["type","name"],"additionalProperties":false}]},"minItems":1,"maxItems":80}},"required":["mode","segments"],"additionalProperties":false}]}},"required":["type","block_id","instruction","operation","context","output","fallback"],"additionalProperties":false}]},"minItems":1,"maxItems":80},{"type":"array","minItems":1,"maxItems":1,"prefixItems":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"value":{"type":"string","const":""}},"required":["type","value"],"additionalProperties":false}]}]}},"required":["position","stage","channel","delay_business_days","subject","body"],"additionalProperties":false},"minItems":1,"maxItems":4},"stop_on_reply":{"type":"boolean","const":true},"content_sha256":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"}},"required":["schema_version","mode","touches","stop_on_reply","content_sha256"],"additionalProperties":false},{"type":"object","properties":{"schema_version":{"type":"string","const":"outreach-custom-sequence-v3"},"mode":{"type":"string","const":"custom"},"touches":{"type":"array","items":{"type":"object","properties":{"position":{"type":"integer","exclusiveMinimum":0,"maximum":4},"stage":{"type":"string","enum":["attention","relevance","value_offer_or_diagnostic","final_follow_up"]},"channel":{"type":"string","enum":["email","li_connect","li_message","li_inmail"]},"delay_business_days":{"type":"integer","minimum":0,"maximum":365},"subject":{"anyOf":[{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"value":{"type":"string","minLength":1,"maxLength":20000}},"required":["type","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"variable"},"name":{"anyOf":[{"type":"string","enum":["first_name","full_name","company_name","job_title","sender_first_name","sender_full_name","sender_job_title","sender_company_name"]},{"type":"string"}]}},"required":["type","name"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"ai"},"block_id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,119}$"},"instruction":{"type":"string","minLength":1,"maxLength":500},"operation":{"type":"string","enum":["approved_capability_selector","verified_signal_selector","profile_guided_text","evidence_bounded_text"]},"context":{"type":"array","items":{"type":"string","enum":["verified_intent","approved_capabilities","contact_role","company_facts","campaign_goal","prior_outbound_message"]},"minItems":1,"maxItems":6},"output":{"type":"object","properties":{"shape":{"type":"string","enum":["noun_phrase","short_clause","sentence","two_sentences","two_items"]},"max_chars":{"type":"integer","exclusiveMinimum":0,"maximum":500}},"required":["shape","max_chars"],"additionalProperties":false},"fallback":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","const":"hold"}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","const":"omit"}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","const":"literal"},"segments":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"value":{"type":"string","minLength":1,"maxLength":20000}},"required":["type","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"variable"},"name":{"anyOf":[{"type":"string","enum":["first_name","full_name","company_name","job_title","sender_first_name","sender_full_name","sender_job_title","sender_company_name"]},{"type":"string"}]}},"required":["type","name"],"additionalProperties":false}]},"minItems":1,"maxItems":80}},"required":["mode","segments"],"additionalProperties":false}]}},"required":["type","block_id","instruction","operation","context","output","fallback"],"additionalProperties":false}]},"minItems":1,"maxItems":80},{"type":"null"}]},"body":{"anyOf":[{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"value":{"type":"string","minLength":1,"maxLength":20000}},"required":["type","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"variable"},"name":{"anyOf":[{"type":"string","enum":["first_name","full_name","company_name","job_title","sender_first_name","sender_full_name","sender_job_title","sender_company_name"]},{"type":"string"}]}},"required":["type","name"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"ai"},"block_id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,119}$"},"instruction":{"type":"string","minLength":1,"maxLength":500},"operation":{"type":"string","enum":["approved_capability_selector","verified_signal_selector","profile_guided_text","evidence_bounded_text"]},"context":{"type":"array","items":{"type":"string","enum":["verified_intent","approved_capabilities","contact_role","company_facts","campaign_goal","prior_outbound_message"]},"minItems":1,"maxItems":6},"output":{"type":"object","properties":{"shape":{"type":"string","enum":["noun_phrase","short_clause","sentence","two_sentences","two_items"]},"max_chars":{"type":"integer","exclusiveMinimum":0,"maximum":500}},"required":["shape","max_chars"],"additionalProperties":false},"fallback":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","const":"hold"}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","const":"omit"}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","const":"literal"},"segments":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"value":{"type":"string","minLength":1,"maxLength":20000}},"required":["type","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"variable"},"name":{"anyOf":[{"type":"string","enum":["first_name","full_name","company_name","job_title","sender_first_name","sender_full_name","sender_job_title","sender_company_name"]},{"type":"string"}]}},"required":["type","name"],"additionalProperties":false}]},"minItems":1,"maxItems":80}},"required":["mode","segments"],"additionalProperties":false}]}},"required":["type","block_id","instruction","operation","context","output","fallback"],"additionalProperties":false}]},"minItems":1,"maxItems":80},{"type":"array","minItems":1,"maxItems":1,"prefixItems":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"value":{"type":"string","const":""}},"required":["type","value"],"additionalProperties":false}]}]}},"required":["position","stage","channel","delay_business_days","subject","body"],"additionalProperties":false},"minItems":1,"maxItems":4},"branches":{"type":"object","properties":{"linkedin_connection_accepted":{"type":"array","items":{"type":"object","properties":{"position":{"type":"number","enum":[5,6]},"stage":{"type":"string","enum":["attention","relevance","value_offer_or_diagnostic","final_follow_up"]},"channel":{"type":"string","const":"li_message"},"delay_business_days":{"type":"integer","minimum":0,"maximum":365},"subject":{"anyOf":[{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"value":{"type":"string","minLength":1,"maxLength":20000}},"required":["type","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"variable"},"name":{"anyOf":[{"type":"string","enum":["first_name","full_name","company_name","job_title","sender_first_name","sender_full_name","sender_job_title","sender_company_name"]},{"type":"string"}]}},"required":["type","name"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"ai"},"block_id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,119}$"},"instruction":{"type":"string","minLength":1,"maxLength":500},"operation":{"type":"string","enum":["approved_capability_selector","verified_signal_selector","profile_guided_text","evidence_bounded_text"]},"context":{"type":"array","items":{"type":"string","enum":["verified_intent","approved_capabilities","contact_role","company_facts","campaign_goal","prior_outbound_message"]},"minItems":1,"maxItems":6},"output":{"type":"object","properties":{"shape":{"type":"string","enum":["noun_phrase","short_clause","sentence","two_sentences","two_items"]},"max_chars":{"type":"integer","exclusiveMinimum":0,"maximum":500}},"required":["shape","max_chars"],"additionalProperties":false},"fallback":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","const":"hold"}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","const":"omit"}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","const":"literal"},"segments":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"value":{"type":"string","minLength":1,"maxLength":20000}},"required":["type","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"variable"},"name":{"anyOf":[{"type":"string","enum":["first_name","full_name","company_name","job_title","sender_first_name","sender_full_name","sender_job_title","sender_company_name"]},{"type":"string"}]}},"required":["type","name"],"additionalProperties":false}]},"minItems":1,"maxItems":80}},"required":["mode","segments"],"additionalProperties":false}]}},"required":["type","block_id","instruction","operation","context","output","fallback"],"additionalProperties":false}]},"minItems":1,"maxItems":80},{"type":"null"}]},"body":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"value":{"type":"string","minLength":1,"maxLength":20000}},"required":["type","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"variable"},"name":{"anyOf":[{"type":"string","enum":["first_name","full_name","company_name","job_title","sender_first_name","sender_full_name","sender_job_title","sender_company_name"]},{"type":"string"}]}},"required":["type","name"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"ai"},"block_id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,119}$"},"instruction":{"type":"string","minLength":1,"maxLength":500},"operation":{"type":"string","enum":["approved_capability_selector","verified_signal_selector","profile_guided_text","evidence_bounded_text"]},"context":{"type":"array","items":{"type":"string","enum":["verified_intent","approved_capabilities","contact_role","company_facts","campaign_goal","prior_outbound_message"]},"minItems":1,"maxItems":6},"output":{"type":"object","properties":{"shape":{"type":"string","enum":["noun_phrase","short_clause","sentence","two_sentences","two_items"]},"max_chars":{"type":"integer","exclusiveMinimum":0,"maximum":500}},"required":["shape","max_chars"],"additionalProperties":false},"fallback":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","const":"hold"}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","const":"omit"}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","const":"literal"},"segments":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"value":{"type":"string","minLength":1,"maxLength":20000}},"required":["type","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"variable"},"name":{"anyOf":[{"type":"string","enum":["first_name","full_name","company_name","job_title","sender_first_name","sender_full_name","sender_job_title","sender_company_name"]},{"type":"string"}]}},"required":["type","name"],"additionalProperties":false}]},"minItems":1,"maxItems":80}},"required":["mode","segments"],"additionalProperties":false}]}},"required":["type","block_id","instruction","operation","context","output","fallback"],"additionalProperties":false}]},"minItems":1,"maxItems":80},"source_position":{"type":"integer","exclusiveMinimum":0,"maximum":4}},"required":["position","stage","channel","delay_business_days","subject","body","source_position"],"additionalProperties":false},"maxItems":2}},"required":["linkedin_connection_accepted"],"additionalProperties":false},"stop_on_reply":{"type":"boolean","const":true},"content_sha256":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"}},"required":["schema_version","mode","touches","branches","stop_on_reply","content_sha256"],"additionalProperties":false},{"type":"object","properties":{"schema_version":{"type":"string","const":"outreach-custom-sequence-v4"},"mode":{"type":"string","const":"custom"},"touches":{"type":"array","items":{"type":"object","properties":{"position":{"type":"integer","minimum":1,"maximum":10},"stage":{"type":"string","enum":["attention","relevance","value_offer_or_diagnostic","final_follow_up"]},"channel":{"type":"string","enum":["email","li_connect","li_message","li_inmail"]},"delay_business_days":{"type":"integer","minimum":0,"maximum":365},"subject":{"anyOf":[{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"value":{"type":"string","minLength":1,"maxLength":20000}},"required":["type","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"variable"},"name":{"anyOf":[{"type":"string","enum":["first_name","full_name","company_name","job_title","sender_first_name","sender_full_name","sender_job_title","sender_company_name"]},{"type":"string"}]}},"required":["type","name"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"ai"},"block_id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,119}$"},"instruction":{"type":"string","minLength":1,"maxLength":500},"operation":{"type":"string","enum":["approved_capability_selector","verified_signal_selector","profile_guided_text","evidence_bounded_text"]},"context":{"type":"array","items":{"type":"string","enum":["verified_intent","approved_capabilities","contact_role","company_facts","campaign_goal","prior_outbound_message"]},"minItems":1,"maxItems":6},"output":{"type":"object","properties":{"shape":{"type":"string","enum":["noun_phrase","short_clause","sentence","two_sentences","two_items"]},"max_chars":{"type":"integer","exclusiveMinimum":0,"maximum":500}},"required":["shape","max_chars"],"additionalProperties":false},"fallback":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","const":"hold"}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","const":"omit"}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","const":"literal"},"segments":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"value":{"type":"string","minLength":1,"maxLength":20000}},"required":["type","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"variable"},"name":{"anyOf":[{"type":"string","enum":["first_name","full_name","company_name","job_title","sender_first_name","sender_full_name","sender_job_title","sender_company_name"]},{"type":"string"}]}},"required":["type","name"],"additionalProperties":false}]},"minItems":1,"maxItems":80}},"required":["mode","segments"],"additionalProperties":false}]}},"required":["type","block_id","instruction","operation","context","output","fallback"],"additionalProperties":false}]},"minItems":1,"maxItems":80},{"type":"null"}]},"body":{"anyOf":[{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"value":{"type":"string","minLength":1,"maxLength":20000}},"required":["type","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"variable"},"name":{"anyOf":[{"type":"string","enum":["first_name","full_name","company_name","job_title","sender_first_name","sender_full_name","sender_job_title","sender_company_name"]},{"type":"string"}]}},"required":["type","name"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"ai"},"block_id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,119}$"},"instruction":{"type":"string","minLength":1,"maxLength":500},"operation":{"type":"string","enum":["approved_capability_selector","verified_signal_selector","profile_guided_text","evidence_bounded_text"]},"context":{"type":"array","items":{"type":"string","enum":["verified_intent","approved_capabilities","contact_role","company_facts","campaign_goal","prior_outbound_message"]},"minItems":1,"maxItems":6},"output":{"type":"object","properties":{"shape":{"type":"string","enum":["noun_phrase","short_clause","sentence","two_sentences","two_items"]},"max_chars":{"type":"integer","exclusiveMinimum":0,"maximum":500}},"required":["shape","max_chars"],"additionalProperties":false},"fallback":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","const":"hold"}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","const":"omit"}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","const":"literal"},"segments":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"value":{"type":"string","minLength":1,"maxLength":20000}},"required":["type","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"variable"},"name":{"anyOf":[{"type":"string","enum":["first_name","full_name","company_name","job_title","sender_first_name","sender_full_name","sender_job_title","sender_company_name"]},{"type":"string"}]}},"required":["type","name"],"additionalProperties":false}]},"minItems":1,"maxItems":80}},"required":["mode","segments"],"additionalProperties":false}]}},"required":["type","block_id","instruction","operation","context","output","fallback"],"additionalProperties":false}]},"minItems":1,"maxItems":80},{"type":"array","minItems":1,"maxItems":1,"prefixItems":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"value":{"type":"string","const":""}},"required":["type","value"],"additionalProperties":false}]}]}},"required":["position","stage","channel","delay_business_days","subject","body"],"additionalProperties":false},"minItems":1,"maxItems":10},"branches":{"type":"object","properties":{"linkedin_connection_accepted":{"type":"array","items":{"type":"object","properties":{"position":{"type":"integer","minimum":1,"maximum":10},"stage":{"type":"string","enum":["attention","relevance","value_offer_or_diagnostic","final_follow_up"]},"channel":{"type":"string","const":"li_message"},"delay_business_days":{"type":"integer","minimum":1,"maximum":365},"subject":{"type":"null"},"body":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"value":{"type":"string","minLength":1,"maxLength":20000}},"required":["type","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"variable"},"name":{"anyOf":[{"type":"string","enum":["first_name","full_name","company_name","job_title","sender_first_name","sender_full_name","sender_job_title","sender_company_name"]},{"type":"string"}]}},"required":["type","name"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"ai"},"block_id":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,119}$"},"instruction":{"type":"string","minLength":1,"maxLength":500},"operation":{"type":"string","enum":["approved_capability_selector","verified_signal_selector","profile_guided_text","evidence_bounded_text"]},"context":{"type":"array","items":{"type":"string","enum":["verified_intent","approved_capabilities","contact_role","company_facts","campaign_goal","prior_outbound_message"]},"minItems":1,"maxItems":6},"output":{"type":"object","properties":{"shape":{"type":"string","enum":["noun_phrase","short_clause","sentence","two_sentences","two_items"]},"max_chars":{"type":"integer","exclusiveMinimum":0,"maximum":500}},"required":["shape","max_chars"],"additionalProperties":false},"fallback":{"anyOf":[{"type":"object","properties":{"mode":{"type":"string","const":"hold"}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","const":"omit"}},"required":["mode"],"additionalProperties":false},{"type":"object","properties":{"mode":{"type":"string","const":"literal"},"segments":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"value":{"type":"string","minLength":1,"maxLength":20000}},"required":["type","value"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"variable"},"name":{"anyOf":[{"type":"string","enum":["first_name","full_name","company_name","job_title","sender_first_name","sender_full_name","sender_job_title","sender_company_name"]},{"type":"string"}]}},"required":["type","name"],"additionalProperties":false}]},"minItems":1,"maxItems":80}},"required":["mode","segments"],"additionalProperties":false}]}},"required":["type","block_id","instruction","operation","context","output","fallback"],"additionalProperties":false}]},"minItems":1,"maxItems":80},"source_position":{"type":"integer","minimum":1,"maximum":10}},"required":["position","stage","channel","delay_business_days","subject","body","source_position"],"additionalProperties":false},"maxItems":9}},"required":["linkedin_connection_accepted"],"additionalProperties":false},"stop_on_reply":{"type":"boolean","const":true},"content_sha256":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"}},"required":["schema_version","mode","touches","branches","stop_on_reply","content_sha256"],"additionalProperties":false}]},"custom_sequence_authorization":{"type":"object","properties":{"schema_version":{"type":"string","const":"outreach-custom-sequence-authorization-v1"},"scope":{"type":"string","const":"operator_template"},"sequence_content_sha256":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"authorized_by_user_id":{"type":"string","format":"uuid"},"confirmed_at":{"type":"string","format":"date-time"}},"required":["schema_version","scope","sequence_content_sha256","authorized_by_user_id","confirmed_at"],"additionalProperties":false},"message_templates":{"type":"object","properties":{"schema_version":{"type":"string","const":"outreach-custom-message-templates-v1"},"templates":{"type":"array","items":{"type":"object","properties":{"slot":{"type":"string","enum":["attention","relevance","value_offer_or_diagnostic","final_follow_up","linkedin_connection_accepted"]},"channel":{"type":"string","enum":["email","li_connect","li_message","li_inmail"]},"subject":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}]},"body":{"type":"string","maxLength":20000}},"required":["slot","channel","subject","body"],"additionalProperties":false},"minItems":1,"maxItems":5},"content_sha256":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"}},"required":["schema_version","templates","content_sha256"],"additionalProperties":false},"message_templates_authorization":{"type":"object","properties":{"schema_version":{"type":"string","const":"outreach-custom-message-templates-authorization-v1"},"scope":{"type":"string","const":"operator_template"},"templates_content_sha256":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"authorized_by_user_id":{"type":"string","format":"uuid"},"confirmed_at":{"type":"string","format":"date-time"}},"required":["schema_version","scope","templates_content_sha256","authorized_by_user_id","confirmed_at"],"additionalProperties":false},"approved_plays":{"type":"array","items":{"type":"object","properties":{"play_version_id":{"type":"string","format":"uuid"},"play_key":{"type":"string","minLength":1,"maxLength":80},"kind":{"type":"string","enum":["insight","diagnostic","resource","free_sample","social_proof","custom"]},"content_sha256":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"allowed_cta_kinds":{"type":"array","items":{"type":"string","enum":["question","permission","resource_offer","sample_offer","meeting","referral","website_visit","reply","linkedin_connection"]},"minItems":1,"maxItems":8},"allowed_channels":{"type":"array","items":{"type":"string","enum":["email","li_connect","li_message","li_inmail"]},"minItems":1,"maxItems":4},"allowed_stage_ids":{"type":"array","items":{"type":"string","enum":["attention","relevance","value_offer_or_diagnostic","final_follow_up","response_handling","meeting","referral","resource_delivery","exit"]},"minItems":1,"maxItems":9},"allowed_objectives":{"type":"array","items":{"type":"string","enum":["resource","sample","question","referral","meeting","website"]},"minItems":1,"maxItems":6},"requires_verified_signal":{"type":"boolean"},"requires_verified_role":{"type":"boolean"},"fulfillment_requirement_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"allocation":{"type":"number","minimum":0,"maximum":1}},"required":["play_version_id","play_key","kind","content_sha256","allowed_cta_kinds","allowed_channels","allowed_stage_ids","allowed_objectives","requires_verified_signal","requires_verified_role","fulfillment_requirement_id","allocation"],"additionalProperties":false},"minItems":1,"maxItems":12},"approved_channels":{"type":"array","items":{"type":"object","properties":{"channel":{"type":"string","enum":["email","li_connect","li_message","li_inmail"]},"consent_policy_version":{"type":"string","minLength":1,"maxLength":80},"formatting_policy_version":{"type":"string","minLength":1,"maxLength":80},"max_body_characters":{"type":"integer","exclusiveMinimum":0,"maximum":20000},"subject":{"type":"string","enum":["required","optional","prohibited"]},"allowed_cta_kinds":{"type":"array","items":{"type":"string","enum":["question","permission","resource_offer","sample_offer","meeting","referral","website_visit","reply","linkedin_connection"]},"minItems":1,"maxItems":9}},"required":["channel","consent_policy_version","formatting_policy_version","max_body_characters","subject","allowed_cta_kinds"],"additionalProperties":false},"minItems":1,"maxItems":4},"evidence_policy":{"type":"object","properties":{"version":{"type":"string","minLength":1,"maxLength":80},"minimum_tier":{"type":"string","enum":["insufficient","role_problem_hypothesis","signal_led"]},"allow_role_problem_hypotheses":{"type":"boolean"},"role_hypotheses_must_be_marked_uncertain":{"type":"boolean","const":true},"regulated_minimum_tier":{"type":"string","enum":["insufficient","role_problem_hypothesis","signal_led"]},"evidence_ttl_days":{"type":"integer","exclusiveMinimum":0,"maximum":365}},"required":["version","minimum_tier","allow_role_problem_hypotheses","role_hypotheses_must_be_marked_uncertain","regulated_minimum_tier","evidence_ttl_days"],"additionalProperties":false},"fulfillment_requirements":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"play_version_id":{"type":"string","format":"uuid"},"asset_type":{"type":"string","enum":["resource","generated_sample"]},"asset_version_id":{"type":"string","format":"uuid"},"delivery_method":{"type":"string","enum":["email_attachment","email_link","linkedin_message","hosted_download","manual_delivery"]},"recipient_specific":{"type":"boolean"},"required_before":{"type":"string","enum":["generation","authorization","send"]},"eligible_use_case":{"type":"string","minLength":1,"maxLength":120}},"required":["id","play_version_id","asset_type","asset_version_id","delivery_method","recipient_specific","required_before","eligible_use_case"],"additionalProperties":false},"maxItems":24},"style":{"type":"object","properties":{"client_brand":{"type":"object","properties":{"version":{"type":"integer","exclusiveMinimum":0},"content_sha256":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"controls":{"type":"object","properties":{"formal_to_conversational":{"type":"number","minimum":0,"maximum":1},"direct_to_consultative":{"type":"number","minimum":0,"maximum":1},"short_to_explanatory":{"type":"number","minimum":0,"maximum":1},"technical_language_allowed":{"type":"boolean"},"technical_language_preference":{"type":"string","enum":["avoid","allow","prefer"]},"warmth":{"type":"number","minimum":0,"maximum":1},"confidence":{"type":"number","minimum":0,"maximum":1},"subject_line_style":{"anyOf":[{"type":"string","minLength":1,"maxLength":120},{"type":"null"}]},"punctuation_rules":{"type":"array","items":{"type":"string","minLength":1,"maxLength":160},"maxItems":20},"punctuation_style":{"anyOf":[{"type":"string","enum":["restrained","standard","expressive"]},{"type":"null"}]},"formatting_style":{"anyOf":[{"type":"string","enum":["plain_text","short_paragraphs","bullets"]},{"type":"null"}]},"preferred_phrases":{"type":"array","items":{"type":"string","minLength":1,"maxLength":160},"maxItems":40},"prohibited_phrases":{"type":"array","items":{"type":"string","minLength":1,"maxLength":160},"maxItems":40},"positive_examples":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12},"negative_examples":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12},"examples_are_style_only":{"type":"boolean","const":true}},"required":["formal_to_conversational","direct_to_consultative","short_to_explanatory","technical_language_allowed","technical_language_preference","warmth","confidence","subject_line_style","punctuation_rules","punctuation_style","formatting_style","preferred_phrases","prohibited_phrases","positive_examples","negative_examples","examples_are_style_only"],"additionalProperties":false}},"required":["version","content_sha256","controls"],"additionalProperties":false},"sender_voice":{"type":"object","properties":{"version":{"type":"integer","exclusiveMinimum":0},"content_sha256":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"controls":{"type":"object","properties":{"formal_to_conversational":{"type":"number","minimum":0,"maximum":1},"direct_to_consultative":{"type":"number","minimum":0,"maximum":1},"short_to_explanatory":{"type":"number","minimum":0,"maximum":1},"technical_language_allowed":{"type":"boolean"},"technical_language_preference":{"type":"string","enum":["avoid","allow","prefer"]},"warmth":{"type":"number","minimum":0,"maximum":1},"confidence":{"type":"number","minimum":0,"maximum":1},"subject_line_style":{"anyOf":[{"type":"string","minLength":1,"maxLength":120},{"type":"null"}]},"punctuation_rules":{"type":"array","items":{"type":"string","minLength":1,"maxLength":160},"maxItems":20},"punctuation_style":{"anyOf":[{"type":"string","enum":["restrained","standard","expressive"]},{"type":"null"}]},"formatting_style":{"anyOf":[{"type":"string","enum":["plain_text","short_paragraphs","bullets"]},{"type":"null"}]},"preferred_phrases":{"type":"array","items":{"type":"string","minLength":1,"maxLength":160},"maxItems":40},"prohibited_phrases":{"type":"array","items":{"type":"string","minLength":1,"maxLength":160},"maxItems":40},"positive_examples":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12},"negative_examples":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12},"examples_are_style_only":{"type":"boolean","const":true}},"required":["formal_to_conversational","direct_to_consultative","short_to_explanatory","technical_language_allowed","technical_language_preference","warmth","confidence","subject_line_style","punctuation_rules","punctuation_style","formatting_style","preferred_phrases","prohibited_phrases","positive_examples","negative_examples","examples_are_style_only"],"additionalProperties":false}},"required":["version","content_sha256","controls"],"additionalProperties":false},"campaign_tone":{"type":"object","properties":{"version":{"type":"integer","exclusiveMinimum":0},"content_sha256":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"controls":{"type":"object","properties":{"formal_to_conversational":{"type":"number","minimum":0,"maximum":1},"direct_to_consultative":{"type":"number","minimum":0,"maximum":1},"short_to_explanatory":{"type":"number","minimum":0,"maximum":1},"technical_language_allowed":{"type":"boolean"},"technical_language_preference":{"type":"string","enum":["avoid","allow","prefer"]},"warmth":{"type":"number","minimum":0,"maximum":1},"confidence":{"type":"number","minimum":0,"maximum":1},"subject_line_style":{"anyOf":[{"type":"string","minLength":1,"maxLength":120},{"type":"null"}]},"punctuation_rules":{"type":"array","items":{"type":"string","minLength":1,"maxLength":160},"maxItems":20},"punctuation_style":{"anyOf":[{"type":"string","enum":["restrained","standard","expressive"]},{"type":"null"}]},"formatting_style":{"anyOf":[{"type":"string","enum":["plain_text","short_paragraphs","bullets"]},{"type":"null"}]},"preferred_phrases":{"type":"array","items":{"type":"string","minLength":1,"maxLength":160},"maxItems":40},"prohibited_phrases":{"type":"array","items":{"type":"string","minLength":1,"maxLength":160},"maxItems":40},"positive_examples":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12},"negative_examples":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12},"examples_are_style_only":{"type":"boolean","const":true}},"required":["formal_to_conversational","direct_to_consultative","short_to_explanatory","technical_language_allowed","technical_language_preference","warmth","confidence","subject_line_style","punctuation_rules","punctuation_style","formatting_style","preferred_phrases","prohibited_phrases","positive_examples","negative_examples","examples_are_style_only"],"additionalProperties":false}},"required":["version","content_sha256","controls"],"additionalProperties":false},"channel_formatting":{"type":"array","items":{"type":"object","properties":{"version":{"type":"integer","exclusiveMinimum":0},"content_sha256":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"controls":{"type":"object","properties":{"formal_to_conversational":{"type":"number","minimum":0,"maximum":1},"direct_to_consultative":{"type":"number","minimum":0,"maximum":1},"short_to_explanatory":{"type":"number","minimum":0,"maximum":1},"technical_language_allowed":{"type":"boolean"},"technical_language_preference":{"type":"string","enum":["avoid","allow","prefer"]},"warmth":{"type":"number","minimum":0,"maximum":1},"confidence":{"type":"number","minimum":0,"maximum":1},"subject_line_style":{"anyOf":[{"type":"string","minLength":1,"maxLength":120},{"type":"null"}]},"punctuation_rules":{"type":"array","items":{"type":"string","minLength":1,"maxLength":160},"maxItems":20},"punctuation_style":{"anyOf":[{"type":"string","enum":["restrained","standard","expressive"]},{"type":"null"}]},"formatting_style":{"anyOf":[{"type":"string","enum":["plain_text","short_paragraphs","bullets"]},{"type":"null"}]},"preferred_phrases":{"type":"array","items":{"type":"string","minLength":1,"maxLength":160},"maxItems":40},"prohibited_phrases":{"type":"array","items":{"type":"string","minLength":1,"maxLength":160},"maxItems":40},"positive_examples":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12},"negative_examples":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12},"examples_are_style_only":{"type":"boolean","const":true}},"required":["formal_to_conversational","direct_to_consultative","short_to_explanatory","technical_language_allowed","technical_language_preference","warmth","confidence","subject_line_style","punctuation_rules","punctuation_style","formatting_style","preferred_phrases","prohibited_phrases","positive_examples","negative_examples","examples_are_style_only"],"additionalProperties":false},"channel":{"type":"string","enum":["email","li_connect","li_message","li_inmail"]}},"required":["version","content_sha256","controls","channel"],"additionalProperties":false},"minItems":1,"maxItems":4},"locale_language":{"type":"object","properties":{"locale":{"type":"string","minLength":1,"maxLength":35},"language":{"type":"string","minLength":1,"maxLength":80},"version":{"type":"integer","exclusiveMinimum":0},"content_sha256":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"}},"required":["locale","language","version","content_sha256"],"additionalProperties":false},"learned_preferences":{"anyOf":[{"type":"object","properties":{"version":{"type":"integer","exclusiveMinimum":0},"content_sha256":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"controls":{"type":"object","properties":{"formal_to_conversational":{"type":"number","minimum":0,"maximum":1},"direct_to_consultative":{"type":"number","minimum":0,"maximum":1},"short_to_explanatory":{"type":"number","minimum":0,"maximum":1},"technical_language_allowed":{"type":"boolean"},"technical_language_preference":{"type":"string","enum":["avoid","allow","prefer"]},"warmth":{"type":"number","minimum":0,"maximum":1},"confidence":{"type":"number","minimum":0,"maximum":1},"subject_line_style":{"anyOf":[{"type":"string","minLength":1,"maxLength":120},{"type":"null"}]},"punctuation_rules":{"type":"array","items":{"type":"string","minLength":1,"maxLength":160},"maxItems":20},"punctuation_style":{"anyOf":[{"type":"string","enum":["restrained","standard","expressive"]},{"type":"null"}]},"formatting_style":{"anyOf":[{"type":"string","enum":["plain_text","short_paragraphs","bullets"]},{"type":"null"}]},"preferred_phrases":{"type":"array","items":{"type":"string","minLength":1,"maxLength":160},"maxItems":40},"prohibited_phrases":{"type":"array","items":{"type":"string","minLength":1,"maxLength":160},"maxItems":40},"positive_examples":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12},"negative_examples":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2000},"maxItems":12},"examples_are_style_only":{"type":"boolean","const":true}},"required":["formal_to_conversational","direct_to_consultative","short_to_explanatory","technical_language_allowed","technical_language_preference","warmth","confidence","subject_line_style","punctuation_rules","punctuation_style","formatting_style","preferred_phrases","prohibited_phrases","positive_examples","negative_examples","examples_are_style_only"],"additionalProperties":false}},"required":["version","content_sha256","controls"],"additionalProperties":false},{"type":"null"}]}},"required":["client_brand","sender_voice","campaign_tone","channel_formatting","locale_language","learned_preferences"],"additionalProperties":false},"market_modules":{"type":"array","items":{"type":"object","properties":{"module_id":{"type":"string","format":"uuid"},"version":{"type":"integer","exclusiveMinimum":0},"content_sha256":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"industry_family":{"type":"string","minLength":1,"maxLength":120},"accepted_terminology":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":80},"priority_hypotheses":{"type":"array","items":{"type":"string","minLength":1,"maxLength":400},"maxItems":40},"objection_hypotheses":{"type":"array","items":{"type":"string","minLength":1,"maxLength":400},"maxItems":40},"educational_themes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":40},"words_and_angles_to_avoid":{"type":"array","items":{"type":"string","minLength":1,"maxLength":200},"maxItems":60},"jurisdictions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":80},"maxItems":40},"compliance_rule_ids":{"type":"array","items":{"type":"string","minLength":1,"maxLength":100},"maxItems":60},"typical_buyer_functions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":40},"suitable_channels":{"type":"array","items":{"type":"string","enum":["email","li_connect","li_message","li_inmail"]},"maxItems":4},"suitable_play_kinds":{"type":"array","items":{"type":"string","enum":["insight","diagnostic","resource","free_sample","social_proof","custom"]},"maxItems":6},"establishes_recipient_facts":{"type":"boolean","const":false}},"required":["module_id","version","content_sha256","industry_family","accepted_terminology","priority_hypotheses","objection_hypotheses","educational_themes","words_and_angles_to_avoid","jurisdictions","compliance_rule_ids","typical_buyer_functions","suitable_channels","suitable_play_kinds","establishes_recipient_facts"],"additionalProperties":false},"maxItems":12},"compliance":{"type":"object","properties":{"policy_version":{"type":"string","minLength":1,"maxLength":100},"hard_rule_ids":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"minItems":1,"maxItems":100},"prohibited_claims":{"type":"array","items":{"type":"string","minLength":1,"maxLength":500},"maxItems":100},"prohibited_phrases":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":100},"regulated_industries":{"type":"array","items":{"type":"string","minLength":1,"maxLength":120},"maxItems":40},"regulated_jurisdictions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":80},"maxItems":40},"opt_out_required":{"type":"boolean"}},"required":["policy_version","hard_rule_ids","prohibited_claims","prohibited_phrases","regulated_industries","regulated_jurisdictions","opt_out_required"],"additionalProperties":false},"learning_policy":{"type":"object","properties":{"policy_version":{"type":"string","minLength":1,"maxLength":100},"allowed_play_version_ids":{"type":"array","items":{"type":"string","format":"uuid"},"minItems":1,"maxItems":12},"fixed_baseline_play_version_id":{"type":"string","format":"uuid"},"exploration_fraction":{"type":"number","minimum":0,"maximum":0.5},"minimum_allocation":{"type":"number","minimum":0,"maximum":0.5},"maximum_allocation_step":{"type":"number","exclusiveMinimum":0,"maximum":0.25},"client_pooling":{"type":"string","const":"same_client_offer_only"},"truth_and_policy_are_immutable":{"type":"boolean","const":true},"negative_outcomes":{"type":"array","items":{"type":"string","enum":["negative_reply","unsubscribe","spam_complaint","poor_fit_meeting","low_quality_opportunity"]},"minItems":1,"maxItems":5}},"required":["policy_version","allowed_play_version_ids","fixed_baseline_play_version_id","exploration_fraction","minimum_allocation","maximum_allocation_step","client_pooling","truth_and_policy_are_immutable","negative_outcomes"],"additionalProperties":false},"stop_pause_policy":{"type":"object","properties":{"policy_version":{"type":"string","minLength":1,"maxLength":100},"stop_conditions":{"type":"array","items":{"type":"string","enum":["unsubscribe","negative_reply","wrong_person_no_referral","max_touches","hard_bounce","compliance_block"]},"minItems":1,"maxItems":6},"pause_conditions":{"type":"array","items":{"type":"string","enum":["not_now","out_of_office","fulfillment_unavailable","account_unhealthy","cost_cap_reached","quality_gate_unavailable"]},"minItems":1,"maxItems":6},"max_touches":{"type":"integer","exclusiveMinimum":0,"maximum":20},"minimum_touch_spacing_hours":{"type":"integer","minimum":0,"maximum":2160}},"required":["policy_version","stop_conditions","pause_conditions","max_touches","minimum_touch_spacing_hours"],"additionalProperties":false},"cadence_policy":{"anyOf":[{"type":"object","properties":{"policy_version":{"type":"string","const":"outreach-business-day-cadence-v1"},"short_wait_unit":{"type":"string","const":"business_days"},"linkedin_acceptance_wait_business_days":{"type":"integer","minimum":1,"maximum":5},"cross_channel_collision_business_days":{"type":"integer","minimum":1,"maximum":10},"linkedin_pending_expiry_calendar_days":{"type":"integer","minimum":21,"maximum":30},"not_now_fallback_calendar_days":{"type":"integer","minimum":30,"maximum":365}},"required":["policy_version","short_wait_unit","linkedin_acceptance_wait_business_days","cross_channel_collision_business_days","linkedin_pending_expiry_calendar_days","not_now_fallback_calendar_days"],"additionalProperties":false},{"type":"object","properties":{"policy_version":{"type":"string","const":"outreach-business-day-cadence-v2"},"short_wait_unit":{"type":"string","const":"business_days"},"linkedin_acceptance_wait_minutes":{"type":"number","const":120},"linkedin_only_final_followup_business_days":{"type":"number","const":6},"hybrid_linkedin_followup_business_days":{"type":"number","const":4},"cross_channel_collision_business_days":{"type":"integer","minimum":1,"maximum":10},"linkedin_pending_expiry_calendar_days":{"type":"integer","minimum":21,"maximum":30},"not_now_fallback_calendar_days":{"type":"integer","minimum":30,"maximum":365}},"required":["policy_version","short_wait_unit","linkedin_acceptance_wait_minutes","cross_channel_collision_business_days","linkedin_pending_expiry_calendar_days","not_now_fallback_calendar_days"],"additionalProperties":false}]},"account_inputs":{"type":"object","properties":{"policy_version":{"type":"string","const":"outreach-account-input-policy-v1"},"accepted_manifest_id":{"type":"string","minLength":1,"maxLength":160,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]*$"},"accepted_manifest_sha256":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"accepted_manifest_revision":{"type":"integer","exclusiveMinimum":0},"allowed_field_definitions":{"type":"array","items":{"type":"object","properties":{"field_id":{"type":"string","minLength":1,"maxLength":160,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]*$"},"source_column":{"type":"string","minLength":1,"maxLength":120},"field_kind":{"type":"string","enum":["seo_opportunity","affected_page","target_keyword","hiring_event","hiring_role","technology_change","benchmark","custom_fact","planning_context","cta_destination"]},"value_type":{"type":"string","enum":["text","integer","number","boolean","date","url","destination_id"]},"trust_classification":{"type":"string","enum":["verified_fact","operator_attested_fact","planning_context","approved_cta_destination","ignore"]},"use_policy":{"type":"string","enum":["surface","selection_only","review_only","cta_destination","ignore"]},"required":{"type":"boolean"},"selection_play_version_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"freshness":{"type":"object","properties":{"max_age_days":{"type":"integer","minimum":1,"maximum":3650},"observed_at_required":{"type":"boolean"},"stale_outcome":{"type":"string","const":"blocked"}},"required":["max_age_days","observed_at_required","stale_outcome"],"additionalProperties":false},"verification":{"type":"object","properties":{"source_url_required":{"type":"boolean"},"observation_date_required":{"type":"boolean","const":true},"source_verification_required":{"type":"boolean"},"immutable_receipt_required":{"type":"boolean"}},"required":["source_url_required","observation_date_required","source_verification_required","immutable_receipt_required"],"additionalProperties":false}},"required":["field_id","source_column","field_kind","value_type","trust_classification","use_policy","required","freshness","verification"],"additionalProperties":false},"minItems":1,"maxItems":64},"approved_sentence_field_ids":{"type":"array","items":{"type":"string","minLength":1,"maxLength":160,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]*$"},"maxItems":1},"operator_attested_data_allowed_for_human_review":{"type":"boolean"}},"required":["policy_version","accepted_manifest_id","accepted_manifest_sha256","accepted_manifest_revision","allowed_field_definitions","operator_attested_data_allowed_for_human_review"],"additionalProperties":false},"email_follow_up_cadence":{"type":"object","properties":{"version":{"type":"number","const":1},"business_days":{"type":"array","items":{"type":"integer","minimum":1,"maximum":30},"maxItems":3}},"required":["version","business_days"],"additionalProperties":false},"route_cadence":{"type":"object","properties":{"version":{"type":"number","const":1},"steps":{"type":"array","items":{"type":"object","properties":{"channel":{"type":"string","enum":["email","li_connect","li_message","li_inmail"]},"lane":{"type":"string","enum":["primary","linkedin_connection_accepted"]},"wait_business_days":{"type":"integer","minimum":0,"maximum":30},"after_acceptance_minutes":{"type":"number","const":120}},"required":["channel","lane","wait_business_days"],"additionalProperties":false},"minItems":1,"maxItems":10}},"required":["version","steps"],"additionalProperties":false}},"required":["schema_version","contract_version","strategy_id","created_at","authority_policy_version","authority_order","generation_policy","audience","client_offer","objective","success_event","sequence","approved_plays","approved_channels","evidence_policy","fulfillment_requirements","style","market_modules","compliance","learning_policy","stop_pause_policy"],"additionalProperties":false},"recontact_request":{"type":"object","properties":{"lead_id":{"type":"string","format":"uuid"},"reason":{"type":"string","minLength":10,"maxLength":400}},"required":["lead_id","reason"],"additionalProperties":false}},"required":["preview_version","fit_confirmation"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/pause":{"post":{"operationId":"pauseCampaign","summary":"Pause a campaign","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:write"],"x-retry-contract":"state","description":"Pauses an active campaign so its sequence stops sending until it is resumed. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/resume":{"post":{"operationId":"resumeCampaign","summary":"Resume a campaign","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:send"],"x-retry-contract":"state","description":"Resumes a paused campaign. Its queued contacts continue and campaign messages start sending again. Follow-ups that came due during the pause keep the wait they had left. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/resume-summary":{"get":{"operationId":"getCampaignResumeSummary","summary":"Summarize a campaign resume","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","description":"Counts the approved messages that will send when a paused campaign resumes. Saves nothing. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"campaign_status":{"type":"string"},"approved_messages":{"type":"integer","minimum":0}},"required":["campaign_status","approved_messages"],"additionalProperties":false},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/review":{"get":{"operationId":"listReview","summary":"List drafts awaiting review","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","x-pagination":{"kind":"cursor","parameter":"cursor","next":"next_cursor","items":"drafts","partial":"degraded_lanes","limited":"results_limited"},"description":"Lists drafts waiting for human review, each with the revision needed to approve, deny or skip it, plus contacts and sends that need attention. Filter by channel, sender, campaign, ICP or product. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"channels","in":"query","required":false,"schema":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."}},{"name":"senders","in":"query","required":false,"schema":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."}},{"name":"campaigns","in":"query","required":false,"schema":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."}},{"name":"icps","in":"query","required":false,"schema":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."}},{"name":"products","in":"query","required":false,"schema":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."}},{"name":"filtered","in":"query","required":false,"schema":{"type":"string","const":"1"}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"inbox_paused","in":"query","required":false,"schema":{"type":"string","enum":["true","false"]}}],"x-query-schema":{"type":"object","properties":{"channels":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."},"senders":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."},"campaigns":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."},"icps":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."},"products":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."},"filtered":{"type":"string","const":"1"},"cursor":{"type":"string"},"inbox_paused":{"type":"string","enum":["true","false"]}},"additionalProperties":false},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"drafts":{"type":"array","items":{"type":"object","additionalProperties":{}}},"attention":{"type":"array","items":{"type":"object","additionalProperties":{}}},"next_cursor":{"type":["string","null"]},"results_limited":{"type":"boolean"},"degraded_lanes":{"type":"array","items":{"type":"string"}}},"required":["drafts","attention","next_cursor","degraded_lanes"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/review/{messageId}/deny":{"post":{"operationId":"denyMessage","summary":"Deny a draft","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:write"],"x-retry-contract":"bound","description":"Rejects one draft in Review with a reason and can generate a replacement. A safety reason, such as wrong person or compliance, instead stops this contact in the campaign and switches an Autopilot campaign to Copilot. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"messageId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","enum":["too_generic","too_salesy","unnatural_tone","repeated_pitch","did_not_answer","wrong_angle","wrong_proof","too_long","cta_too_strong","unsupported_claim","wrong_person","timing_after_reply","relationship_conflict","compliance_issue","custom"]},"note":{"type":"string","maxLength":500},"regenerate":{"type":"boolean","default":false},"expected_revision":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["reason","expected_revision"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/review/{messageId}/skip":{"post":{"operationId":"skipMessage","summary":"Skip a draft","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:write"],"x-retry-contract":"bound","description":"Skips one draft in Review. The contact gets no more outreach from this campaign. The contact is not suppressed. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"messageId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"expected_revision":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["expected_revision"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/replies":{"get":{"operationId":"listReplies","summary":"List replies to handle","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","x-pagination":{"kind":"bounded","items":"tasks","limited":"results_limited","maximumItems":100},"description":"Lists up to 100 open or snoozed replies from contacts, with classification, priority, due time and any suggested response. Automated replies, bounces, out-of-office replies and opt-outs are excluded. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"tasks":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"classification_source":{"type":["string","null"]},"classification_review_required":{"type":["boolean","null"],"description":"Null means pending classification has no confirmed review decision; API reads do not enqueue repair work."},"resume_ended_reason":{"anyOf":[{"type":"string","enum":["linkedin_connection_not_admitted","suppressed"]},{"type":"null"}],"description":"Set when an out-of-office or not-now reply's automatic resume ended for good: the contact is connected on LinkedIn outside this campaign, or is suppressed."}},"required":["id","classification_source","classification_review_required"],"additionalProperties":true}},"results_limited":{"type":"boolean"},"sender_metadata_incomplete":{"type":"boolean"}},"required":["tasks"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/analytics":{"get":{"operationId":"getOutreachAnalytics","summary":"Get outreach summary","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","description":"Returns a 90-day outreach performance summary: sends, prospects reached, replies, reply types and outcomes, plus sends in the last 24 hours and current queue and review activity. Email and LinkedIn messages return no delivery receipt, so use qualified_positive_replies_per_1000 for the positive reply rate; the delivered fields are not a delivery rate. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"window_days":{"type":"integer"},"sent":{"type":"integer","description":"Emails, LinkedIn messages and LinkedIn invitations sent in the window."},"reached_prospects":{"type":"integer","description":"Prospects reached by at least one email or LinkedIn message in the window: a send that did not bounce, did not fail and is not unresolved. A failed or unresolved send also counts when a reply proves reach (a reply recorded on the send, or any prospect reply in the window); a bounced send never counts. Invitations alone do not count. The denominator of qualified_positive_replies_per_1000."},"delivered":{"type":"integer","description":"Sends with a delivery, open or read event, or to a prospect with any inbound message in the window. Email and LinkedIn messages return no delivery receipt, so this mostly counts sends to prospects who replied. It is not a delivery rate."},"delivered_prospects":{"type":"integer","description":"Prospects behind delivered. Not a reply-rate denominator; use reached_prospects."},"awaiting_delivery":{"type":"integer","description":"Sends with no delivery evidence. Email and LinkedIn messages return no receipt, so most sends stay here; it is not a backlog."},"bounced":{"type":"integer"},"replied":{"type":"integer","description":"Prospects who replied, excluding replies classified only as automated, out of office or bounce. Replies not yet classified count."},"reply_breakdown":{"type":"object","properties":{"prospects":{"type":"integer"},"positive":{"type":"integer"},"automated":{"type":"integer"},"out_of_office":{"type":"integer"}},"required":["prospects","positive","automated","out_of_office"],"additionalProperties":true},"outcomes":{"type":"object","additionalProperties":{"type":"number"}},"qualified_positive_replies_per_1000":{"type":["number","null"],"description":"Reached prospects with a qualified positive reply, per 1,000 reached_prospects. Null when no prospect was reached."},"no_send_reasons":{"anyOf":[{"type":"object","additionalProperties":{"type":"number"}},{"type":"null"}],"description":"Top 15 reasons, counted over every wait, stop or review decision in the window. Null when the window holds more than 50,000 of them."},"live":{"type":"object","properties":{"sent_last_24h":{"type":"integer"},"in_flight":{"type":"integer"},"awaiting_review":{"type":"integer"},"next_send_at":{"type":["string","null"]}},"required":["sent_last_24h","in_flight","awaiting_review","next_send_at"],"additionalProperties":true}},"required":["window_days","sent","reached_prospects","delivered","delivered_prospects","awaiting_delivery","bounced","replied","reply_breakdown","outcomes","qualified_positive_replies_per_1000","no_send_reasons","live"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/review/approve":{"post":{"operationId":"approveMessages","summary":"Approve drafts for sending","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:send"],"x-retry-contract":"bound","description":"Approves 1 to 50 drafts in Review, each bound to the exact revision shown. Approved messages are checked, queued and sent to the contacts on each sender's schedule. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"approvals":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"message_id":{"type":"string","format":"uuid"},"kind":{"type":"string","const":"message"},"binding":{"type":"object","properties":{"quality_attestation_id":{"type":"string","format":"uuid"},"review_revision":{"type":"string","pattern":"^[a-f0-9]{64}$"},"transport_content_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"intended_send_start":{"type":"string","format":"date-time"},"intended_send_end":{"type":"string","format":"date-time"}},"required":["quality_attestation_id","review_revision","intended_send_start","intended_send_end"],"additionalProperties":false}},"required":["message_id","kind","binding"],"additionalProperties":false},{"type":"object","properties":{"message_id":{"type":"string","format":"uuid"},"kind":{"type":"string","const":"linkedin"},"binding":{"type":"object","properties":{"quality_attestation_id":{"type":"string","format":"uuid"},"rendered_content_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"profile_url":{"type":"string","format":"uri","maxLength":500},"account_id":{"type":"string","format":"uuid"},"intended_send_start":{"type":"string","format":"date-time"},"intended_send_end":{"type":"string","format":"date-time"},"action_kind":{"type":"string","enum":["send_invite","accept_received"],"default":"send_invite"},"provider_request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null}},"required":["quality_attestation_id","rendered_content_hash","profile_url","account_id","intended_send_start","intended_send_end"],"additionalProperties":false}},"required":["message_id","kind","binding"],"additionalProperties":false}]},"minItems":1,"maxItems":50}},"required":["approvals"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/conversations/{id}/reply":{"post":{"operationId":"replyToConversation","summary":"Reply to a conversation","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:send"],"x-retry-contract":"request_id","description":"Sends a reply right away in a conversation's email thread or LinkedIn chat, from that conversation's sending account. Supports a subject, links and attachments; a repeated request_id is not sent twice. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"channel":{"type":"string","enum":["email","linkedin"]},"body":{"type":"string","minLength":1,"maxLength":4000},"body_html":{"type":"string","maxLength":20000},"subject":{"type":"string","pattern":"^[^\\x00-\\x1f\\x7f]*$","maxLength":300},"attachment_ids":{"type":"array","items":{"type":"string","format":"uuid"},"maxItems":5}},"required":["channel","body"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/archive":{"post":{"operationId":"archiveCampaign","summary":"Archive a campaign","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:write"],"x-retry-contract":"state","description":"Pauses an active campaign and archives it, stopping its remaining sends. Unsent drafts are discarded unless kept for the inbox. The campaign can be restored later. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"anyOf":[{"not":{}},{"type":"object","properties":{"discard_unsent_drafts":{"type":"boolean"},"after_message_id":{"type":"string","format":"uuid"}},"additionalProperties":false}]}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"ok":{"type":"boolean","const":true},"status":{"type":"string"},"already_applied":{"type":"boolean"},"deletion_pending":{"type":"boolean"}},"required":["ok","status","already_applied","deletion_pending"],"additionalProperties":true,"description":"Archives a paused or completed campaign. Use discardCampaign for drafts."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"ok":{"type":"boolean","const":true},"status":{"type":"string"},"already_applied":{"type":"boolean"},"deletion_pending":{"type":"boolean"}},"required":["ok","status","already_applied","deletion_pending"],"additionalProperties":true,"description":"Archives a paused or completed campaign. Use discardCampaign for drafts."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"ok":{"type":"boolean","const":true},"status":{"type":"string"},"already_applied":{"type":"boolean"},"deletion_pending":{"type":"boolean"}},"required":["ok","status","already_applied","deletion_pending"],"additionalProperties":true,"description":"Archives a paused or completed campaign. Use discardCampaign for drafts."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/sequence-templates":{"get":{"operationId":"listSequenceTemplates","summary":"List saved sequences","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","x-pagination":{"kind":"bounded","items":"templates","maximumItems":100},"description":"Lists the workspace's active or archived saved message sequences, optionally filtered by name. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["active","archived"],"default":"active"}},{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":80}}],"x-query-schema":{"type":"object","properties":{"status":{"type":"string","enum":["active","archived"],"default":"active"},"q":{"type":"string","maxLength":80}},"additionalProperties":false},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"templates":{"type":"array","items":{"type":"object","additionalProperties":{}}}},"required":["templates"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}},"post":{"operationId":"createSequenceTemplate","summary":"Save a sequence","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:write"],"x-retry-contract":"operation_id","description":"Saves a new reusable message sequence, for example from a campaign's sequence. Existing campaigns and saved sequences are not changed. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"description":{"anyOf":[{"type":"string","minLength":1,"maxLength":500},{"type":"null"}]},"source_template_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]},"campaign_messaging_revision_id":{"type":"string","format":"uuid"},"campaign_strategy_id":{"type":"string","format":"uuid"},"sequence":{}},"required":["name"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"template":{"type":"object","additionalProperties":{}}},"required":["template"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"template":{"type":"object","additionalProperties":{}}},"required":["template"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"template":{"type":"object","additionalProperties":{}}},"required":["template"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/sequence-templates/{id}":{"get":{"operationId":"getSequenceTemplate","summary":"Get a saved sequence","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","description":"Returns one saved message sequence with its steps and copy, optionally at a specific version. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"version","in":"query","required":false,"schema":{"type":"integer","exclusiveMinimum":0}}],"x-query-schema":{"type":"object","properties":{"version":{"type":"integer","exclusiveMinimum":0}},"additionalProperties":false},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"template":{"type":"object","additionalProperties":{}}},"required":["template"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/sequence":{"get":{"operationId":"getCampaignSequence","summary":"Get a campaign's sequence","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","description":"Returns the authored message sequence of a campaign. A launched campaign returns its frozen launch version, not rendered messages. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/sequence-templates/{id}/duplicate":{"post":{"operationId":"duplicateSequenceTemplate","summary":"Duplicate a saved sequence","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:write"],"x-retry-contract":"operation_id","description":"Creates a copy of a saved message sequence, optionally with a new name and description. The original is unchanged. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"description":{"anyOf":[{"type":"string","minLength":1,"maxLength":500},{"type":"null"}]}},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"template":{"type":"object","additionalProperties":{}}},"required":["template"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"template":{"type":"object","additionalProperties":{}}},"required":["template"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"template":{"type":"object","additionalProperties":{}}},"required":["template"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/sequence-templates/{id}/archive":{"post":{"operationId":"archiveSequenceTemplate","summary":"Archive a saved sequence","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:write"],"x-retry-contract":"state","description":"Archives a saved message sequence so it can no longer be used for new campaigns. Campaigns already using its copy are not changed. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"template":{"type":"object","additionalProperties":{}}},"required":["template"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"template":{"type":"object","additionalProperties":{}}},"required":["template"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"template":{"type":"object","additionalProperties":{}}},"required":["template"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/messaging":{"get":{"operationId":"getCampaignMessaging","summary":"Get campaign messaging","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","description":"Returns the current editable message copy, revision and available custom fields for an active or paused campaign with a custom sequence. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}},"put":{"operationId":"updateCampaignMessaging","summary":"Update campaign messaging","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:send"],"x-retry-contract":"operation_id","description":"Saves new message copy for an active or paused campaign's custom sequence. Only copy can change, not steps or structure. Future messages to its contacts use the new copy. In an active Copilot campaign, drafts in Review that nobody approved or edited are rewritten on it when the caller may also act in Review (API keys need outreach:write); approved and scheduled messages keep their copy. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"expected_revision":{"type":"integer","minimum":0},"strategy_version_id":{"type":"string","format":"uuid"},"sequence":{}},"required":["expected_revision","strategy_version_id"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/recurring-requests":{"get":{"operationId":"listRecurringRequests","summary":"List recurring lead requests","tags":["Lead engine"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["lead_engine:read"],"x-retry-contract":"none","x-pagination":{"kind":"bounded","limited":"results_limited","maximumSchedules":20,"maximumSetups":20,"maximumRuns":100},"description":"Lists recurring lead request schedules, pending setups and up to 100 recent runs with companies delivered, contacts added and credits. Workspace owners, admins and managers only. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"schedules":{"type":"array","items":{"type":"object","additionalProperties":{}}},"setups":{"type":"array","items":{"type":"object","additionalProperties":{}}},"runs":{"type":"array","items":{"type":"object","additionalProperties":{}}},"results_limited":{"type":"boolean"}},"required":["schedules","runs"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}},"post":{"operationId":"createRecurringRequest","summary":"Create a recurring lead request","tags":["Lead engine"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["lead_engine:write","outreach:send"],"x-retry-contract":"operation_id","description":"Schedules a daily or weekly repeat of a delivered lead request. Each run spends credits within its limits and adds eligible contacts to the chosen campaign. Saving buys nothing yet. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"source_request_id":{"type":"string","format":"uuid"},"campaign_id":{"type":"string","format":"uuid"},"name":{"type":"string","minLength":1,"maxLength":120},"cadence":{"type":"string","enum":["daily","weekly"]},"monthly_credit_limit":{"anyOf":[{"type":"integer","minimum":50,"maximum":500000},{"type":"null"}]},"weekday":{"type":"integer","minimum":0,"maximum":6},"local_time":{"type":"string","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"},"timezone":{"type":"string","minLength":1,"maxLength":100},"company_count":{"type":"integer","minimum":10,"maximum":50},"credit_limit":{"type":"integer","minimum":50,"maximum":15250}},"required":["source_request_id","campaign_id","name","weekday","local_time","timezone","company_count","credit_limit"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"}},"required":["id"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"}},"required":["id"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"}},"required":["id"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/recurring-requests/options":{"get":{"operationId":"getRecurringRequestOptions","summary":"Get recurring request options","tags":["Lead engine"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["lead_engine:read"],"x-retry-contract":"none","description":"Lists delivered lead requests that can repeat and the campaigns that can receive their contacts, for setting up a recurring lead request. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/recurring-requests/setups/{id}":{"patch":{"operationId":"updateRecurringSetup","summary":"Update a pending recurring setup","tags":["Lead engine"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["lead_engine:write","outreach:send"],"x-retry-contract":"bound","description":"Pauses, resumes or archives a pending recurring setup, which waits for its first lead request to be delivered. Resuming lets its paid repeats start after delivery. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["waiting","paused","archived"]},"expected_revision":{"type":"integer","exclusiveMinimum":0}},"required":["status","expected_revision"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/recurring-requests/{id}":{"patch":{"operationId":"updateRecurringRequest","summary":"Update a recurring lead request","tags":["Lead engine"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["lead_engine:write","outreach:send"],"x-retry-contract":"bound","description":"Pauses, resumes or archives a recurring lead request schedule. Resuming restarts paid runs and campaign enrollment; pausing or archiving stops future purchases. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["active","paused","archived"]},"expected_revision":{"type":"integer","exclusiveMinimum":0}},"required":["status","expected_revision"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/queued":{"get":{"operationId":"listQueuedMessages","summary":"List queued messages","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","x-pagination":{"kind":"cursor","parameter":"cursor","limit":"limit","next":"next_cursor","items":"messages","maximumLimit":50,"optIn":"limit","legacyLimited":"results_limited","detailOperation":"getQueuedMessage"},"description":"Lists queued-message previews, including messages in paused campaigns. MCP defaults to 25 per page; follow next_cursor for more. Fetch getQueuedMessage before relying on full content or sending controls. REST calls without limit or cursor retain the legacy snapshot, capped at 200 with results_limited when incomplete. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"include_message_id","in":"query","required":false,"schema":{"type":"string","format":"uuid","description":"Legacy snapshot lookup. Use getQueuedMessage for full details; cannot be combined with limit or cursor."}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50,"description":"Opt into cursor-paged previews. MCP defaults to 25; at most 50 messages per page."}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":2000}},{"name":"channels","in":"query","required":false,"schema":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."}},{"name":"senders","in":"query","required":false,"schema":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."}},{"name":"campaigns","in":"query","required":false,"schema":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."}},{"name":"icps","in":"query","required":false,"schema":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."}},{"name":"products","in":"query","required":false,"schema":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."}},{"name":"inbox_paused","in":"query","required":false,"schema":{"type":"string","enum":["true","false"],"description":"Include messages in paused campaigns. Pages leave them out unless this is true; MCP sets it to true by default."}},{"name":"inbox_search","in":"query","required":false,"schema":{"type":"string","maxLength":4000}}],"x-query-schema":{"type":"object","properties":{"include_message_id":{"type":"string","format":"uuid","description":"Legacy snapshot lookup. Use getQueuedMessage for full details; cannot be combined with limit or cursor."},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"Opt into cursor-paged previews. MCP defaults to 25; at most 50 messages per page."},"cursor":{"type":"string","maxLength":2000},"channels":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."},"senders":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."},"campaigns":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."},"icps":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."},"products":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."},"inbox_paused":{"type":"string","enum":["true","false"],"description":"Include messages in paused campaigns. Pages leave them out unless this is true; MCP sets it to true by default."},"inbox_search":{"type":"string","maxLength":4000}},"additionalProperties":false},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"messages":{"type":"array","items":{"type":"object","additionalProperties":{}}},"now":{"type":"string"},"results_limited":{"type":"boolean"},"next_cursor":{"type":["string","null"]}},"required":["messages","now"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/queued/{messageId}":{"get":{"operationId":"getQueuedMessage","summary":"Get a queued message","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","description":"Returns one queued or preparing message with its content, estimated send time and the actions currently allowed. Returns null when the message is no longer in the queue. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"messageId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"message":{"anyOf":[{"type":"object","additionalProperties":{}},{"type":"null"}]},"now":{"type":"string"}},"required":["message","now"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/queued/{messageId}/outcome":{"get":{"operationId":"getMessageOutcome","summary":"Get a message's outcome","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","description":"Returns the saved result of an outbound message after it leaves the queue: sent, bounced, stopped, rejected or unconfirmed. Returns null when there is no result yet. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"messageId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"outcome":{"anyOf":[{"type":"object","additionalProperties":{}},{"type":"null"}]}},"required":["outcome"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/queued/priority":{"post":{"operationId":"prioritizeMessages","summary":"Prioritize queued messages","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:send"],"x-retry-contract":"request_id","description":"Moves 1 to 100 queued messages up. Prioritize puts them at the top of the queue within sending hours; Rapid send sends them as soon as sender limits allow, even outside sending hours. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","enum":["prioritize","rapid"]},"message_ids":{"type":"array","items":{"type":"string","format":"uuid"},"minItems":1,"maxItems":100}},"required":["mode","message_ids"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/queued/{messageId}/cancel":{"post":{"operationId":"cancelQueuedMessage","summary":"Cancel a queued message","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:write"],"x-retry-contract":"bound","description":"Cancels one approved message before it is sent, or an approval still being prepared. Fails once sending has started. Approval and attempt history are kept. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"messageId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"anyOf":[{"not":{}},{"type":"object","properties":{"preparation_request_id":{"type":"string","format":"uuid","description":"Binding returned by preparation; preserve it when cancelling that preparation."}},"additionalProperties":false}]}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/queued/{messageId}/return-to-review":{"post":{"operationId":"returnQueuedMessageToReview","summary":"Return a queued message to review","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:write"],"x-retry-contract":"bound","description":"Stops one queued message before it sends and returns it to Review with its saved content for editing. Its approval is removed, so it needs a new approval before it can send. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"messageId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"anyOf":[{"not":{}},{"type":"object","properties":{},"additionalProperties":false}]}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/queued/{messageId}/edit-session":{"get":{"operationId":"getQueuedMessageEditSession","summary":"Check if a paused send can resume","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","description":"Returns whether a message returned to Review from the queue can be re-queued unchanged with its original approval, and the session id needed to do that. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"messageId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/queued/{messageId}/resume-unchanged":{"post":{"operationId":"resumeQueuedMessageUnchanged","summary":"Re-queue an unedited message","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:send"],"x-retry-contract":"bound","description":"Puts a message that was returned to Review back in the send queue with its original approval, if its content, recipient and sender are unchanged. It then sends on schedule. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"messageId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"session_id":{"type":"string","format":"uuid"}},"required":["session_id"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/queued/{messageId}/send-now":{"post":{"operationId":"sendQueuedMessageNow","summary":"Send a queued message now","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:send"],"x-retry-contract":"bound","description":"Sends one human-approved queued message as soon as possible within its approved window, without waiting for sending hours. Sender limits and spacing still apply. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"messageId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"anyOf":[{"not":{}},{"type":"object","properties":{},"additionalProperties":false}]}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/queued/{messageId}/send-sooner":{"post":{"operationId":"sendQueuedMessageSooner","summary":"Move a queued message up","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:send"],"x-retry-contract":"bound","description":"Moves one queued message to the front of its sender's queue. Sending hours and sender limits still apply. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"messageId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"anyOf":[{"not":{}},{"type":"object","properties":{},"additionalProperties":false}]}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/name":{"patch":{"operationId":"renameCampaign","summary":"Rename a campaign","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:write"],"x-retry-contract":"state","description":"Changes a campaign's name. Sending is not affected. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120}},"required":["name"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/restore":{"post":{"operationId":"restoreCampaign","summary":"Restore a campaign","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:write"],"x-retry-contract":"state","description":"Restores an archived or discarded campaign to its prior draft, paused or completed status. It never makes the campaign active; a paused campaign must be resumed to send. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"anyOf":[{"not":{}},{"type":"object","properties":{"discard_unsent_drafts":{"type":"boolean"},"after_message_id":{"type":"string","format":"uuid"}},"additionalProperties":false}]}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"ok":{"type":"boolean","const":true},"status":{"type":"string"},"already_applied":{"type":"boolean"}},"required":["ok","status","already_applied"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"ok":{"type":"boolean","const":true},"status":{"type":"string"},"already_applied":{"type":"boolean"}},"required":["ok","status","already_applied"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"ok":{"type":"boolean","const":true},"status":{"type":"string"},"already_applied":{"type":"boolean"}},"required":["ok","status","already_applied"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/sender-allocations/preview":{"post":{"operationId":"previewSenderAllocations","summary":"Preview sender allowances","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"safe","description":"Shows each selected sender's daily message capacity, the share already used by other campaigns, and what remains, before saving allocations. Saves nothing. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"account_ids":{"type":"array","items":{"type":"string","format":"uuid"},"maxItems":40},"strategy_id":{"type":"string","format":"uuid"},"sending_days":{"anyOf":[{"type":"array","items":{"type":"integer","minimum":0,"maximum":6},"minItems":1,"maxItems":7},{"type":"null"}]},"include_delivery_snapshot":{"type":"boolean"}},"required":["account_ids","sending_days"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/sending-schedule":{"put":{"operationId":"updateCampaignSchedule","summary":"Update a sender's sending hours","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:send"],"x-retry-contract":"state","description":"Sets the sending hours of one of a campaign's sender accounts, which applies to every campaign using that sender. Can also pull queued contacts forward on an active campaign. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"account_id":{"type":"string","format":"uuid"},"send_window":{"type":"object","properties":{"business_days":{"type":"array","items":{"type":"integer","minimum":0,"maximum":6}},"start_hour":{"type":"integer","minimum":0,"maximum":23},"end_hour":{"type":"integer","minimum":1,"maximum":24}},"required":["business_days","start_hour","end_hour"],"additionalProperties":false},"run_now":{"type":"boolean","default":false}},"required":["account_id","send_window"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/activity":{"get":{"operationId":"getCampaignActivity","summary":"Get campaign activity","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","x-pagination":{"kind":"bounded","items":"events","limited":"results_limited","maximumItems":100},"description":"Returns the campaign's 100 most recent activity events, with event type and time, newest first. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"events":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string"},"occurred_at":{"type":["string","null"]}},"required":["id","type","occurred_at"],"additionalProperties":false}},"results_limited":{"type":"boolean"}},"required":["events","results_limited"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/decisions":{"get":{"operationId":"getCampaignDecisions","summary":"Get campaign decisions","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","x-pagination":{"kind":"bounded","items":"decisions","limited":"results_limited","maximumItems":200},"description":"Returns the campaign's most recent 200 per-contact planning decisions, with actions, reason codes and human overrides. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"decisions":{"type":"array","items":{"type":"object","additionalProperties":{}}},"results_limited":{"type":"boolean"}},"required":["decisions","results_limited"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/reviews":{"get":{"operationId":"getCampaignReviews","summary":"Get campaign reviews","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","x-pagination":{"kind":"bounded","items":"reviews","limited":"results_limited","maximumItems":20},"description":"Returns up to 20 periodic campaign reviews with metrics, findings and proposed changes. Proposals are not applied. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"reviews":{"type":"array","items":{"type":"object","additionalProperties":{}}},"results_limited":{"type":"boolean"}},"required":["reviews","results_limited"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/audiences/{id}/funnel":{"get":{"operationId":"getAudienceFunnel","summary":"Get audience eligibility","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","description":"Returns how many contacts in a saved audience are eligible for the chosen channel and why others are excluded. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"destination_requirement","in":"query","required":false,"schema":{"type":"string","enum":["email","linkedin","email_or_linkedin","email_and_linkedin"],"default":"email_or_linkedin"}}],"x-query-schema":{"type":"object","properties":{"destination_requirement":{"type":"string","enum":["email","linkedin","email_or_linkedin","email_and_linkedin"],"default":"email_or_linkedin"}},"additionalProperties":false},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/audiences/{snapshotId}/preflight":{"get":{"operationId":"getAudiencePreflight","summary":"Check a saved audience","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","description":"Returns a saved audience's status, freshness and eligibility counts, to confirm it is ready before creating a campaign. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"snapshotId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"destination_requirement","in":"query","required":false,"schema":{"type":"string","enum":["email","linkedin","email_or_linkedin","email_and_linkedin"],"default":"email_or_linkedin"}}],"x-query-schema":{"type":"object","properties":{"destination_requirement":{"type":"string","enum":["email","linkedin","email_or_linkedin","email_and_linkedin"],"default":"email_or_linkedin"}},"additionalProperties":false},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/message-preview":{"post":{"operationId":"previewCampaignMessage","summary":"Preview campaign messages","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"safe","description":"Returns sample messages for a few contacts in a draft campaign's audience, or the issues that block them. Samples are not saved or sent. Judge them against getPlaybook topic messaging. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"fit_confirmation":{"anyOf":[{"type":"object","properties":{"token":{"type":"string","pattern":"^[a-f0-9]{64}$"},"strategyId":{"type":"string","format":"uuid"},"strategyUpdatedAt":{"type":"string","minLength":1,"maxLength":80},"offerFingerprint":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"offerSummary":{"type":"string","minLength":1,"maxLength":800},"audienceSnapshotId":{"type":"string","format":"uuid"},"qualificationDefinitionVersion":{"type":"string","minLength":1,"maxLength":120},"version":{"type":"string","const":"campaign-fixed-sequence-confirmation-v1"}},"required":["token","strategyId","strategyUpdatedAt","offerFingerprint","offerSummary","audienceSnapshotId","qualificationDefinitionVersion","version"],"additionalProperties":false},{"type":"object","properties":{"token":{"type":"string","pattern":"^[a-f0-9]{64}$"},"strategyId":{"type":"string","format":"uuid"},"strategyUpdatedAt":{"type":"string","minLength":1,"maxLength":80},"offerFingerprint":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"offerSummary":{"type":"string","minLength":1,"maxLength":800},"audienceSnapshotId":{"type":"string","format":"uuid"},"qualificationDefinitionVersion":{"type":"string","minLength":1,"maxLength":120},"version":{"type":"string","const":"campaign-offer-fit-confirmation-v2"}},"required":["token","strategyId","strategyUpdatedAt","offerFingerprint","offerSummary","audienceSnapshotId","qualificationDefinitionVersion","version"],"additionalProperties":false},{"type":"object","properties":{"token":{"type":"string","pattern":"^[a-f0-9]{64}$"},"strategyId":{"type":"string","format":"uuid"},"strategyUpdatedAt":{"type":"string","minLength":1,"maxLength":80},"offerFingerprint":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"offerSummary":{"type":"string","minLength":1,"maxLength":800},"audienceSnapshotId":{"type":"string","format":"uuid"},"qualificationDefinitionVersion":{"type":"string","minLength":1,"maxLength":120},"version":{"type":"string","const":"campaign-offer-fit-confirmation-v1"},"snapshotFreshUntil":{"type":"string","format":"date-time"}},"required":["token","strategyId","strategyUpdatedAt","offerFingerprint","offerSummary","audienceSnapshotId","qualificationDefinitionVersion","version","snapshotFreshUntil"],"additionalProperties":false}]}},"required":["fit_confirmation"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/safety-attention/delivery-unknown/{messageId}/check":{"post":{"operationId":"checkMessageDelivery","summary":"Check an uncertain delivery","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:write"],"x-retry-contract":"state","description":"Checks the sending mailbox or LinkedIn for proof that a message with unknown delivery went out. Proof found is recorded and reconciled; otherwise sending stays paused. Limited to 10 checks a minute. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"messageId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/icps/{icpId}/usage":{"get":{"operationId":"getIcpUsage","summary":"Get ICP usage","tags":["Lead engine"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["lead_engine:read"],"x-retry-contract":"none","description":"Lists up to 100 recent records of where an ICP was applied, newest first. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"icpId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/description":{"get":{"operationId":"getCampaignDescription","summary":"Get campaign description","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","description":"Returns the product or service description and message preferences that a launched campaign uses to write messages, and whether they can be edited. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}},"put":{"operationId":"updateCampaignDescription","summary":"Update campaign description","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:send"],"x-retry-contract":"operation_id","description":"Saves a new product or service description and optional message preferences, such as booking link or introductions, for a launched campaign. Future messages use them. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"strategy_version_id":{"type":"string","format":"uuid"},"expected_revision":{"type":"integer","minimum":0},"description":{"anyOf":[{"type":"string","minLength":1,"maxLength":800},{"type":"string","const":""}]},"messaging_preferences":{"type":"object","properties":{"include_introductions":{"type":"boolean"},"include_booking_link":{"type":"boolean"},"booking_link":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}]}},"required":["include_introductions","include_booking_link","booking_link"],"additionalProperties":false}},"required":["strategy_version_id","expected_revision","description"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/analytics/filters":{"get":{"operationId":"getAnalyticsFilters","summary":"Get analytics filter options","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","description":"Returns the channels, campaigns, senders, ICPs, products, angles and asks available to filter and group the outreach analytics report. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/analytics/report":{"get":{"operationId":"getAnalyticsReport","summary":"Get outreach analytics report","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","description":"Returns outreach results for a date range of up to one year, grouped by campaign, sender, ICP, product, angle or ask, and filtered by channel or those same values. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"channels","in":"query","required":false,"schema":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."}},{"name":"senders","in":"query","required":false,"schema":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."}},{"name":"campaigns","in":"query","required":false,"schema":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."}},{"name":"icps","in":"query","required":false,"schema":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."}},{"name":"products","in":"query","required":false,"schema":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."}},{"name":"from","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"to","in":"query","required":false,"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"timezone","in":"query","required":false,"schema":{"type":"string","maxLength":100}},{"name":"group_by","in":"query","required":false,"schema":{"type":"string","enum":["campaigns","senders","icps","products","angles","asks"]}},{"name":"angles","in":"query","required":false,"schema":{"type":"string"}},{"name":"asks","in":"query","required":false,"schema":{"type":"string"}}],"x-query-schema":{"type":"object","properties":{"channels":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."},"senders":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."},"campaigns":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."},"icps":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."},"products":{"type":"string","maxLength":4000,"description":"Comma-separated selections; use IDs from the outreach filter catalog."},"from":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"to":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"timezone":{"type":"string","maxLength":100},"group_by":{"type":"string","enum":["campaigns","senders","icps","products","angles","asks"]},"angles":{"type":"string"},"asks":{"type":"string"}},"additionalProperties":false},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/icps/lead-engine-audience":{"post":{"operationId":"saveLeadEngineAudience","summary":"Save targeting as an ICP","tags":["Lead engine"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["lead_engine:write"],"x-retry-contract":"header","description":"Saves Lead engine targeting (company fit, buyer groups) as a new published ICP, or as a new published version of an existing ICP when profile_id and expected_version_id are given. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":120},"audience":{"type":"object","properties":{"company_fit":{"type":"object","properties":{"description":{"type":"string","minLength":1,"maxLength":500},"location_selection":{"type":"object","properties":{"countries":{"type":"array","items":{"type":"string","minLength":1,"maxLength":3},"maxItems":250},"states":{"type":"array","items":{"type":"string","minLength":1,"maxLength":100},"maxItems":100},"cities":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":100}},"required":["countries","states","cities"],"additionalProperties":false},"required":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20},"preferred":{"type":"array","items":{"type":"string","minLength":1,"maxLength":500},"maxItems":20},"excluded":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20},"geographies":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":500},"industries":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20},"company_sizes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20},"attributes":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20}},"required":["required","preferred","excluded","geographies","industries","company_sizes","attributes"],"additionalProperties":false},"buyer_groups":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","minLength":1,"maxLength":240},"functions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":10},"seniorities":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":10},"example_titles":{"type":"array","items":{"type":"string","minLength":1,"maxLength":240},"maxItems":20},"buying_influence":{"type":"string","enum":["champion","economic_buyer","decision_maker","influencer","user","unknown"]}},"required":["role","functions","seniorities","example_titles","buying_influence"],"additionalProperties":false},"maxItems":12},"schema_version":{"type":"number","const":2},"contact_methods":{"type":"object","properties":{"email":{"type":"boolean"},"linkedin":{"type":"boolean"},"phone":{"type":"boolean"}},"required":["email","linkedin","phone"],"additionalProperties":false}},"required":["company_fit","buyer_groups","schema_version"],"additionalProperties":false},"profile_id":{"type":"string","format":"uuid"},"expected_version_id":{"type":"string","format":"uuid"}},"required":["name","audience"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/icps/from-scan":{"post":{"operationId":"createIcpFromScan","summary":"Create an ICP from a website scan","tags":["Lead engine"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["lead_engine:write"],"x-retry-contract":"header","description":"Creates a new ICP draft from a product in a website scan you already ran in Leadpoet. Fields are marked as suggestions with the scan as source. Does not run a new scan. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"scan_id":{"type":"string","format":"uuid"},"product_id":{"type":"string","pattern":"^[0-9a-f]{20}$"},"name":{"type":"string","minLength":1,"maxLength":120},"reviewed":{"type":"boolean"},"segment_id":{"type":"string","pattern":"^[0-9a-f]{20}$"}},"required":["scan_id","product_id"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/icps/{icpId}/apply-preview":{"post":{"operationId":"previewIcpApplication","summary":"Preview an ICP application","tags":["Lead engine"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["lead_engine:read"],"x-retry-contract":"safe","description":"Shows the definition an ICP version gives a surface, such as a lead request or campaign, with optional field overrides applied. Stores nothing. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"icpId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"profile_version_id":{"type":"string","format":"uuid"},"surface":{"type":"string","enum":["lead_request","import","outreach","network","intent_monitor"]},"overrides":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","pattern":"^\\/[a-z0-9_/-]+$","maxLength":300},"value":{}},"required":["path"],"additionalProperties":false},"maxItems":60,"default":[]},"scope":{"type":"string","const":"audience"},"product_selection":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"icp_id":{"type":"string","format":"uuid"},"icp_version_id":{"type":"string","format":"uuid"},"product_id":{"type":"string","format":"uuid"},"product_version_id":{"type":"string","format":"uuid"},"link_id":{"type":"string","format":"uuid"},"link_version_id":{"type":"string","format":"uuid"}},"required":["id","icp_id","icp_version_id","product_id","product_version_id","link_id","link_version_id"],"additionalProperties":false}},"required":["profile_version_id","surface"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/icps/{icpId}/promote-overrides":{"post":{"operationId":"promoteIcpOverrides","summary":"Save overrides to an ICP","tags":["Lead engine"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["lead_engine:write"],"x-retry-contract":"header","description":"Saves field changes made for one use, such as a lead request or campaign, back to the ICP as its new published version, or to the selected Product connection. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"icpId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"profile_id":{"type":"string","format":"uuid"},"profile_version_id":{"type":"string","format":"uuid"},"surface":{"type":"string","enum":["lead_request","import","outreach","network","intent_monitor"]},"overrides":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string","pattern":"^\\/[a-z0-9_/-]+$","maxLength":300},"value":{}},"required":["path"],"additionalProperties":false},"maxItems":60,"default":[]},"product_selection":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"icp_id":{"type":"string","format":"uuid"},"icp_version_id":{"type":"string","format":"uuid"},"product_id":{"type":"string","format":"uuid"},"product_version_id":{"type":"string","format":"uuid"},"link_id":{"type":"string","format":"uuid"},"link_version_id":{"type":"string","format":"uuid"}},"required":["id","icp_id","icp_version_id","product_id","product_version_id","link_id","link_version_id"],"additionalProperties":false},"expected_current_version_id":{"type":"string","format":"uuid"}},"required":["profile_id","profile_version_id","surface","expected_current_version_id"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/pipeline/deal-summaries":{"get":{"operationId":"getDealSummaries","summary":"Get deal summaries by company","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:read"],"x-retry-contract":"none","description":"Returns per-company deal totals for the pipeline or one ICP: deal counts, won and open amounts by currency, and repeat-customer flags. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"icp_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}}],"x-query-schema":{"type":"object","properties":{"icp_id":{"type":"string","format":"uuid"}},"additionalProperties":false},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/pipeline/revenue-insights":{"get":{"operationId":"getRevenueInsights","summary":"Get revenue insights","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:read"],"x-retry-contract":"none","description":"Returns won-deal insights for the workspace or one ICP: repeat-customer rate, lifetime and repeat revenue by currency, data coverage, and segments by industry, size, country and ICP. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"icp_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}}],"x-query-schema":{"type":"object","properties":{"icp_id":{"type":"string","format":"uuid"}},"additionalProperties":false},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/pipeline/deals/{dealId}/pin":{"patch":{"operationId":"pinDeal","summary":"Pin or unpin a deal","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:write"],"x-retry-contract":"state","description":"Pins or unpins a deal on the deal pipeline board. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"dealId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"pinned":{"type":"boolean"}},"required":["pinned"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/pipeline/deals/{dealId}/attribution":{"patch":{"operationId":"updateDealAttribution","summary":"Assign a deal to a company","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:write"],"x-retry-contract":"state","description":"Moves a deal to a different pipeline company and marks that attribution confirmed. Changes only Leadpoet's record, not any CRM. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"dealId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"company_card_id":{"type":"string","format":"uuid"}},"required":["company_card_id"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/pipeline/deals/actions/bulk-stage":{"patch":{"operationId":"moveDeals","summary":"Move several deals to a stage","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:write"],"x-retry-contract":"body","description":"Moves up to 100 deals to one stage. Won and lost stages are rejected; close those deals one at a time with moveDeal. Fails if a deal moved since it was read. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to_stage_id":{"type":"string","format":"uuid"},"close_date":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},{"type":"null"}]},"movements":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"expected_stage_id":{"type":"string","format":"uuid"},"expected_revision":{"type":"integer","minimum":0}},"required":["id","expected_stage_id","expected_revision"],"additionalProperties":false},"minItems":1,"maxItems":100}},"required":["to_stage_id","movements"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/pipeline/contacts/actions/bulk-stage":{"patch":{"operationId":"moveContacts","summary":"Move several contacts to a stage","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:write"],"x-retry-contract":"body","description":"Moves up to 100 contacts to one stage. Qualified stages are rejected; qualify contacts one at a time with moveContact. A connected HubSpot receives the new stage on contacts Leadpoet created. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"to_stage_id":{"type":"string","format":"uuid"},"movements":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"expected_stage_id":{"type":"string","format":"uuid"},"expected_revision":{"type":"integer","minimum":0}},"required":["id","expected_stage_id","expected_revision"],"additionalProperties":false},"minItems":1,"maxItems":100}},"required":["to_stage_id","movements"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/pipeline/contacts/{engagementId}/qualification-deal/undo":{"post":{"operationId":"undoContactQualification","summary":"Undo a contact qualification","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:write"],"x-retry-contract":"body","description":"Uses the receipt from moveContact to return the contact to its prior stage and archive the deal it created, unless other contacts share that deal. Fails if the deal was edited since. A connected HubSpot receives the restored stage on contacts Leadpoet created. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"engagementId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"receipt_id":{"type":"string","format":"uuid"}},"required":["receipt_id"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/pipeline/companies/{cardId}/note-counts":{"get":{"operationId":"getCompanyNoteCounts","summary":"Count notes on a company's records","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:read"],"x-retry-contract":"none","description":"Returns note counts and latest note times for a company and each of its contacts and deals. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"cardId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"counts":{"type":"array","items":{"type":"object","properties":{"entity_type":{"type":"string"},"entity_id":{"type":"string","format":"uuid"},"note_count":{"anyOf":[{"type":["number","string"]},{"type":"null"}]},"last_note_at":{"type":["string","null"]}},"required":["entity_type","entity_id","note_count"],"additionalProperties":true}}},"required":["counts"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/pipeline/companies/{cardId}/notes/archive":{"post":{"operationId":"archiveCompanyNotes","summary":"Archive notes on a company record","tags":["Pipeline"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["pipeline:write"],"x-retry-contract":"state","description":"Archives all active notes on a company, or on one of its contacts or deals, and returns how many were archived. Notes are archived, not deleted. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"cardId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"entity_type":{"type":"string","enum":["account","contact","deal"]},"entity_id":{"type":"string","format":"uuid"}},"required":["entity_type","entity_id"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"cleared":{"type":"boolean","const":true},"archived_count":{"type":"integer"}},"required":["cleared","archived_count"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"cleared":{"type":"boolean","const":true},"archived_count":{"type":"integer"}},"required":["cleared","archived_count"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"cleared":{"type":"boolean","const":true},"archived_count":{"type":"integer"}},"required":["cleared","archived_count"],"additionalProperties":true},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/audience/preview":{"post":{"operationId":"previewCampaignAudience","summary":"Preview adding contacts","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:write"],"x-retry-contract":"operation_id","x-retry-identity":"campaignAudience","description":"Checks which contacts from a saved audience could join an active or paused campaign and saves a preview receipt that adding contacts requires. Nobody is added. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"snapshot_id":{"type":"string","format":"uuid"}},"required":["snapshot_id"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"operation_id":{"type":"string","format":"uuid"},"snapshot_id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["preview","applied"]},"preview_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"expires_at":{"type":"string"},"campaign_status":{"type":"string","enum":["active","paused"]},"contacts_added":{"type":"integer","minimum":0},"credits":{"type":"number","const":0},"exclusions":{"type":"array","items":{"type":"object","properties":{"reason":{"type":"string"},"count":{"type":"integer","minimum":0}},"required":["reason","count"],"additionalProperties":false}}},"required":["operation_id","snapshot_id","status","preview_hash","expires_at","campaign_status","contacts_added","credits","exclusions"],"additionalProperties":false},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"operation_id":{"type":"string","format":"uuid"},"snapshot_id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["preview","applied"]},"preview_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"expires_at":{"type":"string"},"campaign_status":{"type":"string","enum":["active","paused"]},"contacts_added":{"type":"integer","minimum":0},"credits":{"type":"number","const":0},"exclusions":{"type":"array","items":{"type":"object","properties":{"reason":{"type":"string"},"count":{"type":"integer","minimum":0}},"required":["reason","count"],"additionalProperties":false}}},"required":["operation_id","snapshot_id","status","preview_hash","expires_at","campaign_status","contacts_added","credits","exclusions"],"additionalProperties":false},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"operation_id":{"type":"string","format":"uuid"},"snapshot_id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["preview","applied"]},"preview_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"expires_at":{"type":"string"},"campaign_status":{"type":"string","enum":["active","paused"]},"contacts_added":{"type":"integer","minimum":0},"credits":{"type":"number","const":0},"exclusions":{"type":"array","items":{"type":"object","properties":{"reason":{"type":"string"},"count":{"type":"integer","minimum":0}},"required":["reason","count"],"additionalProperties":false}}},"required":["operation_id","snapshot_id","status","preview_hash","expires_at","campaign_status","contacts_added","credits","exclusions"],"additionalProperties":false},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/audience/add":{"post":{"operationId":"addCampaignAudience","summary":"Add contacts to a campaign","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:send"],"x-retry-contract":"operation_id","x-retry-identity":"campaignAudience","description":"Adds the contacts from a saved preview to an active or paused campaign. They enter its sequence and receive its messages. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"preview_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["preview_hash"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"operation_id":{"type":"string","format":"uuid"},"snapshot_id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["preview","applied"]},"preview_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"expires_at":{"type":"string"},"campaign_status":{"type":"string","enum":["active","paused"]},"contacts_added":{"type":"integer","minimum":0},"credits":{"type":"number","const":0},"exclusions":{"type":"array","items":{"type":"object","properties":{"reason":{"type":"string"},"count":{"type":"integer","minimum":0}},"required":["reason","count"],"additionalProperties":false}}},"required":["operation_id","snapshot_id","status","preview_hash","expires_at","campaign_status","contacts_added","credits","exclusions"],"additionalProperties":false},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"operation_id":{"type":"string","format":"uuid"},"snapshot_id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["preview","applied"]},"preview_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"expires_at":{"type":"string"},"campaign_status":{"type":"string","enum":["active","paused"]},"contacts_added":{"type":"integer","minimum":0},"credits":{"type":"number","const":0},"exclusions":{"type":"array","items":{"type":"object","properties":{"reason":{"type":"string"},"count":{"type":"integer","minimum":0}},"required":["reason","count"],"additionalProperties":false}}},"required":["operation_id","snapshot_id","status","preview_hash","expires_at","campaign_status","contacts_added","credits","exclusions"],"additionalProperties":false},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"operation_id":{"type":"string","format":"uuid"},"snapshot_id":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["preview","applied"]},"preview_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"expires_at":{"type":"string"},"campaign_status":{"type":"string","enum":["active","paused"]},"contacts_added":{"type":"integer","minimum":0},"credits":{"type":"number","const":0},"exclusions":{"type":"array","items":{"type":"object","properties":{"reason":{"type":"string"},"count":{"type":"integer","minimum":0}},"required":["reason","count"],"additionalProperties":false}}},"required":["operation_id","snapshot_id","status","preview_hash","expires_at","campaign_status","contacts_added","credits","exclusions"],"additionalProperties":false},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/audience/contacts":{"get":{"operationId":"listCampaignContacts","summary":"List campaign contacts","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","description":"Lists contacts enrolled in a campaign with their status and, if they cannot be removed, the reason. Paginated, 50 per page. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"after","in":"query","required":false,"schema":{"type":"string","format":"uuid"}}],"x-query-schema":{"type":"object","properties":{"after":{"type":"string","format":"uuid"}},"additionalProperties":false},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"contacts":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"company":{"type":["string","null"]},"status":{"type":"string"},"removal_reason":{"type":["string","null"]}},"required":["id","name","company","status","removal_reason"],"additionalProperties":false}},"next_cursor":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}]}},"required":["contacts","next_cursor"],"additionalProperties":false},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/audience/contacts/{enrollmentId}/remove":{"post":{"operationId":"removePendingCampaignContact","summary":"Remove a pending contact","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:write"],"x-retry-contract":"state","description":"Removes a contact who was never messaged from an active or paused campaign, even when a draft was already prepared for them. Their unsent drafts and queued sends are removed too. The removal is permanent and the contact cannot be added back to that campaign. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"enrollmentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"anyOf":[{"not":{}},{"type":"object","properties":{},"additionalProperties":false}]}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/audience/unmessaged":{"get":{"operationId":"getUnmessagedCampaignContacts","summary":"Count contacts not yet messaged","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:read"],"x-retry-contract":"none","description":"Counts a campaign's contacts who were never messaged, and those who stay because a message was sent, is sending, or they wrote first. Saves nothing. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"campaign_status":{"type":"string"},"removable":{"type":"integer","minimum":0},"kept":{"type":"integer","minimum":0}},"required":["campaign_status","removable","kept"],"additionalProperties":false},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/audience/unmessaged/remove":{"post":{"operationId":"removeUnmessagedCampaignContacts","summary":"Remove contacts not yet messaged","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:write"],"x-retry-contract":"state","description":"Removes every contact in a paused campaign who was never messaged, or the listed contacts, and removes their unsent drafts and queued sends. They can then join another campaign but never this one again. Contacts who were messaged stay. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"anyOf":[{"not":{}},{"type":"object","properties":{"enrollment_ids":{"type":"array","items":{"type":"string","format":"uuid"},"minItems":1,"maxItems":50}},"additionalProperties":false}]}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"removed":{"type":"integer","minimum":0},"kept":{"type":"integer","minimum":0},"busy":{"type":"integer","minimum":0},"remaining":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]}},"required":["removed","kept","busy","remaining"],"additionalProperties":false},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"removed":{"type":"integer","minimum":0},"kept":{"type":"integer","minimum":0},"busy":{"type":"integer","minimum":0},"remaining":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]}},"required":["removed","kept","busy","remaining"],"additionalProperties":false},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"removed":{"type":"integer","minimum":0},"kept":{"type":"integer","minimum":0},"busy":{"type":"integer","minimum":0},"remaining":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}]}},"required":["removed","kept","busy","remaining"],"additionalProperties":false},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/conversations/{id}/sequence":{"post":{"operationId":"updateConversationSequence","summary":"Pause or resume a contact's sequence","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:send"],"x-retry-contract":"state","description":"Pauses one conversation's running sequence and cancels its queued follow-ups, or resumes a sequence paused this way so it can send its next steps. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"action":{"type":"string","enum":["pause","resume"]}},"required":["action"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/contact-cap":{"put":{"operationId":"updateCampaignContactCap","summary":"Set the daily contact cap","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:send"],"x-retry-contract":"operation_id","description":"Sets the most distinct contacts an active or paused campaign messages per day. Raising it lets the campaign reach more people each day. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"description":"Reuse for identical retries; use a new key for a new operation. Conflicting payloads are rejected by the owning workflow.","schema":{"type":"string","minLength":8,"maxLength":160,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"daily_unique_contact_cap":{"type":"integer","minimum":1,"maximum":2000},"expected_cap":{"type":"integer","minimum":1,"maximum":5000}},"required":["daily_unique_contact_cap","expected_cap"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/sender-allocations":{"put":{"operationId":"updateSenderAllocations","summary":"Set sender daily maximums","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:send"],"x-retry-contract":"state","description":"Sets each campaign sender's daily message maximum, or follows the sender's own limit, and optionally the sending days. Changing sending days re-checks queued contacts right away. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"allocations":{"type":"object","additionalProperties":{"anyOf":[{"type":"string","const":"follow"},{"type":"integer","minimum":1,"maximum":999999}]},"propertyNames":{"format":"uuid"}},"sending_days":{"type":"array","items":{"type":"integer","minimum":0,"maximum":6},"minItems":1,"maxItems":7}},"required":["allocations"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/sending-days":{"put":{"operationId":"updateSendingDays","summary":"Set campaign sending days","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:send"],"x-retry-contract":"state","description":"Sets the days of the week a campaign sends on. Queued contacts are re-checked right away. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"sending_days":{"type":"array","items":{"type":"integer","minimum":0,"maximum":6},"minItems":1,"maxItems":7}},"required":["sending_days"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/change-mode":{"post":{"operationId":"changeCampaignMode","summary":"Change campaign mode","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:send"],"x-retry-contract":"bound","description":"Switches a campaign between Copilot, where each message waits for approval, and Autopilot, where messages send automatically. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","enum":["copilot","autopilot"]},"autopilot_scope":{"type":"string","enum":["recommended","all"]},"safety_reverted_at":{"type":"string","format":"date-time"}},"required":["mode"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/discard":{"post":{"operationId":"discardCampaign","summary":"Discard a draft campaign","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:write"],"x-retry-contract":"state","description":"Discards a draft campaign by archiving it. Only drafts can be discarded, and a discarded draft can be restored. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"anyOf":[{"not":{}},{"type":"object","properties":{"discard_unsent_drafts":{"type":"boolean"},"after_message_id":{"type":"string","format":"uuid"}},"additionalProperties":false}]}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"ok":{"type":"boolean","const":true},"status":{"type":"string"},"already_applied":{"type":"boolean"}},"required":["ok","status","already_applied"],"additionalProperties":true,"description":"Drops a draft campaign; it is archived, not deleted."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"ok":{"type":"boolean","const":true},"status":{"type":"string"},"already_applied":{"type":"boolean"}},"required":["ok","status","already_applied"],"additionalProperties":true,"description":"Drops a draft campaign; it is archived, not deleted."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","properties":{"ok":{"type":"boolean","const":true},"status":{"type":"string"},"already_applied":{"type":"boolean"}},"required":["ok","status","already_applied"],"additionalProperties":true,"description":"Drops a draft campaign; it is archived, not deleted."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/campaigns/{id}/drafts/restore":{"post":{"operationId":"restoreCampaignDrafts","summary":"Restore discarded drafts","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:write"],"x-retry-contract":"state","description":"Brings back unsent drafts that were discarded when a paused or completed campaign was archived, so they can be sent manually from the inbox. Nothing is sent. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/safety-attention/delivery-unknown/{messageId}/resolve":{"post":{"operationId":"resolveUnknownDelivery","summary":"Resolve an unknown delivery","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:send"],"x-retry-contract":"bound","description":"Records a decision, with a note, for a message whose delivery is unknown: treat it as sent, or accept the duplicate-send risk and return it to Review. This clears the sending hold. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"messageId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"resolution":{"type":"string","enum":["treat_as_sent","resend_acknowledged"]},"note":{"type":"string","minLength":1,"maxLength":1000},"manual_reply":{"type":"boolean","default":false}},"required":["resolution","note"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/review/bulk-approve":{"post":{"operationId":"bulkApproveMessages","summary":"Approve several drafts","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:send"],"x-retry-contract":"bound","description":"Approves up to 50 drafts held for review, each bound to the revision shown, and queues them to send on each sender's schedule. Human-assisted LinkedIn steps and invitation accepts need single approval. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"approvals":{"type":"array","items":{"type":"object","properties":{"quality_attestation_id":{"type":"string","format":"uuid"},"review_revision":{"type":"string","pattern":"^[a-f0-9]{64}$"},"transport_content_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"intended_send_start":{"type":"string","format":"date-time"},"intended_send_end":{"type":"string","format":"date-time"},"message_id":{"type":"string","format":"uuid"}},"required":["quality_attestation_id","review_revision","intended_send_start","intended_send_end","message_id"],"additionalProperties":false},"minItems":1,"maxItems":50}},"required":["approvals"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/review/bulk-deny":{"post":{"operationId":"bulkDenyMessages","summary":"Deny several drafts","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:write"],"x-retry-contract":"bound","description":"Rejects up to 50 drafts held for review with one reason and generates a replacement draft for each. Safety or contact reasons are refused here and need single-draft denial. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"reason":{"type":"string","enum":["too_generic","too_salesy","unnatural_tone","repeated_pitch","did_not_answer","wrong_angle","wrong_proof","too_long","cta_too_strong","unsupported_claim","wrong_person","timing_after_reply","relationship_conflict","compliance_issue","custom"]},"items":{"type":"array","items":{"type":"object","properties":{"message_id":{"type":"string","format":"uuid"},"expected_revision":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["message_id","expected_revision"],"additionalProperties":false},"minItems":1,"maxItems":50}},"required":["reason","items"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/review/bulk-skip":{"post":{"operationId":"bulkSkipMessages","summary":"Skip several drafts","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:write"],"x-retry-contract":"bound","description":"Skips up to 50 drafts held for review. Each contact gets no more outreach from its campaign. Contacts are not suppressed. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"message_id":{"type":"string","format":"uuid"},"expected_revision":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["message_id","expected_revision"],"additionalProperties":false},"minItems":1,"maxItems":50}},"required":["items"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}},"/outreach/review/{messageId}/recheck-autopilot":{"post":{"operationId":"recheckMessageAutopilot","summary":"Recheck a draft for Autopilot","tags":["Outreach"],"security":[{"apiKeyAuth":[]}],"x-required-scopes":["outreach:send"],"x-retry-contract":"bound","description":"Re-runs the Autopilot check on an unedited draft held in an Autopilot campaign. If it passes, the draft is queued to send without further review; if not, it stays in Review. Uses the same account permissions, validation and workflow as the application. See https://leadpoet.com/docs/api for payloads and retry behavior.","parameters":[{"name":"messageId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"expected_revision":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["expected_revision"],"additionalProperties":false}}}},"responses":{"200":{"description":"Completed; the workflow result is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"201":{"description":"Created; the saved resource is in data.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"202":{"description":"Accepted; poll the corresponding read endpoint. This does not mean delivery completed.","content":{"application/json":{"schema":{"type":"object","required":["data","request_id"],"properties":{"data":{"type":"object","additionalProperties":true,"description":"Workflow result. Preserve returned resource IDs, evidence and revision bindings."},"request_id":{"type":"string"}}}}}},"400":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"401":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"402":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"403":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"404":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"409":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"422":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"429":{"description":"Rate limited. Honor Retry-After.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"500":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"503":{"description":"The error envelope includes code, message, request_id and optional details.reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}}}}},"components":{"securitySchemes":{"apiKeyAuth":{"type":"http","scheme":"bearer","bearerFormat":"lp_live_<43 base64url characters>","description":"Dashboard-issued Leadpoet API key."}},"headers":{"RequestId":{"description":"Stable identifier for this HTTP request.","schema":{"type":"string","minLength":1,"maxLength":128}},"CacheControl":{"description":"Public discovery/reference cache policy (3600 seconds).","schema":{"type":"string","example":"public, max-age=3600"}}},"responses":{"BadRequest":{"description":"The JSON, parameters, cursor, geography, or Idempotency-Key are invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"Unauthorized":{"description":"Authentication is missing or invalid.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"Forbidden":{"description":"The credential lacks a required scope.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"NotFound":{"description":"The tenant-scoped resource does not exist.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"Conflict":{"description":"The idempotency key conflicts with another body or is already in progress.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"PayloadTooLarge":{"description":"The request body exceeds 256 KB.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"SemanticError":{"description":"A country, state, or city value is unknown or semantically incompatible with the other geography filters.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"RateLimited":{"description":"The per-minute or concurrent-request limit was exceeded.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"InternalError":{"description":"An unexpected server error occurred.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"FulfillmentFailed":{"description":"The fulfillment provider failed the request.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}},"ServiceUnavailable":{"description":"Fulfillment is unavailable or the server is draining.","headers":{"X-Request-Id":{"$ref":"#/components/headers/RequestId"},"Retry-After":{"description":"May be present when the server is draining.","schema":{"type":"integer","minimum":1}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorEnvelope"}}}}},"schemas":{"OpenApiDocument":{"type":"object","required":["openapi","info","paths"],"additionalProperties":true,"properties":{"openapi":{"const":"3.1.0"},"info":{"type":"object"},"paths":{"type":"object"}}},"ApiErrorEnvelope":{"type":"object","required":["error"],"additionalProperties":false,"properties":{"error":{"type":"object","required":["code","message","request_id"],"additionalProperties":false,"properties":{"code":{"type":"string","enum":["validation_error","malformed_json","payload_too_large","invalid_cursor","expired_cursor","idempotency_key_required","authentication_required","invalid_api_key","insufficient_scope","insufficient_credits","not_found","idempotency_conflict","idempotency_in_progress","semantic_error","rate_limit_exceeded","queue_capacity_exceeded","agent_failed","persona_in_company_attribute","server_draining","service_unavailable","internal_error"]},"message":{"type":"string"},"request_id":{"type":"string"},"param":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}},"LeadRequestInput":{"type":"object","required":["request_description","product_description"],"additionalProperties":false,"properties":{"request_description":{"type":"string","minLength":1,"maxLength":20000},"product_description":{"type":"string","minLength":1,"maxLength":20000},"intent_signals":{"type":"string","minLength":1,"maxLength":20000},"max_leads":{"type":"integer","minimum":5,"maximum":25,"default":5},"countries":{"$ref":"#/components/schemas/GeographyFilter","description":"ISO 3166-1 alpha-2 country codes. Unknown codes are rejected."},"states":{"$ref":"#/components/schemas/GeographyFilter","description":"Subdivision codes valid for at least one selected country. Requires countries."},"cities":{"$ref":"#/components/schemas/GeographyFilter","description":"City names valid for at least one selected country. Requires countries."},"company_sizes":{"type":"array","uniqueItems":true,"maxItems":8,"default":[],"items":{"type":"string","enum":["lt_10","10_50","50_200","200_500","500_1000","1000_5000","5000_10000","gte_10000"]}},"lead_type":{"type":"string","enum":["high_intent","target_fit"],"default":"high_intent"},"external_id":{"type":"string","minLength":1,"maxLength":120},"metadata":{"type":"object","additionalProperties":true,"description":"JSON object whose UTF-8 serialization must not exceed 4096 bytes.","x-max-serialized-bytes":4096,"x-max-nesting-depth":63}}},"IntentCriterion":{"type":"object","required":["signal","category"],"additionalProperties":false,"properties":{"signal":{"type":"string","minLength":1,"maxLength":2000},"category":{"type":"string","enum":["FUNDING","ACQUISITION","PARTNERSHIP","PRODUCT_LAUNCH","LEADERSHIP_CHANGE","MARKET_EXPANSION","REGULATORY_CLEARANCE","FACILITY_OPENING","SALES_GROWTH","HIRING","TECHSTACK","SOCIAL_POSTING","PODCAST_APPEARANCE"]},"max_age_days":{"type":"integer","minimum":1,"maximum":3650,"default":365}}},"ResearchPreference":{"type":"object","required":["category","criterion"],"additionalProperties":false,"properties":{"category":{"type":"string","enum":["revenue","technology","operations","tooling","other"]},"criterion":{"type":"string","minLength":1,"maxLength":500}},"description":"A model-researched preference, not a guaranteed qualification requirement."},"SourcingCriteria":{"type":"object","additionalProperties":false,"properties":{"industry":{"type":"string","minLength":1,"maxLength":500},"industries":{"type":"array","minItems":1,"maxItems":6,"uniqueItems":true,"items":{"type":"string","minLength":1,"maxLength":500},"description":"Use industry or industries, never both."},"required_attribute":{"type":"string","minLength":1,"maxLength":2000},"required_intent":{"$ref":"#/components/schemas/IntentCriterion"},"required_intents":{"type":"array","minItems":1,"maxItems":6,"items":{"$ref":"#/components/schemas/IntentCriterion"},"description":"Bounded qualifying intents. All-match requests support at most four. Use required_intent or required_intents, never both."},"intent_match_mode":{"type":"string","enum":["any","all"],"default":"any","description":"Use all only when every required_intents item must match."},"bonus_intents":{"type":"array","maxItems":4,"default":[],"items":{"$ref":"#/components/schemas/IntentCriterion"}},"research_preferences":{"type":"array","maxItems":12,"uniqueItems":true,"default":[],"items":{"$ref":"#/components/schemas/ResearchPreference"},"description":"Research-only criteria applied where reliable information is available."}}},"QualificationSegment":{"type":"object","required":["id","industry_terms"],"additionalProperties":false,"properties":{"id":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-z0-9_]+$"},"industry_terms":{"type":"array","minItems":1,"maxItems":8,"items":{"type":"string","minLength":1,"maxLength":200}}}},"QualificationPlan":{"type":"object","required":["segments_any_of","geography","employee_bands_any_of","intent"],"additionalProperties":false,"properties":{"segments_any_of":{"type":"array","minItems":1,"maxItems":6,"items":{"$ref":"#/components/schemas/QualificationSegment"}},"geography":{"type":"object","required":["mode","countries"],"additionalProperties":false,"properties":{"mode":{"type":"string","enum":["hq_in","operates_in","licensed_in"]},"countries":{"type":"array","minItems":1,"maxItems":10,"items":{"type":"string","minLength":2,"maxLength":2}}}},"employee_bands_any_of":{"type":"array","minItems":1,"maxItems":8,"uniqueItems":true,"items":{"type":"string","enum":["lt_10","10_50","50_200","200_500","500_1000","1000_5000","5000_10000","gte_10000"]}},"attributes":{"type":"object","additionalProperties":false,"default":{"all_of":[],"conditional":[]},"properties":{"all_of":{"type":"array","maxItems":4,"default":[],"items":{"type":"string","minLength":1,"maxLength":2000}},"conditional":{"type":"array","maxItems":6,"default":[],"items":{"type":"object","required":["when_segment","fact"],"additionalProperties":false,"properties":{"when_segment":{"type":"string","minLength":1,"maxLength":400},"fact":{"type":"string","minLength":1,"maxLength":2000}}}}}},"intent":{"type":"object","required":["any_of"],"additionalProperties":false,"properties":{"minimum_matches":{"type":"integer","minimum":1,"maximum":4,"default":1,"description":"Must be 1 or equal the number of any_of intents."},"any_of":{"type":"array","minItems":1,"maxItems":6,"items":{"$ref":"#/components/schemas/IntentCriterion"}},"bonus_only":{"type":"array","maxItems":4,"default":[],"items":{"$ref":"#/components/schemas/IntentCriterion"}}}},"research_preferences":{"type":"array","maxItems":12,"uniqueItems":true,"items":{"$ref":"#/components/schemas/ResearchPreference"},"description":"Model-researched preferences kept outside hard qualification gates."},"contact_persona":{"type":"object","additionalProperties":false,"properties":{"roles_any_of":{"type":"array","maxItems":10,"default":[],"items":{"type":"string","minLength":1,"maxLength":120}},"required_for_company_delivery":{"const":false,"default":false}}}}},"CompanyRequestInput":{"type":"object","required":["request_description","product_description"],"additionalProperties":false,"x-max-serialized-bytes":122880,"properties":{"request_description":{"type":"string","minLength":1,"maxLength":20000},"product_description":{"type":"string","minLength":1,"maxLength":20000},"intent_signals":{"type":"string","minLength":1,"maxLength":20000},"lead_type":{"type":"string","enum":["high_intent","target_fit"],"description":"Optional sourcing mode. Omission preserves the current public API behavior."},"max_companies":{"type":"integer","minimum":1,"maximum":5,"default":5},"contacts_per_company":{"type":"integer","minimum":1,"maximum":10,"default":1,"description":"Runtime-supported contact target. The private company-only preview keeps contact enrichment disabled."},"contact_roles":{"type":"array","maxItems":10,"uniqueItems":true,"default":[],"items":{"type":"string","minLength":1,"maxLength":120}},"excluded_companies":{"type":"array","uniqueItems":true,"maxItems":50,"default":[],"description":"Company names, domains, or LinkedIn company URLs that must not be returned.","items":{"type":"string","minLength":1,"maxLength":500}},"countries":{"$ref":"#/components/schemas/GeographyFilter"},"states":{"$ref":"#/components/schemas/GeographyFilter"},"cities":{"$ref":"#/components/schemas/GeographyFilter"},"company_sizes":{"type":"array","uniqueItems":true,"maxItems":8,"default":[],"items":{"type":"string","enum":["lt_10","10_50","50_200","200_500","500_1000","1000_5000","5000_10000","gte_10000"]}},"contact_requirements":{"type":"object","required":["phone_required"],"additionalProperties":false,"properties":{"phone_required":{"type":"boolean"}}},"sourcing_criteria":{"$ref":"#/components/schemas/SourcingCriteria"},"qualification_plan":{"$ref":"#/components/schemas/QualificationPlan"},"external_id":{"type":"string","minLength":1,"maxLength":120},"metadata":{"type":"object","additionalProperties":true,"x-max-serialized-bytes":4096,"x-max-nesting-depth":63}}},"SourcedCompany":{"type":"object","required":["company_name","domain","company_website","company_linkedin","industry","subindustry","hq_city","hq_state","hq_country","employee_count","description","intent","required_attribute","additional_intents","score"],"additionalProperties":false,"properties":{"company_name":{"type":"string"},"domain":{"type":["string","null"]},"company_website":{"type":["string","null"],"format":"uri"},"company_linkedin":{"type":["string","null"],"format":"uri"},"industry":{"type":["string","null"]},"subindustry":{"type":["string","null"]},"hq_city":{"type":["string","null"]},"hq_state":{"type":["string","null"]},"hq_country":{"type":["string","null"]},"employee_count":{"type":["string","null"]},"description":{"type":["string","null"]},"intent":{"type":"object","additionalProperties":true},"required_attribute":{"type":"object","additionalProperties":true},"additional_intents":{"type":"array","maxItems":4,"items":{"type":"object"}},"score":{"type":"number","minimum":0,"maximum":100},"contacts":{"type":"array","description":"Optional best-effort contact enrichment. An empty array does not affect the five-account guarantee.","items":{"$ref":"#/components/schemas/SourcedContact"}}}},"SourcedContact":{"type":"object","required":["first_name","last_name","full_name","title","linkedin_url","email","phone","source","confidence","enriched_at"],"additionalProperties":false,"properties":{"first_name":{"type":"string","minLength":1,"maxLength":200},"last_name":{"type":"string","minLength":1,"maxLength":200},"full_name":{"type":"string","minLength":1,"maxLength":500},"title":{"type":"string","minLength":1,"maxLength":500},"linkedin_url":{"type":["string","null"],"format":"uri"},"email":{"type":"string","format":"email","maxLength":320},"phone":{"type":["string","null"],"maxLength":100},"source":{"const":"deepline"},"confidence":{"type":["number","null"],"minimum":0,"maximum":1},"enriched_at":{"type":"string","format":"date-time"}}},"CompanyRequestDetail":{"type":"object","required":["object","id","request_binding","status","companies_requested","companies_delivered","contact_enrichment","progress","normalized_criteria","companies","provider","model","billing","created_at","deadline_at","execution_timeout_seconds","queue","poll_url","retry_after_seconds","error","cancelled_at","cancellation"],"additionalProperties":false,"properties":{"object":{"const":"company_request"},"id":{"type":"string","format":"uuid"},"request_binding":{"type":"object","required":["request_sha256","idempotency_key"],"additionalProperties":false,"properties":{"request_sha256":{"type":["string","null"],"pattern":"^[0-9a-f]{64}$"},"idempotency_key":{"type":["string","null"],"minLength":1,"maxLength":255}}},"status":{"type":"string","enum":["processing","completed","failed","cancelled"]},"companies_requested":{"type":"integer","minimum":1,"maximum":50},"companies_delivered":{"type":"integer","minimum":0,"maximum":50},"contact_enrichment":{"type":"object","required":["enabled","required","contacts_per_company","prioritized_roles","status","contacts_delivered","sourcing_rounds_started","max_sourcing_rounds"],"additionalProperties":false,"properties":{"enabled":{"type":"boolean"},"required":{"type":"boolean"},"contacts_per_company":{"type":"integer","minimum":1,"maximum":10},"prioritized_roles":{"type":"array","maxItems":10,"items":{"type":"string"}},"status":{"type":"string","enum":["not_requested","pending","enriching","fulfilled","partial","failed","cancelled"]},"contacts_delivered":{"type":"integer","minimum":0},"sourcing_rounds_started":{"type":"integer","minimum":0},"max_sourcing_rounds":{"type":"integer","minimum":1,"maximum":11}}},"progress":{"type":"object","required":["stage","round","attempt","discovered","reviewed","rejected","accepted_to_gate","verified","time_remaining_seconds","eta_seconds"],"additionalProperties":false,"properties":{"stage":{"type":"string","enum":["queued","sourcing","verification","contact_enrichment","completed","failed","cancelled"]},"round":{"type":["integer","null"],"minimum":1},"attempt":{"type":["integer","null"],"minimum":1},"discovered":{"type":"integer","minimum":0},"reviewed":{"type":"integer","minimum":0},"rejected":{"type":"integer","minimum":0},"accepted_to_gate":{"type":"integer","minimum":0},"verified":{"type":"integer","minimum":0},"time_remaining_seconds":{"type":"integer","minimum":0},"eta_seconds":{"type":["integer","null"],"minimum":0}}},"normalized_criteria":{"type":"object","additionalProperties":true},"companies":{"type":"array","maxItems":50,"items":{"$ref":"#/components/schemas/SourcedCompany"}},"external_id":{"type":["string","null"]},"metadata":{"type":["object","null"],"additionalProperties":true},"provider":{"type":"string"},"model":{"type":"object","additionalProperties":false,"properties":{"revision":{"type":["string","null"]},"image_digest":{"type":["string","null"]}}},"billing":{"type":"object","additionalProperties":false,"properties":{"credits_charged":{"const":0},"payment_required":{"const":false}}},"created_at":{"type":"string","format":"date-time"},"started_at":{"type":["string","null"],"format":"date-time"},"completed_at":{"type":["string","null"],"format":"date-time"},"failed_at":{"type":["string","null"],"format":"date-time"},"cancelled_at":{"type":["string","null"],"format":"date-time"},"deadline_at":{"type":"string","format":"date-time"},"execution_timeout_seconds":{"type":"integer","minimum":60,"maximum":86400},"queue":{"type":"object","additionalProperties":false,"required":["position","queued_at","execution_limit"],"properties":{"position":{"type":["integer","null"],"minimum":1},"queued_at":{"type":["string","null"],"format":"date-time"},"execution_limit":{"type":"integer","minimum":1,"maximum":64}}},"poll_url":{"type":["string","null"]},"retry_after_seconds":{"type":["integer","null"],"minimum":1},"error":{"type":["object","null"],"additionalProperties":true},"cancellation":{"type":["object","null"],"additionalProperties":false,"required":["cancelled_at","cancelled_by","reason"],"properties":{"cancelled_at":{"type":["string","null"],"format":"date-time"},"cancelled_by":{"type":["string","null"],"format":"uuid"},"reason":{"type":["string","null"],"maxLength":1000}}}}},"GeographyFilter":{"type":"array","uniqueItems":true,"maxItems":100,"default":[],"items":{"type":"string","minLength":1,"maxLength":200}},"Lead":{"type":"object","required":["object","name","email","role","company","linkedin","website","industry","city","state","country","employee_count","description","intent_score"],"additionalProperties":false,"properties":{"object":{"const":"lead"},"name":{"type":["string","null"]},"email":{"type":["string","null"]},"role":{"type":["string","null"]},"company":{"type":["string","null"]},"linkedin":{"type":["string","null"]},"website":{"type":["string","null"]},"industry":{"type":["string","null"]},"city":{"type":["string","null"]},"state":{"type":["string","null"]},"country":{"type":["string","null"]},"employee_count":{"type":["string","null"]},"description":{"type":["string","null"]},"intent_score":{"type":["number","null"]}}},"ProcessingLeadRequest":{"type":"object","required":["object","id","status","leads_requested","leads_delivered","created_at","poll_url","retry_after"],"additionalProperties":false,"properties":{"object":{"const":"lead_request"},"id":{"type":"string","format":"uuid"},"leads_requested":{"type":"integer","minimum":5,"maximum":25},"external_id":{"type":"string","minLength":1,"maxLength":120},"metadata":{"type":"object","additionalProperties":true},"created_at":{"type":"string","format":"date-time"},"credits_charged":{"type":"integer","minimum":0},"status":{"const":"processing"},"leads_delivered":{"const":0},"poll_url":{"type":"string","format":"uri-reference"},"retry_after":{"type":"integer","minimum":1,"default":15}}},"CompletedLeadRequest":{"type":"object","required":["object","id","status","leads_requested","leads_delivered","created_at","completed_at","leads"],"additionalProperties":false,"properties":{"object":{"const":"lead_request"},"id":{"type":"string","format":"uuid"},"leads_requested":{"type":"integer","minimum":5,"maximum":25},"external_id":{"type":"string","minLength":1,"maxLength":120},"metadata":{"type":"object","additionalProperties":true},"created_at":{"type":"string","format":"date-time"},"credits_charged":{"type":"integer","minimum":0},"status":{"const":"completed"},"leads_delivered":{"type":"integer","minimum":0,"maximum":25},"completed_at":{"type":"string","format":"date-time"},"leads":{"type":"array","minItems":0,"maxItems":25,"description":"Contains exactly leads_requested entries.","items":{"$ref":"#/components/schemas/Lead"}}}},"FailedLeadRequest":{"type":"object","required":["object","id","status","leads_requested","leads_delivered","created_at"],"additionalProperties":false,"properties":{"object":{"const":"lead_request"},"id":{"type":"string","format":"uuid"},"leads_requested":{"type":"integer","minimum":5,"maximum":25},"external_id":{"type":"string","minLength":1,"maxLength":120},"metadata":{"type":"object","additionalProperties":true},"created_at":{"type":"string","format":"date-time"},"credits_charged":{"type":"integer","minimum":0},"status":{"const":"failed"},"leads_delivered":{"const":0},"completed_at":{"type":"string","format":"date-time"}}},"LeadRequestDetail":{"oneOf":[{"$ref":"#/components/schemas/ProcessingLeadRequest"},{"$ref":"#/components/schemas/CompletedLeadRequest"},{"$ref":"#/components/schemas/FailedLeadRequest"}],"discriminator":{"propertyName":"status","mapping":{"processing":"#/components/schemas/ProcessingLeadRequest","completed":"#/components/schemas/CompletedLeadRequest","failed":"#/components/schemas/FailedLeadRequest"}}},"ProcessingLeadRequestSummary":{"type":"object","required":["object","id","status","leads_requested","leads_delivered","created_at"],"additionalProperties":false,"properties":{"object":{"const":"lead_request"},"id":{"type":"string","format":"uuid"},"leads_requested":{"type":"integer","minimum":5,"maximum":25},"external_id":{"type":"string","minLength":1,"maxLength":120},"metadata":{"type":"object","additionalProperties":true},"created_at":{"type":"string","format":"date-time"},"status":{"const":"processing"},"leads_delivered":{"const":0}}},"CompletedLeadRequestSummary":{"type":"object","required":["object","id","status","leads_requested","leads_delivered","created_at","completed_at"],"additionalProperties":false,"properties":{"object":{"const":"lead_request"},"id":{"type":"string","format":"uuid"},"leads_requested":{"type":"integer","minimum":5,"maximum":25},"external_id":{"type":"string","minLength":1,"maxLength":120},"metadata":{"type":"object","additionalProperties":true},"created_at":{"type":"string","format":"date-time"},"status":{"const":"completed"},"leads_delivered":{"type":"integer","minimum":5,"maximum":25},"completed_at":{"type":"string","format":"date-time"}}},"FailedLeadRequestSummary":{"type":"object","required":["object","id","status","leads_requested","leads_delivered","created_at"],"additionalProperties":false,"properties":{"object":{"const":"lead_request"},"id":{"type":"string","format":"uuid"},"leads_requested":{"type":"integer","minimum":5,"maximum":25},"external_id":{"type":"string","minLength":1,"maxLength":120},"metadata":{"type":"object","additionalProperties":true},"created_at":{"type":"string","format":"date-time"},"status":{"const":"failed"},"leads_delivered":{"const":0},"completed_at":{"type":"string","format":"date-time"}}},"LeadRequestSummary":{"oneOf":[{"$ref":"#/components/schemas/ProcessingLeadRequestSummary"},{"$ref":"#/components/schemas/CompletedLeadRequestSummary"},{"$ref":"#/components/schemas/FailedLeadRequestSummary"}],"discriminator":{"propertyName":"status","mapping":{"processing":"#/components/schemas/ProcessingLeadRequestSummary","completed":"#/components/schemas/CompletedLeadRequestSummary","failed":"#/components/schemas/FailedLeadRequestSummary"}}},"LeadRequestList":{"type":"object","required":["object","data","has_more","next_cursor"],"additionalProperties":false,"properties":{"object":{"const":"list"},"data":{"type":"array","items":{"$ref":"#/components/schemas/LeadRequestSummary"}},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"],"description":"Opaque signed continuation cursor."}}},"ApiIdentity":{"type":"object","required":["object","account_id","key_id","scopes"],"additionalProperties":false,"properties":{"object":{"const":"api_identity"},"account_id":{"type":"string","format":"uuid"},"key_id":{"type":["string","null"],"format":"uuid","description":"The API key in use, or null for a Claude or ChatGPT connection."},"connection_id":{"type":"string","format":"uuid","description":"The connected app's grant, present only for Claude or ChatGPT connections."},"scopes":{"type":"array","uniqueItems":true,"items":{"type":"string","enum":["lead_requests:write","lead_requests:read","leads:read","credits:read","company_requests:write","company_requests:read","lead_engine:read","lead_engine:write","pipeline:read","pipeline:write","outreach:read","outreach:write","outreach:send"]}}}},"Credits":{"type":"object","required":["credits_remaining","plan","monthly_credits","rollover_enabled"],"additionalProperties":false,"properties":{"credits_remaining":{"type":"integer","minimum":0},"plan":{"type":"string"},"monthly_credits":{"type":"integer","minimum":0},"rollover_enabled":{"type":"boolean"}}},"Pricing":{"type":"object","required":["credit_cost_per_lead","terms","min_leads","max_leads","sync_window_seconds"],"additionalProperties":false,"properties":{"credit_cost_per_lead":{"type":"integer","minimum":1},"terms":{"type":"object","required":["version","url"],"additionalProperties":false,"properties":{"version":{"type":"string"},"url":{"type":["string","null"],"format":"uri"}}},"min_leads":{"type":"integer","const":5},"max_leads":{"type":"integer","const":25},"sync_window_seconds":{"type":"integer","minimum":0}}},"Playbook":{"type":"object","required":["object","updated","topics"],"additionalProperties":false,"properties":{"object":{"type":"string","const":"playbook"},"updated":{"type":"string","format":"date","const":"2026-10-24"},"topics":{"type":"array","items":{"type":"object","required":["id","title","summary","practices"],"additionalProperties":false,"properties":{"id":{"type":"string","enum":["target-market","requests","accounts","messaging","campaigns","replies","experiments"]},"title":{"type":"string"},"summary":{"type":"string"},"practices":{"type":"array","items":{"type":"object","required":["title","body","example","sources","link"],"additionalProperties":false,"properties":{"title":{"type":"string"},"body":{"type":"string"},"example":{"type":["string","null"],"description":"The practice applied, such as a line that works and one that doesn't."},"sources":{"type":"array","items":{"type":"object","required":["label","url","date"],"additionalProperties":false,"properties":{"label":{"type":"string"},"url":{"type":"string","format":"uri"},"date":{"type":"string"}}}},"link":{"type":["object","null"],"required":["label","url","requires"],"additionalProperties":false,"properties":{"label":{"type":"string"},"url":{"type":"string","format":"uri"},"requires":{"type":["string","null"],"enum":["icps","outreach",null],"description":"Access the link needs: icps means the viewer can edit ICPs (owners, admins and managers); outreach means the workspace has Outreach. Null means any member can open it."}}}}}}}}}}}}},"x-leadpoet-scopes":["lead_requests:write","lead_requests:read","leads:read","credits:read","company_requests:write","company_requests:read","lead_engine:read","lead_engine:write","pipeline:read","pipeline:write","outreach:read","outreach:write","outreach:send"]}