{"info":{"_postman_id":"abf19267-337e-434b-a9e8-f43389d426df","name":"Squadstack API Documentation","description":"<html><head></head><body><h5 id=\"welcome-to-squadstacks-integration-documentation\">Welcome to Squadstack's integration documentation!</h5>\n<p><a href=\"https://www.squadstack.com/\">SquadStack</a> provides businesses with an omni-channel outreach engine + distributed team of expert calling reps. Our platform qualifies your Leads faster and provides more sales opportunities.</p>\n<p>We are tech-first company and strongly believe in end to end integrations to allow for seamless data flow between our systems</p>\n<p>Throughout this documentation, we will look at the various aspects about integrating your system with Squadstack.</p>\n<p>To start with, here's what a fully integrated setup looks like:</p>\n<img src=\"https://content.pstmn.io/be4f8a57-d055-47f2-badb-cf0d7db59ef3/U3F1YWRTdGFjayBJbnRlZ3JhdGlvbnMgKDQpLnBuZw==\">\n\n<p>Depending upon your customer/lead management system, we have multiple ways in which we can integrate with you.</p>\n<p>Here's some common integration approaches along with their pros and cons:</p>\n<img src=\"https://content.pstmn.io/2573354e-f280-4c7c-8cd2-5edf02686281/U3F1YWRTdGFjayBJbnRlZ3JhdGlvbnMgKDUpLnBuZw==\"></body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"32244764","collectionId":"abf19267-337e-434b-a9e8-f43389d426df","publishedId":"2s9YsRcp3h","public":true,"customColor":{"top-bar":"162447","right-sidebar":"162447","highlight":"39CEA0"},"publishDate":"2024-05-31T13:17:23.000Z"},"item":[{"name":"Entity definitions","item":[],"id":"3e6ecb1a-ddb4-48c5-a033-d09fd312c75f","description":"<p>Throughout the documentation certain words will be used to describe relevant parties involved. The definitions are given down below.</p>\n<h3 id=\"customerclientyou\">Customer/Client/You</h3>\n<p>Refers to the individual/organisation who’ll be using SquadStack’s services to reach out to their customers/potential customers.</p>\n<h3 id=\"lead\">Lead</h3>\n<p>Lead refers to the person(your potential customer) that SquadStack performs the outreach to. All the necessary details of the lead are passed on to SquadStack which will be used in the process of the reach out.</p>\n<h3 id=\"campaign\">Campaign</h3>\n<p>Campaign refers to the flow that you have pre-configured on SquadStack’s backend as per your business needs. Any campaign would define a sequence of events and every lead associated to that campaign would follow these sequence of events. Reach out to <code>voicesales@squadstack.com</code> to create your campaign.</p>\n","_postman_id":"3e6ecb1a-ddb4-48c5-a033-d09fd312c75f"},{"name":"Squadstack API reference","item":[{"name":"Create a Lead","id":"db7f36c7-2f52-4883-b3a0-eb0d68e76158","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"lead_id\": \"sample lead id\",\n    \"phone_number\": \"9999999999\",\n    \"contact_name\": \"John Doe\",\n    \"custom_field1\": \"custom value1\",\n    \"custom_field2\": \"custom value2\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-created","description":"<blockquote>\n<p>Please reach out to your Squadstack POC to get the reference ID for your campaign specific endpoint </p>\n</blockquote>\n<p>This endpoint is used to create a new lead in Squadstack.<br />The request should include a payload with mandatory parameters such as <code>lead_id</code>, <code>phone_number</code>, <code>contact_name.</code></p>\n<p>The lead ID should be unique for each lead as it will be used as an identifying factor for that lead throughout the campaign</p>\n<p>Along with the mandatory parameters you can pass additional metadata about the lead that may be relevant to the specific campaign that you are creating the lead im Squadstack</p>\n<h3 id=\"request-body\">Request Body</h3>\n<ul>\n<li><code>lead_id</code> (string, mandatory): The ID of the lead.</li>\n<li><code>phone_number</code> (string, mandatory): The phone number associated with the lead.</li>\n<li><code>contact_name</code> (string, mandatory): The name of the contact for the lead.</li>\n<li><code>custom_field1</code> (string): A custom field for additional information. You can rename this as per the context of the key that you are sending</li>\n<li><code>custom_field2</code> (string): Another custom field for additional information.You can rename this as per the context of the key that you are sendin</li>\n</ul>\n<blockquote>\n<p><em>Additional custom fields can be added as per campaign requirement</em> </p>\n</blockquote>\n<h3 id=\"response\">Response</h3>\n<p>Upon successful execution, the API returns a status code of 200 and a JSON response containing the details of the lead created, including the <code>phone_number</code>, <code>contact_name</code>, <code>lead_id</code>, and other custom keys passed in the request</p>\n<h4 id=\"example-response\">Example Response</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"phone_number\": \"9999999999\",\n    \"contact_name\": \"John Doe\",\n    \"custom_field2\": \"custom_value2\",\n    \"lead_id\": \"sample_lead_id\",\n    \"custom_field1\": \"custom_value1\"\n}\n\n</code></pre>\n<h3 id=\"status-codes\">Status codes</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status Code</th>\n<th>Type</th>\n<th><strong>Response Message</strong></th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>200</td>\n<td>Success</td>\n<td>{lead_details} as passed in the request</td>\n<td>Lead created successfully</td>\n</tr>\n<tr>\n<td>409</td>\n<td>Conflict</td>\n<td>{\"error_msg\":\"{\\\"error_type\\\":1,\\\"detail\\\":\\\"Internal ID already exists\\\"}\"}{\"error_msg\":\"Lead with the same unique_field_name is already present\"}</td>\n<td>The creation request failed because a lead with the same leadID already exists in your campaign. If you are using a custom key as a unique identifer, then the value of that custom key is already present in your campaign</td>\n</tr>\n<tr>\n<td>400</td>\n<td>Bad Request</td>\n<td>{\"error_msg\":\"Unjudged leads cannot be re-activated\"}{\"error_msg\":\"{\"field_name\":[\"This field may not be blank./ Invalid value provided.\"]}\"}</td>\n<td>The payload you are sending is invalid. Please the values against our mandatory keys like contact_name, lead_id, phone_number and any other keys that may be marked mandatory in your campaign configuration  <br />  <br />This endpoint can also be used to reactivate judged leads. You may be trying to reactivate a lead that is still active in your campaign</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["voice","crm-integration-v2","ref_id","lead-created"],"host":["api","squadstack","com"],"query":[],"variable":[]}},"response":[{"id":"8f2de99c-dd65-488f-b61e-a609cb26cd1e","name":"Sample successful lead creation request","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"lead_id\": \"sample_lead_id\",\n    \"phone_number\": \"9999999999\",\n    \"contact_name\": \"John Doe\",\n    \"custom_field1\": \"custom_value1\",\n    \"custom_field2\": \"custom_value2\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-created"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 18 Jan 2024 09:04:48 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx"},{"key":"x-xss-protection","value":"1; mode=block"},{"key":"Allow","value":"GET, POST, PATCH, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Vary","value":"Cookie"},{"key":"x-content-type-options","value":"nosniff"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"phone_number\": \"9999999999\",\n    \"contact_name\": \"John Doe\",\n    \"custom_field2\": \"custom_value2\",\n    \"lead_id\": \"sample_lead_id\",\n    \"custom_field1\": \"custom_value1\"\n}"}],"_postman_id":"db7f36c7-2f52-4883-b3a0-eb0d68e76158"},{"name":"Update a Lead","event":[{"listen":"test","script":{"id":"e288c5f8-4051-4460-b0fc-ed6cf72b65e5","exec":[""],"type":"text/javascript","packages":{}}}],"id":"b0cc144d-0480-4887-b750-f336a1f80e4d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"lead_id\": \"sample_lead_id\",\n    \"field_to_update\": \"new value\",\n    \"new_field_to_add\": \"value\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/(ref_id/lead-updated","description":"<blockquote>\n<p>Please reach out to your Squadstack POC to get the reference ID for your campaign specific endpoint </p>\n</blockquote>\n<p>This endpoint is used to update a lead in Squadstack.<br />You can use this endpoint to either add new metadata to your lead or update existing metadata. If you are updating exisitng metadata, be sure to use the same key name as passed while lead creation</p>\n<h3 id=\"request-body\">Request Body</h3>\n<ul>\n<li>The request should include a JSON payload with the following parameters:<ul>\n<li><p><code>lead_id</code> (string): The ID of the lead to be updated.</p>\n</li>\n<li><p><code>field_to_update</code> (string): The field in the lead that needs to be updated.</p>\n</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>Upon a successful request, the response will include the lead_id and the keys that were added/modified via your request.</p>\n<h3 id=\"response-1\">Response</h3>\n<p>The response will include the updated <code>lead_id</code> and the updated <code>field_to_update</code> with their new values.</p>\n<h3 id=\"status-codes\">Status Codes</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status Code</th>\n<th>Type</th>\n<th>Response Message</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>200</td>\n<td>Success</td>\n<td>{lead_details}  <br />as sent in the request payload</td>\n<td>Lead updated successfully</td>\n</tr>\n<tr>\n<td>409</td>\n<td>Conflict</td>\n<td>{\"error_msg\":\"{\\\"detail\\\":\\\"campaign:xxxx. Another request for the same lead is getting processed already\\\",\\\"error_type\\\":1}\"}</td>\n<td>Another request for the same lead is already being processed</td>\n</tr>\n<tr>\n<td>400</td>\n<td>Bad Request</td>\n<td>\"error_msg\":\"Either lead with given lead_id does not exist in SquadIQ system or lead has already been processed by SquadIQ!\"}  <br />  <br />{\"error_msg\":\"We cannot accept this request as the lead_id: xxx has already been marked as converted.\"}  <br />  <br />{\"error_msg\":\"{\"field_name\":[\"This field may not be blank./ Invalid value provided.\"]}\"}  <br />  <br />{\"error_msg\":\"Unjudged leads cannot be re-activated\"}</td>\n<td>You are trying to update a lead that does not exist in your Campaign  <br />  <br />The lead you are trying to update has already been Processed/Converted in you campaign  <br />  <br />You are be passing empty/incorrect values in the request for keys that are mandatory  <br />  <br />This endpoint can be used to reactivate leads. You are trying to reactivate a lead that is still active in your campaign</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"example-response\">Example Response</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"lead_id\": \"sample_lead_id\",\n    \"field_to_update\": \"new value\"\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["voice","crm-integration-v2","(ref_id","lead-updated"],"host":["api","squadstack","com"],"query":[],"variable":[]}},"response":[{"id":"a82730f3-159d-4272-991f-59fde9442da2","name":"Sample lead updation request","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"lead_id\": \"sample_lead_id\",\n    \"field_to_update\": \"new value\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-updated"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 18 Jan 2024 15:00:10 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx"},{"key":"Allow","value":"GET, POST, PATCH, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-xss-protection","value":"1; mode=block"},{"key":"Vary","value":"Cookie"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"lead_id\": \"sample_lead_id\",\n    \"field_to_update\": \"new value\"\n}"}],"_postman_id":"b0cc144d-0480-4887-b750-f336a1f80e4d"},{"name":"Upsert a Lead","id":"1332b099-a8d6-48f9-894e-e133371a8551","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"lead_id\": \"sample_upsert_lead_id\",\n    \"phone_number\": \"9999999999\",\n    \"contact_name\": \"John Doe\",\n    \"custom_field1\": \"custom_value1\",\n    \"custom_field2\": \"custom_value2\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-upserted","description":"<h3 id=\"lead-upsert-endpoint\">Lead Upsert Endpoint</h3>\n<blockquote>\n<p>Please reach out to your Squadstack POC to get the reference ID for your campaign specific endpoint </p>\n</blockquote>\n<p>This endpoint allows you upsert a lead into the Squadstack.<br />When you make an Upsert request:</p>\n<ul>\n<li>If no lead exists with the given lead_id in your campaign, then a new lead will be created</li>\n<li>If a lead with the given lead_id already exists in your campaign, then that lead will be updated with the new metadata passed in the upsert request</li>\n</ul>\n<p><strong>Request Body</strong></p>\n<ul>\n<li><p><code>lead_id</code> (string,mandatory): The ID of the lead.</p>\n</li>\n<li><p><code>phone_number</code> (string,mandatory for the first request): The phone number associated with the lead.</p>\n</li>\n<li><p><code>contact_name</code> (string,mandatory for the first request): The name of the contact.</p>\n</li>\n<li><p><code>custom_field1</code> (string): A custom field for additional information. This can be named as per the context of the value</p>\n</li>\n<li><p><code>custom_field2</code> (string): Another custom field for additional information. This can be named as per the context of the value</p>\n</li>\n</ul>\n<p><strong>Response</strong></p>\n<ul>\n<li>Status: 200 OK</li>\n<li><code>contact_name</code> (string): The name of the contact.</li>\n<li><code>lead_id</code> (string): The ID of the lead.</li>\n<li><code>phone_number</code> (string): The phone number associated with the lead.</li>\n<li>Other fields that were passed in the request</li>\n</ul>\n<h3 id=\"status-codes\">Status Codes</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status Code</strong></th>\n<th>Type</th>\n<th>Response Message</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>200</td>\n<td>Success</td>\n<td>{lead_details}  <br />As passed in the request payload</td>\n<td>Lead created/updated successfully</td>\n</tr>\n<tr>\n<td>400</td>\n<td>Bad Request</td>\n<td>{\"error_msg\":\"We cannot accept this request as the lead_id: xxx has already been marked as converted.\"}  <br />  <br />{\"error_msg\":\"{\"field_name\":[\"This field may not be blank./ Invalid value provided.\"]}\"}  <br />  <br />{\"error_msg\":\"Unjudged leads cannot be re-activated\"}</td>\n<td>The lead you are trying to upsert has already been processed/converted in your campaign  <br />  <br />You sending empty/invalid values in the payload against the mandatory keys  <br />  <br />This endpoint can be used to reactivate a lead. You are trying to reactivate a lead that is still active in your campaign</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Example Response</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"contact_name\": \"John Doe\",\n    \"lead_id\": \"sample_upsert_lead_id\",\n    \"phone_number\": \"9999999999\",\n    \"custom_field2\": \"custom_value2\",\n    \"custom_field1\": \"custom_value1\"\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["voice","crm-integration-v2","ref_id","lead-upserted"],"host":["api","squadstack","com"],"query":[],"variable":[]}},"response":[{"id":"3e36f4ea-a50e-4b5f-aea2-ab3b908e93c9","name":"Upsert a lead","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"lead_id\": \"sample_upsert_lead_id\",\n    \"phone_number\": \"9999999999\",\n    \"contact_name\": \"John Doe\",\n    \"custom_field1\": \"custom_value1\",\n    \"custom_field2\": \"custom_value2\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-upserted"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 18 Jan 2024 15:22:35 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx"},{"key":"Allow","value":"GET, POST, PATCH, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-xss-protection","value":"1; mode=block"},{"key":"Vary","value":"Cookie"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"contact_name\": \"John Doe\",\n    \"lead_id\": \"sample_upsert_lead_id\",\n    \"phone_number\": \"9999999999\",\n    \"custom_field2\": \"custom_value2\",\n    \"custom_field1\": \"custom_value1\"\n}"}],"_postman_id":"1332b099-a8d6-48f9-894e-e133371a8551"},{"name":"Convert a Lead","id":"c808c9c6-0fc2-4703-936f-550d514edb39","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"lead_id\": \"sample_lead_id\",\n    \"detail\" : \"Conversion detail\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-converted","description":"<blockquote>\n<p>Please reach out to your Squadstack POC to get the reference ID for your campaign specific endpoint </p>\n</blockquote>\n<p>This endpoint is used to mark a successful conversion for a lead in your campaign. Conversion usually refers to when the lead reaches a positive terminal state in your system, and you want to mark that outcome on Squadstack as well.<br />Converted leads will not be touched upon(unless manually reactivated).<br />It is important that we receive all conversion hits so that we can provide accurate ROI reporting to your business teams</p>\n<p>The request body should be in raw format and include the following parameters:</p>\n<ul>\n<li><p>lead_id (string,mandatory): The unique identifier of the lead that is to be converted.</p>\n</li>\n<li><p>detail (string/JSON,mandatory): Additional details about the lead conversion. This could be specific details around the terminal stage of the lead</p>\n</li>\n</ul>\n<p>The response to this request will have a status code of 200 and will include the following parameters:</p>\n<ul>\n<li><p>lead_id (string): The unique identifier of the converted lead.</p>\n</li>\n<li><p>detail (string/JSON): Additional details about the lead conversion.</p>\n</li>\n</ul>\n<p>Sample payload:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n   \"lead_id\" : \"leadid1\"\n   \"detail\":\n        {\n          \"order_placed_at\" : \"2023-12-22 16:15:14\",\n          \"ordered item\" : \"item1\",\n          \"order_amount\" : \"300\"\n        }\n}\n\n</code></pre>\n<p>An example of a successful response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"lead_id\": \"sample_lead_id\",\n    \"detail\": \"Lead successfully converted\"\n}\n\n</code></pre>\n<p>Status Codes</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status Code</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Response Message</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>200</td>\n<td>Success</td>\n<td>{lead_details} as passed in the request payload</td>\n<td>Lead converted successfully</td>\n</tr>\n<tr>\n<td>400</td>\n<td>Bad Request</td>\n<td>{\"error_msg\":\"{\\\"detail\\\":\\\"\\\\\\\"lead_id\\\\\\\" is a required field!\\\"}\"}  <br />  <br />{\"error_msg\":\"{\\\"detail\\\":\\\"lead_id:xxxxxx has been marked as converted from our platform.\\\"}\"}</td>\n<td>You are passing an empty value in the payload against the lead_id  <br />  <br />You are trying to convert a lead that has already been converted in your campaign</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["voice","crm-integration-v2","ref_id","lead-converted"],"host":["api","squadstack","com"],"query":[],"variable":[]}},"response":[{"id":"4a0f68e6-7b53-4cb8-8302-6e926f32565d","name":"Convert a lead","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"lead_id\": \"sample_lead_id\",\n    \"detail\" : \"Lead successfully converted\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-converted"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 18 Jan 2024 18:49:28 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx"},{"key":"Allow","value":"GET, POST, PATCH, HEAD, OPTIONS"},{"key":"x-xss-protection","value":"1; mode=block"},{"key":"Vary","value":"Cookie"},{"key":"x-content-type-options","value":"nosniff"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"lead_id\": \"sample_lead_id\",\n    \"detail\": \"Lead successfully converted\"\n}"}],"_postman_id":"c808c9c6-0fc2-4703-936f-550d514edb39"},{"name":"Disable a Lead","id":"d61f03a1-3558-45e6-a4e2-a14ac204a112","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"lead_id\": \"sample_lead_id\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-disabled","description":"<blockquote>\n<p>Please reach out to your Squadstack POC to get the reference ID for your campaign specific endpoint </p>\n</blockquote>\n<p>This endpoint is used to disable a lead in your campaign. Disabling a lead will stop any further activities on the lead. The lead will still be present in your campaign database, but it would not be picked for calling/messaging/IVR/any other services that you may be availing from Squadstack</p>\n<h3 id=\"request-body\">Request Body</h3>\n<ul>\n<li>lead_id (string, required): The ID of the lead to be disabled in your campaign.</li>\n</ul>\n<p>The response to this request will have a status code of 200 and will include a JSON object with the key \"lead_id\" and its corresponding value.</p>\n<h3 id=\"response\">Response</h3>\n<ul>\n<li>lead_id (string): The ID of the disabled lead in the CRM integration v2.</li>\n</ul>\n<h3 id=\"status-codes\">Status Codes</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status code</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Response Message</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>202</td>\n<td>Success</td>\n<td>{lead_details} as passed in the request payload</td>\n<td>Lead disabled successfully</td>\n</tr>\n<tr>\n<td>404</td>\n<td>Not Found</td>\n<td>{\"detail\": '\"lead_id\" provided does not exist with us.'}</td>\n<td>The lead you are trying to disable does not exist in your campaign</td>\n</tr>\n<tr>\n<td>400</td>\n<td>Bad Request</td>\n<td>{\"detail\": '\"lead_id\" is a required field!'}</td>\n<td>You are passing an empty value in the payload against the leadID</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"example-response\">Example Response</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"lead_id\": \"sample_lead_id\"\n}\n\n</code></pre>\n","urlObject":{"protocol":"https","path":["voice","crm-integration-v2","ref_id","lead-disabled"],"host":["api","squadstack","com"],"query":[],"variable":[]}},"response":[{"id":"2702b46c-52cf-4898-b658-41e1e45d250e","name":"Disable a lead","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"lead_id\": \"sample_lead_id\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-disabled"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 18 Jan 2024 18:48:02 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx"},{"key":"x-xss-protection","value":"1; mode=block"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Allow","value":"GET, POST, PATCH, HEAD, OPTIONS"},{"key":"x-content-type-options","value":"nosniff"},{"key":"Vary","value":"Cookie"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"lead_id\": \"sample_lead_id\"\n}"}],"_postman_id":"d61f03a1-3558-45e6-a4e2-a14ac204a112"},{"name":"Delete a Lead","id":"61b64876-8574-4fff-b32d-839acf7a6a8f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"lead_id\": \"lead_id_to_be_deleted\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-deleted","description":"<blockquote>\n<p>Please reach out to your Squadstack POC to get the reference ID for your campaign specific endpoint </p>\n</blockquote>\n<p>This endpoint is used to delete lead from Squadstack systems. Please note that deleting a lead will purge all information of that lead and we would not be able to recover it.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<ul>\n<li>raw (application/json)<ul>\n<li>lead_id: (string) The ID of the lead to be deleted.</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<ul>\n<li><p>Status: 200</p>\n</li>\n<li><p>lead_id: (string) The ID of the lead that was deleted.</p>\n</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Response Message</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>200</td>\n<td>Success</td>\n<td>{lead_details} as passed in the request payload</td>\n<td>Lead deleted successfully</td>\n</tr>\n<tr>\n<td>404</td>\n<td>Not Found</td>\n<td>{\"detail\": '\"lead_id\" provided does not exist with us.'}</td>\n<td>The lead you are trying to delete does not exist in your campaign</td>\n</tr>\n<tr>\n<td>400</td>\n<td>Bad Request</td>\n<td>{\"detail\": '\"lead_id\" is a required field!'}</td>\n<td>You are passing an empty value in the payload against the leadID</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"example-response\">Example Response</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    \"lead_id\": \"lead_id_to_be_deleted\"\n}\n\n</code></pre>","urlObject":{"protocol":"https","path":["voice","crm-integration-v2","ref_id","lead-deleted"],"host":["api","squadstack","com"],"query":[],"variable":[]}},"response":[{"id":"382a8c7c-66b9-45ef-a059-19313cc165b5","name":"Delete a lead","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"lead_id\": \"lead_id_to_be_deleted\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-deleted"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 18 Jan 2024 20:48:31 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx"},{"key":"Allow","value":"GET, POST, PATCH, HEAD, OPTIONS"},{"key":"x-xss-protection","value":"1; mode=block"},{"key":"Vary","value":"Cookie"},{"key":"x-content-type-options","value":"nosniff"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"lead_id\": \"lead_id_to_be_deleted\"\n}"}],"_postman_id":"61b64876-8574-4fff-b32d-839acf7a6a8f"}],"id":"ee0f9cf8-bfbf-408d-b863-c0cbdc052e47","description":"<p>Welcome to Squadstack API reference guide!<br />Here you will find documentation around all our APIs and the relevant action that each API takes.<br />You can find a list your campaigns <a href=\"https://portal.app.squadstack.com/campaigns\">here</a></p>\n<blockquote>\n<p>Please note that we provide campaign specific endpoints , and as such, you would be given a unique reference ID that would need to be substituted in your endpoint.<br />Please reach out to your Squadstack POC or write to us at <a href=\"https://mailto:customer-integrations@squadstack.com\">customer-integrations@squadstack.com</a> to get your campaign specific reference IDs. </p>\n</blockquote>\n<p>All of our endpoints can be accessed by basic authentication. You can access the token <a href=\"https://portal.app.squadstack.com/settings/integrations\">here</a>.</p>\n<blockquote>\n<p>Please reach out to <a href=\"https://mailto:customer-integrations@squadstack.com\">customer-integrations@squadstack.com</a> in case you are unable to access the token </p>\n</blockquote>\n<p>Our standard rate limits are <strong>100 requests per minute</strong>. Kindly contact <a href=\"https://mailto:customer-integrations@squadstack.com\">customer-integrations@squadstack.com</a> in case an increase of rate limit is needed.</p>\n<p>Prerequisites for whitelisting:</p>\n<blockquote>\n<p>Please note that these are mandatory before you integrate our APIs </p>\n</blockquote>\n<ul>\n<li>Your IP Address(s)</li>\n</ul>\n","_postman_id":"ee0f9cf8-bfbf-408d-b863-c0cbdc052e47"},{"name":"Squadstack Bulk API Reference","item":[{"name":"Create Leads in Bulk","id":"f3125c99-0025-45d5-b174-a9eead9eca00","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token","description":"<p>Auth token</p>\n"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n        \"lead_id\": \"lead_id1\",\n        \"phone_number\": \"9999999999\",\n        \"contact_name\": \"John Doe\",\n        \"customkey1\": \"custom value\",\n        \"customkey2\": \"custom value\"\n    },\n    {\n        \"lead_id\": \"lead_id2\",\n        \"phone_number\": \"9999999999\",\n        \"contact_name\": \"Jane Doe\",\n        \"customkey1\": \"custom value\",\n        \"customkey2\": \"custom value\"\n    },\n    {\n        \"lead_id\": \"lead_id3\",\n        \"phone_number\": \"9999999999\",\n        \"contact_name\": \"Jasmine Doe\",\n        \"customkey1\": \"custom value\",\n        \"customkey2\": \"custom value\"\n    }\n\n]","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-created","description":"<p>This endpoint allows you to create leads in bulk in your campaign</p>\n<h3 id=\"limits\"><strong>Limits:</strong></h3>\n<ul>\n<li><p>A maximum of 100 leads per API call</p>\n</li>\n<li><p>A maximum of 100 API calls per minute across all endpoints combined</p>\n</li>\n</ul>\n<h3 id=\"request-body\">Request body</h3>\n<p>The request body should be in raw format and should contain a JSON array with objects having</p>\n<ul>\n<li><p><strong>lead_id</strong> (string, required): The Unique ID of the lead.</p>\n</li>\n<li><p><strong>phone_number</strong> (string, required): Phone number of the lead.</p>\n</li>\n<li><p><strong>contact_name</strong> (string, required): The name of the lead</p>\n</li>\n<li><p><strong>customkey1</strong> (string/integer): Custom metadata for the lead.</p>\n</li>\n<li><p><strong>customkey2</strong> (string/integer): Custom metadata for the lead</p>\n</li>\n</ul>\n<blockquote>\n<p>Additional keys can be added as per business requirement. Naming conventions can be customised as needed </p>\n</blockquote>\n<h3 id=\"response\">Response</h3>\n<p>The response for this request is a JSON object with the following properties:</p>\n<ul>\n<li><p>\"status\": Indicates the status of the bulk API operation</p>\n</li>\n<li><p>\"message\": Provides additional information about the response.</p>\n</li>\n<li><p>\"result\": An array containing objects; each object represets the result of a downstream request made for a specific lead. Each object will contain the following properties:</p>\n<ul>\n<li><p>\"status_code\": Status of the request against that specific lead</p>\n</li>\n<li><p>\"data\": An object containing details about the operation, which will include</p>\n<ul>\n<li><p>lead_id</p>\n</li>\n<li><p>all other input keys</p>\n</li>\n<li><p>an error message in case of a failed API request</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p>\"metadata\": An object providing metadata about the operation, including the total number of leads, successful operations, and failed operations.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["voice","crm-integration-v2","ref_id","lead-created"],"host":["api","squadstack","com"],"query":[],"variable":[]}},"response":[{"id":"f37b6b68-55fd-48a3-a413-aaaa7ef9d7ee","name":"Sample Request - Fully Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token","description":"Auth token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n        \"lead_id\": \"lead101\",\n        \"phone_number\": \"9999999999\",\n        \"contact_name\": \"John Doe\",\n        \"city\": \"Bangalore\",\n        \"lead_stage\": \"stage1\"\n    },\n    {\n        \"lead_id\": \"lead102\",\n        \"phone_number\": \"9999999999\",\n        \"contact_name\": \"Jane Doe\",\n        \"city\": \"Mumbai\",\n        \"lead_stage\": \"stage1\"\n    },\n    {\n        \"lead_id\": \"lead103\",\n        \"phone_number\": \"9999999999\",\n        \"contact_name\": \"Jasmine Doe\",\n        \"city\": \"Delhi\",\n        \"lead_stage\": \"stage1\"\n    }\n\n]","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-created"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 31 May 2024 08:31:31 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx"},{"key":"Allow","value":"GET, POST, PATCH, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Vary","value":"Cookie"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"date"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"message\": \"Bulk operation completed successfully\",\n    \"result\": [\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead101\",\n                \"phone_number\": \"9999999999\",\n                \"contact_name\": \"John Doe\",\n                \"city\": \"Bangalore\",\n                \"lead_stage\": \"stage1\"\n            }\n        },\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead102\",\n                \"phone_number\": \"9999999999\",\n                \"contact_name\": \"Jane Doe\",\n                \"city\": \"Mumbai\",\n                \"lead_stage\": \"stage1\"\n            }\n        },\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead103\",\n                \"phone_number\": \"9999999999\",\n                \"contact_name\": \"Jasmine Doe\",\n                \"city\": \"Delhi\",\n                \"lead_stage\": \"stage1\"\n            }\n        }\n    ],\n    \"metadata\": {\n        \"total_leads\": 3,\n        \"success\": 3,\n        \"failed\": 0\n    }\n}"},{"id":"3b7355d9-a48b-49f9-8903-a831f591ab4d","name":"Sample Request - Partially Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token","description":"Auth token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n        \"lead_id\": \"lead11\",\n        \"phone_number\": \"9999999999\",\n        \"contact_name\": \"John Doe\",\n        \"city\": \"Bangalore\",\n        \"lead_stage\": \"stage1\"\n    },\n    {\n        \"lead_id\": \"lead2\",\n        \"phone_number\": \"9999999999\",\n        \"contact_name\": \"Jane Doe\",\n        \"city\": \"Mumbai\",\n        \"lead_stage\": \"stage1\"\n    },\n    {\n        \"lead_id\": \"lead2\",\n        \"phone_number\": \"9999999999\",\n        \"contact_name\": \"Jasmine Doe\",\n        \"city\": \"Delhi\",\n        \"lead_stage\": \"stage1\"\n    }\n\n]","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-created"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 31 May 2024 08:32:39 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx"},{"key":"Allow","value":"GET, POST, PATCH, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Vary","value":"Cookie"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"date"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"partial_sucess\",\n    \"message\": \"Bulk operation completed successfully\",\n    \"result\": [\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead11\",\n                \"phone_number\": \"9999999999\",\n                \"contact_name\": \"John Doe\",\n                \"city\": \"Bangalore\",\n                \"lead_stage\": \"stage1\"\n            }\n        },\n        {\n            \"status_code\": 409,\n            \"data\": {\n                \"error_msg\": \"Duplicate Lead ID shared: A lead with the given Lead ID: 'lead2' is already present in this campaign, please use a different Lead ID, or reach out to us at support@squadstack.com.\"\n            }\n        },\n        {\n            \"status_code\": 409,\n            \"data\": {\n                \"error_msg\": \"Duplicate Lead ID shared: A lead with the given Lead ID: 'lead2' is already present in this campaign, please use a different Lead ID, or reach out to us at support@squadstack.com.\"\n            }\n        }\n    ],\n    \"metadata\": {\n        \"total_leads\": 3,\n        \"success\": 1,\n        \"failed\": 2\n    }\n}"},{"id":"e9e5807a-1407-4a6a-b0cc-95b344a8aa6b","name":"Sample Request - Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token","description":"Auth token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n        \"lead_id\": \"lead1\",\n        \"phone_number\": \"999999999\",\n        \"contact_name\": \"John Doe\",\n        \"city\": \"Bangalore\",\n        \"lead_stage\": \"stage1\"\n    },\n    {\n        \"lead_id\": \"lead2\",\n        \"phone_number\": \"999999999\",\n        \"contact_name\": \"Jane Doe\",\n        \"city\": \"Mumbai\",\n        \"lead_stage\": \"stage1\"\n    },\n    {\n        \"lead_id\": \"lead2\",\n        \"phone_number\": \"999999999\",\n        \"contact_name\": \"Jasmine Doe\",\n        \"city\": \"Delhi\",\n        \"lead_stage\": \"stage1\"\n    }\n\n]","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-created"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 31 May 2024 08:33:10 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx"},{"key":"Allow","value":"GET, POST, PATCH, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Vary","value":"Cookie"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"date"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"failure\",\n    \"message\": \"Bulk operation completed successfully\",\n    \"result\": [\n        {\n            \"status_code\": 400,\n            \"data\": {\n                \"error_msg\": \"{'phone_number': 'Invalid value provided.'}\"\n            }\n        },\n        {\n            \"status_code\": 400,\n            \"data\": {\n                \"error_msg\": \"{'phone_number': 'Invalid value provided.'}\"\n            }\n        },\n        {\n            \"status_code\": 400,\n            \"data\": {\n                \"error_msg\": \"{'phone_number': 'Invalid value provided.'}\"\n            }\n        }\n    ],\n    \"metadata\": {\n        \"total_leads\": 3,\n        \"success\": 0,\n        \"failed\": 3\n    }\n}"}],"_postman_id":"f3125c99-0025-45d5-b174-a9eead9eca00"},{"name":"Update Leads in Bulk","id":"c9bff452-30f0-4739-b38b-8890123d6fc4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token","description":"<p>Auth token</p>\n"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n        \"lead_id\": \"lead_id_to_be_updated1\",\n        \"stage\": \"new_stage\",\n        \"key_to_be_updated\": \"new_value\",\n        \"new_key_to_be_added\": \"value\"\n    },\n    {\n        \"lead_id\": \"lead_id_to_be_updated2\",\n        \"stage\": \"new_stage\",\n        \"key_to_be_updated\": \"new_value\",\n        \"new_key_to_be_added\": \"value\"\n    },\n    {\n        \"lead_id\": \"lead_id_to_be_updated3\",\n        \"stage\": \"new_stage\",\n        \"key_to_be_updated\": \"new_value\",\n        \"new_key_to_be_added\": \"value\"\n    }\n]","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-updated","description":"<p>This endpoint allows you to make bulk updates(update multiple leads at once) to your leads in your campaign</p>\n<h3 id=\"limits\"><strong>Limits:</strong></h3>\n<ul>\n<li><p>A maximum of 100 leads per API call</p>\n</li>\n<li><p>A maximum of 100 API calls per minute across all endpoints combined</p>\n</li>\n</ul>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p>The request body should be in raw format and should contain an array of objects with the following parameters:</p>\n<ul>\n<li><p><code>lead_id</code> (string,required): The ID of the lead to be updated.</p>\n</li>\n<li><p><code>stage</code> (string): The new stage of the lead.</p>\n</li>\n<li><p><code>key_to_be_updated</code> (string): A pre-existing key that you want to update with a new value</p>\n</li>\n<li><p><code>new_key_to_be_added</code> (string): A new key that you want to add on to an existing lead's metadata</p>\n</li>\n</ul>\n</li>\n</ul>\n<blockquote>\n<p>Please note that the naming convention for the additional keys can be as per the business requirement/ as per the key names passed originally </p>\n</blockquote>\n<h3 id=\"response\">Response</h3>\n<p>The response for this request is a JSON object with the following properties:</p>\n<ul>\n<li><p>\"status\": Indicates the status of the bulk API operation</p>\n</li>\n<li><p>\"message\": Provides additional information about the response.</p>\n</li>\n<li><p>\"result\": An array containing objects; each object represets the result of a downstream request made for a specific lead. Each object will contain the following properties:</p>\n<ul>\n<li><p>\"status_code\": Status of the request against that specific lead</p>\n</li>\n<li><p>\"data\": An object containing details about the operation, which will include</p>\n<ul>\n<li><p>lead_id</p>\n</li>\n<li><p>all other input keys</p>\n</li>\n<li><p>an error message in case of a failed API request</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p>\"metadata\": An object providing metadata about the operation, including the total number of leads, successful operations, and failed operations.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["voice","crm-integration-v2","ref_id","lead-updated"],"host":["api","squadstack","com"],"query":[],"variable":[]}},"response":[{"id":"afe810c2-cd34-4ad0-a500-e92972bc3c90","name":"Sample Request - Fully Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token","description":"Auth token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n        \"lead_id\": \"lead101\",\n        \"stage\": \"new_stage\"\n    },\n    {\n        \"lead_id\": \"lead102\",\n        \"stage\": \"new_stage\"\n    },\n    {\n        \"lead_id\": \"lead103\",\n        \"stage\": \"new_stage\"\n    }\n]","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-updated"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 31 May 2024 08:53:17 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx"},{"key":"Allow","value":"GET, POST, PATCH, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Vary","value":"Cookie"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"date"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"message\": \"Bulk operation completed successfully\",\n    \"result\": [\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead101\",\n                \"stage\": \"new_stage\"\n            }\n        },\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead102\",\n                \"stage\": \"new_stage\"\n            }\n        },\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead103\",\n                \"stage\": \"new_stage\"\n            }\n        }\n    ],\n    \"metadata\": {\n        \"total_leads\": 3,\n        \"success\": 3,\n        \"failed\": 0\n    }\n}"},{"id":"9822c0a4-aa9b-4b78-a962-865f5c4b70a4","name":"Sample Request - Partially Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token","description":"Auth token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n        \"lead_id\": \"lead1\",\n        \"stage\": \"new_stage\"\n    },\n    {\n        \"lead_id\": \"lead2\",\n        \"stage\": \"new_stage\"\n    },\n    {\n        \"lead_id\": \"lead3\",\n        \"stage\": \"new_stage\"\n    }\n]","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-updated"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 31 May 2024 08:52:36 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx"},{"key":"Allow","value":"GET, POST, PATCH, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Vary","value":"Cookie"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"date"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"partial_sucess\",\n    \"message\": \"Bulk operation completed successfully\",\n    \"result\": [\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead1\",\n                \"stage\": \"new_stage\"\n            }\n        },\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead2\",\n                \"stage\": \"new_stage\"\n            }\n        },\n        {\n            \"status_code\": 400,\n            \"data\": {\n                \"error_msg\": \"lead_id:lead3 doesn't exist on our platform.\"\n            }\n        }\n    ],\n    \"metadata\": {\n        \"total_leads\": 3,\n        \"success\": 2,\n        \"failed\": 1\n    }\n}"},{"id":"9e265e7e-4b73-4b8d-9949-c32d2f5311c7","name":"Sample Request - Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token","description":"Auth token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n        \"lead_id\": \"lead999\",\n        \"stage\": \"new_stage\"\n    },\n    {\n        \"lead_id\": \"lead997\",\n        \"stage\": \"new_stage\"\n    },\n    {\n        \"lead_id\": \"lead998\",\n        \"stage\": \"new_stage\"\n    }\n]","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-updated"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 31 May 2024 08:53:36 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx"},{"key":"Allow","value":"GET, POST, PATCH, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Vary","value":"Cookie"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"date"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"failure\",\n    \"message\": \"Bulk operation completed successfully\",\n    \"result\": [\n        {\n            \"status_code\": 400,\n            \"data\": {\n                \"error_msg\": \"lead_id:lead999 doesn't exist on our platform.\"\n            }\n        },\n        {\n            \"status_code\": 400,\n            \"data\": {\n                \"error_msg\": \"lead_id:lead997 doesn't exist on our platform.\"\n            }\n        },\n        {\n            \"status_code\": 400,\n            \"data\": {\n                \"error_msg\": \"lead_id:lead998 doesn't exist on our platform.\"\n            }\n        }\n    ],\n    \"metadata\": {\n        \"total_leads\": 3,\n        \"success\": 0,\n        \"failed\": 3\n    }\n}"}],"_postman_id":"c9bff452-30f0-4739-b38b-8890123d6fc4"},{"name":"Upsert Leads in Bulk","id":"04f665d9-4910-4311-ab69-e26a6096f7c1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token","description":"<p>Auth token</p>\n"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n        \"lead_id\": \"lead_id_to_be_upserted1\",\n        \"phone_number\": \"9999999999\",\n        \"contact_name\": \"John Doe\",\n        \"customkey1\": \"custom value\",\n        \"customkey2\": \"custom value\"\n    },\n    {\n        \"lead_id\": \"lead_id_to_be_upserted2\",\n        \"phone_number\": \"9999999999\",\n        \"contact_name\": \"Jane Doe\",\n        \"customkey1\": \"custom value\",\n        \"customkey2\": \"custom value\"\n    },\n    {\n        \"lead_id\": \"lead_id_to_be_upserted3\",\n        \"phone_number\": \"9999999999\",\n        \"contact_name\": \"Jasmine Doe\",\n        \"customkey1\": \"custom value\",\n        \"customkey2\": \"custom value\"\n    }\n\n]","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-upserted","description":"<p>This endpoint is used to upsert leads in bulk into your campaign.</p>\n<p>Behaviour of our upsert API:</p>\n<ul>\n<li><p>If a lead with the given Lead ID already exists in your campaign, we will merely updated the metadata with new values passed against existing keys / add new metadata for new keys that were passed (works like an update API call)</p>\n</li>\n<li><p>If a lead with the given Lead ID does not exist in your campaign, we will create a new lead (works like a create lead API call)</p>\n</li>\n</ul>\n<h3 id=\"limits\"><strong>Limits:</strong></h3>\n<ul>\n<li><p>A maximum of 100 leads per API call</p>\n</li>\n<li><p>A maximum of 100 API calls per minute across all endpoints combined</p>\n</li>\n</ul>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p>The request body should be in raw format and should contain an array of objects with the following parameters:</p>\n<ul>\n<li><p><code>lead_id</code> (string,required): The ID of the lead.</p>\n</li>\n<li><p><code>phone_number</code> (string,required): The phone number of the lead.</p>\n</li>\n<li><p><code>contact_name</code> (string,required): The name of the contact.</p>\n</li>\n<li><p><code>customkey1</code> (string): Custom key 1 for the lead.</p>\n</li>\n<li><p><code>customkey2</code> (string): Custom key 2 for the lead.</p>\n</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>The response for this request is a JSON object with the following properties:</p>\n<ul>\n<li><p>\"status\": Indicates the status of the bulk API operation</p>\n</li>\n<li><p>\"message\": Provides additional information about the response.</p>\n</li>\n<li><p>\"result\": An array containing objects; each object represets the result of a downstream request made for a specific lead. Each object will contain the following properties:</p>\n<ul>\n<li><p>\"status_code\": Status of the request against that specific lead</p>\n</li>\n<li><p>\"data\": An object containing details about the operation, which will include</p>\n<ul>\n<li><p>lead_id</p>\n</li>\n<li><p>all other input keys</p>\n</li>\n<li><p>an error message in case of a failed API request</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p>\"metadata\": An object providing metadata about the operation, including the total number of leads, successful operations, and failed operations.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["voice","crm-integration-v2","ref_id","lead-upserted"],"host":["api","squadstack","com"],"query":[],"variable":[]}},"response":[{"id":"fca455c6-1aaa-4fd1-87db-c614b53d0e37","name":"Sample Request - Fully Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token","description":"Auth token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n        \"lead_id\": \"lead_id_upsert1\",\n        \"phone_number\": \"9999999999\",\n        \"contact_name\": \"John Doe\",\n        \"customkey1\": \"custom value\",\n        \"customkey2\": \"custom value\"\n    },\n    {\n        \"lead_id\": \"lead_id_upsert2\",\n        \"phone_number\": \"9999999999\",\n        \"contact_name\": \"Jane Doe\",\n        \"customkey1\": \"custom value\",\n        \"customkey2\": \"custom value\"\n    },\n    {\n        \"lead_id\": \"lead_id_upsert3\",\n        \"phone_number\": \"9999999999\",\n        \"contact_name\": \"Jasmine Doe\",\n        \"customkey1\": \"custom value\",\n        \"customkey2\": \"custom value\"\n    }\n\n]","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-upserted"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 31 May 2024 09:33:31 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx"},{"key":"Allow","value":"GET, POST, PATCH, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Vary","value":"Cookie"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"date"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"message\": \"Bulk operation completed successfully\",\n    \"result\": [\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead_id_upsert1\",\n                \"phone_number\": \"9999999999\",\n                \"contact_name\": \"John Doe\",\n                \"customkey1\": \"custom value\",\n                \"customkey2\": \"custom value\"\n            }\n        },\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead_id_upsert2\",\n                \"phone_number\": \"9999999999\",\n                \"contact_name\": \"Jane Doe\",\n                \"customkey1\": \"custom value\",\n                \"customkey2\": \"custom value\"\n            }\n        },\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead_id_upsert3\",\n                \"phone_number\": \"9999999999\",\n                \"contact_name\": \"Jasmine Doe\",\n                \"customkey1\": \"custom value\",\n                \"customkey2\": \"custom value\"\n            }\n        }\n    ],\n    \"metadata\": {\n        \"total_leads\": 3,\n        \"success\": 3,\n        \"failed\": 0\n    }\n}"},{"id":"46b571e1-0ecf-4be4-aa7e-5011d93a124d","name":"Sample Request - Partially Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token","description":"Auth token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n        \"lead_id\": \"lead_id_upsert4\",\n        \"phone_number\": \"9999999999\",\n        \"contact_name\": \"John Doe\",\n        \"customkey1\": \"custom value\",\n        \"customkey2\": \"custom value\"\n    },\n    {\n        \"lead_id\": \"lead_id_upsert5\",\n        \"contact_name\": \"Jane Doe\",\n        \"customkey1\": \"custom value\",\n        \"customkey2\": \"custom value\"\n    },\n    {\n        \"lead_id\": \"lead_id_upsert6\",\n        \"phone_number\": \"9999999999\",\n        \"contact_name\": \"Jasmine Doe\",\n        \"customkey1\": \"custom value\",\n        \"customkey2\": \"custom value\"\n    }\n\n]","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-upserted"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 31 May 2024 09:34:03 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx"},{"key":"Allow","value":"GET, POST, PATCH, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Vary","value":"Cookie"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"date"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"partial_sucess\",\n    \"message\": \"Bulk operation completed successfully\",\n    \"result\": [\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead_id_upsert4\",\n                \"phone_number\": \"9999999999\",\n                \"contact_name\": \"John Doe\",\n                \"customkey1\": \"custom value\",\n                \"customkey2\": \"custom value\"\n            }\n        },\n        {\n            \"status_code\": 400,\n            \"data\": {\n                \"error_msg\": \"{'phone_number': 'This field is required.'}\"\n            }\n        },\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead_id_upsert6\",\n                \"phone_number\": \"9999999999\",\n                \"contact_name\": \"Jasmine Doe\",\n                \"customkey1\": \"custom value\",\n                \"customkey2\": \"custom value\"\n            }\n        }\n    ],\n    \"metadata\": {\n        \"total_leads\": 3,\n        \"success\": 2,\n        \"failed\": 1\n    }\n}"},{"id":"27977bd9-eb8a-4eb5-8259-1c8671218b1e","name":"Sample Request - Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token","description":"Auth token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n        \"phone_number\": \"9999999999\",\n        \"contact_name\": \"John Doe\",\n        \"customkey1\": \"custom value\",\n        \"customkey2\": \"custom value\"\n    },\n    {\n        \"lead_id\": \"lead_id_upsert8\",\n        \"contact_name\": \"Jane Doe\",\n        \"customkey1\": \"custom value\",\n        \"customkey2\": \"custom value\"\n    },\n    {\n        \"lead_id\": \"lead_id_upsert9\",\n        \"phone_number\": \"9999999999\",\n        \"customkey1\": \"custom value\",\n        \"customkey2\": \"custom value\"\n    }\n\n]","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-upserted"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 31 May 2024 09:34:37 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx"},{"key":"Allow","value":"GET, POST, PATCH, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Vary","value":"Cookie"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"date"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"failure\",\n    \"message\": \"Bulk operation completed successfully\",\n    \"result\": [\n        {\n            \"status_code\": 400,\n            \"data\": {\n                \"error_msg\": \"{'lead_id': 'This field is required.'}\"\n            }\n        },\n        {\n            \"status_code\": 400,\n            \"data\": {\n                \"error_msg\": \"{'phone_number': 'This field is required.'}\"\n            }\n        },\n        {\n            \"status_code\": 400,\n            \"data\": {\n                \"error_msg\": \"{'contact_name': 'This field is required.'}\"\n            }\n        }\n    ],\n    \"metadata\": {\n        \"total_leads\": 3,\n        \"success\": 0,\n        \"failed\": 3\n    }\n}"}],"_postman_id":"04f665d9-4910-4311-ab69-e26a6096f7c1"},{"name":"Convert Leads in Bulk","id":"f0bd209e-9233-479e-b4fa-e74dc66d8020","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token","description":"<p>Auth token</p>\n"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n        \"lead_id\": \"lead_id_to_be_converted1\",\n        \"detail\": \"Lead converted successfully\"\n    },\n    {\n        \"lead_id\": \"lead_id_to_be_converted2\",\n        \"detail\": {\n            \"conversion_identifier\" : \"identifier\",\n            \"conversion_metric\": \"metric\",\n            \"conversion_date\": \"date\"\n        }\n    },\n    {\n        \"lead_id\": \"lead_id_to_be_converted3\", \n        \"detail\": {\n            \"conversion_identifier\" : \"identifier\",\n            \"conversion_metric\": \"metric\",\n            \"conversion_date\": \"date\",\n            \"conversion_type\": \"type\",\n            \"conversion_units\": \"units\"\n        }\n    }\n]","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-converted","description":"<p>This endpoint is used to convert leads in bulk in your campaign</p>\n<h3 id=\"limits\"><strong>Limits:</strong></h3>\n<ul>\n<li><p>A maximum of 100 leads per API call</p>\n</li>\n<li><p>A maximum of 100 API calls per minute across all endpoints combined</p>\n</li>\n</ul>\n<h3 id=\"request-body\">Request Body</h3>\n<p>The request body should be in raw format and should contain a JSON array with objects having :</p>\n<ul>\n<li><p><code>lead_id</code> (string,required): The ID of the lead.</p>\n</li>\n<li><p>detail (string/JSON, required): The phone number of the lead.</p>\n</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>The response for this request is a JSON object with the following properties:</p>\n<ul>\n<li><p>\"status\": Indicates the status of the bulk API operation</p>\n</li>\n<li><p>\"message\": Provides additional information about the response.</p>\n</li>\n<li><p>\"result\": An array containing objects; each object represets the result of a downstream request made for a specific lead. Each object will contain the following properties:</p>\n<ul>\n<li><p>\"status_code\": Status of the request against that specific lead</p>\n</li>\n<li><p>\"data\": An object containing details about the operation, which will include</p>\n<ul>\n<li><p>lead_id</p>\n</li>\n<li><p>all other input keys</p>\n</li>\n<li><p>an error message in case of a failed API request</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p>\"metadata\": An object providing metadata about the operation, including the total number of leads, successful operations, and failed operations.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["voice","crm-integration-v2","ref_id","lead-converted"],"host":["api","squadstack","com"],"query":[],"variable":[]}},"response":[{"id":"f8bf584c-aa9c-4350-a50e-cf2724767769","name":"Sample Request - Fully Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token","description":"Auth token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n        \"lead_id\": \"lead101\",\n        \"detail\": \"Lead converted successfully\"\n    },\n    {\n        \"lead_id\": \"lead102\",\n        \"detail\": {\n            \"order_id\" : \"101\",\n            \"order_amount\": \"10000\",\n            \"order_date\": \"2024-05-12\"\n        }\n    },\n    {\n        \"lead_id\": \"lead103\", \n        \"detail\": {\n            \"load_id\" : \"12345678\",\n            \"loan_amount\": \"10000000\",\n            \"disbursed_date\": \"2024-05-22\",\n            \"loan_type\": \"Personal\",\n            \"loan_tenure\": \"4\"\n        }\n    }\n]","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-converted"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 31 May 2024 09:47:18 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx"},{"key":"Allow","value":"GET, POST, PATCH, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Vary","value":"Cookie"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"date"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"message\": \"Bulk operation completed successfully\",\n    \"result\": [\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead101\",\n                \"detail\": \"Lead converted successfully\"\n            }\n        },\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead102\",\n                \"detail\": {\n                    \"order_id\": \"101\",\n                    \"order_amount\": \"10000\",\n                    \"order_date\": \"2024-05-12\"\n                }\n            }\n        },\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead103\",\n                \"detail\": {\n                    \"load_id\": \"12345678\",\n                    \"loan_amount\": \"10000000\",\n                    \"disbursed_date\": \"2024-05-22\",\n                    \"loan_type\": \"Personal\",\n                    \"loan_tenure\": \"4\"\n                }\n            }\n        }\n    ],\n    \"metadata\": {\n        \"total_leads\": 3,\n        \"success\": 3,\n        \"failed\": 0\n    }\n}"},{"id":"907176fc-8967-4279-bc2f-4ca42d23226a","name":"Sample Request - Partially Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token","description":"Auth token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n        \"lead_id\": \"lead1\",\n        \"detail\": \"Lead converted successfully\"\n    },\n    {\n        \"lead_id\": \"lead2\",\n        \"detail\": {\n            \"order_id\" : \"101\",\n            \"order_amount\": \"10000\",\n            \"order_date\": \"2024-05-12\"\n        }\n    },\n    {\n        \"lead_id\": \"lead3\", \n        \"detail\": {\n            \"load_id\" : \"12345678\",\n            \"loan_amount\": \"10000000\",\n            \"disbursed_date\": \"2024-05-22\",\n            \"loan_type\": \"Personal\",\n            \"loan_tenure\": \"4\"\n        }\n    }\n]","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-converted"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 31 May 2024 09:45:40 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx"},{"key":"Allow","value":"GET, POST, PATCH, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Vary","value":"Cookie"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"date"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"partial_sucess\",\n    \"message\": \"Bulk operation completed successfully\",\n    \"result\": [\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead1\",\n                \"detail\": \"Lead converted successfully\"\n            }\n        },\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead2\",\n                \"detail\": {\n                    \"order_id\": \"101\",\n                    \"order_amount\": \"10000\",\n                    \"order_date\": \"2024-05-12\"\n                }\n            }\n        },\n        {\n            \"status_code\": 400,\n            \"data\": {\n                \"error_msg\": \"lead_id:lead3 doesn't exist on our platform.\"\n            }\n        }\n    ],\n    \"metadata\": {\n        \"total_leads\": 3,\n        \"success\": 2,\n        \"failed\": 1\n    }\n}"},{"id":"34f6d476-c3ad-4256-94e0-b2f5cfa33591","name":"Sample Request - Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token","description":"Auth token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n        \"lead_id\": \"lead364\",\n        \"detail\": \"Lead converted successfully\"\n    },\n    {\n        \"lead_id\": \"lead102\"\n    },\n    {\n        \"lead_id\": \"lead103\", \n        \"detail\": \"\"\n    }\n]","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-converted"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 31 May 2024 09:48:22 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx"},{"key":"Allow","value":"GET, POST, PATCH, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Vary","value":"Cookie"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"date"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"failure\",\n    \"message\": \"Bulk operation completed successfully\",\n    \"result\": [\n        {\n            \"status_code\": 400,\n            \"data\": {\n                \"error_msg\": \"lead_id:lead364 doesn't exist on our platform.\"\n            }\n        },\n        {\n            \"status_code\": 400,\n            \"data\": {\n                \"error_msg\": \"{'detail': 'This field is required.'}\"\n            }\n        },\n        {\n            \"status_code\": 400,\n            \"data\": {\n                \"error_msg\": \"{'detail': 'This field is required.'}\"\n            }\n        }\n    ],\n    \"metadata\": {\n        \"total_leads\": 3,\n        \"success\": 0,\n        \"failed\": 3\n    }\n}"}],"_postman_id":"f0bd209e-9233-479e-b4fa-e74dc66d8020"},{"name":"Disable Leads in Bulk","id":"7842b957-66b4-4b95-a9ce-ceae3a148aa4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token","description":"<p>Auth token</p>\n"},{"key":"Origin","value":"{{origin}}","description":"<p>Your Origin</p>\n"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n        \"lead_id\": \"lead_id_to_be_disabled1\"\n    },\n    {\n        \"lead_id\": \"lead_id_to_be_disabled2\"\n    },\n    {\n        \"lead_id\": \"lead_id_to_be_disabled3\"\n    }\n]","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-disabled","description":"<p>This endpoint is used to disable leads in bulk in your campaign</p>\n<h3 id=\"limits\"><strong>Limits:</strong></h3>\n<ul>\n<li><p>A maximum of 100 leads per API call</p>\n</li>\n<li><p>A maximum of 100 API calls per minute across all endpoints combined</p>\n</li>\n</ul>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p>The request body should be in raw format and contain a JSON array of objects with each object having:</p>\n<ul>\n<li><code>lead_id</code> (string,required): The ID of the lead.</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>The response for this request is a JSON object with the following properties:</p>\n<ul>\n<li><p>\"status\": Indicates the status of the bulk API operation</p>\n</li>\n<li><p>\"message\": Provides additional information about the response.</p>\n</li>\n<li><p>\"result\": An array containing objects; each object represets the result of a downstream request made for a specific lead. Each object will contain the following properties:</p>\n<ul>\n<li><p>\"status_code\": Status of the request against that specific lead</p>\n</li>\n<li><p>\"data\": An object containing details about the operation, which will include</p>\n<ul>\n<li><p>lead_id</p>\n</li>\n<li><p>all other input keys</p>\n</li>\n<li><p>an error message in case of a failed API request</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p>\"metadata\": An object providing metadata about the operation, including the total number of leads, successful operations, and failed operations.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["voice","crm-integration-v2","ref_id","lead-disabled"],"host":["api","squadstack","com"],"query":[],"variable":[]}},"response":[{"id":"4d728d97-832b-4867-b950-9059668d62be","name":"Sample Request - Fully Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token","description":"Auth token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n        \"lead_id\": \"lead_id_disable1\"\n    },\n    {\n        \"lead_id\": \"lead_id_disable2\"\n    },\n    {\n        \"lead_id\": \"lead_id_disable3\"\n    }\n]","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-disabled"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 31 May 2024 11:03:52 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx"},{"key":"Allow","value":"GET, POST, PATCH, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Vary","value":"Cookie"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"date"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"message\": \"Bulk operation completed successfully\",\n    \"result\": [\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead_id_disable1\"\n            }\n        },\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead_id_disable2\"\n            }\n        },\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead_id_disable3\"\n            }\n        }\n    ],\n    \"metadata\": {\n        \"total_leads\": 3,\n        \"success\": 3,\n        \"failed\": 0\n    }\n}"},{"id":"11284fb0-8108-4166-9811-9280cd4e0dfe","name":"Sample Request - Partially Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token","description":"Auth token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n        \"lead_id\": \"lead_id_disable1\"\n    },\n    {\n        \n    },\n    {\n        \"lead_id\": \"lead_id_disable5\"\n    }\n]","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-disabled"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 31 May 2024 11:06:18 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx"},{"key":"Allow","value":"GET, POST, PATCH, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Vary","value":"Cookie"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"date"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"partial_sucess\",\n    \"message\": \"Bulk operation completed successfully\",\n    \"result\": [\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead_id_disable1\"\n            }\n        },\n        {\n            \"status_code\": 400,\n            \"data\": {\n                \"error_msg\": \"{'lead_id': 'This field is required.'}\"\n            }\n        },\n        {\n            \"status_code\": 400,\n            \"data\": {\n                \"error_msg\": \"lead_id:lead_id_disable5 doesn't exist on our platform.\"\n            }\n        }\n    ],\n    \"metadata\": {\n        \"total_leads\": 3,\n        \"success\": 1,\n        \"failed\": 2\n    }\n}"},{"id":"50ceb93b-e3ae-4dfd-a5a8-85d6a5597ba6","name":"Sample Request - Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token","description":"Auth token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n        \"lead_id\": \"lead_id_disable4\"\n    },\n    {\n        \"lead_id\": \"lead_id_disable5\"\n    },\n    {\n        \"lead_id\": \"lead_id_disable6\"\n    }\n]","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-disabled"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 31 May 2024 11:04:25 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx"},{"key":"Allow","value":"GET, POST, PATCH, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Vary","value":"Cookie"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"date"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"failure\",\n    \"message\": \"Bulk operation completed successfully\",\n    \"result\": [\n        {\n            \"status_code\": 400,\n            \"data\": {\n                \"error_msg\": \"lead_id:lead_id_disable4 doesn't exist on our platform.\"\n            }\n        },\n        {\n            \"status_code\": 400,\n            \"data\": {\n                \"error_msg\": \"lead_id:lead_id_disable5 doesn't exist on our platform.\"\n            }\n        },\n        {\n            \"status_code\": 400,\n            \"data\": {\n                \"error_msg\": \"lead_id:lead_id_disable6 doesn't exist on our platform.\"\n            }\n        }\n    ],\n    \"metadata\": {\n        \"total_leads\": 3,\n        \"success\": 0,\n        \"failed\": 3\n    }\n}"}],"_postman_id":"7842b957-66b4-4b95-a9ce-ceae3a148aa4"},{"name":"Delete Leads in Bulk","id":"248ad1a3-5572-4747-a54a-d6104c4486d9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token","description":"<p>Auth token</p>\n"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n        \"lead_id\": \"lead_id_to_be_deleted1\"\n    },\n    {\n        \"lead_id\": \"lead_id_to_be_deleted2\"\n    },\n    {\n        \"lead_id\": \"lead_id_to_be_deleted3\"\n    }\n]","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-deleted","description":"<p>This endpoint is used to delete leads in bulk in your campaign.</p>\n<p>Please note that deleting a lead will purge all information of that lead and we would not be able to recover it.</p>\n<h3 id=\"limits\"><strong>Limits:</strong></h3>\n<ul>\n<li><p>A maximum of 100 leads per API call</p>\n</li>\n<li><p>A maximum of 100 API calls per minute across all endpoints combined</p>\n</li>\n</ul>\n<h3 id=\"request-body\">Request Body</h3>\n<p>The request body is of raw type and contains a JSON array or objects. Each object should have a key \"lead_id\" which is a string parameter.</p>\n<h3 id=\"response\">Response</h3>\n<p>The response for this request is a JSON object with the following properties:</p>\n<ul>\n<li><p>\"status\": Indicates the status of the bulk API operation</p>\n</li>\n<li><p>\"message\": Provides additional information about the response.</p>\n</li>\n<li><p>\"result\": An array containing objects; each object represets the result of a downstream request made for a specific lead. Each object will contain the following properties:</p>\n<ul>\n<li><p>\"status_code\": Status of the request against that specific lead</p>\n</li>\n<li><p>\"data\": An object containing details about the operation, which will include</p>\n<ul>\n<li><p>lead_id</p>\n</li>\n<li><p>all other input keys</p>\n</li>\n<li><p>an error message in case of a failed API request</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p>\"metadata\": An object providing metadata about the operation, including the total number of leads, successful operations, and failed operations.</p>\n</li>\n</ul>\n","urlObject":{"protocol":"https","path":["voice","crm-integration-v2","ref_id","lead-deleted"],"host":["api","squadstack","com"],"query":[],"variable":[]}},"response":[{"id":"3f6170ba-a0ae-4cbc-855d-148d1ce95771","name":"Sample Request - Fully Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token","description":"Auth token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n        \"lead_id\": \"lead101\"\n    },\n    {\n        \"lead_id\": \"lead102\"\n    },\n    {\n        \"lead_id\": \"lead103\"\n    }\n]","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-deleted"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 31 May 2024 11:14:10 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx"},{"key":"Allow","value":"GET, POST, PATCH, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Vary","value":"Cookie"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"date"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"success\",\n    \"message\": \"Bulk operation completed successfully\",\n    \"result\": [\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead101\"\n            }\n        },\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead102\"\n            }\n        },\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead103\"\n            }\n        }\n    ],\n    \"metadata\": {\n        \"total_leads\": 3,\n        \"success\": 3,\n        \"failed\": 0\n    }\n}"},{"id":"459755bf-7348-4bc3-a603-51c82ee9c687","name":"Sample Request - Partially Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token","description":"Auth token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n        \"lead_id\": \"lead101\"\n    },\n    {\n        \"lead_id\": \"lead1023\"\n    },\n    {\n        \"lead_id\": \"lead_id_disable1\"\n    }\n]","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-deleted"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 31 May 2024 11:15:19 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx"},{"key":"Allow","value":"GET, POST, PATCH, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Vary","value":"Cookie"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"date"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"partial_sucess\",\n    \"message\": \"Bulk operation completed successfully\",\n    \"result\": [\n        {\n            \"status_code\": 404,\n            \"data\": {\n                \"error_msg\": \"lead_id:lead101 has been deleted from our platform.\"\n            }\n        },\n        {\n            \"status_code\": 400,\n            \"data\": {\n                \"error_msg\": \"lead_id:lead1023 doesn't exist on our platform.\"\n            }\n        },\n        {\n            \"status_code\": 200,\n            \"data\": {\n                \"lead_id\": \"lead_id_disable1\"\n            }\n        }\n    ],\n    \"metadata\": {\n        \"total_leads\": 3,\n        \"success\": 1,\n        \"failed\": 2\n    }\n}"},{"id":"852f9021-8862-4460-9e3e-de15220870b3","name":"Sample Request - Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer your_token","description":"Auth token"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"[\n    {\n        \"lead_id\": \"lead_id101\"\n    },\n    {\n        \n    },\n    {\n        \"lead_id\": \"lead_id103\"\n    }\n]","options":{"raw":{"language":"json"}}},"url":"https://api.squadstack.com/voice/crm-integration-v2/ref_id/lead-deleted"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 31 May 2024 11:13:49 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx"},{"key":"Allow","value":"GET, POST, PATCH, HEAD, OPTIONS"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Vary","value":"Cookie"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Expose-Headers","value":"date"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"failure\",\n    \"message\": \"Bulk operation completed successfully\",\n    \"result\": [\n        {\n            \"status_code\": 400,\n            \"data\": {\n                \"error_msg\": \"lead_id:lead_id101 doesn't exist on our platform.\"\n            }\n        },\n        {\n            \"status_code\": 400,\n            \"data\": {\n                \"error_msg\": \"{'lead_id': 'This field is required.'}\"\n            }\n        },\n        {\n            \"status_code\": 400,\n            \"data\": {\n                \"error_msg\": \"lead_id:lead_id103 doesn't exist on our platform.\"\n            }\n        }\n    ],\n    \"metadata\": {\n        \"total_leads\": 3,\n        \"success\": 0,\n        \"failed\": 3\n    }\n}"}],"_postman_id":"248ad1a3-5572-4747-a54a-d6104c4486d9"}],"id":"f71db816-ece3-4690-ba34-2bdfb3badc65","description":"<p><strong>Welcome to Squadstack Bulk API reference guide!</strong><br />Here you will find documentation around all our Bulk APIs and the relevant action that each API takes.</p>\n<p><strong>Some important points to note:</strong></p>\n<ul>\n<li><p>You can find a list your campaigns <a href=\"https://portal.app.squadstack.com/campaigns\">here</a></p>\n</li>\n<li><p>Please note that we provide campaign specific endpoints , and as such, you would be given a unique reference ID that would need to be substituted in your endpoint.<br />  Please reach out to your Squadstack POC or write to us at <a href=\"https://mailto:customer-integrations@squadstack.com\">customer-integrations@squadstack.com</a> to get your campaign specific reference IDs.</p>\n</li>\n<li><p>All of our endpoints can be accessed by basic authentication. You can access the token <a href=\"https://portal.app.squadstack.com/settings/integrations\">here</a>.</p>\n</li>\n</ul>\n<blockquote>\n<p>Please reach out to <a href=\"https://mailto:customer-integrations@squadstack.com\">customer-integrations@squadstack.com</a> in case you are unable to access the token </p>\n</blockquote>\n<ul>\n<li><p>Our standard rate limits are <strong>100 records per minute</strong>. Kindly contact <a href=\"https://mailto:customer-integrations@squadstack.com\">customer-integrations@squadstack.com</a> in case an increase of rate limit is needed.</p>\n</li>\n<li><p>We allow 100 leads per request in our Bulk APIs</p>\n</li>\n</ul>\n<p><strong>Prerequisites for whitelisting:</strong></p>\n<blockquote>\n<p>Please note that these are mandatory before you integrate our APIs </p>\n</blockquote>\n<ul>\n<li>Your IP Address(s)</li>\n</ul>\n<p><strong>Generic Response for each bulk API request:</strong></p>\n<p>On executing a bulk API request, the response for each request is a JSON object with the following properties:</p>\n<ul>\n<li><p>\"status\": Indicates the status of the bulk API operation</p>\n</li>\n<li><p>\"message\": Provides additional information about the overall response.</p>\n</li>\n<li><p>\"result\": An array containing objects; each object represets the result of a downstream request made for a specific lead.<br />  Each object will contain the following properties:</p>\n<ul>\n<li><p>\"status_code\": Status of the request against that specific lead</p>\n</li>\n<li><p>\"data\": An object containing details about the operation, which will include</p>\n<ul>\n<li><p>lead_id</p>\n</li>\n<li><p>all other input keys</p>\n</li>\n<li><p>an error message in case of a failed API request</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p>\"metadata\": An object providing metadata about the operation, including the total number of leads, successful operations, and failed operations.</p>\n</li>\n</ul>\n<blockquote>\n<p>For errors specific to individual leads, you may refer <a href=\"https://squadstack-integrations.postman.co/workspace/Squadstack-Integration-Document~8274c697-1419-4858-a0e3-d3487b308415/folder/32244764-263de7cc-d12c-4267-b831-795b3aa51b6e?action=share&amp;source=copy-link&amp;creator=32244764&amp;ctx=documentation\">this link</a></p>\n</blockquote>\n","_postman_id":"f71db816-ece3-4690-ba34-2bdfb3badc65"},{"name":"Common status codes and their meanings","item":[],"id":"263de7cc-d12c-4267-b831-795b3aa51b6e","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status Code</th>\n<th>Error Description</th>\n<th>Response message</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>401</td>\n<td>Unauthorised</td>\n<td>{\"error_msg\":\"Invalid auth token\"}  <br />{\"error_msg\":\"Token expired\"}</td>\n<td>The token that you provided is invalid. Please validate your token from <a href=\"https://portal.app.squadstack.com/settings/integrations\">here</a></td>\n</tr>\n<tr>\n<td>403</td>\n<td>Forbidden</td>\n<td>{\"error_msg\":\"You do not have permission to perform this action.\"}</td>\n<td>You are not allowed to access the endpoint you're using. If you think that this is a mistake, please write to us at <a href=\"https://mailto:customer-integrations@squadstack.com\">customer-integrations@squadstack.com</a></td>\n</tr>\n<tr>\n<td>404</td>\n<td>Not found</td>\n<td>{\"error_msg\":\"No active integration found.\"}{\"error_msg\":\"This endpoint is not enabled in your Integration”}</td>\n<td>The resource you are trying to access is not found.  <br />1. Please check if the endpoint is valid and active.  <br />2. If you are trying to action on a specific lead, please check if the lead exists in your campaign</td>\n</tr>\n<tr>\n<td>409</td>\n<td>Conflict</td>\n<td>{\"error_msg\":\"{\\\"error_type\\\":1,\\\"detail\\\":\\\"Another request for the same lead is getting processed already\\\"}\"}</td>\n<td>1. You are trying to make too many concurrent requests against the same lead. Please wait till your intitial request is processed  <br />2. You are trying to create a lead whose leadid is already present in your campaign</td>\n</tr>\n<tr>\n<td>429</td>\n<td>Rate Limit breached</td>\n<td>{Request was throttled. Please try after 60 seconds}</td>\n<td>You have reached your rate limit of 100 requests per minute. If you need the limits to be increased, please write to us at <a href=\"https://mailto:customer-integrations@squadstack.com\">customer-integrations@squadstack.com</a> with business justiication</td>\n</tr>\n<tr>\n<td>500</td>\n<td>Server Error</td>\n<td>{We're facing some technical issues. Please try again in a while.  <br />Meaning: There is a technical issue with the server; we are working on it.}</td>\n<td>Our server may be facing certain technical issues. In case the issues persist, please write to us at <a href=\"https://mailto:customer-integrations@squadstack.com\">customer-integrations@squadstack.com</a></td>\n</tr>\n<tr>\n<td>400</td>\n<td>Bad Request</td>\n<td>{\"error_msg\":\"{\"field_name\":[\"This field may not be blank./ Invalid value provided.\"]}\"}</td>\n<td>1. The phone number you have provided is not valid, please verify the same  <br />2. You may be sending NULL/empty values for our mandatory keys  <br />3. You may be sending invalid headers  <br />4. You may be using the wrong request type. All our endpoints work on HTTP POST method</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"263de7cc-d12c-4267-b831-795b3aa51b6e"},{"name":"Integrating with standard CRMs","item":[{"name":"Hubspot","item":[],"id":"5bdb49c2-b75f-4b42-bb54-8e1061872ca8","description":"<ul>\n<li><p>Method-1 : <a href=\"https://knowledge.hubspot.com/workflows/create-workflows\">Worfklows</a></p>\n<ul>\n<li>Prerequisites:<ul>\n<li>Marketing Hub Starter, Professional, or Enterprise account</li>\n<li>Login access to setup workflows</li>\n</ul>\n</li>\n<li>Pros:<ul>\n<li>Real time movement</li>\n<li>Minimal tech bandwidth needed</li>\n<li>Minimal setup time</li>\n<li>Can cater to high volume of data movement</li>\n</ul>\n</li>\n<li>Cons:<ul>\n<li>Does not work with basic subscription tiers</li>\n</ul>\n</li>\n<li>Setup Owner<ul>\n<li>Squadstack integrations team</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p>Method-2 : Airbyte (Hosted on Squadstack’s servers)</p>\n<ul>\n<li><p>Prerequisites:</p>\n<ul>\n<li>Any subscription plan</li>\n<li><a href=\"https://knowledge.hubspot.com/integrations/how-do-i-get-my-hubspot-api-key\">API keys</a></li>\n</ul>\n</li>\n<li><p>Pros:</p>\n<ul>\n<li>Works with all subscription plansModerate setup complexity</li>\n</ul>\n</li>\n<li><p>Cons:</p>\n<ul>\n<li>Data does not move in real time since Airbyte pulls data from Hubspot in batches</li>\n<li>Filtering and transformations have to be setup, so relatively higher setup time</li>\n</ul>\n</li>\n<li><p>Setup Owner:</p>\n<ul>\n<li>Squadstack integrations team</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n","_postman_id":"5bdb49c2-b75f-4b42-bb54-8e1061872ca8"},{"name":"Leadsquared","item":[],"id":"143614e5-001e-403a-a4c8-65c21b414770","description":"<ul>\n<li><p>Method 1: <a href=\"https://apidocs.leadsquared.com/lapps/\">LAPP</a></p>\n<ul>\n<li>Prerequisites:<ul>\n<li>LAPP functionality is enabled in your LSQ<br />  Involvement of Leadsquared LAPP team for setup</li>\n</ul>\n</li>\n<li>Pros:<ul>\n<li>Real time movement of data</li>\n<li>No to minimal tech bandwidth from your team, in case you are opting for Leadsqaured team’s integration services</li>\n<li>Customisation options</li>\n</ul>\n</li>\n<li>Cons:<ul>\n<li>Setup time is high; anywhere between one to two working weeks</li>\n<li>If you opt in for Leadsquared’s services, there could be a cost involved with it</li>\n</ul>\n</li>\n<li>Setup Owner:<ul>\n<li>Your tech team/ Leadsquared LAPP team</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p>Method 2: <a href=\"https://help.leadsquared.com/how-to-create-an-automation/\">Workflow</a></p>\n<ul>\n<li>Prerequisites<ul>\n<li>User with admin access</li>\n<li>Basic understanding of workflows</li>\n</ul>\n</li>\n<li>Pros:<ul>\n<li>Real time movement of data</li>\n<li>Minimal setup time and complexity</li>\n</ul>\n</li>\n<li>Cons:<ul>\n<li>No options to customize the data being sent out, so you may end up sending all of the lead’s metadata to us</li>\n<li>Since this can only be setup by an admin user, your admin user would need to set this up. Squadstack integration team will be present for guidance</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n","_postman_id":"143614e5-001e-403a-a4c8-65c21b414770"},{"name":"Freshsales","item":[],"id":"3dc894fa-cbbb-4af2-b002-f6c26461c471","description":"<ul>\n<li><p>Method: <a href=\"https://crmsupport.freshworks.com/en/support/solutions/articles/50000003017-how-to-use-journeys-with-webhooks-\">Webhooks</a></p>\n<ul>\n<li>Prerequisites:<ul>\n<li>Available for paid accounts on Freshmarketer and Freshsales suite only</li>\n<li>User with access to setup webhooks</li>\n</ul>\n</li>\n<li>Pros:<ul>\n<li>Real time movement of data</li>\n</ul>\n</li>\n<li>Cons:<ul>\n<li>None as such</li>\n</ul>\n</li>\n<li>Setup Owner:<ul>\n<li>Squadstack integrations team + your CRM POC</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n","_postman_id":"3dc894fa-cbbb-4af2-b002-f6c26461c471"},{"name":"Shopify","item":[],"id":"6d2c2d05-4893-4e21-8710-f2936fee6f5c","description":"<ul>\n<li><p>Method: Airbyte (Hosted on Squadstack’s servers)</p>\n<ul>\n<li><p>Prerequisites:</p>\n<ul>\n<li>As mentioned <a href=\"https://docs.airbyte.com/integrations/sources/shopify?__hstc=27854691.922cd4bc601961351986ddc624c2031a.1685445054969.1689930052889.1702058393531.4&amp;__hssc=27854691.6.1702058393531&amp;__hsfp=3221486661&amp;_gl=1*1roa8nl*_ga*MTI0NzMwNjQxMC4xNjg1NDQ1MDU0*_ga_HDBMVFQGBH*MTcwMjA1ODM4My43LjEuMTcwMjA1ODQyOC4wLjAuMA..#prerequisites\">here</a></li>\n</ul>\n</li>\n<li><p>Pros:</p>\n<ul>\n<li>Minimal to no tech bandwidth from your team</li>\n</ul>\n</li>\n<li><p>Cons:</p>\n<ul>\n<li>Movement is not real time</li>\n</ul>\n</li>\n<li><p>Setup Owner:</p>\n<ul>\n<li>Squadstack integrations team</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n","_postman_id":"6d2c2d05-4893-4e21-8710-f2936fee6f5c"}],"id":"5f870728-237f-46e1-a6e5-5d487d722c92","description":"<p>We have vast experience integrating with a lot of standard CRMs. Here's how we commonly integrate with them</p>\n","_postman_id":"5f870728-237f-46e1-a6e5-5d487d722c92"},{"name":"Disposition updates","item":[],"id":"740cab39-a8f7-4988-989d-9daac31ad8fb","description":"<p>A key part of integrating with us is our ability to keep your system up to date on the actions taken by Squadstack on the lead!</p>\n<p>Here are the most common actions(referred to as events henceforth)</p>\n<ul>\n<li><p>Call</p>\n</li>\n<li><p>Whatsapp message</p>\n</li>\n<li><p>SMS</p>\n</li>\n<li><p>Email</p>\n</li>\n<li><p>Judgement</p>\n</li>\n<li><p>IVR</p>\n</li>\n</ul>\n<p>For each of these events, there is a standard set of data that we capture along with a disposition. Depending upon your usecase, we would also be collecting script specific information from the lead.<br />Here's some standard data that we can send back to your system on each event:</p>\n<ul>\n<li>Call: On every call made to the lead, we will be able to send the following metadata to you. Along with these fields, we can also send back any other information captured over the call specific to your usecase</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"phone_number\": \"+91xxxxxxxxxx\",\n    \"lead_id\": \"test_lead_id\",\n    \"recording_url\": \"https://www.squadstack.ai/\",\n    \"campaign_id\": \"{campaign_id}\",\n    \"called_at\": \"2018-12-03T14:36:38+00:00\",\n    \"call_outcome\": \"Connected : Objective Met\",\n    \"contact_name\": \"John Doe\",\n    \"created_at\": \"2018-12-03T14:36:01+00:00\",\n    \"call_attempt_number\": 1\n}\n\n</code></pre>\n<ul>\n<li>Judgement: A lead judge event takes place when the journey of the lead ends. This could also be interpreted as the event that is triggered when the last call is made to the lead.</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"phone_number\": \"+91xxxxxxxxxx\",\n    \"lead_id\": \"test_lead_id\",\n    \"latest_recording_url\": \"https://www.squadstack.ai/\",\n    \"campaign_id\": \"{campaign_id}\",\n    \"latest_called_at\": \"2018-12-03T14:36:38+00:00\",\n    \"lead_outcome\": \"Payment complete\",\n    \"processed_at\": \"2018-12-03T14:37:54+00:00\",\n    \"contact_name\": \"John Doe\",\n    \"created_at\": \"2018-12-03T14:36:01+00:00\",\n    \"additional_notes\": \"additional_notes\"\n }\n\n</code></pre>\n","_postman_id":"740cab39-a8f7-4988-989d-9daac31ad8fb"},{"name":"FAQs","item":[],"id":"97f46e54-aa5b-42eb-88ba-6d9ec6657808","description":"<ul>\n<li><p><strong>How do we access our API token?</strong></p>\n<ul>\n<li>You can access your token by clicking <a href=\"https://portal.app.squadstack.com/settings/integrations\">here</a> . Alternatively, you can login to <a href=\"https://portal.app.squadstack.com/campaigns\">Squadstack’s customer portal</a> and navigate to Settings-&gt;Integrations.</li>\n<li>Note that API integration needs to be enabled for your user. Please reach out to your Customer Success manager or write to us at <a href=\"https://mailto:customer-integrations@squadstack.com\">customer-integrations@squadstack.com</a> in case you are facing any issues</li>\n</ul>\n</li>\n<li><p><strong>What are the rate limits that you currently support?</strong></p>\n<ul>\n<li>Our default rate limit is 100 requests per minute for your business. If an increase of rate limits is needed to accommodate for high lead flow, let us know and we will increase based on the business need.</li>\n</ul>\n</li>\n<li><p><strong>How many leads can we create in a day?</strong></p>\n<ul>\n<li>There is no upper limit to the number of leads you can create in a day as long as rate limits get adhered to. Note that we would need some time to align our supply and operations to cater to the leads so we would recommend you to notify your Customer success manager about the same</li>\n</ul>\n</li>\n<li><p><strong>What kind of data can we get back from Squadstack after my lead is catered to?</strong></p>\n<ul>\n<li>We collect a lot of generic metadata that we can send back to your system. Please refer to <a href=\"https://galactic-crescent-483003.postman.co/workspace/Squadstack-Integration-Document~8274c697-1419-4858-a0e3-d3487b308415/folder/32244764-740cab39-a8f7-4988-989d-9daac31ad8fb?ctx=documentation\">disposition updates</a> section for the same. Along with the standard metadata, we can also send back any information that is captured over the call as per the script</li>\n</ul>\n</li>\n<li><p><strong>How can you send these updates to us?</strong></p>\n<ul>\n<li>You can share your API/Webhook documentation along with your expected data format, and we can build an integration setup that sends the updates in your format, as accepted by your system. We can also write this info into your S3 bucket. If none of these methods can be used, please connect with the Squadstack integrations team to evaluate alternatives</li>\n</ul>\n</li>\n<li><p><strong>We want to run multiple campaigns with Squadstack, but do not wish to consume multiple API endpoints. Can we have something generic that can be reused for all campaigns?</strong></p>\n<ul>\n<li>Yes, we do have a router system ready. Let us know of the requirements here, and we will be happy to explain this in detail</li>\n</ul>\n</li>\n<li><p><strong>Is it possible to share encrypted information through integration?</strong></p>\n<ul>\n<li>Yes, we are actively working with a lot of companies in the Fintech space where data is shared with us in encrypted format. Let us know your encryption algorithm as well as decryption mechanism and we will setup the necessary steps on our side</li>\n</ul>\n</li>\n<li><p><strong>Have more queries?</strong></p>\n<ul>\n<li>You can write to us at <a href=\"https://mailto:customer-integrations@squadstack.com\">customer-integrations@squadstack.com</a>, and we will get back to you within 24 hours. Alternatively you can directly connect with you customer success manager for urgent requests</li>\n</ul>\n</li>\n</ul>\n","_postman_id":"97f46e54-aa5b-42eb-88ba-6d9ec6657808"}],"event":[{"listen":"prerequest","script":{"id":"0cb5f3a0-0362-44ab-a10b-dd3159780721","type":"text/javascript","packages":{},"exec":[""]}},{"listen":"test","script":{"id":"4fa6db50-3c6b-4dea-9a23-c7fb45850c3c","type":"text/javascript","packages":{},"exec":[""]}}],"variable":[{"key":"token","value":"your_token","type":"string"},{"key":"ref_id","value":"ref_id","type":"string"}]}