{
"statusCode": 400,
"errorCode": "contact_duplicate_phone_number",
"message": "A contact with this phone number already exists",
"data": {
"existingContactId": "b2f7c4e1-8a3d-4c59-9e06-1d5a7f3b8c42"
}
}
{
"statusCode": 404,
"errorCode": "agent_not_found",
"message": "Agent not found"
}
{
"statusCode": 422,
"message": [
"name must be shorter than or equal to 100 characters"
],
"error": "Unprocessable Entity"
}
Contacts
Add a contact
Adds one contact to a customer list. If the list is part of a running campaign, the new contact is picked up for calling.
{
"statusCode": 400,
"errorCode": "contact_duplicate_phone_number",
"message": "A contact with this phone number already exists",
"data": {
"existingContactId": "b2f7c4e1-8a3d-4c59-9e06-1d5a7f3b8c42"
}
}
{
"statusCode": 404,
"errorCode": "agent_not_found",
"message": "Agent not found"
}
{
"statusCode": 422,
"message": [
"name must be shorter than or equal to 100 characters"
],
"error": "Unprocessable Entity"
}
Phone numbers are checked and stored in international format. See Phone numbers. To set custom field values, see Custom fields.If the customer list doesn’t allow duplicates, a phone number that’s already in it is rejected with contact_duplicate_phone_number, and data.existingContactId tells you which contact has it. Duplicates are allowed or not per list, in the Dashboard.The response includes customerListId, the same value as customerId.Common causes of a 422 validation error:
phoneNumber is missing or longer than 50 characters.
email isn’t a valid email address, or is longer than 50 characters.
firstName or lastName is longer than 100 characters.
An item in variantValues is missing variantId or value.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Olimi AI","colors":{"primary":"#111111","light":"#999999","dark":"#111111"},"logo":{"light":"https://mintcdn.com/olimi/Z3ML2rZXUsMQ8jzb/logo/light-olimi.svg?fit=max\u0026auto=format\u0026n=Z3ML2rZXUsMQ8jzb\u0026q=85\u0026s=27b6898bcac64fd881d2e404e5cfd8f9","dark":"https://mintcdn.com/olimi/Z3ML2rZXUsMQ8jzb/logo/dark-olimi.svg?fit=max\u0026auto=format\u0026n=Z3ML2rZXUsMQ8jzb\u0026q=85\u0026s=802d73eccb4d28418c54a17ac944c648"},"favicon":"https://mintcdn.com/olimi/Z3ML2rZXUsMQ8jzb/favicon.svg?fit=max\u0026auto=format\u0026n=Z3ML2rZXUsMQ8jzb\u0026q=85\u0026s=4939d39b8b7d446fe9f2fe07308ec8ca","api":{"openapi":["api-reference/openapi.json"]},"navbar":{"links":[],"primary":{"type":"button","label":"Dashboard","href":"https://app.olimi.ai"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"olimi","hasAudioNarration":false,"actualSubdomain":"olimi","customDomains":["docs.olimi.ai"],"gitSource":{"type":"github","owner":"olimi-ltd","repo":"olimidocs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6abba64a122d8473aa35651c","collectionId":"9e8177be-72ef-4d00-b0cf-0b18570ad2b3","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6abba64a122d8473aa35651c"},"entitlements":{},"buildId":"6abba64a122d8473aa35651c","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"Agents \u0026 Campaigns","count":22},{"language":"default","tag":"Speech","count":21},{"language":"default","tag":"Speech to Video","count":8},{"language":"default","tag":"Text to Speech","count":7},{"language":"default","tag":"Campaigns","count":6},{"language":"default","tag":"Speech to Text","count":6},{"language":"default","tag":"Contacts","count":5},{"language":"default","tag":"Agents","count":4},{"language":"default","tag":"Customer Lists","count":4},{"language":"default","tag":"Getting Started","count":3}]},"assistantConfig":{},"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":"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":"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":"byok-sep-25","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":"billing-updated-9-15","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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/endpoint/contacts/create-contact","slug":"/api-reference/endpoint/contacts/create-contact","pageMetadata":{"title":"Add a contact","openapi":"post /api/v2/contacts","description":"Adds one contact to a customer list. If the list is part of a running campaign, the new contact is picked up for calling.","href":"/api-reference/endpoint/contacts/create-contact"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Adds one contact to a customer list. If the list is part of a running campaign, the new contact is picked up for calling.\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,ul:`ul`,..._provideComponents(),...props.components};return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Phone numbers are checked and stored in international format. See `,_jsx(_components.a,{href:`/api-reference/endpoint/contacts/contacts#phone-numbers`,children:`Phone numbers`}),`. To set custom field values, see `,_jsx(_components.a,{href:`/api-reference/endpoint/contacts/contacts#custom-fields`,children:`Custom fields`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`If the customer list doesn’t allow duplicates, a phone number that’s already in it is rejected with `,_jsx(_components.code,{children:`contact_duplicate_phone_number`}),`, and `,_jsx(_components.code,{children:`data.existingContactId`}),` tells you which contact has it. Duplicates are allowed or not per list, in the Dashboard.`]}),`\n`,_jsxs(_components.p,{children:[`The response includes `,_jsx(_components.code,{children:`customerListId`}),`, the same value as `,_jsx(_components.code,{children:`customerId`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Common causes of a `,_jsx(_components.code,{children:`422`}),` validation error:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`phoneNumber`}),` is missing or longer than 50 characters.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`email`}),` isn’t a valid email address, or is longer than 50 characters.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`firstName`}),` or `,_jsx(_components.code,{children:`lastName`}),` is longer than 100 characters.`]}),`\n`,_jsxs(_components.li,{children:[`An item in `,_jsx(_components.code,{children:`variantValues`}),` is missing `,_jsx(_components.code,{children:`variantId`}),` or `,_jsx(_components.code,{children:`value`}),`.`]}),`\n`]})]})}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 a contact","openapi":"post /api/v2/contacts","description":"Adds one contact to a customer list. If the list is part of a running campaign, the new contact is picked up for calling.","href":"/api-reference/endpoint/contacts/create-contact"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Add a contact","description":"Adds one contact to a customer list. If the list is part of a running campaign, the new contact is picked up for calling.","tags":["Contacts"],"security":["3d0995e7-d5bf-4c9a-a935-60d4c17a2570"],"requestBody":"b6710e59-2326-4688-9f8e-05a3d047b1e1","responses":{"201":"44a29220-4f2e-4950-a33c-0a235f11676e","400":"071c11ab-55aa-4816-a481-34aa17bdb1a7","401":"dee8d398-0370-4590-ae8a-5389d6f31cf6","422":"77aa9f5c-8f1e-4065-9576-e3088bc6dac4"},"method":"post","type":"path","servers":["3cabd987-821f-4e55-8cec-f6a014192c9f"],"path":"/api/v2/contacts","baseUrlOptions":["https://api-eg.olimi.ai"],"title":"Add a contact","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["customerListId","phoneNumber"],"properties":{"customerListId":{"type":"string","format":"uuid","description":"The customer list to add the contact to.","example":"9c4e1b7a-2d5f-4a83-b6e0-3f7d9a1c5e24","isRequired":true,"uniqueKey":"customerListId","typeLabel":"string\u003cuuid>"},"phoneNumber":{"type":"string","minLength":1,"maxLength":50,"description":"See [Phone numbers](/api-reference/endpoint/contacts/contacts#phone-numbers).","example":"+201001234567","isRequired":true,"uniqueKey":"phoneNumber","typeLabel":"string"},"firstName":{"type":"string","maxLength":100,"example":"Ahmed","uniqueKey":"firstName","typeLabel":"string"},"lastName":{"type":"string","maxLength":100,"example":"Hassan","uniqueKey":"lastName","typeLabel":"string"},"email":{"type":"string","format":"email","maxLength":50,"example":"[email protected]","uniqueKey":"email","typeLabel":"string\u003cemail>"},"gender":{"type":"string","maxLength":50,"description":"Free text.","example":"male","uniqueKey":"gender","typeLabel":"string"},"variantValues":{"type":"array","items":{"type":"object","required":["variantId","value"],"properties":{"variantId":{"type":"string","format":"uuid","description":"The variant's `id`, from `GET /api/v2/customer-lists/{id}`.","example":"7e3c9b15-6a2d-4f8e-b1c4-5d9a3e7f2b60","isRequired":true,"uniqueKey":"variantValues.items.[INDEX].variantId","typeLabel":"string\u003cuuid>"},"value":{"type":"string","minLength":1,"description":"The contact's value for that column.","example":"ORD-10492","isRequired":true,"uniqueKey":"variantValues.items.[INDEX].value","typeLabel":"string"}},"uniqueKey":"variantValues.items.[INDEX]","typeLabel":"object"},"description":"Custom field values. See [Custom fields](/api-reference/endpoint/contacts/contacts#custom-fields).","uniqueKey":"variantValues","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"customerListId":"9c4e1b7a-2d5f-4a83-b6e0-3f7d9a1c5e24","phoneNumber":"+201001234567","firstName":"Ahmed","lastName":"Hassan","email":"[email protected]","gender":"male","variantValues":[{"variantId":"7e3c9b15-6a2d-4f8e-b1c4-5d9a3e7f2b60","value":"ORD-10492"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"44a29220-4f2e-4950-a33c-0a235f11676e":{"description":"The new contact.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"Contact created successfully","uniqueKey":"message","typeLabel":"string"},"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The contact's ID. Use it to edit or delete the contact.","example":"b2f7c4e1-8a3d-4c59-9e06-1d5a7f3b8c42","uniqueKey":"data.id","typeLabel":"string\u003cuuid>"},"customerId":{"type":"string","format":"uuid","description":"The ID of the customer list the contact is in.","example":"9c4e1b7a-2d5f-4a83-b6e0-3f7d9a1c5e24","uniqueKey":"data.customerId","typeLabel":"string\u003cuuid>"},"firstName":{"oneOf":[{"type":"string","description":"First name.","example":"Ahmed","uniqueKey":"data.firstName.oneOf.0","typeLabel":"string"},{"type":"null","description":"First name.","example":"Ahmed","uniqueKey":"data.firstName.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.firstName","typeLabel":"string | null"},"lastName":{"oneOf":[{"type":"string","description":"Last name.","example":"Hassan","uniqueKey":"data.lastName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Last name.","example":"Hassan","uniqueKey":"data.lastName.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.lastName","typeLabel":"string | null"},"phoneNumber":{"type":"string","description":"Phone number in E.164 format.","example":"+201001234567","uniqueKey":"data.phoneNumber","typeLabel":"string"},"email":{"oneOf":[{"type":"string","description":"Email address.","example":"[email protected]","uniqueKey":"data.email.oneOf.0","typeLabel":"string"},{"type":"null","description":"Email address.","example":"[email protected]","uniqueKey":"data.email.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.email","typeLabel":"string | null"},"gender":{"oneOf":[{"type":"string","description":"Free text, as you sent it.","example":"male","uniqueKey":"data.gender.oneOf.0","typeLabel":"string"},{"type":"null","description":"Free text, as you sent it.","example":"male","uniqueKey":"data.gender.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.gender","typeLabel":"string | null"},"retries":{"type":"integer","description":"How many times a campaign has scheduled a retry for this contact.","example":0,"uniqueKey":"data.retries","typeLabel":"integer"},"lastCallStatus":{"type":"string","enum":["not_called","pending","in_progress","answered","not_answered","failed"],"description":"Outcome of the latest call. See [Call status values](/api-reference/endpoint/contacts/contacts#call-status-values).","example":"not_called","uniqueKey":"data.lastCallStatus","typeLabel":"enum\u003cstring>"},"callbackScheduled":{"type":"boolean","description":"Whether the contact asked to be called back.","example":false,"uniqueKey":"data.callbackScheduled","typeLabel":"boolean"},"callbackAt":{"oneOf":[{"type":"string","format":"date-time","description":"When the callback is due (UTC).","example":null,"uniqueKey":"data.callbackAt.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the callback is due (UTC).","example":null,"uniqueKey":"data.callbackAt.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.callbackAt","typeLabel":"string\u003cdate-time> | null"},"variantValues":{"type":"array","description":"The contact's custom field values.","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The value's own ID.","example":"4d8e2a6f-1c7b-4e93-a5d0-8f2b6c1e9a37","uniqueKey":"data.variantValues.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"value":{"type":"string","description":"The contact's value for that column.","example":"ORD-10492","uniqueKey":"data.variantValues.items.[INDEX].value","typeLabel":"string"},"variant":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The variant's ID.","example":"7e3c9b15-6a2d-4f8e-b1c4-5d9a3e7f2b60","uniqueKey":"data.variantValues.items.[INDEX].variant.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","description":"The column's display name.","example":"Order number","uniqueKey":"data.variantValues.items.[INDEX].variant.name","typeLabel":"string"},"slug":{"type":"string","description":"The name used in the agent's script.","example":"order_number","uniqueKey":"data.variantValues.items.[INDEX].variant.slug","typeLabel":"string"}},"uniqueKey":"data.variantValues.items.[INDEX].variant","typeLabel":"object"}},"uniqueKey":"data.variantValues.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.variantValues","typeLabel":"object[]"},"createdAt":{"type":"string","format":"date-time","description":"When the contact was added (UTC).","example":"2026-09-20T08:14:22.531Z","uniqueKey":"data.createdAt","typeLabel":"string\u003cdate-time>"},"updatedAt":{"type":"string","format":"date-time","description":"When the contact was last changed (UTC).","example":"2026-09-27T11:40:09.118Z","uniqueKey":"data.updatedAt","typeLabel":"string\u003cdate-time>"},"customerListId":{"type":"string","format":"uuid","description":"Same value as `customerId`.","example":"9c4e1b7a-2d5f-4a83-b6e0-3f7d9a1c5e24","uniqueKey":"data.customerListId","typeLabel":"string\u003cuuid>"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"Contact created successfully","data":{"id":"b2f7c4e1-8a3d-4c59-9e06-1d5a7f3b8c42","customerId":"9c4e1b7a-2d5f-4a83-b6e0-3f7d9a1c5e24","firstName":"Ahmed","lastName":"Hassan","phoneNumber":"+201001234567","email":"[email protected]","gender":"male","retries":0,"lastCallStatus":"not_called","callbackScheduled":false,"callbackAt":null,"variantValues":[{"id":"4d8e2a6f-1c7b-4e93-a5d0-8f2b6c1e9a37","value":"ORD-10492","variant":{"id":"7e3c9b15-6a2d-4f8e-b1c4-5d9a3e7f2b60","name":"Order number","slug":"order_number"}}],"createdAt":"2026-09-20T08:14:22.531Z","updatedAt":"2026-09-27T11:40:09.118Z","customerListId":"9c4e1b7a-2d5f-4a83-b6e0-3f7d9a1c5e24"}}}},"exampleType":"generated"}},"exampleType":"generated"},"071c11ab-55aa-4816-a481-34aa17bdb1a7":{"description":"See [Errors](/api-reference/endpoint/contacts/contacts#errors). A duplicate number returns `data.existingContactId`.","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":400,"uniqueKey":"statusCode","typeLabel":"integer"},"errorCode":{"type":"string","example":"contact_duplicate_phone_number","uniqueKey":"errorCode","typeLabel":"string"},"message":{"type":"string","example":"A contact with this phone number already exists","uniqueKey":"message","typeLabel":"string"},"data":{"type":"object","description":"Only for `contact_duplicate_phone_number`.","properties":{"existingContactId":{"type":"string","format":"uuid","description":"The contact that already has this number.","example":"b2f7c4e1-8a3d-4c59-9e06-1d5a7f3b8c42","uniqueKey":"data.existingContactId","typeLabel":"string\u003cuuid>"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"statusCode":400,"errorCode":"contact_duplicate_phone_number","message":"A contact with this phone number already exists","data":{"existingContactId":"b2f7c4e1-8a3d-4c59-9e06-1d5a7f3b8c42"}}}},"exampleType":"generated"}},"exampleType":"generated"},"dee8d398-0370-4590-ae8a-5389d6f31cf6":{"description":"The `X-API-KEY` header is missing or the key isn't valid.","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":404,"uniqueKey":"statusCode","typeLabel":"integer"},"errorCode":{"type":"string","description":"Machine-readable error code.","example":"agent_not_found","uniqueKey":"errorCode","typeLabel":"string"},"message":{"type":"string","description":"Human-readable text. May change; don't match on it.","example":"Agent not found","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"statusCode":404,"errorCode":"agent_not_found","message":"Agent not found"}}},"exampleType":"generated"}},"exampleType":"generated"},"77aa9f5c-8f1e-4065-9576-e3088bc6dac4":{"description":"The request didn't pass validation.","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","example":422,"uniqueKey":"statusCode","typeLabel":"integer"},"message":{"type":"array","items":{"type":"string","uniqueKey":"message.items.[INDEX]","typeLabel":"string"},"description":"What went wrong. Human-readable.","example":["name must be shorter than or equal to 100 characters"],"uniqueKey":"message","typeLabel":"string[]"},"error":{"type":"string","example":"Unprocessable Entity","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"statusCode":422,"message":["name must be shorter than or equal to 100 characters"],"error":"Unprocessable Entity"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"3d0995e7-d5bf-4c9a-a935-60d4c17a2570":{"apiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-KEY","scopes":[]}}},"servers":{"3cabd987-821f-4e55-8cec-f6a014192c9f":{"url":"https://api-eg.olimi.ai"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-API-KEY","scopes":[]},"schema":{"title":"X-API-KEY","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKeyAuth","name":"X-API-KEY"}],"title":"apiKeyAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"olimi","siteName":"Olimi AI","title":"Add a contact - Olimi AI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-29T11:51:53.875Z","originalFileLocation":"api-reference/endpoint/contacts/create-contact.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=\"Adds one contact to a customer list. If the list is part of a running campaign, the new contact is picked up for calling.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Olimi AI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/olimi/sSM7fJ5EVcZkWuGs/_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/olimi/sSM7fJ5EVcZkWuGs/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/olimi/sSM7fJ5EVcZkWuGs/_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/olimi/sSM7fJ5EVcZkWuGs/_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/olimi/sSM7fJ5EVcZkWuGs/_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/olimi/sSM7fJ5EVcZkWuGs/_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/olimi/sSM7fJ5EVcZkWuGs/_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/olimi/sSM7fJ5EVcZkWuGs/_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/olimi/sSM7fJ5EVcZkWuGs/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Add a contact - Olimi AI\">\u003cmeta data-mint-head property=\"og:description\" content=\"Adds one contact to a customer list. If the list is part of a running campaign, the new contact is picked up for calling.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Olimi AI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.olimi.ai/api-reference/endpoint/contacts/create-contact\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://olimi.mintlify.app/_mintlify/api/og/v2?division=Contacts\u0026amp;title=Add+a+contact\u0026amp;description=Adds+one+contact+to+a+customer+list.+If+the+list+is+part+of+a+running+campaign%2C+the+new+contact+is+picked+up+for+calling.\u0026amp;theme=c984395f43d8d9539f01ceef\u0026amp;signature=c9f03baf589903263548d7c0abd5dc0a12c0e8d15cbb46ba9312467b161eaa1a\">\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 a contact - Olimi AI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Adds one contact to a customer list. If the list is part of a running campaign, the new contact is picked up for calling.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://olimi.mintlify.app/_mintlify/api/og/v2?division=Contacts\u0026amp;title=Add+a+contact\u0026amp;description=Adds+one+contact+to+a+customer+list.+If+the+list+is+part+of+a+running+campaign%2C+the+new+contact+is+picked+up+for+calling.\u0026amp;theme=c984395f43d8d9539f01ceef\u0026amp;signature=c9f03baf589903263548d7c0abd5dc0a12c0e8d15cbb46ba9312467b161eaa1a\">\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/olimi/sSM7fJ5EVcZkWuGs/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Olimi AI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#111111\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.olimi.ai/api-reference/endpoint/contacts/create-contact\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/endpoint/contacts/create-contact.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.olimi.ai/#organization\",\"name\":\"Olimi AI\",\"url\":\"https://docs.olimi.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/olimi/Z3ML2rZXUsMQ8jzb/logo/light-olimi.svg?fit=max\u0026auto=format\u0026n=Z3ML2rZXUsMQ8jzb\u0026q=85\u0026s=27b6898bcac64fd881d2e404e5cfd8f9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.olimi.ai#website\",\"name\":\"Olimi AI\",\"url\":\"https://docs.olimi.ai\",\"publisher\":{\"@id\":\"https://docs.olimi.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.olimi.ai/api-reference/endpoint/contacts/create-contact#webpage\",\"url\":\"https://docs.olimi.ai/api-reference/endpoint/contacts/create-contact\",\"name\":\"Add a contact\",\"description\":\"Adds one contact to a customer list. If the list is part of a running campaign, the new contact is picked up for calling.\",\"dateModified\":\"2026-09-29T11:51:53.875Z\",\"isPartOf\":{\"@id\":\"https://docs.olimi.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.olimi.ai/api-reference/endpoint/contacts/create-contact#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.olimi.ai/api-reference/endpoint/contacts/create-contact#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Agents \u0026 Campaigns\",\"item\":\"https://docs.olimi.ai/api-reference/endpoint/agent/agents\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Contacts\",\"item\":\"https://docs.olimi.ai/api-reference/endpoint/contacts/contacts\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Add a contact\",\"item\":\"https://docs.olimi.ai/api-reference/endpoint/contacts/create-contact\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.olimi.ai/api-reference/endpoint/contacts/create-contact#apireference\",\"headline\":\"Add a contact\",\"name\":\"Add a contact\",\"description\":\"Adds one contact to a customer list. If the list is part of a running campaign, the new contact is picked up for calling.\",\"url\":\"https://docs.olimi.ai/api-reference/endpoint/contacts/create-contact\",\"mainEntityOfPage\":{\"@id\":\"https://docs.olimi.ai/api-reference/endpoint/contacts/create-contact#webpage\"},\"dateModified\":\"2026-09-29T11:51:53.875Z\",\"publisher\":{\"@id\":\"https://docs.olimi.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.olimi.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Olimi AI\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Olimi AI","nav":{"global":null,"groups":[{"group":"Getting Started","pages":[{"title":"Introduction","href":"/introduction"},{"title":"Account Setup","href":"/account-setup"},{"title":"PBX Installation","href":"/installation"}]},{"group":"API Overview","pages":[{"title":"Webhook Overview","icon":"webhook","href":"/webhook/webhook"},{"title":"API Authentication","icon":"gear-code","href":"/api-auth"}]},{"group":"Agents \u0026 Campaigns","pages":[{"group":"Agents","icon":"robot","pages":[{"title":"Agents","sidebarTitle":"Overview","href":"/api-reference/endpoint/agent/agents"},{"title":"List agents","openapi":"get /api/v2/agents","href":"/api-reference/endpoint/agent/list-agents"},{"title":"Get an agent","openapi":"get /api/v2/agents/{id}","href":"/api-reference/endpoint/agent/get-agent"},{"title":"Update an agent","openapi":"patch /api/v2/agents/{id}","href":"/api-reference/endpoint/agent/update-agent"}]},{"group":"Customer Lists","icon":"list","pages":[{"title":"Customer Lists","sidebarTitle":"Overview","href":"/api-reference/endpoint/customer-list/customer-lists"},{"title":"List customer lists","openapi":"get /api/v2/customer-lists","href":"/api-reference/endpoint/customer-list/list-customer-lists"},{"title":"Get a customer list","openapi":"get /api/v2/customer-lists/{id}","href":"/api-reference/endpoint/customer-list/get-customer-list"},{"title":"Create a customer list","openapi":"post /api/v2/customer-lists","href":"/api-reference/endpoint/customer-list/create-customer-list"}]},{"group":"Contacts","icon":"address-book","pages":[{"title":"Contacts","sidebarTitle":"Overview","href":"/api-reference/endpoint/contacts/contacts"},{"title":"List contacts","openapi":"get /api/v2/contacts/{customerListId}","description":"Returns the contacts in one customer list, newest first, one page at a time.","href":"/api-reference/endpoint/contacts/list-contacts"},{"title":"Add a contact","openapi":"post /api/v2/contacts","href":"/api-reference/endpoint/contacts/create-contact"},{"title":"Edit a contact","openapi":"patch /api/v2/contacts/{id}","description":"Changes a contact. Send only the fields you want to change.","href":"/api-reference/endpoint/contacts/update-contact"},{"title":"Delete a contact","openapi":"delete /api/v2/contacts/{id}","href":"/api-reference/endpoint/contacts/delete-contact"}]},{"group":"Campaigns","icon":"bullhorn","pages":[{"title":"Campaigns","sidebarTitle":"Overview","href":"/api-reference/endpoint/campaigns/campaigns"},{"title":"List campaigns","openapi":"get /api/v2/campaigns","href":"/api-reference/endpoint/campaigns/list-campaigns"},{"title":"Get a campaign","openapi":"get /api/v2/campaigns/{id}","href":"/api-reference/endpoint/campaigns/get-campaign"},{"title":"Create a campaign","openapi":"post /api/v2/campaigns","href":"/api-reference/endpoint/campaigns/create-campaign"},{"title":"Update a campaign","openapi":"patch /api/v2/campaigns/{id}","href":"/api-reference/endpoint/campaigns/update-campaign"},{"title":"Delete a campaign","openapi":"delete /api/v2/campaigns/{id}","href":"/api-reference/endpoint/campaigns/delete-campaign"}]},{"group":"Calls","icon":"phone","pages":[{"title":"Calls","sidebarTitle":"Overview","href":"/api-reference/endpoint/calls/calls"},{"title":"List calls","openapi":"get /api/v2/calls","href":"/api-reference/endpoint/calls/list-calls"},{"title":"Get a call","openapi":"get /api/v2/calls/{id}","href":"/api-reference/endpoint/calls/get-call"}]}]},{"group":"Speech","pages":[{"group":"Text to Speech","icon":"volume-high","pages":[{"title":"Text to Speech","sidebarTitle":"Overview","href":"/api-reference/endpoint/speech/text-to-speech"},{"title":"List languages","openapi":"get /api/v2/languages/public","href":"/api-reference/endpoint/speech/list-tts-languages"},{"title":"List voices","openapi":"get /api/v2/tts/voices","href":"/api-reference/endpoint/speech/list-tts-voices"},{"title":"Create audio","openapi":"post /api/v2/tts","href":"/api-reference/endpoint/speech/create-tts"},{"title":"List audio","openapi":"get /api/v2/tts","href":"/api-reference/endpoint/speech/list-tts"},{"title":"Get audio","openapi":"get /api/v2/tts/{id}","href":"/api-reference/endpoint/speech/get-tts"},{"title":"Delete audio","openapi":"delete /api/v2/tts/{id}","href":"/api-reference/endpoint/speech/delete-tts"}]},{"group":"Speech to Text","icon":"closed-captioning","pages":[{"title":"Speech to Text","sidebarTitle":"Overview","href":"/api-reference/endpoint/speech/speech-to-text"},{"title":"Upload audio","openapi":"post /api/v2/stt/upload","href":"/api-reference/endpoint/speech/upload-stt"},{"title":"List transcripts","openapi":"get /api/v2/stt","href":"/api-reference/endpoint/speech/list-stt"},{"title":"Get a transcript","openapi":"get /api/v2/stt/{id}","href":"/api-reference/endpoint/speech/get-stt"},{"title":"Regenerate a transcript","openapi":"post /api/v2/stt/{id}/regenerate","href":"/api-reference/endpoint/speech/regenerate-stt"},{"title":"Delete a transcript","openapi":"delete /api/v2/stt/{id}","href":"/api-reference/endpoint/speech/delete-stt"}]},{"group":"Speech to Video","icon":"video","pages":[{"title":"Speech to Video","sidebarTitle":"Overview","href":"/api-reference/endpoint/speech/speech-to-video"},{"title":"List avatars","openapi":"get /api/v2/stv/avatars","href":"/api-reference/endpoint/speech/list-stv-avatars"},{"title":"Create a video","openapi":"post /api/v2/stv","href":"/api-reference/endpoint/speech/create-stv"},{"title":"Get video progress","openapi":"get /api/v2/stv/progress/{id}","href":"/api-reference/endpoint/speech/get-stv-progress"},{"title":"List videos","openapi":"get /api/v2/stv","href":"/api-reference/endpoint/speech/list-stv"},{"title":"Get a video","openapi":"get /api/v2/stv/{id}","href":"/api-reference/endpoint/speech/get-stv"},{"title":"Download a video","openapi":"get /api/v2/stv/{id}/download","href":"/api-reference/endpoint/speech/download-stv"},{"title":"Delete a video","openapi":"delete /api/v2/stv/{id}","href":"/api-reference/endpoint/speech/delete-stv"}]}]}]},"title":"Add a contact - Olimi AI","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-26-lDe7V.js","utils-CWQmgYtH.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-4-Aw3rSD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C2zjXYA5.js","snippetPresets-DFmpFA7C.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-FJpQavWq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D_GvPF7k.js","shallow-Bs2ZB0NO.js","getApiPlaygroundDisplay-DCcqJJk-.js","CodeSnippet-DzDxawVe.js","CodeSnippets-aUr7fU-7.js","Page-CT9uE8Ip.js","getPastedJson-Y1fKsj_I.js","icon-DI4zTsDr.js","MethodPill-C0nDlmSQ.js","DuplicateIcon-NUXbx2nQ.js","createIcon-BdTHrPAi.js","DynamicMarkdown-CtpgKJwj.js","SectionHeading-B3x35tOt.js","axios-vUo_bRtp.js","Markdown-3OmurJMP.js","clsx-DMKzROTp.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-1ms6tsT-.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Ke9xIMFx.js"]}