{
"error": {
"code": "system_list_read_only",
"message": "System lists are managed automatically and can't be edited."
}
}
{
"error": {
"code": "invalid_api_key",
"message": "Unknown or revoked API key"
}
}
{
"error": {
"code": "insufficient_scope",
"message": "This API key is read-only. Create a key with the write scope to use this endpoint."
}
}
{
"error": {
"code": "list_not_found",
"message": "No contact list with that id belongs to this account."
}
}
{
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded for the Pro plan (30 requests/min). Upgrade for higher limits.",
"retry_after": 42
}
}
{
"error": {
"code": "upstream_error",
"message": "Failed to fetch scheduled posts. Try again shortly."
}
}
{
"error": {
"code": "upstream_unavailable",
"message": "The scheduling service is temporarily unavailable. Retry with the same Idempotency-Key."
}
}
Contact Lists
Add contact list members in bulk
Add up to 500 people to a list you created, by numeric X user id.
This endpoint does NO live profile lookup, which is why it costs one
write and no enrichment: it builds each member from the profile SuperX
already stores. Ids SuperX has never seen come back in not_found and
are NOT added, so no placeholder members are ever created. Add those
one at a time with POST /v1/contact-lists/{id}/members and a
handle, which does resolve live (and costs one enrichment unit).
Re-adding an existing member is counted in duplicates, never an
error. Duplicate ids inside one call are collapsed. System lists return
400 system_list_read_only.
Works for your main account or any account linked to it (account_id);
accounts shared with you are read-only. Needs the write scope.
{
"error": {
"code": "system_list_read_only",
"message": "System lists are managed automatically and can't be edited."
}
}
{
"error": {
"code": "invalid_api_key",
"message": "Unknown or revoked API key"
}
}
{
"error": {
"code": "insufficient_scope",
"message": "This API key is read-only. Create a key with the write scope to use this endpoint."
}
}
{
"error": {
"code": "list_not_found",
"message": "No contact list with that id belongs to this account."
}
}
{
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded for the Pro plan (30 requests/min). Upgrade for higher limits.",
"retry_after": 42
}
}
{
"error": {
"code": "upstream_error",
"message": "Failed to fetch scheduled posts. Try again shortly."
}
}
{
"error": {
"code": "upstream_unavailable",
"message": "The scheduling service is temporarily unavailable. Retry with the same Idempotency-Key."
}
}
Counters from a bulk member add. added + duplicates + failed equals the number of resolvable ids; not_found ids never reached the list.
Members are inserted one at a time upstream, so a 502 or 503 can land after some of them were already added. Retrying the same request is safe: the list dedupes on (list, person), so anything that got in the first time comes back in duplicates rather than being added twice.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"SuperX","colors":{"primary":"#F4503B","light":"#FB7359","dark":"#D93820"},"logo":{"light":"https://mintcdn.com/superx/ZOrKRYsYXbBhitoI/logo/light.svg?fit=max\u0026auto=format\u0026n=ZOrKRYsYXbBhitoI\u0026q=85\u0026s=d465c38938c34f6ab75cfc50d0039be2","dark":"https://mintcdn.com/superx/ZOrKRYsYXbBhitoI/logo/dark.svg?fit=max\u0026auto=format\u0026n=ZOrKRYsYXbBhitoI\u0026q=85\u0026s=b717e05282be47857b4c42e3c9f28b15"},"favicon":"https://mintcdn.com/superx/ZOrKRYsYXbBhitoI/favicon.png?fit=max\u0026auto=format\u0026n=ZOrKRYsYXbBhitoI\u0026q=85\u0026s=05aaa6612cdd959e0edb14d963806660","appearance":{"default":"system"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"superx","hasAudioNarration":false,"actualSubdomain":"superx","customDomains":["docs.superx.so"],"gitSource":{"type":"github","owner":"superx-so","repo":"superx-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ac68ff611e54a617d7548d2","collectionId":"371386e6-3679-44e4-aa28-f1b7adee5865","liveDeploymentHistoryId":"6ac68ff611e54a617d7548d2","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ac68ff611e54a617d7548d2","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"API Reference","count":106},{"language":"default","tag":"Signals","count":12},{"language":"default","tag":"Documentation","count":10},{"language":"default","tag":"Articles","count":10},{"language":"default","tag":"Scheduling","count":10},{"language":"default","tag":"Audience","count":9},{"language":"default","tag":"Contact Lists","count":9},{"language":"default","tag":"Datasets","count":8},{"language":"default","tag":"Context","count":7},{"language":"default","tag":"Engage","count":7}]},"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":"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":"vite-origin","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":"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}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/contact-lists/add-contact-list-members-in-bulk","slug":"/api-reference/contact-lists/add-contact-list-members-in-bulk","pageMetadata":{"title":"Add contact list members in bulk","description":"Add up to 500 people to a list you created, by numeric X user id.\n\nThis endpoint does NO live profile lookup, which is why it costs one\nwrite and no enrichment: it builds each member from the profile SuperX\nalready stores. Ids SuperX has never seen come back in `not_found` and\nare NOT added, so no placeholder members are ever created. Add those\none at a time with `POST /v1/contact-lists/{id}/members` and a\n`handle`, which does resolve live (and costs one enrichment unit).\n\nRe-adding an existing member is counted in `duplicates`, never an\nerror. Duplicate ids inside one call are collapsed. System lists return\n400 `system_list_read_only`.\n\nWorks for your main account or any account linked to it (`account_id`);\naccounts shared with you are read-only. Needs the write scope.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/contact-lists/{id}/members/bulk","href":"/api-reference/contact-lists/add-contact-list-members-in-bulk","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, 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(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Add up to 500 people to a list you created, by numeric X user id.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"This endpoint does NO live profile lookup, which is why it costs one\\nwrite and no enrichment: it builds each member from the profile SuperX\\nalready stores. Ids SuperX has never seen come back in \", _jsx(_components.code, {\n children: \"not_found\"\n }), \" and\\nare NOT added, so no placeholder members are ever created. Add those\\none at a time with \", _jsx(_components.code, {\n children: \"POST /v1/contact-lists/{id}/members\"\n }), \" and a\\n\", _jsx(_components.code, {\n children: \"handle\"\n }), \", which does resolve live (and costs one enrichment unit).\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Re-adding an existing member is counted in \", _jsx(_components.code, {\n children: \"duplicates\"\n }), \", never an\\nerror. Duplicate ids inside one call are collapsed. System lists return\\n400 \", _jsx(_components.code, {\n children: \"system_list_read_only\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Works for your main account or any account linked to it (\", _jsx(_components.code, {\n children: \"account_id\"\n }), \");\\naccounts shared with you are read-only. Needs the write scope.\"]\n })]\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":"Add contact list members in bulk","description":"Add up to 500 people to a list you created, by numeric X user id.\n\nThis endpoint does NO live profile lookup, which is why it costs one\nwrite and no enrichment: it builds each member from the profile SuperX\nalready stores. Ids SuperX has never seen come back in `not_found` and\nare NOT added, so no placeholder members are ever created. Add those\none at a time with `POST /v1/contact-lists/{id}/members` and a\n`handle`, which does resolve live (and costs one enrichment unit).\n\nRe-adding an existing member is counted in `duplicates`, never an\nerror. Duplicate ids inside one call are collapsed. System lists return\n400 `system_list_read_only`.\n\nWorks for your main account or any account linked to it (`account_id`);\naccounts shared with you are read-only. Needs the write scope.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/contact-lists/{id}/members/bulk","href":"/api-reference/contact-lists/add-contact-list-members-in-bulk","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Contact Lists"],"operationId":"addContactListMembers","summary":"Add contact list members in bulk","description":"Add up to 500 people to a list you created, by numeric X user id.\n\nThis endpoint does NO live profile lookup, which is why it costs one\nwrite and no enrichment: it builds each member from the profile SuperX\nalready stores. Ids SuperX has never seen come back in `not_found` and\nare NOT added, so no placeholder members are ever created. Add those\none at a time with `POST /v1/contact-lists/{id}/members` and a\n`handle`, which does resolve live (and costs one enrichment unit).\n\nRe-adding an existing member is counted in `duplicates`, never an\nerror. Duplicate ids inside one call are collapsed. System lists return\n400 `system_list_read_only`.\n\nWorks for your main account or any account linked to it (`account_id`);\naccounts shared with you are read-only. Needs the write scope.\n","parameters":["ef30df0d-0158-4f58-b00a-f7d8da04807f"],"requestBody":"a30b2b54-09c5-45cd-8f96-0fc6735f5825","responses":{"200":"c90555c8-b19e-4c49-9541-8ab30bda5cb5","400":"4acbd942-e7d6-4f32-b250-bac7008c4947","401":"1f659f06-3fd2-4f0e-82cf-a0732c2d418f","403":"4922f5f3-4640-4784-8e52-f75dc755e817","404":"113e6ef5-373e-4619-aa26-1c03e6fd790c","429":"d3b6e58a-500f-4bb3-8155-c812abaf107f","502":"6c9f8b54-4057-4d31-8e0f-cafabd0572e1","503":"e8522e7c-54eb-4d4b-bd1b-77a2cf29190a"},"method":"post","type":"path","servers":["3d538a38-214d-4480-97a3-9a44d5c3102b"],"security":["d3f7d345-7007-489f-b114-dac4df3cb92f"],"path":"/v1/contact-lists/{id}/members/bulk","baseUrlOptions":["https://api.superx.so"],"title":"Add contact list members in bulk","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"ef30df0d-0158-4f58-b00a-f7d8da04807f":{"name":"id","in":"path","required":true,"description":"The list id from `GET /v1/contact-lists`.","schema":{"type":"string","isRequired":true,"description":"The list id from `GET /v1/contact-lists`.","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["x_user_ids"],"properties":{"x_user_ids":{"type":"array","minItems":1,"maxItems":500,"items":{"type":"string","uniqueKey":"x_user_ids.items.[INDEX]","typeLabel":"string"},"description":"Numeric X user ids.","isRequired":true,"uniqueKey":"x_user_ids","typeLabel":"string[]"},"account_id":{"type":"string","uniqueKey":"account_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"x_user_ids":["944883311","44196397","1234567890"]},"examples":{"Example":{"title":"Example","value":{"x_user_ids":["944883311","44196397","1234567890"]}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"c90555c8-b19e-4c49-9541-8ab30bda5cb5":{"description":"The bulk add finished. Read the counters for what happened.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Counters from a bulk member add. added + duplicates + failed equals the number of resolvable ids; not_found ids never reached the list.\nMembers are inserted one at a time upstream, so a 502 or 503 can land after some of them were already added. Retrying the same request is safe: the list dedupes on (list, person), so anything that got in the first time comes back in `duplicates` rather than being added twice.\n","properties":{"added":{"type":"integer","description":"New members created.","uniqueKey":"data.added","typeLabel":"integer"},"duplicates":{"type":"integer","description":"Ids already in the list. Nothing was written for them.","uniqueKey":"data.duplicates","typeLabel":"integer"},"failed":{"type":"integer","description":"Resolvable ids whose insert failed.","uniqueKey":"data.failed","typeLabel":"integer"},"not_found":{"type":"array","description":"Submitted ids with no stored profile. Nothing was sent for them and no placeholder member was created; add these by handle instead.","items":{"type":"string","uniqueKey":"data.not_found.items.[INDEX]","typeLabel":"string"},"uniqueKey":"data.not_found","typeLabel":"string[]"},"total_in_list_after":{"type":"integer","description":"Members in the list once the call finished.","uniqueKey":"data.total_in_list_after","typeLabel":"integer"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"data":{"added":2,"duplicates":0,"failed":0,"not_found":["1234567890"],"total_in_list_after":44}},"examples":{"Example":{"title":"Example","value":{"data":{"added":2,"duplicates":0,"failed":0,"not_found":["1234567890"],"total_in_list_after":44}}}},"exampleType":"examples"}},"exampleType":"examples"},"4acbd942-e7d6-4f32-b250-bac7008c4947":{"description":"A write against a system list (`system_list_read_only`) - renaming or deleting one, or adding/removing its members, singly or in bulk - or a malformed body (`invalid_parameter`).","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable machine-readable error code.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retry_after":{"type":"integer","description":"Seconds to wait before retrying (rate-limit errors only).","uniqueKey":"error.retry_after","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"system_list_read_only","message":"System lists are managed automatically and can't be edited."}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"system_list_read_only","message":"System lists are managed automatically and can't be edited."}}}},"exampleType":"examples"}},"exampleType":"examples"},"1f659f06-3fd2-4f0e-82cf-a0732c2d418f":{"description":"Missing/malformed Authorization header (`unauthorized`) or an unknown/revoked key (`invalid_api_key`).","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable machine-readable error code.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retry_after":{"type":"integer","description":"Seconds to wait before retrying (rate-limit errors only).","uniqueKey":"error.retry_after","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"invalid_api_key","message":"Unknown or revoked API key"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_api_key","message":"Unknown or revoked API key"}}}},"exampleType":"examples"}},"exampleType":"examples"},"4922f5f3-4640-4784-8e52-f75dc755e817":{"description":"Read-only key (`insufficient_scope`), an account shared with you (`writes_main_account_only`; shared accounts are read-only through the API, your own linked accounts are not), or a lapsed subscription (legacy string envelope).","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable machine-readable error code.","isRequired":true,"uniqueKey":"oneOf.0.error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.message","typeLabel":"string"},"retry_after":{"type":"integer","description":"Seconds to wait before retrying (rate-limit errors only).","uniqueKey":"oneOf.0.error.retry_after","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"object"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Legacy shape used ONLY by the shared subscription middleware: a plain\nstring `error` field. Seen on `403` when the subscription has lapsed\n(string starts with \"subscription_required:\") and on `500` when\nsubscription verification fails (string starts with \"internal_error:\").\n","required":["error"],"properties":{"error":{"type":"string","example":"subscription_required: The SuperX API requires an active subscription","isRequired":true,"uniqueKey":"oneOf.1.error","typeLabel":"string"}},"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"insufficient_scope","message":"This API key is read-only. Create a key with the write scope to use this endpoint."}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"insufficient_scope","message":"This API key is read-only. Create a key with the write scope to use this endpoint."}}}},"exampleType":"examples"}},"exampleType":"examples"},"113e6ef5-373e-4619-aa26-1c03e6fd790c":{"description":"No contact list with that id belongs to this account.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable machine-readable error code.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retry_after":{"type":"integer","description":"Seconds to wait before retrying (rate-limit errors only).","uniqueKey":"error.retry_after","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"list_not_found","message":"No contact list with that id belongs to this account."}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"list_not_found","message":"No contact list with that id belongs to this account."}}}},"exampleType":"examples"}},"exampleType":"examples"},"d3b6e58a-500f-4bb3-8155-c812abaf107f":{"description":"Rate limit exceeded (limits vary by plan). Honor Retry-After.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}},"X-RateLimit-Limit":{"description":"The limit of the rate window closest to exhaustion.","schema":{"type":"integer"}},"X-RateLimit-Remaining":{"description":"Requests remaining in that window.","schema":{"type":"integer"}},"X-RateLimit-Reset":{"description":"Unix timestamp (seconds) when that window resets.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable machine-readable error code.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retry_after":{"type":"integer","description":"Seconds to wait before retrying (rate-limit errors only).","uniqueKey":"error.retry_after","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"rate_limited","message":"Rate limit exceeded for the Pro plan (30 requests/min). Upgrade for higher limits.","retry_after":42}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"rate_limited","message":"Rate limit exceeded for the Pro plan (30 requests/min). Upgrade for higher limits.","retry_after":42}}}},"exampleType":"examples"}},"exampleType":"examples"},"6c9f8b54-4057-4d31-8e0f-cafabd0572e1":{"description":"A dependent SuperX service returned an unexpected response.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable machine-readable error code.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retry_after":{"type":"integer","description":"Seconds to wait before retrying (rate-limit errors only).","uniqueKey":"error.retry_after","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"upstream_error","message":"Failed to fetch scheduled posts. Try again shortly."}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"upstream_error","message":"Failed to fetch scheduled posts. Try again shortly."}}}},"exampleType":"examples"}},"exampleType":"examples"},"e8522e7c-54eb-4d4b-bd1b-77a2cf29190a":{"description":"The scheduling service is temporarily unreachable. Safe to retry; reuse your Idempotency-Key on POST.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Stable machine-readable error code.","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"retry_after":{"type":"integer","description":"Seconds to wait before retrying (rate-limit errors only).","uniqueKey":"error.retry_after","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"upstream_unavailable","message":"The scheduling service is temporarily unavailable. Retry with the same Idempotency-Key."}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"upstream_unavailable","message":"The scheduling service is temporarily unavailable. Retry with the same Idempotency-Key."}}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"d3f7d345-7007-489f-b114-dac4df3cb92f":{"apiKey":{"type":"http","scheme":"bearer","description":"A SuperX API key (\"sxk_...\"), created in the SuperX app under Account > API / MCP / CLI. Keys are server-side secrets.","scopes":[],"schemeName":"apiKey"}}},"servers":{"3d538a38-214d-4480-97a3-9a44d5c3102b":{"url":"https://api.superx.so"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"A SuperX API key (\"sxk_...\"), created in the SuperX app under Account > API / MCP / CLI. Keys are server-side secrets.","scopes":[],"schemeName":"apiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"A SuperX API key (\"sxk_...\"), created in the SuperX app under Account > API / MCP / CLI. Keys are server-side secrets.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"apiKey","name":"Authorization"}],"title":"apiKey"}]},"originalFileLocation":"api-reference/openapi.yaml"},"subdomain":"superx","siteName":"SuperX","title":"Add contact list members in bulk - SuperX","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-07T18:31:24.930Z","originalFileLocation":"api-reference/contact-lists/add-contact-list-members-in-bulk.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=\"Add up to 500 people to a list you created, by numeric X user id. This endpoint does NO live profile lookup, which is why it costs one write and no enrichment: it builds each member from the profile SuperX already stores. Ids SuperX has never seen come back in not_found and are NOT added, so no placeholder members are ever created. Add those one at a time with POST /v1/contact-lists/{id}/members and a handle, which does resolve live (and costs one enrichment unit). Re-adding an existing member is counted in duplicates, never an error. Duplicate ids inside one call are collapsed. System lists return 400 system_list_read_only. Works for your main account or any account linked to it (account_id); accounts shared with you are read-only. Needs the write scope.\">\u003cmeta data-mint-head name=\"application-name\" content=\"SuperX\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/superx/Ohz_C_TMxE84ikvK/_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/superx/Ohz_C_TMxE84ikvK/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/superx/Ohz_C_TMxE84ikvK/_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/superx/Ohz_C_TMxE84ikvK/_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/superx/Ohz_C_TMxE84ikvK/_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/superx/Ohz_C_TMxE84ikvK/_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/superx/Ohz_C_TMxE84ikvK/_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/superx/Ohz_C_TMxE84ikvK/_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/superx/Ohz_C_TMxE84ikvK/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Add contact list members in bulk - SuperX\">\u003cmeta data-mint-head property=\"og:description\" content=\"Add up to 500 people to a list you created, by numeric X user id. This endpoint does NO live profile lookup, which is why it costs one write and no enrichment: it builds each member from the profile SuperX already stores. Ids SuperX has never seen come back in not_found and are NOT added, so no placeholder members are ever created. Add those one at a time with POST /v1/contact-lists/{id}/members and a handle, which does resolve live (and costs one enrichment unit). Re-adding an existing member is counted in duplicates, never an error. Duplicate ids inside one call are collapsed. System lists return 400 system_list_read_only. Works for your main account or any account linked to it (account_id); accounts shared with you are read-only. Needs the write scope.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"SuperX\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.superx.so/api-reference/contact-lists/add-contact-list-members-in-bulk\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://superx.mintlify.app/_mintlify/api/og/v2?division=Contact+Lists\u0026amp;title=Add+contact+list+members+in+bulk\u0026amp;description=Add+up+to+500+people+to+a+list+you+created%2C+by+numeric+X+user+id.%0A%0AThis+endpoint+does+NO+live+profile+lookup%2C+which+is+why+it+costs+one%0Awrite+and+no+enrichment%3A\u0026amp;theme=4e9a0bdaa172d4dfc537fe9f\u0026amp;signature=64da69258e54d5de584d310249245ac38195f489ace6525ee644fe81b452f8af\">\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=\"Add contact list members in bulk - SuperX\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Add up to 500 people to a list you created, by numeric X user id. This endpoint does NO live profile lookup, which is why it costs one write and no enrichment: it builds each member from the profile SuperX already stores. Ids SuperX has never seen come back in not_found and are NOT added, so no placeholder members are ever created. Add those one at a time with POST /v1/contact-lists/{id}/members and a handle, which does resolve live (and costs one enrichment unit). Re-adding an existing member is counted in duplicates, never an error. Duplicate ids inside one call are collapsed. System lists return 400 system_list_read_only. Works for your main account or any account linked to it (account_id); accounts shared with you are read-only. Needs the write scope.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://superx.mintlify.app/_mintlify/api/og/v2?division=Contact+Lists\u0026amp;title=Add+contact+list+members+in+bulk\u0026amp;description=Add+up+to+500+people+to+a+list+you+created%2C+by+numeric+X+user+id.%0A%0AThis+endpoint+does+NO+live+profile+lookup%2C+which+is+why+it+costs+one%0Awrite+and+no+enrichment%3A\u0026amp;theme=4e9a0bdaa172d4dfc537fe9f\u0026amp;signature=64da69258e54d5de584d310249245ac38195f489ace6525ee644fe81b452f8af\">\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/superx/Ohz_C_TMxE84ikvK/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"SuperX\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#F4503B\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.superx.so/api-reference/contact-lists/add-contact-list-members-in-bulk\">\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/add-contact-list-members-in-bulk.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.superx.so/#organization\",\"name\":\"SuperX\",\"url\":\"https://docs.superx.so\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/superx/ZOrKRYsYXbBhitoI/logo/light.svg?fit=max\u0026auto=format\u0026n=ZOrKRYsYXbBhitoI\u0026q=85\u0026s=d465c38938c34f6ab75cfc50d0039be2\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.superx.so#website\",\"name\":\"SuperX\",\"url\":\"https://docs.superx.so\",\"publisher\":{\"@id\":\"https://docs.superx.so/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.superx.so/api-reference/contact-lists/add-contact-list-members-in-bulk#webpage\",\"url\":\"https://docs.superx.so/api-reference/contact-lists/add-contact-list-members-in-bulk\",\"name\":\"Add contact list members in bulk\",\"description\":\"Add up to 500 people to a list you created, by numeric X user id. This endpoint does NO live profile lookup, which is why it costs one write and no enrichment: it builds each member from the profile SuperX already stores. Ids SuperX has never seen come back in not_found and are NOT added, so no placeholder members are ever created. Add those one at a time with POST /v1/contact-lists/{id}/members and a handle, which does resolve live (and costs one enrichment unit). Re-adding an existing member is counted in duplicates, never an error. Duplicate ids inside one call are collapsed. System lists return 400 system_list_read_only. Works for your main account or any account linked to it (account_id); accounts shared with you are read-only. Needs the write scope.\",\"dateModified\":\"2026-10-07T18:31:24.930Z\",\"isPartOf\":{\"@id\":\"https://docs.superx.so#website\"},\"breadcrumb\":{\"@id\":\"https://docs.superx.so/api-reference/contact-lists/add-contact-list-members-in-bulk#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.superx.so/api-reference/contact-lists/add-contact-list-members-in-bulk#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Contact Lists\",\"item\":\"https://docs.superx.so/api-reference/contact-lists/list-contact-lists\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Add contact list members in bulk\",\"item\":\"https://docs.superx.so/api-reference/contact-lists/add-contact-list-members-in-bulk\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.superx.so/api-reference/contact-lists/add-contact-list-members-in-bulk#apireference\",\"headline\":\"Add contact list members in bulk\",\"name\":\"Add contact list members in bulk\",\"description\":\"Add up to 500 people to a list you created, by numeric X user id. This endpoint does NO live profile lookup, which is why it costs one write and no enrichment: it builds each member from the profile SuperX already stores. Ids SuperX has never seen come back in not_found and are NOT added, so no placeholder members are ever created. Add those one at a time with POST /v1/contact-lists/{id}/members and a handle, which does resolve live (and costs one enrichment unit). Re-adding an existing member is counted in duplicates, never an error. Duplicate ids inside one call are collapsed. System lists return 400 system_list_read_only. Works for your main account or any account linked to it (account_id); accounts shared with you are read-only. Needs the write scope.\",\"url\":\"https://docs.superx.so/api-reference/contact-lists/add-contact-list-members-in-bulk\",\"mainEntityOfPage\":{\"@id\":\"https://docs.superx.so/api-reference/contact-lists/add-contact-list-members-in-bulk#webpage\"},\"dateModified\":\"2026-10-07T18:31:24.930Z\",\"publisher\":{\"@id\":\"https://docs.superx.so/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.superx.so#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"SuperX\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"SuperX","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"Identity","pages":[{"title":"Get the key owner","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/me","href":"/api-reference/identity/get-the-key-owner"},{"title":"List your accounts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/accounts","href":"/api-reference/identity/list-your-accounts"}]},{"group":"Content","pages":[{"title":"List published posts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/posts","href":"/api-reference/content/list-published-posts"},{"title":"List replies you sent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/replies","href":"/api-reference/content/list-replies-you-sent"}]},{"group":"Analytics","pages":[{"title":"Get analytics","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/posts/analytics","href":"/api-reference/analytics/get-analytics"}]},{"group":"Scheduling","pages":[{"title":"Write post drafts in your voice","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/posts/draft","href":"/api-reference/scheduling/write-post-drafts-in-your-voice"},{"title":"Rewrite a post in your voice","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/posts/remix","href":"/api-reference/scheduling/rewrite-a-post-in-your-voice"},{"title":"List drafts and scheduled posts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/scheduled-posts","href":"/api-reference/scheduling/list-drafts-and-scheduled-posts"},{"title":"Create a draft or scheduled post, or publish now","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/scheduled-posts","href":"/api-reference/scheduling/create-a-draft-or-scheduled-post-or-publish-now"},{"title":"Retime queued posts in bulk","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/scheduled-posts/bulk/retime","href":"/api-reference/scheduling/retime-queued-posts-in-bulk"},{"title":"Enable auto retweet on queued posts in bulk","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/scheduled-posts/bulk/auto-retweet","href":"/api-reference/scheduling/enable-auto-retweet-on-queued-posts-in-bulk"},{"title":"Delete queued posts in bulk","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/scheduled-posts/bulk/delete","href":"/api-reference/scheduling/delete-queued-posts-in-bulk"},{"title":"Delete a draft or scheduled post","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/scheduled-posts/{id}","href":"/api-reference/scheduling/delete-a-draft-or-scheduled-post"},{"title":"Edit a draft or scheduled post","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/scheduled-posts/{id}","href":"/api-reference/scheduling/edit-a-draft-or-scheduled-post"},{"title":"List plug templates","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/plug-templates","href":"/api-reference/scheduling/list-plug-templates"}]},{"group":"Tools","pages":[{"title":"Edit one selected piece of a post","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/tools/inline-edit","href":"/api-reference/tools/edit-one-selected-piece-of-a-post"},{"title":"Rewrite a post one preset way","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/tools/rephrase","href":"/api-reference/tools/rewrite-a-post-one-preset-way"},{"title":"Check a statement against a web search","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/tools/factcheck","href":"/api-reference/tools/check-a-statement-against-a-web-search"},{"title":"Score a draft against this account's own posts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/posts/viral-score","href":"/api-reference/tools/score-a-draft-against-this-accounts-own-posts"},{"title":"Sort recent posts on a topic into Read, Pass or Not sure","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/posts/triage","href":"/api-reference/tools/sort-recent-posts-on-a-topic-into-read-pass-or-not-sure"}]},{"group":"Audience","pages":[{"title":"List replies you received","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/replies/received","href":"/api-reference/audience/list-replies-you-received"},{"title":"Read an audience list","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/audience/{kind}","href":"/api-reference/audience/read-an-audience-list"},{"title":"List engaged contacts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/contacts","href":"/api-reference/audience/list-engaged-contacts"},{"title":"Get one contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/contacts/{id}","href":"/api-reference/audience/get-one-contact"},{"title":"List one contact's replies to you","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/contacts/{id}/replies","href":"/api-reference/audience/list-one-contacts-replies-to-you"},{"title":"List notes on a contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/contacts/{id}/notes","href":"/api-reference/audience/list-notes-on-a-contact"},{"title":"Add a note to a contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/contacts/{id}/notes","href":"/api-reference/audience/add-a-note-to-a-contact"},{"title":"Delete a note on a contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/contacts/{id}/notes/{noteId}","href":"/api-reference/audience/delete-a-note-on-a-contact"},{"title":"Edit a note on a contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/contacts/{id}/notes/{noteId}","href":"/api-reference/audience/edit-a-note-on-a-contact"}]},{"group":"Inspiration","pages":[{"title":"Search the inspiration library","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/inspiration","href":"/api-reference/inspiration/search-the-inspiration-library"},{"title":"Search the inspiration media index","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/inspiration/media","href":"/api-reference/inspiration/search-the-inspiration-media-index"}]},{"group":"Contact Lists","pages":[{"title":"List contact lists","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/contact-lists","href":"/api-reference/contact-lists/list-contact-lists"},{"title":"Create a contact list","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/contact-lists","href":"/api-reference/contact-lists/create-a-contact-list"},{"title":"Delete a contact list","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/contact-lists/{id}","href":"/api-reference/contact-lists/delete-a-contact-list"},{"title":"Rename a contact list","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/contact-lists/{id}","href":"/api-reference/contact-lists/rename-a-contact-list"},{"title":"List contact list members","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/contact-lists/{id}/members","href":"/api-reference/contact-lists/list-contact-list-members"},{"title":"Add a contact list member","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/contact-lists/{id}/members","href":"/api-reference/contact-lists/add-a-contact-list-member"},{"title":"Remove a contact list member","description":"Remove a member from a list you created. Returns 204 with no body.\nRemoving an already-removed member returns 404 `member_not_found`.\nWorks for your main account or any account linked to it\n(`account_id`); accounts shared with you are read-only.\nNeeds the write scope.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/contact-lists/{id}/members/{memberId}","href":"/api-reference/contact-lists/remove-a-contact-list-member"},{"title":"Add contact list members in bulk","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/contact-lists/{id}/members/bulk","href":"/api-reference/contact-lists/add-contact-list-members-in-bulk"},{"title":"Remove contact list members in bulk","description":"Remove up to 500 members from a list you created, by member id (the\n`id` from `GET /v1/contact-lists/{id}/members`).\n\nPOST rather than DELETE because the ids travel in a body. The delete is\nscoped to this list, so ids that are not in it are skipped and\n`deleted` can be lower than the number you sent. There is deliberately\nno \"delete everything matching a filter\" mode. System lists return 400\n`system_list_read_only`.\n\nWorks for your main account or any account linked to it (`account_id`);\naccounts shared with you are read-only. Needs the write scope.\n","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/contact-lists/{id}/members/bulk-delete","href":"/api-reference/contact-lists/remove-contact-list-members-in-bulk"}]},{"group":"Signals","pages":[{"title":"List signal agents","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/signals/agents","href":"/api-reference/signals/list-signal-agents"},{"title":"Create a signal agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/signals/agents","href":"/api-reference/signals/create-a-signal-agent"},{"title":"Delete a signal agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/signals/agents/{id}","href":"/api-reference/signals/delete-a-signal-agent"},{"title":"Update a signal agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/signals/agents/{id}","href":"/api-reference/signals/update-a-signal-agent"},{"title":"Add a signal to an agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/signals/agents/{id}/signals","href":"/api-reference/signals/add-a-signal-to-an-agent"},{"title":"Remove a signal from an agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/signals/agents/{id}/signals/{signalId}","href":"/api-reference/signals/remove-a-signal-from-an-agent"},{"title":"Set feedback on a lead","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/signals/leads/{id}/feedback","href":"/api-reference/signals/set-feedback-on-a-lead"},{"title":"Search for leads on X now","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/signals/leads/search","href":"/api-reference/signals/search-for-leads-on-x-now"},{"title":"List signal leads","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/signals/leads","href":"/api-reference/signals/list-signal-leads"},{"title":"Suggest keyword watches","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/signals/keywords/suggest","href":"/api-reference/signals/suggest-keyword-watches"},{"title":"Expand an audience description into a rubric","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/signals/icp/expand","href":"/api-reference/signals/expand-an-audience-description-into-a-rubric"},{"title":"Build an audience profile from a website","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/signals/icp/expand-from-url","href":"/api-reference/signals/build-an-audience-profile-from-a-website"}]},{"group":"Engage","pages":[{"title":"List Engage feeds","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/engage/feeds","href":"/api-reference/engage/list-engage-feeds"},{"title":"Create an Engage feed","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/engage/feeds","href":"/api-reference/engage/create-an-engage-feed"},{"title":"Delete an Engage feed","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/engage/feeds/{id}","href":"/api-reference/engage/delete-an-engage-feed"},{"title":"Update an Engage feed","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/engage/feeds/{id}","href":"/api-reference/engage/update-an-engage-feed"},{"title":"Get posts from an Engage feed","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/engage/feeds/{id}/posts","href":"/api-reference/engage/get-posts-from-an-engage-feed"},{"title":"Get mentions of the account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/engage/mentions","href":"/api-reference/engage/get-mentions-of-the-account"},{"title":"Draft one reply to a post","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/engage/reply-draft","href":"/api-reference/engage/draft-one-reply-to-a-post"}]},{"group":"Media","pages":[{"title":"Presign an image upload","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/media","href":"/api-reference/media/presign-an-image-upload"}]},{"group":"Workers","pages":[{"title":"List Workers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/workers","href":"/api-reference/workers/list-workers"},{"title":"List Worker suggestions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/workers/suggestions","href":"/api-reference/workers/list-worker-suggestions"},{"title":"Save a suggestion as a draft","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workers/suggestions/{id}/draft","href":"/api-reference/workers/save-a-suggestion-as-a-draft"},{"title":"Schedule a suggestion","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workers/suggestions/{id}/schedule","href":"/api-reference/workers/schedule-a-suggestion"},{"title":"Dismiss a suggestion","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/workers/suggestions/{id}/dismiss","href":"/api-reference/workers/dismiss-a-suggestion"}]},{"group":"Context","pages":[{"title":"Get context settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/context","href":"/api-reference/context/get-context-settings"},{"title":"Update context settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/context","href":"/api-reference/context/update-context-settings"},{"title":"Replace the product list","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml put /v1/context/products","href":"/api-reference/context/replace-the-product-list"},{"title":"Remove one product","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/context/products/{id}","href":"/api-reference/context/remove-one-product"},{"title":"Add or edit one product","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/context/products/{id}","href":"/api-reference/context/add-or-edit-one-product"},{"title":"Rebuild the generated style guide","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/context/style-guide/regenerate","href":"/api-reference/context/rebuild-the-generated-style-guide"},{"title":"Refresh a product from its page","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/context/products/{id}/scrape","href":"/api-reference/context/refresh-a-product-from-its-page"}]},{"group":"DMs","pages":[{"title":"Queue a DM campaign","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/dm/campaigns","href":"/api-reference/dms/queue-a-dm-campaign"},{"title":"Read one DM campaign","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/dm/campaigns/{id}","href":"/api-reference/dms/read-one-dm-campaign"},{"title":"Cancel a campaign's unsent messages","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/dm/campaigns/{id}","href":"/api-reference/dms/cancel-a-campaigns-unsent-messages"},{"title":"List the DM queue","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/dm/queue","href":"/api-reference/dms/list-the-dm-queue"},{"title":"DM allowances and usage","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/dm/limits","href":"/api-reference/dms/dm-allowances-and-usage"}]},{"group":"Queue","pages":[{"title":"Get queue settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/queue-settings","href":"/api-reference/queue/get-queue-settings"},{"title":"Update queue settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/queue-settings","href":"/api-reference/queue/update-queue-settings"}]},{"group":"Tags","pages":[{"title":"List tags","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/tags","href":"/api-reference/tags/list-tags"},{"title":"Create a tag","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/tags","href":"/api-reference/tags/create-a-tag"},{"title":"Delete a tag","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/tags/{id}","href":"/api-reference/tags/delete-a-tag"},{"title":"Rename or recolor a tag","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/tags/{id}","href":"/api-reference/tags/rename-or-recolor-a-tag"}]},{"group":"Articles","pages":[{"title":"List articles","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/articles","href":"/api-reference/articles/list-articles"},{"title":"Create an article draft","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/articles","href":"/api-reference/articles/create-an-article-draft"},{"title":"Get an article","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/articles/{id}","href":"/api-reference/articles/get-an-article"},{"title":"Delete an article","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml delete /v1/articles/{id}","href":"/api-reference/articles/delete-an-article"},{"title":"Edit an article","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml patch /v1/articles/{id}","href":"/api-reference/articles/edit-an-article"},{"title":"Publish an article to X now","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/articles/{id}/publish","href":"/api-reference/articles/publish-an-article-to-x-now"},{"title":"Schedule or reschedule an article","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/articles/{id}/schedule","href":"/api-reference/articles/schedule-or-reschedule-an-article"},{"title":"Unschedule an article","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/articles/{id}/unschedule","href":"/api-reference/articles/unschedule-an-article"},{"title":"Generate an AI cover image","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/articles/{id}/cover","href":"/api-reference/articles/generate-an-ai-cover-image"},{"title":"List saved cover styles","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/cover-styles","href":"/api-reference/articles/list-saved-cover-styles"}]},{"group":"Datasets","pages":[{"title":"List datasets","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/datasets","href":"/api-reference/datasets/list-datasets"},{"title":"Collect an audience into a dataset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/datasets","href":"/api-reference/datasets/collect-an-audience-into-a-dataset"},{"title":"Get a dataset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/datasets/{id}","href":"/api-reference/datasets/get-a-dataset"},{"title":"Get dataset rows","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/datasets/{id}/rows","href":"/api-reference/datasets/get-dataset-rows"},{"title":"Export a dataset as CSV","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/datasets/{id}/export","href":"/api-reference/datasets/export-a-dataset-as-csv"},{"title":"Add a dataset's people to a contact list","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/datasets/{id}/contacts","href":"/api-reference/datasets/add-a-datasets-people-to-a-contact-list"},{"title":"Draft outreach messages onto a research dataset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/datasets/{id}/outreach-drafts","href":"/api-reference/datasets/draft-outreach-messages-onto-a-research-dataset"},{"title":"Refine a dataset by what each person wrote","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml post /v1/datasets/{id}/refine","href":"/api-reference/datasets/refine-a-dataset-by-what-each-person-wrote"}]},{"group":"X Lookups","pages":[{"title":"Look up one public post live","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/x/posts/{id}","href":"/api-reference/x-lookups/look-up-one-public-post-live"},{"title":"Top replies to a public post","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/x/posts/{id}/replies","href":"/api-reference/x-lookups/top-replies-to-a-public-post"},{"title":"Look up one public profile live","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/x/users/{handle}","href":"/api-reference/x-lookups/look-up-one-public-profile-live"},{"title":"Latest posts of a public account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/x/users/{handle}/posts","href":"/api-reference/x-lookups/latest-posts-of-a-public-account"}]},{"group":"Meta","pages":[{"title":"Machine-readable quickstart","deprecated":null,"version":null,"openapi":"/api-reference/openapi.yaml get /v1/docs","href":"/api-reference/meta/machine-readable-quickstart"}]}]}]},"basePath":"","title":"Add contact list members in bulk - SuperX","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DX1Meug0.js","utils-B_OMIQVC.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-ChxhRPMa.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CuKvD8Iv.js","snippetPresets-C5d7p2hp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CfHcE8m4.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C1zZV314.js","shallow-CmQhqCJn.js","getApiPlaygroundDisplay-YRo9s1O7.js","CodeSnippet-RN1MTdfk.js","CodeSnippets-DKLPHxJA.js","Page-BAvA99GL.js","getPastedJson-bz0M41mU.js","icon-CsmhpPrv.js","MethodPill-CNGsVE77.js","DuplicateIcon-DilfU_Z2.js","createIcon-BdsYzQck.js","DynamicMarkdown-CbqEDjbV.js","SectionHeading-O6hXpFCN.js","axios-vUo_bRtp.js","Markdown-nKm-uidQ.js","clsx-ClVdStUn.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CIQkMg3R.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-ImrFS4Fy.js"]}