Create an empty list with an email side, then add emails with POST /contact-lists/{id}/emails. The list is ready at once, so it can be an email campaign audience as soon as it has emails. To import a file of phone numbers, emails, or both, use POST /contact-lists/import. Requires the email feature for the organization the list is created in. Names do not have to be unique.
Optional idempotency key: a unique string of 16-200 printable ASCII characters (a UUID is recommended). Retrying the write with the same key within 24 hours returns the stored response of the first call with an X-Idempotent-Replayed: true response header instead of executing it again. Reusing a key with a different request body returns 422 (IDEMPOTENCY_MISMATCH); a duplicate sent while the first call is still running returns 409 with a Retry-After header. Keys are scoped per endpoint and organization.
Optional. Where the email addresses came from. Allowed only when purpose is audience and email_column is set; sent with any other combination it returns 400. Omit it and no consent record is stored.
Show child attributes
Response
List created. The same object GET /contact-lists/{id} returns.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Political Comms","description":"Documentation for the Political Comms P2P texting platform - help center, onboarding, compliance, and API reference.","colors":{"primary":"#1E3A8A","light":"#3B82F6","dark":"#1E3A8A"},"logo":{"light":"https://mintcdn.com/politicalcomms/EWPdkQOGp2k4Npo5/logo/main.png?fit=max\u0026auto=format\u0026n=EWPdkQOGp2k4Npo5\u0026q=85\u0026s=694b5108d71882d5774bc62c478bc370","dark":"https://mintcdn.com/politicalcomms/EWPdkQOGp2k4Npo5/logo/main.png?fit=max\u0026auto=format\u0026n=EWPdkQOGp2k4Npo5\u0026q=85\u0026s=694b5108d71882d5774bc62c478bc370","href":"/"},"favicon":"https://mintcdn.com/politicalcomms/EWPdkQOGp2k4Npo5/favicon.png?fit=max\u0026auto=format\u0026n=EWPdkQOGp2k4Npo5\u0026q=85\u0026s=63a87e09739757db232880f7adfda947","navbar":{"links":[{"href":"mailto:support@politicalcomms.com","label":"Support"}],"primary":{"type":"button","label":"Sign in","href":"https://app.politicalcomms.com"}},"footer":{"socials":{"website":"https://politicalcomms.com"},"links":[{"header":"Product","items":[{"label":"Dashboard","href":"https://app.politicalcomms.com"},{"label":"Pricing","href":"https://politicalcomms.com/pricing"},{"label":"Status","href":"https://status.politicalcomms.com"}]},{"header":"Resources","items":[{"label":"Help Center","href":"/help/getting-started"},{"label":"Onboarding","href":"/onboarding/overview"},{"label":"Compliance","href":"/compliance/overview"},{"label":"API Reference","href":"/api-reference/introduction"}]},{"header":"Legal","items":[{"label":"Terms of Use","href":"/legal/terms"},{"label":"Privacy Policy","href":"/legal/privacy"}]}]},"seo":{"metatags":{"og:site_name":"Political Comms Docs","og:type":"website","og:locale":"en_US","og:image":"https://politicalcomms.com/opengraph-image","og:image:width":"1200","og:image:height":"630","og:image:alt":"Political Comms. The direct-to-carrier political texting platform.","twitter:card":"summary_large_image","twitter:image":"https://politicalcomms.com/opengraph-image","twitter:image:alt":"Political Comms. The direct-to-carrier political texting platform.","robots":"index, follow, max-image-preview:large, max-snippet:-1","author":"Political Comms","publisher":"Political Comms","application-name":"Political Comms Docs","apple-mobile-web-app-title":"Political Comms Docs","theme-color":"#254692","msapplication-TileColor":"#254692","category":"Political Technology, Communications Infrastructure","keywords":"political texting, political SMS, P2P messaging, 10DLC registration, Campaign Verify, TCPA compliance, FCC political rules, MCP server, AI agent integration"},"indexing":"all"},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Dashboard","icon":"arrow-up-right-from-square","href":"https://app.politicalcomms.com"},{"anchor":"Status","icon":"signal","href":"https://status.politicalcomms.com"},{"anchor":"Changelog","icon":"clock-rotate-left","href":"/changelog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"politicalcomms","hasAudioNarration":false,"actualSubdomain":"politicalcomms","customDomains":["docs.politicalcomms.com"],"gitSource":{"type":"github","owner":"political-comms","repo":"political-comms-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6af47d08f70ad676a5c62756","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"API Reference","count":68},{"language":"default","tag":"Endpoints","count":55},{"language":"default","tag":"Documentation","count":40},{"language":"default","tag":"Email","count":22},{"language":"default","tag":"Text","count":19},{"language":"default","tag":"Assets","count":14},{"language":"default","tag":"Help Center","count":13},{"language":"default","tag":"Projects","count":13},{"language":"default","tag":"Get Started","count":8},{"language":"default","tag":"Compliance","count":8}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/contact-lists/create-contact-list","slug":"/api-reference/contact-lists/create-contact-list","pageMetadata":{"title":"Create Contact List","description":"Create an empty list with an email side, then add emails with `POST /contact-lists/{id}/emails`. The list is ready at once, so it can be an email campaign audience as soon as it has emails. To import a file of phone numbers, emails, or both, use `POST /contact-lists/import`. Requires the email feature for the organization the list is created in. Names do not have to be unique.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /contact-lists","href":"/api-reference/contact-lists/create-contact-list","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Create an empty list with an email side, then add emails with \", _jsx(_components.code, {\n children: \"POST /contact-lists/{id}/emails\"\n }), \". The list is ready at once, so it can be an email campaign audience as soon as it has emails. To import a file of phone numbers, emails, or both, use \", _jsx(_components.code, {\n children: \"POST /contact-lists/import\"\n }), \". Requires the email feature for the organization the list is created in. Names do not have to be unique.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Create Contact List","description":"Create an empty list with an email side, then add emails with `POST /contact-lists/{id}/emails`. The list is ready at once, so it can be an email campaign audience as soon as it has emails. To import a file of phone numbers, emails, or both, use `POST /contact-lists/import`. Requires the email feature for the organization the list is created in. Names do not have to be unique.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /contact-lists","href":"/api-reference/contact-lists/create-contact-list","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Contact Lists"],"summary":"Create Contact List","description":"Create an empty list with an email side, then add emails with `POST /contact-lists/{id}/emails`. The list is ready at once, so it can be an email campaign audience as soon as it has emails. To import a file of phone numbers, emails, or both, use `POST /contact-lists/import`. Requires the email feature for the organization the list is created in. Names do not have to be unique.","operationId":"createContactList","parameters":["06cf63c5-6c33-4b7e-bc7e-81f1d5ac347f"],"requestBody":"b37b30cf-ee3a-468f-99a5-831a38c4b1b5","responses":{"201":"e123864a-67c5-43d0-ae1c-23890c5530c2","400":"a5114111-b0b2-4f4b-9712-1e05ffffd2fc","401":"04383f16-3319-43a5-acdd-2617549b2222","403":"de06d81e-9ed6-4bfd-bde1-ac850daaac33","404":"4addc0cd-d2ed-4dbe-b71a-2af8f9dc88a1","429":"fca35114-bf8a-474b-89fa-5e92e84f6358","500":"37b86ec0-0333-4c2d-92a7-64c10eab9aa6"},"method":"post","type":"path","servers":["8bdcc1b9-051f-42cc-9c68-f222085fa98e"],"security":["88c9bcce-6679-4bf9-b723-391c13d09147"],"path":"/contact-lists","baseUrlOptions":["https://api.politicalcomms.com/v1"],"title":"Create Contact List","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"06cf63c5-6c33-4b7e-bc7e-81f1d5ac347f":{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","minLength":16,"maxLength":200,"isRequired":false,"description":"Optional idempotency key: a unique string of 16-200 printable ASCII characters (a UUID is recommended). Retrying the write with the same key within 24 hours returns the stored response of the first call with an `X-Idempotent-Replayed: true` response header instead of executing it again. Reusing a key with a different request body returns `422` (`IDEMPOTENCY_MISMATCH`); a duplicate sent while the first call is still running returns `409` with a `Retry-After` header. Keys are scoped per endpoint and organization.","uniqueKey":"","typeLabel":"string"},"description":"Optional idempotency key: a unique string of 16-200 printable ASCII characters (a UUID is recommended). Retrying the write with the same key within 24 hours returns the stored response of the first call with an `X-Idempotent-Replayed: true` response header instead of executing it again. Reusing a key with a different request body returns `422` (`IDEMPOTENCY_MISMATCH`); a duplicate sent while the first call is still running returns `409` with a `Retry-After` header. Keys are scoped per endpoint and organization."}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":255,"isRequired":true,"uniqueKey":"name","typeLabel":"string"},"organization_id":{"type":"string","format":"uuid","description":"Create the list in this organization (one your key can reach). Defaults to the key's organization.","uniqueKey":"organization_id","typeLabel":"string\u003cuuid>"},"description":{"type":"string","maxLength":2000,"uniqueKey":"description","typeLabel":"string"},"email_domain_id":{"type":"string","format":"uuid","description":"Scopes the list to one sending domain. Omit for an organization-wide list any campaign can use.","uniqueKey":"email_domain_id","typeLabel":"string\u003cuuid>"},"acquired":{"type":"boolean","description":"Set this when the list came from somewhere other than your own sign-up flow. Acquired lists ramp on half the normal warm-up steps.","uniqueKey":"acquired","typeLabel":"boolean"},"consent":{"type":"object","description":"Optional. Where the email addresses came from. Allowed only when `purpose` is `audience` and `email_column` is set; sent with any other combination it returns `400`. Omit it and no consent record is stored.","properties":{"source":{"type":"string","enum":["donation_form","petition","signup_form","event","purchased","rented","other"],"description":"How these people agreed to hear from you. Answer honestly: `purchased` and `rented` change how the list is treated, and an undeclared acquired list is the usual cause of a mid-send deliverability pause.","isRequired":true,"uniqueKey":"consent.source","typeLabel":"enum\u003cstring>"},"note":{"type":"string","maxLength":1000,"uniqueKey":"consent.note","typeLabel":"string"}},"required":["source"],"additionalProperties":false,"uniqueKey":"consent","typeLabel":"object"}},"required":["name"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"name":"August donors","consent":{"source":"donation_form","note":"Donate page opt-in checkbox"}},"examples":{"Example":{"title":"Example","value":{"name":"August donors","consent":{"source":"donation_form","note":"Donate page opt-in checkbox"}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"e123864a-67c5-43d0-ae1c-23890c5530c2":{"description":"List created. The same object `GET /contact-lists/{id}` returns.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","isRequired":true,"uniqueKey":"success","typeLabel":"boolean"},"data":{"type":"object","properties":{"list_id":{"type":"string","uniqueKey":"data.list_id","typeLabel":"string"},"name":{"type":"string","uniqueKey":"data.name","typeLabel":"string"},"brand_id":{"oneOf":[{"type":"string","uniqueKey":"data.brand_id.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.brand_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.brand_id","typeLabel":"string | null"},"organization_id":{"oneOf":[{"type":"string","uniqueKey":"data.organization_id.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.organization_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.organization_id","typeLabel":"string | null"},"imported_via_api":{"type":"boolean","description":"True when the list was created through POST /contact-lists/import.","uniqueKey":"data.imported_via_api","typeLabel":"boolean"},"created_at":{"type":"string","format":"date-time","uniqueKey":"data.created_at","typeLabel":"string\u003cdate-time>"},"channels":{"type":"array","items":{"type":"string","enum":["text","email"],"uniqueKey":"data.channels.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"`text` when the list has phone numbers (or has no emails), `email` when it has emails. One list can carry both; its emails are under `email` and listed on `GET /contact-lists/{id}/emails`.","uniqueKey":"data.channels","typeLabel":"enum\u003cstring>[]"},"available_merge_tags":{"type":"array","description":"The merge tags this list offers in message content, one per mapped column. When the list was imported without `merge_tags`, these are the tags assigned automatically.","items":{"type":"object","properties":{"tag":{"type":"string","description":"The merge tag name. Use it in message content as `{tag}`.","uniqueKey":"data.available_merge_tags.items.[INDEX].tag","typeLabel":"string"},"column":{"type":"string","description":"The CSV column the tag reads.","uniqueKey":"data.available_merge_tags.items.[INDEX].column","typeLabel":"string"},"standard":{"type":"boolean","description":"True for a standard field such as first_name; false for a custom tag.","uniqueKey":"data.available_merge_tags.items.[INDEX].standard","typeLabel":"boolean"}},"uniqueKey":"data.available_merge_tags.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.available_merge_tags","typeLabel":"object[]"},"import":{"type":"object","properties":{"status":{"type":"string","enum":["uploading","processing","ready","failed"],"uniqueKey":"data.import.status","typeLabel":"enum\u003cstring>"},"progress":{"type":"integer","description":"Import progress percentage (0-100). Always 100 once status is ready.","uniqueKey":"data.import.progress","typeLabel":"integer"},"total_rows":{"oneOf":[{"type":"integer","uniqueKey":"data.import.total_rows.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"data.import.total_rows.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.import.total_rows","typeLabel":"integer | null"},"total_contacts":{"oneOf":[{"type":"integer","uniqueKey":"data.import.total_contacts.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"data.import.total_contacts.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.import.total_contacts","typeLabel":"integer | null"},"clean_contacts":{"oneOf":[{"type":"integer","uniqueKey":"data.import.clean_contacts.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"data.import.clean_contacts.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.import.clean_contacts","typeLabel":"integer | null"},"duplicate_count":{"oneOf":[{"type":"integer","uniqueKey":"data.import.duplicate_count.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"data.import.duplicate_count.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.import.duplicate_count","typeLabel":"integer | null"},"bad_number_count":{"oneOf":[{"type":"integer","uniqueKey":"data.import.bad_number_count.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"data.import.bad_number_count.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.import.bad_number_count","typeLabel":"integer | null"},"opted_out_count":{"oneOf":[{"type":"integer","uniqueKey":"data.import.opted_out_count.oneOf.0","typeLabel":"integer"},{"type":"null","uniqueKey":"data.import.opted_out_count.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.import.opted_out_count","typeLabel":"integer | null"},"processing_started_at":{"oneOf":[{"type":"string","uniqueKey":"data.import.processing_started_at.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.import.processing_started_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.import.processing_started_at","typeLabel":"string | null"},"processing_completed_at":{"oneOf":[{"type":"string","uniqueKey":"data.import.processing_completed_at.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.import.processing_completed_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.import.processing_completed_at","typeLabel":"string | null"}},"additionalProperties":true,"uniqueKey":"data.import","typeLabel":"object"},"analysis":{"type":"object","properties":{"status":{"type":"string","enum":["not_started","processing","complete","failed"],"uniqueKey":"data.analysis.status","typeLabel":"enum\u003cstring>"},"analyzed_numbers":{"type":"integer","uniqueKey":"data.analysis.analyzed_numbers","typeLabel":"integer"},"breakdown":{"type":"object","properties":{"mobile":{"type":"integer","uniqueKey":"data.analysis.breakdown.mobile","typeLabel":"integer"},"landline":{"type":"integer","uniqueKey":"data.analysis.breakdown.landline","typeLabel":"integer"},"voip":{"type":"integer","uniqueKey":"data.analysis.breakdown.voip","typeLabel":"integer"},"invalid":{"type":"integer","uniqueKey":"data.analysis.breakdown.invalid","typeLabel":"integer"}},"additionalProperties":true,"description":"Present only after at least one number has been analyzed.","uniqueKey":"data.analysis.breakdown","typeLabel":"object"}},"additionalProperties":true,"uniqueKey":"data.analysis","typeLabel":"object"},"downloads":{"type":"object","description":"API URLs for `GET /contact-lists/{id}/download`. Authenticate with `X-API-Key`; the URLs do not expire.","properties":{"original_url":{"type":"string","uniqueKey":"data.downloads.original_url","typeLabel":"string"},"analyzed_url":{"oneOf":[{"type":"string","description":"Null until `analysis.status` is `complete`.","uniqueKey":"data.downloads.analyzed_url.oneOf.0","typeLabel":"string"},{"type":"null","description":"Null until `analysis.status` is `complete`.","uniqueKey":"data.downloads.analyzed_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.downloads.analyzed_url","typeLabel":"string | null"}},"additionalProperties":true,"uniqueKey":"data.downloads","typeLabel":"object"},"email":{"oneOf":[{"type":"object","description":"The email side of the list, or null when it has no emails.","required":["source_type","status","counts"],"properties":{"source_type":{"type":"string","enum":["uploaded","segmented","winred","anedot"],"isRequired":true,"uniqueKey":"data.email.oneOf.0.source_type","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["processing","ready","failed","archived"],"description":"The email side's import status. After `POST /contact-lists/import` with an `email_column`, poll `GET /contact-lists/{id}` until this is `ready` or `failed`.","isRequired":true,"uniqueKey":"data.email.oneOf.0.status","typeLabel":"enum\u003cstring>"},"counts":{"type":"object","properties":{"total":{"type":"integer","uniqueKey":"data.email.oneOf.0.counts.total","typeLabel":"integer"},"sendable":{"type":"integer","description":"Addresses that would receive the next send from this list.","uniqueKey":"data.email.oneOf.0.counts.sendable","typeLabel":"integer"},"bounced":{"type":"integer","uniqueKey":"data.email.oneOf.0.counts.bounced","typeLabel":"integer"},"complained":{"type":"integer","uniqueKey":"data.email.oneOf.0.counts.complained","typeLabel":"integer"},"unsubscribed":{"type":"integer","uniqueKey":"data.email.oneOf.0.counts.unsubscribed","typeLabel":"integer"},"invalid":{"type":"integer","uniqueKey":"data.email.oneOf.0.counts.invalid","typeLabel":"integer"},"suppressed_global":{"type":"integer","uniqueKey":"data.email.oneOf.0.counts.suppressed_global","typeLabel":"integer"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"data.email.oneOf.0.counts","typeLabel":"object"},"description":{"oneOf":[{"type":"string","uniqueKey":"data.email.oneOf.0.description.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"data.email.oneOf.0.description.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.email.oneOf.0.description","typeLabel":"string | null"},"email_domain_id":{"oneOf":[{"type":"string","format":"uuid","description":"The sending domain this list is scoped to; null for an organization-wide list any campaign can use.","uniqueKey":"data.email.oneOf.0.email_domain_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"The sending domain this list is scoped to; null for an organization-wide list any campaign can use.","uniqueKey":"data.email.oneOf.0.email_domain_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.email.oneOf.0.email_domain_id","typeLabel":"string\u003cuuid> | null"},"acquired":{"oneOf":[{"type":"boolean","description":"True when the list came from somewhere other than your own sign-up flow. Acquired lists ramp on half the normal warm-up steps.","uniqueKey":"data.email.oneOf.0.acquired.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"True when the list came from somewhere other than your own sign-up flow. Acquired lists ramp on half the normal warm-up steps.","uniqueKey":"data.email.oneOf.0.acquired.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.email.oneOf.0.acquired","typeLabel":"boolean | null"},"sunset_enabled":{"oneOf":[{"type":"boolean","description":"Whether the unengaged-contact sunset policy applies to this list.","uniqueKey":"data.email.oneOf.0.sunset_enabled.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Whether the unengaged-contact sunset policy applies to this list.","uniqueKey":"data.email.oneOf.0.sunset_enabled.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.email.oneOf.0.sunset_enabled","typeLabel":"boolean | null"},"quality_grade":{"oneOf":[{"type":"string","enum":["green","yellow","red",null],"description":"The list quality grade shown on the Lists page; null until the list is graded.","uniqueKey":"data.email.oneOf.0.quality_grade.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["green","yellow","red",null],"description":"The list quality grade shown on the Lists page; null until the list is graded.","uniqueKey":"data.email.oneOf.0.quality_grade.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.email.oneOf.0.quality_grade","typeLabel":"enum\u003cstring> | null"},"removed_at_upload":{"type":"object","description":"Addresses removed before they joined the list, by upload reason: `yahoo_family`, `high_complaint_domain`, `role`, `typo`, `disposable`, `no_mx`, `syntax`, `platform_bounce`, `duplicate`. Counts, not addresses.","additionalProperties":{"type":"integer","uniqueKey":"data.email.oneOf.0.removed_at_upload.additionalProperties","typeLabel":"integer"},"uniqueKey":"data.email.oneOf.0.removed_at_upload","typeLabel":"object"},"last_send_at":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"data.email.oneOf.0.last_send_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"data.email.oneOf.0.last_send_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.email.oneOf.0.last_send_at","typeLabel":"string\u003cdate-time> | null"},"created_at":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"data.email.oneOf.0.created_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"data.email.oneOf.0.created_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.email.oneOf.0.created_at","typeLabel":"string\u003cdate-time> | null"},"updated_at":{"oneOf":[{"type":"string","format":"date-time","uniqueKey":"data.email.oneOf.0.updated_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","uniqueKey":"data.email.oneOf.0.updated_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.email.oneOf.0.updated_at","typeLabel":"string\u003cdate-time> | null"}},"additionalProperties":true,"uniqueKey":"data.email.oneOf.0","typeLabel":"object"},{"type":"null","description":"The email side of the list, or null when it has no emails.","uniqueKey":"data.email.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.email","typeLabel":"object | null"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"required":["success","data"],"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":true,"data":{"list_id":"\u003cstring>","name":"\u003cstring>","brand_id":"\u003cstring>","organization_id":"\u003cstring>","imported_via_api":true,"created_at":"2023-11-07T05:31:56Z","channels":["text"],"available_merge_tags":[{"tag":"\u003cstring>","column":"\u003cstring>","standard":true}],"import":{"status":"uploading","progress":123,"total_rows":123,"total_contacts":123,"clean_contacts":123,"duplicate_count":123,"bad_number_count":123,"opted_out_count":123,"processing_started_at":"\u003cstring>","processing_completed_at":"\u003cstring>"},"analysis":{"status":"not_started","analyzed_numbers":123,"breakdown":{"mobile":123,"landline":123,"voip":123,"invalid":123}},"downloads":{"original_url":"\u003cstring>","analyzed_url":"\u003cstring>"},"email":{"source_type":"uploaded","status":"processing","counts":{"total":123,"sendable":123,"bounced":123,"complained":123,"unsubscribed":123,"invalid":123,"suppressed_global":123},"description":"\u003cstring>","email_domain_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","acquired":true,"sunset_enabled":true,"quality_grade":"green","removed_at_upload":{},"last_send_at":"2023-11-07T05:31:56Z","created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z"}}}}},"exampleType":"generated"}},"exampleType":"generated"},"a5114111-b0b2-4f4b-9712-1e05ffffd2fc":{"description":"Invalid request (validation failure, malformed parameters, or a request the resource state does not allow).","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code, e.g. VALIDATION_ERROR, ORG_ACCESS_DENIED, PROJECT_NOT_FOUND.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"correlationId":{"type":"string","description":"Request correlation ID; include it in support requests.","uniqueKey":"correlationId","typeLabel":"string"},"details":{"oneOf":[{"type":"array","description":"Present on some errors. For VALIDATION_ERROR, an array of { field, message, code } with one entry per rejected field (field is the dotted path); an object for other codes (e.g. insufficient-balance shortfall).","uniqueKey":"details.oneOf.0","typeLabel":"array"},{"type":"object","description":"Present on some errors. For VALIDATION_ERROR, an array of { field, message, code } with one entry per rejected field (field is the dotted path); an object for other codes (e.g. insufficient-balance shortfall).","uniqueKey":"details.oneOf.1","typeLabel":"object"}],"uniqueKey":"details","typeLabel":"array | object"}},"required":["error","code"],"additionalProperties":true,"description":"Standard error body produced by the API error handler for 4xx/5xx responses.","uniqueKey":"","typeLabel":"object"},"example":{"error":"Validation failed","code":"VALIDATION_ERROR","correlationId":"030bf857-922f-4b82-8fca-c5b0769c1590","details":[{"field":"organization_id","message":"Invalid UUID","code":"invalid_format"}]},"examples":{"Example":{"title":"Example","value":{"error":"Validation failed","code":"VALIDATION_ERROR","correlationId":"030bf857-922f-4b82-8fca-c5b0769c1590","details":[{"field":"organization_id","message":"Invalid UUID","code":"invalid_format"}]}}},"exampleType":"examples"}},"exampleType":"examples"},"04383f16-3319-43a5-acdd-2617549b2222":{"description":"Missing, malformed, revoked, or expired API key.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Short error summary.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Human-readable detail.","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["error","message"],"additionalProperties":true,"description":"Error body returned by the API-key authentication layer (401 and permission 403s).","uniqueKey":"","typeLabel":"object"},"example":{"error":"API key required","message":"Please provide an API key in the X-API-Key header"},"examples":{"Example":{"title":"Example","value":{"error":"API key required","message":"Please provide an API key in the X-API-Key header"}}},"exampleType":"examples"}},"exampleType":"examples"},"de06d81e-9ed6-4bfd-bde1-ac850daaac33":{"description":"The API key lacks the required permission scope, the requested resource belongs to an organization outside the key's hierarchy, or the organization is not entitled to this feature.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","description":"Error body returned by the API-key authentication layer (401 and permission 403s).","required":["error","message"],"properties":{"error":{"type":"string","description":"Short error summary.","isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"string"},"message":{"type":"string","description":"Human-readable detail.","isRequired":true,"uniqueKey":"oneOf.0.message","typeLabel":"string"}},"additionalProperties":true,"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Standard error body produced by the API error handler for 4xx/5xx responses.","required":["error","code"],"properties":{"error":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"oneOf.1.error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code, e.g. VALIDATION_ERROR, ORG_ACCESS_DENIED, PROJECT_NOT_FOUND.","isRequired":true,"uniqueKey":"oneOf.1.code","typeLabel":"string"},"correlationId":{"type":"string","description":"Request correlation ID; include it in support requests.","uniqueKey":"oneOf.1.correlationId","typeLabel":"string"},"details":{"oneOf":[{"type":"array","description":"Present on some errors. For VALIDATION_ERROR, an array of { field, message, code } with one entry per rejected field (field is the dotted path); an object for other codes (e.g. insufficient-balance shortfall).","uniqueKey":"oneOf.1.details.oneOf.0","typeLabel":"array"},{"type":"object","description":"Present on some errors. For VALIDATION_ERROR, an array of { field, message, code } with one entry per rejected field (field is the dotted path); an object for other codes (e.g. insufficient-balance shortfall).","uniqueKey":"oneOf.1.details.oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.1.details","typeLabel":"array | object"}},"additionalProperties":true,"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"missingScope":{"title":"missingScope","value":{"error":"Insufficient permissions","message":"This API key does not have the required permissions: public:read"}},"orgAccessDenied":{"title":"orgAccessDenied","value":{"error":"Access denied: You do not have permission to access this organization's data","code":"ORG_ACCESS_DENIED","correlationId":"de038205-7c9c-4d4a-99bc-d7275a52f07e"}},"entitlementRequired":{"title":"entitlementRequired","value":{"error":"This feature requires enablement by Political Comms","code":"ENTITLEMENT_REQUIRED","details":{"entitlement":"email"}}}},"exampleType":"examples"}},"exampleType":"examples"},"4addc0cd-d2ed-4dbe-b71a-2af8f9dc88a1":{"description":"Resource not found or not visible to this API key.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code, e.g. VALIDATION_ERROR, ORG_ACCESS_DENIED, PROJECT_NOT_FOUND.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"correlationId":{"type":"string","description":"Request correlation ID; include it in support requests.","uniqueKey":"correlationId","typeLabel":"string"},"details":{"oneOf":[{"type":"array","description":"Present on some errors. For VALIDATION_ERROR, an array of { field, message, code } with one entry per rejected field (field is the dotted path); an object for other codes (e.g. insufficient-balance shortfall).","uniqueKey":"details.oneOf.0","typeLabel":"array"},{"type":"object","description":"Present on some errors. For VALIDATION_ERROR, an array of { field, message, code } with one entry per rejected field (field is the dotted path); an object for other codes (e.g. insufficient-balance shortfall).","uniqueKey":"details.oneOf.1","typeLabel":"object"}],"uniqueKey":"details","typeLabel":"array | object"}},"required":["error","code"],"additionalProperties":true,"description":"Standard error body produced by the API error handler for 4xx/5xx responses.","uniqueKey":"","typeLabel":"object"},"example":{"error":"Project not found","code":"PROJECT_NOT_FOUND","correlationId":"de038205-7c9c-4d4a-99bc-d7275a52f07e"},"examples":{"Example":{"title":"Example","value":{"error":"Project not found","code":"PROJECT_NOT_FOUND","correlationId":"de038205-7c9c-4d4a-99bc-d7275a52f07e"}}},"exampleType":"examples"}},"exampleType":"examples"},"fca35114-bf8a-474b-89fa-5e92e84f6358":{"description":"Rate limit exceeded. Check the Retry-After header.","headers":{"Retry-After":{"description":"Seconds until the window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"string","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","enum":["RATE_LIMIT_EXCEEDED"],"isRequired":true,"uniqueKey":"code","typeLabel":"enum\u003cstring>"},"statusCode":{"type":"integer","enum":[429],"isRequired":true,"uniqueKey":"statusCode","typeLabel":"enum\u003cinteger>"},"retryAfter":{"type":"integer","description":"Seconds until the rate-limit window resets. Also sent as the Retry-After header.","isRequired":true,"uniqueKey":"retryAfter","typeLabel":"integer"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"}},"required":["success","error","code","statusCode","retryAfter"],"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"example":{"success":false,"error":"Rate limit exceeded","message":"Maximum 600 requests per 60 seconds","code":"RATE_LIMIT_EXCEEDED","statusCode":429,"retryAfter":3},"examples":{"Example":{"title":"Example","value":{"success":false,"error":"Rate limit exceeded","message":"Maximum 600 requests per 60 seconds","code":"RATE_LIMIT_EXCEEDED","statusCode":429,"retryAfter":3}}},"exampleType":"examples"}},"exampleType":"examples"},"37b86ec0-0333-4c2d-92a7-64c10eab9aa6":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable error code, e.g. VALIDATION_ERROR, ORG_ACCESS_DENIED, PROJECT_NOT_FOUND.","isRequired":true,"uniqueKey":"code","typeLabel":"string"},"correlationId":{"type":"string","description":"Request correlation ID; include it in support requests.","uniqueKey":"correlationId","typeLabel":"string"},"details":{"oneOf":[{"type":"array","description":"Present on some errors. For VALIDATION_ERROR, an array of { field, message, code } with one entry per rejected field (field is the dotted path); an object for other codes (e.g. insufficient-balance shortfall).","uniqueKey":"details.oneOf.0","typeLabel":"array"},{"type":"object","description":"Present on some errors. For VALIDATION_ERROR, an array of { field, message, code } with one entry per rejected field (field is the dotted path); an object for other codes (e.g. insufficient-balance shortfall).","uniqueKey":"details.oneOf.1","typeLabel":"object"}],"uniqueKey":"details","typeLabel":"array | object"}},"required":["error","code"],"additionalProperties":true,"description":"Standard error body produced by the API error handler for 4xx/5xx responses.","uniqueKey":"","typeLabel":"object"},"example":{"error":"An unexpected error occurred. Please try again later.","code":"INTERNAL_ERROR","correlationId":"de038205-7c9c-4d4a-99bc-d7275a52f07e"},"examples":{"Example":{"title":"Example","value":{"error":"An unexpected error occurred. Please try again later.","code":"INTERNAL_ERROR","correlationId":"de038205-7c9c-4d4a-99bc-d7275a52f07e"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"88c9bcce-6679-4bf9-b723-391c13d09147":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Authenticate every request by passing your API key in the X-API-Key header. Keys are scoped to your organization hierarchy.","scopes":[],"schemeName":"ApiKeyAuth"}}},"servers":{"8bdcc1b9-051f-42cc-9c68-f222085fa98e":{"url":"https://api.politicalcomms.com/v1","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-API-Key","description":"Authenticate every request by passing your API key in the X-API-Key header. Keys are scoped to your organization hierarchy.","scopes":[],"schemeName":"ApiKeyAuth"},"schema":{"title":"X-API-Key","type":"string","description":"Authenticate every request by passing your API key in the X-API-Key header. Keys are scoped to your organization hierarchy.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"X-API-Key"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"politicalcomms","siteName":"Political Comms","title":"Create Contact List - Political Comms","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-11T14:35:30.174Z","originalFileLocation":"api-reference/contact-lists/create-contact-list.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Create an empty list with an email side, then add emails with POST /contact-lists/{id}/emails. The list is ready at once, so it can be an email campaign audience as soon as it has emails. To import a file of phone numbers, emails, or both, use POST /contact-lists/import. Requires the email feature for the organization the list is created in. Names do not have to be unique.\">\u003cmeta data-mint-head name=\"keywords\" content=\"political texting, political SMS, P2P messaging, 10DLC registration, Campaign Verify, TCPA compliance, FCC political rules, MCP server, AI agent integration\">\u003cmeta data-mint-head name=\"application-name\" content=\"Political Comms\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow, max-image-preview:large, max-snippet:-1\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/politicalcomms/3u6PEpheVhjd9O_C/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/politicalcomms/3u6PEpheVhjd9O_C/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/politicalcomms/3u6PEpheVhjd9O_C/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/politicalcomms/3u6PEpheVhjd9O_C/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/politicalcomms/3u6PEpheVhjd9O_C/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/politicalcomms/3u6PEpheVhjd9O_C/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/politicalcomms/3u6PEpheVhjd9O_C/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/politicalcomms/3u6PEpheVhjd9O_C/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/politicalcomms/3u6PEpheVhjd9O_C/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create Contact List - Political Comms\">\u003cmeta data-mint-head property=\"og:description\" content=\"Create an empty list with an email side, then add emails with POST /contact-lists/{id}/emails. The list is ready at once, so it can be an email campaign audience as soon as it has emails. To import a file of phone numbers, emails, or both, use POST /contact-lists/import. Requires the email feature for the organization the list is created in. Names do not have to be unique.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Political Comms Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.politicalcomms.com/api-reference/contact-lists/create-contact-list\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://politicalcomms.com/opengraph-image\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create Contact List - Political Comms\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Create an empty list with an email side, then add emails with POST /contact-lists/{id}/emails. The list is ready at once, so it can be an email campaign audience as soon as it has emails. To import a file of phone numbers, emails, or both, use POST /contact-lists/import. Requires the email feature for the organization the list is created in. Names do not have to be unique.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://politicalcomms.com/opengraph-image\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/politicalcomms/3u6PEpheVhjd9O_C/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Political Comms Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#254692\">\u003cmeta data-mint-head name=\"og:locale\" content=\"en_US\">\u003cmeta data-mint-head name=\"og:image:alt\" content=\"Political Comms. The direct-to-carrier political texting platform.\">\u003cmeta data-mint-head name=\"twitter:image:alt\" content=\"Political Comms. The direct-to-carrier political texting platform.\">\u003cmeta data-mint-head name=\"author\" content=\"Political Comms\">\u003cmeta data-mint-head name=\"publisher\" content=\"Political Comms\">\u003cmeta data-mint-head name=\"application-name\" content=\"Political Comms Docs\">\u003cmeta data-mint-head name=\"theme-color\" content=\"#254692\">\u003cmeta data-mint-head name=\"category\" content=\"Political Technology, Communications Infrastructure\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.politicalcomms.com/api-reference/contact-lists/create-contact-list\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/contact-lists/create-contact-list.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.politicalcomms.com/#organization\",\"name\":\"Political Comms\",\"url\":\"https://docs.politicalcomms.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/politicalcomms/EWPdkQOGp2k4Npo5/logo/main.png?fit=max\u0026auto=format\u0026n=EWPdkQOGp2k4Npo5\u0026q=85\u0026s=694b5108d71882d5774bc62c478bc370\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.politicalcomms.com#website\",\"name\":\"Political Comms\",\"url\":\"https://docs.politicalcomms.com\",\"publisher\":{\"@id\":\"https://docs.politicalcomms.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.politicalcomms.com/api-reference/contact-lists/create-contact-list#webpage\",\"url\":\"https://docs.politicalcomms.com/api-reference/contact-lists/create-contact-list\",\"name\":\"Create Contact List\",\"description\":\"Create an empty list with an email side, then add emails with POST /contact-lists/{id}/emails. The list is ready at once, so it can be an email campaign audience as soon as it has emails. To import a file of phone numbers, emails, or both, use POST /contact-lists/import. Requires the email feature for the organization the list is created in. Names do not have to be unique.\",\"dateModified\":\"2026-11-11T14:35:30.174Z\",\"isPartOf\":{\"@id\":\"https://docs.politicalcomms.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.politicalcomms.com/api-reference/contact-lists/create-contact-list#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.politicalcomms.com/api-reference/contact-lists/create-contact-list#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://docs.politicalcomms.com/api-reference/projects/list-projects\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Assets\",\"item\":\"https://docs.politicalcomms.com/api-reference/contact-lists/list-contact-lists\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Contact Lists\",\"item\":\"https://docs.politicalcomms.com/api-reference/contact-lists/list-contact-lists\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Create Contact List\",\"item\":\"https://docs.politicalcomms.com/api-reference/contact-lists/create-contact-list\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.politicalcomms.com/api-reference/contact-lists/create-contact-list#apireference\",\"headline\":\"Create Contact List\",\"name\":\"Create Contact List\",\"description\":\"Create an empty list with an email side, then add emails with POST /contact-lists/{id}/emails. The list is ready at once, so it can be an email campaign audience as soon as it has emails. To import a file of phone numbers, emails, or both, use POST /contact-lists/import. Requires the email feature for the organization the list is created in. Names do not have to be unique.\",\"url\":\"https://docs.politicalcomms.com/api-reference/contact-lists/create-contact-list\",\"mainEntityOfPage\":{\"@id\":\"https://docs.politicalcomms.com/api-reference/contact-lists/create-contact-list#webpage\"},\"image\":\"https://politicalcomms.com/opengraph-image\",\"dateModified\":\"2026-11-11T14:35:30.174Z\",\"publisher\":{\"@id\":\"https://docs.politicalcomms.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.politicalcomms.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Political Comms\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Political Comms\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/contact-lists/create-contact-list.md","siteName":"Political Comms","nav":{"global":{"anchors":[{"anchor":"Dashboard","icon":"arrow-up-right-from-square","href":"https://app.politicalcomms.com"},{"anchor":"Status","icon":"signal","href":"https://status.politicalcomms.com"},{"anchor":"Changelog","icon":"clock-rotate-left","href":"/changelog"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"Introduction","pages":[{"title":"Introduction","icon":"code","href":"/api-reference/introduction"},{"title":"Authentication","icon":"key","href":"/api-reference/authentication"},{"title":"Rate Limits","icon":"gauge-high","href":"/api-reference/rate-limits"},{"title":"Error Handling","icon":"circle-exclamation","href":"/api-reference/errors"},{"title":"Versioning \u0026 Deprecation","href":"/api-reference/versioning"},{"title":"Best Practices","icon":"stars","href":"/api-reference/best-practices"},{"title":"Two-Way Conversations","icon":"messages","href":"/api-reference/two-way-conversations"}]},{"group":"Webhooks","pages":[{"title":"Overview","icon":"webhook","href":"/api-reference/webhooks/overview"},{"title":"Setup \u0026 Configuration","icon":"plug","href":"/api-reference/webhooks/setup"},{"title":"Signature Validation","icon":"shield-check","href":"/api-reference/webhooks/signature-validation"},{"title":"Event Types","icon":"code","href":"/api-reference/webhooks/events"},{"title":"Delivery Error Codes","icon":"triangle-exclamation","href":"/api-reference/webhooks/error-codes"},{"title":"Retry Policy","icon":"rotate-right","href":"/api-reference/webhooks/retry-policy"}]},{"group":"Endpoints","pages":[{"group":"Text","pages":[{"group":"Projects","pages":[{"title":"List Projects","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects","href":"/api-reference/projects/list-projects"},{"title":"Create Project","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /projects","href":"/api-reference/projects/create-project"},{"title":"Get Project Stats (all)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/stats","href":"/api-reference/projects/get-project-stats-all"},{"title":"Get Project","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{id}","href":"/api-reference/projects/get-project"},{"title":"Update Project","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /projects/{id}","href":"/api-reference/projects/update-project"},{"title":"Get Project Stats (single)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{id}/stats","href":"/api-reference/projects/get-project-stats-single"},{"title":"Get Project Throughput","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{id}/throughput","href":"/api-reference/projects/get-project-throughput"},{"title":"Get Survey Results","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /projects/{id}/survey-results","href":"/api-reference/projects/get-survey-results"},{"title":"Test Project","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /projects/{id}/test","href":"/api-reference/projects/test-project"},{"title":"Schedule Project","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /projects/{id}/schedule","href":"/api-reference/projects/schedule-project"},{"title":"Unschedule Project","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /projects/{id}/unschedule","href":"/api-reference/projects/unschedule-project"},{"title":"Pause Project","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /projects/{id}/pause","href":"/api-reference/projects/pause-project"},{"title":"Copy Project","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /projects/{id}/copy","href":"/api-reference/projects/copy-project"}]},{"group":"Phone Numbers","pages":[{"title":"List Phone Numbers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /phone-numbers","href":"/api-reference/phone-numbers/list-phone-numbers"}]},{"group":"Toll-Free Verifications","pages":[{"title":"List Toll-Free Verifications","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /toll-free-verifications","href":"/api-reference/toll-free-verifications/list-toll-free-verifications"},{"title":"Get Toll-Free Verification","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /toll-free-verifications/{id}","href":"/api-reference/toll-free-verifications/get-toll-free-verification"}]},{"group":"Brands","pages":[{"title":"List Brands","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /brands","href":"/api-reference/brands/list-brands"}]},{"group":"10DLC Campaigns","pages":[{"title":"List Campaigns","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /campaigns","href":"/api-reference/10dlc-campaigns/list-campaigns"},{"title":"Get Campaign Throughput","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /campaigns/{id}/throughput","href":"/api-reference/10dlc-campaigns/get-campaign-throughput"}]}]},{"group":"Email","pages":[{"group":"Email Campaigns","pages":[{"title":"List Campaigns","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /email/campaigns","href":"/api-reference/email-campaigns/list-campaigns"},{"title":"Create Campaign","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /email/campaigns","href":"/api-reference/email-campaigns/create-campaign"},{"title":"Get Campaign","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /email/campaigns/{id}","href":"/api-reference/email-campaigns/get-campaign"},{"title":"Schedule Campaign","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /email/campaigns/{id}/schedule","href":"/api-reference/email-campaigns/schedule-campaign"},{"title":"Unschedule Campaign","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /email/campaigns/{id}/unschedule","href":"/api-reference/email-campaigns/unschedule-campaign"},{"title":"Get Campaign Stats","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /email/campaigns/{id}/stats","href":"/api-reference/email-campaigns/get-campaign-stats"}]},{"group":"Email Templates","pages":[{"title":"List Email Templates","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /email/templates","href":"/api-reference/email-templates/list-email-templates"},{"title":"Create Email Template","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /email/templates","href":"/api-reference/email-templates/create-email-template"},{"title":"Get Email Template","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /email/templates/{id}","href":"/api-reference/email-templates/get-email-template"}]},{"group":"Email Senders","pages":[{"title":"List Sender Identities","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /email/senders","href":"/api-reference/email-senders/list-sender-identities"},{"title":"Get Sender Identity","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /email/senders/{id}","href":"/api-reference/email-senders/get-sender-identity"}]},{"group":"Email Suppressions","pages":[{"title":"List Suppressions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /email/suppressions","href":"/api-reference/email-suppressions/list-suppressions"},{"title":"Add Suppressions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /email/suppressions","href":"/api-reference/email-suppressions/add-suppressions"},{"title":"Remove Suppressions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /email/suppressions","href":"/api-reference/email-suppressions/remove-suppressions"}]}]},{"group":"Assets","pages":[{"group":"Contact Lists","pages":[{"title":"List Contact Lists","description":"List your lists. One list can hold phone numbers, emails, or both; `channels` says which, and `email` carries the email side (null when the list has no emails). By default only lists with phone numbers (and lists that have no emails) are returned, so a texting integration never meets an email-only list; send `channel=email` for lists with emails, or `channel=all` for every list. Filter by organization or brand.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /contact-lists","href":"/api-reference/contact-lists/list-contact-lists"},{"title":"Create Contact List","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /contact-lists","href":"/api-reference/contact-lists/create-contact-list"},{"title":"Get Contact List","description":"Fetch a single list: its phone side (import progress and phone-type analysis), and its email side under `email` (null when the list has no emails). `downloads` links the CSV files: `original_url` always, `analyzed_url` once analysis is complete (null before). Both are API URLs, so request them with your `X-API-Key`; they do not expire. After an import with an `email_column`, poll this endpoint until `email.status` is `ready` or `failed`.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /contact-lists/{id}","href":"/api-reference/contact-lists/get-contact-list"},{"title":"Delete Contact List","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /contact-lists/{id}","href":"/api-reference/contact-lists/delete-contact-list"},{"title":"Import List","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /contact-lists/import","href":"/api-reference/contact-lists/import-list"},{"title":"List Contact List Emails","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /contact-lists/{id}/emails","href":"/api-reference/contact-lists/list-contact-list-emails"},{"title":"Add Contact List Emails","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /contact-lists/{id}/emails","href":"/api-reference/contact-lists/add-contact-list-emails"},{"title":"Analyze Contact List","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /contact-lists/{id}/analyze","href":"/api-reference/contact-lists/analyze-contact-list"},{"title":"Download Contact List CSV","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /contact-lists/{id}/download","href":"/api-reference/contact-lists/download-contact-list-csv"}]},{"group":"Media Files","pages":[{"title":"List Media Files","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /media","href":"/api-reference/media-files/list-media-files"},{"title":"Import Media","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /media","href":"/api-reference/media-files/import-media"},{"title":"Get Media File","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /media/{id}","href":"/api-reference/media-files/get-media-file"},{"title":"Delete Media File","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /media/{id}","href":"/api-reference/media-files/delete-media-file"}]}]},{"group":"Billing \u0026 Usage","pages":[{"group":"Billing","pages":[{"title":"Get Usage","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /ledger/usage","href":"/api-reference/billing/get-usage"},{"title":"Get Usage by Initiator","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /ledger/usage/by-initiator","href":"/api-reference/billing/get-usage-by-initiator"}]},{"group":"Analytics","pages":[{"title":"Get Message Stats","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /messages/stats","href":"/api-reference/analytics/get-message-stats"}]}]},{"group":"Admin","pages":[{"group":"Sending Domains","pages":[{"title":"List Sending Domains","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /email/domains","href":"/api-reference/sending-domains/list-sending-domains"},{"title":"Get Sending Domain","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /email/domains/{id}","href":"/api-reference/sending-domains/get-sending-domain"}]},{"group":"Tracking Domains","pages":[{"title":"List Tracking Domains","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /tracking-domains","href":"/api-reference/tracking-domains/list-tracking-domains"}]},{"group":"Organizations","pages":[{"title":"List Organizations","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /organizations","href":"/api-reference/organizations/list-organizations"},{"title":"Get Hierarchy","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /hierarchy","href":"/api-reference/organizations/get-hierarchy"}]}]}]}]}]},"basePath":"","title":"Create Contact List - Political Comms","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C9Wu0MeN.js","utils-jWgu-6Qf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DBD8f9qn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BGuX1ui5.js","snippetPresets-Evy63nQB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BQHO1lnV.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B6C8m-t_.js","shallow-BG4cT0fH.js","getApiPlaygroundDisplay-CgEPrE-D.js","CodeSnippet-CU8JyZ9N.js","CodeSnippets-BnxHU32T.js","Page-D6S0Yh6q.js","getPastedJson-CwiYOonh.js","icon-DYDpWmDf.js","MethodPill-C-J-l7_c.js","DuplicateIcon-B6ARwg9w.js","createIcon-Dsv4MtDq.js","DynamicMarkdown-CtasenyM.js","SectionHeading-YNcgYwjB.js","axios-vUo_bRtp.js","Markdown-CwLx6PAg.js","clsx-C3kuh_dz.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CmKHfscc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-U3mI6Ljh.js"]}