{"info":{"_postman_id":"71cc5944-822f-45e7-815e-b1bb39d67494","name":"Loop API Documentation 2.46","description":"<html><head></head><body><p>Documentation for Version 2.46 of the Loop API.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"3974140","collectionId":"71cc5944-822f-45e7-815e-b1bb39d67494","publishedId":"UV5aevTA","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2025-10-02T10:40:09.000Z"},"item":[{"name":"Authentication","item":[{"name":"Get Token","id":"86603421-d349-4d59-85c2-4e62d315d42c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","name":"Content-Type","value":"application/x-www-form-urlencoded","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"grant_type","value":"password","type":"text"},{"key":"username","value":"{{UserName}}","type":"text"},{"key":"password","value":"{{Password}}","type":"text"}]},"url":"{{BaseUrl}}/api/auth/token","description":"<p>Retrieve a token to use to authenticate subsequent requests.</p>\n<p>Note: This request is the only request in the Loop API which requires \"Content-Type: application/x-www-form-urlencoded\" header.</p>\n","urlObject":{"path":["api","auth","token"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"86603421-d349-4d59-85c2-4e62d315d42c"},{"name":"Refresh Token","id":"ec52265f-63ef-4bbd-a858-a94fad3cace3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded","type":"text"}],"body":{"mode":"urlencoded","urlencoded":[{"key":"grant_type","type":"text","value":"password"},{"key":"username","type":"text","value":"{{UserName}}"},{"key":"password","type":"text","value":"{{Password}}"}]},"url":"{{BaseUrl}}/api/auth/token","description":"<p>Retrieve a token to use to authenticate subsequent requests.</p>\n<p>Note: This request is the only request in the Loop API which requires \"Content-Type: application/x-www-form-urlencoded\" header.</p>\n","urlObject":{"path":["api","auth","token"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"ec52265f-63ef-4bbd-a858-a94fad3cace3"},{"name":"Login","id":"0fb0ab1e-84ae-4212-a6ea-541d9ae2db76","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"username\": \"{{username}}\", \r\n    \"password\": \"{{password}}\",\r\n    \"appKey\": \"{{AppKey}}\",\r\n    \"codeVersion\": \"0.0.0.1\"\r\n}","options":{"raw":{"language":"json"}}},"url":"{{BaseUrl}}/api/auth/login","description":"<p>Retrieve a token to use to authenticate subsequent requests.</p>\n<p>Note: This request is the only request in the Loop API which requires \"Content-Type: application/x-www-form-urlencoded\" header.</p>\n","urlObject":{"path":["api","auth","login"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"0fb0ab1e-84ae-4212-a6ea-541d9ae2db76"}],"id":"0acc09fa-17b5-430a-955f-b2bcd637c1fb","description":"<p>The Loop API supports Basic and Bearer authentication.</p>\n<h2 id=\"basic-authentication\">Basic authentication</h2>\n<p>To use Basic Authentation a header must be supplied with each request in the following format:<br />Authorization: Basic {credentials}</p>\n<p>To generate the {credentials} variable. A string in the format \"{username}:{password}\" must be Base64 encoded.<br />e.g. Username=\"User1\" and Password=\"PasswordX\" will generate a string \"User1:PasswordX\" which is Base64 encoded to generate \"VXNlcjE6UGFzc3dvcmRY\".</p>\n<h2 id=\"bearer-authentication\">Bearer authentication</h2>\n<p>To use Bearer (or Token) Authentation an initial request must be made to generate a token. Once the token has been retrieved it must be supplied as a header in subsequent requests using the following format:</p>\n<p>Authorization: bearer {token}</p>\n","event":[{"listen":"prerequest","script":{"id":"acdc2ffe-6025-4c1d-b9fd-d388e85a06d4","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"fd9ad126-2e77-4ecd-9ec4-1454eb5fe993","type":"text/javascript","exec":[""]}}],"_postman_id":"0acc09fa-17b5-430a-955f-b2bcd637c1fb"},{"name":"Candidate","item":[{"name":"Attachments","item":[{"name":"Upload Candidate Attachment","id":"fb378436-3a66-47c3-9ce9-53103a43e968","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \r  \"candidateId\": 123456,\r  \"fileName\": \"john.doe_cv.docx\", \r  \"lastModified\": \"2016-09-26T12:00:00\", \r  \"blob\": \"0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7……..///\",\r  \"companyId\": 456789\r} \r"},"url":"https://integrations.loopworks.com/api/candidate/attachment/upload","description":"<p>The body of the candidate attachment upload request should be json as follows. </p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>The candidateId is required and must be a valid candidate which the current user has access to update.</li> \n<li>The fileName is required and must include a valid extension.</li>\n<li>The LastModified property is an optional parameter but should be provided if known.</li>\n<li>The Blob property is a Base64 encoded string representation of the resume file.</li>\n<li>If companyID is provided then access to the attachment that is sent will be restricted to users who have access to the nominated company.</li>\n</ul>\n\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will json as follows...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n  \"url\":\"A URL CONTAINING A SAS TOKEN\",\n  \"fileName\":\"TestFile.doc\",\n  \"dateUploaded\":\"2016-11-02T16:52:21.2457976Z\"\n}\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"protocol":"https","path":["api","candidate","attachment","upload"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[{"id":"ef192614-dd54-43fb-8636-332dcdc864c9","name":"Get Candidate Activity Feed","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/candidate/note/{id}"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\"page\": 1,\r\"pageSize\": 25,\rcandidateId:\"12345\",\rfrom: \"2016-01-01\",\rto: \"2016-06-01\"\r}\r"},{"id":"a65d6330-14a4-401e-9dde-003fe757ba34","name":"Get Candidate Activity Feed","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/candidate/note/{id}"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\"page\": 1,\r\"pageSize\": 25,\rcandidateId:\"12345\",\rfrom: \"2016-01-01\",\rto: \"2016-06-01\"\r}\r"}],"_postman_id":"fb378436-3a66-47c3-9ce9-53103a43e968"},{"name":"Replace Candidate Attachment","id":"fae1d12f-ddfa-433a-a05b-fecc79d0796a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \r  \"attachmentId\": 567890,\r  \"fileName\": \"john.doe_cv2.docx\", \r  \"blob\": \"0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7……..///\"\r}"},"url":"https://integrations.loopworks.com/api/candidate/attachment/replace","description":"<p>The body of the candidate attachment replace request should be json as follows. </p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>The attachmentId is required and must be a valid candidate attchment which the current user has access to.</li> \n<li>The fileName is required and must include a valid extension.</li>\n<li>The Blob property is a Base64 encoded string representation of the attachment.</li>\n</ul>\n\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will json as follows...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n  \"attachmentId\": 567890,\n  \"url\":\"A URL CONTAINING A SAS TOKEN\",\n  \"fileName\":\"TestFile.doc\",\n  \"dateUploaded\":\"2016-11-02T16:52:21.2457976Z\",\n  \"companyId\": 123\n}\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate attachment exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"No Attachment found with ID=567890 (or is not acccessible by the current user)”]}\n```","urlObject":{"protocol":"https","path":["api","candidate","attachment","replace"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[{"id":"7b8960ad-e43d-49b4-b0cc-856aa943add7","name":"Get Candidate Activity Feed","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/candidate/note/{id}"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\"page\": 1,\r\"pageSize\": 25,\rcandidateId:\"12345\",\rfrom: \"2016-01-01\",\rto: \"2016-06-01\"\r}\r"},{"id":"b55039cd-a8d9-4c6f-8226-cfb647bd9936","name":"Get Candidate Activity Feed","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/candidate/note/{id}"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\"page\": 1,\r\"pageSize\": 25,\rcandidateId:\"12345\",\rfrom: \"2016-01-01\",\rto: \"2016-06-01\"\r}\r"}],"_postman_id":"fae1d12f-ddfa-433a-a05b-fecc79d0796a"},{"name":"Rename Candidate Attachment","id":"4b9a5022-e6a4-4bab-82b4-e4a948b3c354","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \r  \"attachmentId\": 567890,\r  \"fileName\": \"john.doe_cv2.docx\"\r}"},"url":"https://integrations.loopworks.com/api/candidate/attachment/rename","description":"<p>The body of the candidate attachment rename request should be json as follows. </p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>The attachmentId is required and must be a valid candidate attachment which the current user has access to.</li> \n<li>The fileName is required and must include a valid extension.</li>\n</ul>\n\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will json as follows...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n  \"attachmentId\": 567890,\n  \"url\":\"A URL CONTAINING A SAS TOKEN\",\n  \"fileName\":\"TestFile.doc\",\n  \"dateUploaded\":\"2016-11-02T16:52:21.2457976Z\",\n  \"companyId\": 123\n}\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"protocol":"https","path":["api","candidate","attachment","rename"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[{"id":"c25700eb-83f7-41da-bd7f-26c145e8581d","name":"Get Candidate Activity Feed","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/candidate/note/{id}"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\"page\": 1,\r\"pageSize\": 25,\rcandidateId:\"12345\",\rfrom: \"2016-01-01\",\rto: \"2016-06-01\"\r}\r"},{"id":"15e6b91b-a280-4e8d-b91c-e597c03fcc53","name":"Get Candidate Activity Feed","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/candidate/note/{id}"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\"page\": 1,\r\"pageSize\": 25,\rcandidateId:\"12345\",\rfrom: \"2016-01-01\",\rto: \"2016-06-01\"\r}\r"}],"_postman_id":"4b9a5022-e6a4-4bab-82b4-e4a948b3c354"},{"name":"Get Candidate Attachments","id":"174709c9-dc47-409f-98be-5e092dd3d519","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"url":"{{BaseUrl}}/api/candidate/attachment/{candidateId}","description":"<p>This will return all attachments for the given candidate. </p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>All the request body attributes are optional except the candidateId</li>\n<li>PageSize defaults to 25</li>\n<li>Page defaults to 1</li>\n<li>Attachments will be omitted from the results if they are associated with a specific CompanyID, and the user does not have access to that company.</li>\n</ul>\n\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will be an array of activity feed items...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n    [\n    {\n      \"attachmentId\": 123,\n      \"url\": \"\\\\someurl.com\\abcd\\attachment1.doc\",\n      \"fileName\": \"attachment1.doc\",\n      \"dateUploaded\": \"2016-05-26T09:43:29.417\",\n      \"companyId\": 567\n    },\n    {\n      \"attachmentId\": 124,\n      \"url\": \"\\\\someurl.com\\abcd\\attachment2.doc\",\n      \"fileName\": \"attachment2.doc\",\n      \"dateUploaded\": \"2016-07-4T09:14:34.176\",\n      \"companyId\": null\n    }\n    ]\n}\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"path":["api","candidate","attachment","{candidateId}"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"10a31c9f-614e-486f-97e6-f7137f80cd3a","name":"Get Candidate Activity Feed","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/candidate/attachment/{id}"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\"page\": 1,\r\"pageSize\": 25,\rcandidateId:\"12345\",\rfrom: \"2016-01-01\",\rto: \"2016-06-01\"\r}\r"}],"_postman_id":"174709c9-dc47-409f-98be-5e092dd3d519"},{"name":"Delete Candidate Attachment","id":"856e989c-8d73-45dc-8da3-7d618aa4ba92","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"https://integrations.loopworks.com/api/candidate/attachment/delete/{attachmentId}","description":"<p>Removes the specified attachment (assuming that the user has appropriate rights to perform this action). </p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>If the given attachmentID is not valid an error will be returned</li>\n<li>If the attachment to be deleted is associated with a specific CompanyID, then it will be deleted only if the user has access to that company; otherwise an error will be returned.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will json as follows...\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"Success\":true,\"Message\":[\"Successfully deleted Attachment”]}\n</code></pre>\n<h4>ERRORS</h4>\nIf no attachment exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"No Attachment found with ID=567890 (or is not acccessible by the current user)\"]}\n```","urlObject":{"protocol":"https","path":["api","candidate","attachment","delete","{attachmentId}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[{"id":"5ad04d94-fd67-47df-9d60-b6ecb5225192","name":"Get Candidate Activity Feed","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"https://integrations.loopworks.com/api/candidate/attachment/delete/{attachmentId}"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\"page\": 1,\r\"pageSize\": 25,\rcandidateId:\"12345\",\rfrom: \"2016-01-01\",\rto: \"2016-06-01\"\r}\r"}],"_postman_id":"856e989c-8d73-45dc-8da3-7d618aa4ba92"}],"id":"a5e5b590-84da-4efb-a067-a92396134611","_postman_id":"a5e5b590-84da-4efb-a067-a92396134611","description":""},{"name":"Contact Methods","item":[{"name":"Add Candidate Contact Methods","id":"da0f5c17-9025-4a22-bd96-cbe448adb284","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r  \"id\": \"12345\",\r  \"type\": \"email\",\r  \"address\": \"abc@gmail.com\",\r  \"number\": null,\r  \"location\": \"Home\",\r  \"isPrimary\": true\r}\r"},"url":"{{BaseUrl}}/api/candidate/contact","description":"<p>Add a candidate contact method</p>\n<p>We assume that contact methods being added are new. If an exact match is found on location &amp; method &amp; address/number then a duplicate will not be created. In this scenario no action will be taken.</p>\n<h4>NOTES</h4>\nThe following constraints apply to candidates created via the API:\n \n<ul>\n<li>The id passed in the body of the request is the candidateId for the candidate for whom the new contact method should be created.</li>\n<li>At the time of writing, supported ContactTypes are: \"email\" and \"phone\".</li>\n<li>Supported Locations are mobile, home, work (at the of writing) – this meta-data should be retrieved through the contactMethod type get operation to allow for future additions).</li>\n<li>If the location is not provided then the location will default to \"Other\".</li>\n<li>If the type is phone then \"number\" must be specified. For anything else, then the address property should be specified.</li>\n<li>At least one contact method of each type and location must be marked as isPrimary=true at any time. When a contact method is upserted with isPrimary=true then all other existing contact methods of the given type and location will be marked as isPrimary=false. If isPrimary=false, it will still be treated as if isPrimary=true if the contact is the only contact methods of the given type and location (it must be primary since it is the only one).</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\nThe following JSON will be returned on success:\n```javascript\n{\"Success\": \"true\",\"Errors\":null}\n```\n\n<h4>ERRORS</h4>\nFor all other errors the following will be returned with an array of error messages.\n```javascript\n{\"Success\":false,\"Errors\":[\"Email is invalid\"]}\n```","urlObject":{"path":["api","candidate","contact"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"9f2839e4-1a5b-42aa-8687-285ddc50c3df","name":"Upsert Candidate Contact Methods{   \"id\": \"12345\",   \"type\": \"email\",   \"address\": \"abc@gmail.com\" }","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\t\"id\": \"12345\",\r\t\"type\": \"email\",\r\t\"address\": \"abc@gmail.com\"\r}\r"},"url":"https://integrations.loopworks.com/api/candidate/contact"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r  \"id\": \"12345\",\r  \"type\": \"email\",\r  \"address\": \"abc@gmail.com\"\r}\r"},{"id":"2b7bc767-62f3-46b0-ba5b-c73da53db1ce","name":"Upsert Candidate Contact Methods","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\t\"id\": \"12345\",\r\t\"type\": \"email\",\r\t\"address\": \"abc@gmail.com\"\r}\r"},"url":"https://integrations.loopworks.com/api/candidate/contact"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r  \"id\": \"12345\",\r  \"type\": \"phone\",\r  \"location\": \"mobile\",\r  \"number\": \"01123456\"\r}\r"}],"_postman_id":"da0f5c17-9025-4a22-bd96-cbe448adb284"},{"name":"Update Candidate Contact Method","id":"5b4c6abd-4005-4d89-a717-7da4daf1c063","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r  \"contactId\": \"12345\",\r  \"newValue\": \"abc@gmail.com\",\r  \"isPrimary\": true\r}\r"},"url":"{{BaseUrl}}/api/candidate/contact/update","description":"<p>Update an existing candidate contact method, specified by contactId.</p>\n<p>The only properties that can be updated are address/number and isPrimary. If you need to change the location or method then you need to delete the existing record and create a new one.</p>\n<h4>NOTES</h4>\nThe following constraints apply to candidates created via the API:\n \n<ul>\n<li>At least one contact method of each type must be marked as isPrimary=true at any time. When a contact method is upserted with isPrimary=true then all other existing contact methods of the given type will be marked as isPrimary=false.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\nThe following JSON will be returned on success:\n```javascript\n{\"Success\": \"true\",\"Errors\":null}\n```\n\n<h4>ERRORS</h4>\nFor all other errors the following will be returned with an array of error messages.\n```javascript\n{\"Success\":false,\"Errors\":[\"Email is invalid\"]}\n```","urlObject":{"path":["api","candidate","contact","update"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"ec6f6af1-613f-4a12-812e-0dfacf2b3b30","name":"Upsert Candidate Contact Methods","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\t\"id\": \"12345\",\r\t\"type\": \"email\",\r\t\"address\": \"abc@gmail.com\"\r}\r"},"url":"https://integrations.loopworks.com/api/candidate/contact"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r  \"id\": \"12345\",\r  \"type\": \"phone\",\r  \"location\": \"mobile\",\r  \"number\": \"01123456\"\r}\r"},{"id":"6b14a584-4ef6-4bb5-97bf-f386728de067","name":"Upsert Candidate Contact Methods{   \"id\": \"12345\",   \"type\": \"email\",   \"address\": \"abc@gmail.com\" }","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\t\"id\": \"12345\",\r\t\"type\": \"email\",\r\t\"address\": \"abc@gmail.com\"\r}\r"},"url":"https://integrations.loopworks.com/api/candidate/contact"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r  \"id\": \"12345\",\r  \"type\": \"email\",\r  \"address\": \"abc@gmail.com\"\r}\r"}],"_postman_id":"5b4c6abd-4005-4d89-a717-7da4daf1c063"},{"name":"Delete Candidate Contact Method","id":"166629be-a284-4785-9b8d-88fc11a0e1b7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"{{BaseUrl}}/api/candidate/contact/delete/{contactId}","description":"<p>Delete an existing candidate contact method, specified by the unique contactId.</p>\n<h4>SUCCESS RESPONSE</h4>\nThe following JSON will be returned on success:\n```javascript\n{\"Success\": \"true\",\"Errors\":null}\n```\n\n<h4>ERRORS</h4>\nFor all other errors the following will be returned with an array of error messages.\n```javascript\n{\"Success\":false,\"Errors\":[\"Contact with ID=1234 does not exist (or is not accessible)\"]}\n```","urlObject":{"path":["api","candidate","contact","delete","{contactId}"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"d5b54de8-0ae3-43fe-a00c-c4b3efddd941","name":"Upsert Candidate Contact Methods{   \"id\": \"12345\",   \"type\": \"email\",   \"address\": \"abc@gmail.com\" }","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\t\"id\": \"12345\",\r\t\"type\": \"email\",\r\t\"address\": \"abc@gmail.com\"\r}\r"},"url":"https://integrations.loopworks.com/api/candidate/contact"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r  \"id\": \"12345\",\r  \"type\": \"email\",\r  \"address\": \"abc@gmail.com\"\r}\r"},{"id":"d3c507ec-a2e4-4bf7-8943-050727af654e","name":"Upsert Candidate Contact Methods","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\t\"id\": \"12345\",\r\t\"type\": \"email\",\r\t\"address\": \"abc@gmail.com\"\r}\r"},"url":"https://integrations.loopworks.com/api/candidate/contact"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r  \"id\": \"12345\",\r  \"type\": \"phone\",\r  \"location\": \"mobile\",\r  \"number\": \"01123456\"\r}\r"}],"_postman_id":"166629be-a284-4785-9b8d-88fc11a0e1b7"}],"id":"0250e460-7de4-49cd-afa2-1f9eeaf4be5b","_postman_id":"0250e460-7de4-49cd-afa2-1f9eeaf4be5b","description":""},{"name":"Global Status","item":[{"name":"Set Candidate's Global Status","id":"eef24378-115b-454d-a5c8-85fb9bea4cc4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \r  \"globalStatusId\": \"3\", \r  \"candidateId\": \"34286933\" \r} \r"},"url":"https://integrations.loopworks.com/api/globalstatus","description":"<p>This will return all notes against the given candidates. </p>\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will be an array of notes...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"Success\":false,\"message\":\"Status successfully updated for candidate with ID 34286933\"}\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"protocol":"https","path":["api","globalstatus"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"eef24378-115b-454d-a5c8-85fb9bea4cc4"},{"name":"Get Candidate's Global Status","id":"efab47bc-44ad-42e5-8929-37ab84af665f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/candidate/globalstatus/{id}","description":"<p>This will return the global status for the specified candidates. </p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>The ID should be the loop id for the given candidate record.</li>\n<li>This data is also passed in the call to get candidates so should not be necessary unless the status of the candidate is expected to have changed since the initial get request. </li>\n</ul>\n\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will be global status...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"globalStatusId\":2,\"status\":\"Under Review\"} \n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"protocol":"https","path":["api","candidate","globalstatus","{id}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"efab47bc-44ad-42e5-8929-37ab84af665f"}],"id":"7198137c-13a3-4011-8076-bad2473a6099","_postman_id":"7198137c-13a3-4011-8076-bad2473a6099","description":""},{"name":"Tags","item":[{"name":"Get Candidate's Tags (Obsolete)","id":"68dd45aa-186e-4de4-92c1-eed437708a2c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/candidate/tag/{id}","description":"<p>This will return the tags assigned to the specified candidates. </p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>The ID should be the loop id for the given candidate record.</li>\n</ul>\n\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response include the candidateID and the list of that candidates tags..\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n  \"candidateId\":12345,\n  \"tags\":[\"TAG1\",\"TAG2\",\"TAG3\",\"TAG4\"]\n} \n\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"protocol":"https","path":["api","candidate","tag","{id}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"68dd45aa-186e-4de4-92c1-eed437708a2c"},{"name":"Get Candidate's Tags V2","id":"5d99d82d-0cd6-4805-963f-a5e56fc8cdd5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/v2/candidate/tag/{id}","description":"<p>This will return the tags assigned to the specified candidate.</p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>The ID should be the loop id for the given candidate record.</li>\n</ul>\n\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response include the candidateID and the list of that candidates tags..\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n  \"candidateId\":12345,\n  \"tags\":[\n    {\n    \"tagId\":230825,\n    \"candidateTagId\":8537753,\n    \"tag\":\"New Tag Test 16 Apr\"\n    },{\n    \"tagId\":227367,\n    \"candidateTagId\":8537754,\n    \"tag\":\"New Tag Test 1234 \"\n    }\n  ]\n}\n\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"protocol":"https","path":["api","v2","candidate","tag","{id}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"5d99d82d-0cd6-4805-963f-a5e56fc8cdd5"},{"name":"Remove Candidate's Tag","id":"24a34ee3-646f-4d94-8d00-5c27f28b26f4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r  \"candidateId\": 12345,\r  \"tag\": \"TEST_TAG\"\r}\r"},"url":"https://integrations.loopworks.com/api/candidate/tag/remove","description":"<p>Deletes a tag from the specified candidate record.</p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>If the candidate does not have an associated tag with the provided name then an error will be returned</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will be the standard json response structure...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"Success\":false,\"message\":\"Tag \\\"TEST_TAG\\\" successfully removed for candidate with ID 26471436\"}\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"protocol":"https","path":["api","candidate","tag","remove"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"24a34ee3-646f-4d94-8d00-5c27f28b26f4"},{"name":"Tag Candidate (Obsolete)","id":"627a1147-45b1-46b5-966a-f15e180fac4b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r  \"candidateId\": 12345,\r  \"tag\": \"TEST_TAG\",\r  \"companyId\": 1111\r}\r"},"url":"https://integrations.loopworks.com/api/candidate/tag","description":"<p>Tags the candidate with the specified Tag.</p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>The tag supplied in the body should be a pre-existing tag already defined in the system and accessible via the call to /api/tags. If not, a new tag will be created on the fly and associated with the given companyId (if specified).</li>\n<li>The companyID is optional. If specified, then the tag matching will filter on companyID and a new tag will eb created if no tag exists with the specified tag value and companyID</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will be the standard json response structure...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"Success\":false,\"message\":\"Tag \\\"TEST_TAG\\\" successfully added for candidate with ID 26471436\"}\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"protocol":"https","path":["api","candidate","tag"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"627a1147-45b1-46b5-966a-f15e180fac4b"},{"name":"Tag Candidate V2","id":"b2ea3119-0552-4a61-b6ef-ddba050ff68d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r  \"candidateId\": 12345,\r  \"ids\": [230825,227367]\r}\r"},"url":"https://integrations.loopworks.com/api/v2/candidate/tag","description":"<p>Tags the candidate with the specified Tag.</p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>The id supplied in the body should specify one or more existing tag ids. If any of the ids refert o tags which do not exist or are not accessible in the current context, the the request will fail.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will be the standard json response structure...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n\"ids\":{\"987\":\"ABCD\"},\n\"statusCode\":null,\n\"success\":true,\n\"message\":\"Tags successfully added for candidate with ID 12345\",\n\"errors\":[]\n}\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"protocol":"https","path":["api","v2","candidate","tag"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b2ea3119-0552-4a61-b6ef-ddba050ff68d"}],"id":"00fac8ad-650c-44e2-ad16-bed93756dc69","_postman_id":"00fac8ad-650c-44e2-ad16-bed93756dc69","description":""},{"name":"Resume","item":[{"name":"Upload Candidate Resume","id":"6e034090-2355-4d19-b883-695f70cfbea4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \r  \"candidateId\": 12345,\r  \"fileName\": \"john.doe_cv.docx\", \r  \"lastModified\": \"2016-09-26T12:00:00\", \r  \"blob\": \"0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7……..///\"\r} \r"},"url":"{{BaseUrl}}/api/candidate/resume/upload","description":"<p>Uploads a resume and associates it with the given candidate.</p>\n<h4>NOTES</h4>\n\n  \n<p>The following constraints apply:  </p>\n<ul><li><p>The candidateId is required and must be a valid candidate which the current user has access to update.</p></li><li><p>The fileName is required and must include a valid extension.</p></li><li><p>The LastModified property is an optional parameter but should be provided if known.</p></li><li><p>The Blob property is a Base64 encoded string representation of the resume file.</p></li><li><p>The updateCandidate property is optional. When true, the candidate record is automatically updated with data parsed from the resume. When false, the resume is uploaded and attached to the candidate record, but the candidate record itself is not changed. When not specified, this property defaults to true.</p></li></ul>\n\n<h4>SUCCESS RESPONSE</h4>\n\n  \n<p>For a successful call the response will json as follows...<br />e.g.  </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"Success\":false,\"Message\":[\"Successfully uploaded resume”]}\n\n</code></pre>\n<h4>ERRORS</h4>\n\n  \n<p>If no candidate exists with the id then the following json response will be returned.<br />```javascript<br />{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}<br />```</p>\n","urlObject":{"path":["api","candidate","resume","upload"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"d0b5c099-651b-4ee5-9fe1-17306c598351","name":"Get Candidate Activity Feed","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \r  \"candidateId\": 12345,\r  \"fileName\": \"john.doe_cv.docx\", \r  \"lastModified\": \"2016-09-26T12:00:00\", \r  \"blob\": “0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7……..///” \r} \r"},"url":"https://integrations.loopworks.com/api/candidate/resume/upload"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\"page\": 1,\r\"pageSize\": 25,\rcandidateId:\"12345\",\rfrom: \"2016-01-01\",\rto: \"2016-06-01\"\r}\r"}],"_postman_id":"6e034090-2355-4d19-b883-695f70cfbea4"},{"name":"Delete Candidate Resume","id":"1f6eab56-adec-4f65-b830-73d345b87394","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"{{BaseUrl}}/api/candidate/resume/delete/{resumeId}","description":"<p>Removes the specified resume (assuming that the user has appropriate rights to perform this action).</p>\n<h4>SUCCESS RESPONSE</h4>\n\n<p>For a successful call the response will json as follows...</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"Success\":false,\"Message\":[\"Successfully deleted Resume”]}\n\n</code></pre>\n<h4>ERRORS</h4>\n\n<p>If no resume exists with the id then the following json response will be returned.<br />```javascript<br />{\"Success\":false,\"Errors\":[\"Resume 1234 is not valid!\"]}<br />```</p>\n","urlObject":{"path":["api","candidate","resume","delete","{resumeId}"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"8912e596-c4c3-4146-869f-b3fa24077c4a","name":"Get Candidate Activity Feed","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"https://integrations.loopworks.com/api/candidate/delete/delete/{resumeId}"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\"page\": 1,\r\"pageSize\": 25,\rcandidateId:\"12345\",\rfrom: \"2016-01-01\",\rto: \"2016-06-01\"\r}\r"}],"_postman_id":"1f6eab56-adec-4f65-b830-73d345b87394"}],"id":"2dc44670-5d36-414e-b69d-e76c58595c2e","_postman_id":"2dc44670-5d36-414e-b69d-e76c58595c2e","description":""},{"name":"Pin","item":[{"name":"Unpin Candidate","id":"ca58898b-81dc-4b92-9892-a004181b3fd8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"title\": \"Mr\",\n  \"firstName\": \"John\",\n  \"lastName\": \"Doe\",\n  \"status\": null,\n  \"sourceType\": \"Social Media\",\n  \"source\": \"Twitter\",\n  \"address\": {\n    \"line1\": \"Apartment 15\",\n    \"line2\": \"21 2nd Street\",\n    \"line2\": \"Upper East Side\",\n    \"city\": \"New York\",\n    \"state\": \"New York\",\n    \"type\": \"home\",\n    \"zip\": \"10001\",\n    \"country\": \"United States of America\"\n  },\n  \"contactMethods\": [\n    {\n      \"type\": \"email\",\n      \"address\": \"john.doe@hotmail.com\"\n    },\n    {\n      \"type\": \"email\",\n      \"address\": \"john.doe@yahoo.com\"\n    },\n    {\n      \"type\": \"phone\",\n      \"location\": \"mobile\",\n      \"number\": \"01123456\"\n    },\n    {\n      \"type\": \"phone\",\n      \"location\": \"home\",\n      \"number\": \"441234567\"\n    },\n    {\n      \"type\": \"phone\",\n      \"location\": \"work\",\n      \"number\": \"0156789\"\n    }\n  ],\n  \"employmentExperience\": [\n    {\n      \"organizationName\": \"Microsoft\",\n      \"jobTitle\": \"Senior Sales Consultant\",\n      \"startDate\": \"2010-01-01T00:00:00\",\n      \"endDate\": \"2017-01-18T00:00:00\"\n    },\n    {\n      \"organizationName\": \"Microsoft\",\n      \"jobTitle\": \"Sales Consultant\",\n      \"startDate\": \"2000-11-01T00:00:00\",\n      \"endDate\": \"2010-01-01T00:00:00\"\n    }\n  ],\n  \"educationHistoryModel\": [\n    {\n      \"institution\": \"Brighton University\",\n      \"educationType\": \"bachelors\",\n      \"courseTitle\": \"Bachelor Degree\",\n      \"measureSystem\": null,\n      \"measureValue\": null,\n      \"startDate\": \"1987-01-01T00:00:0\",\n      \"endDate\": \"1990-01-01T00:00: 00\"\n    },\n    {\n      \"institution\": \"Brighton University\",\n      \"educationType\": \"masters\",\n      \"courseTitle\": \"Master's Degree\",\n      \"measureSystem\": null,\n      \"measureValue\": null,\n      \"startDate\": \"1991-01-01T00:00:00\",\n      \"endDate\": \"1994-01-01T00:00:00\"\n    }\n  ],\n  \"profile\": {\n    \"headine\": \"Business Leader\",\n    \"summary\": \"CEO of some huge campany for a long time,  doing great things\",\n    \"photoURL\": \"https://https://www.google.co.uk/imgres?imgurl=http%3A%2F%2Fi2.cdn.turner.com%2Fcnnnext%2Fdam%2Fassets%2F150806212843-07-fox-debate-trump-0806-super-169.jpg&imgrefurl=http%3A%2F%2Fwww.cnn.com%2F2015%2F08%2F07%2Fpolitics%2Fdonald-trump-republican-debate%2F&docid=PzjJPSoCxKAZpM&tbnid=BsIdhyyegGy2tM%3A&w=1100&h=619&bih=726&biw=1422&ved=0ahUKEwj-6d6a9MrOAhVKCsAKHQ4bAJMQMwhNKCMwIw&iact=mrc&uact=8\",\n    \"currentEmployer\": \"Google Ltd\",\n    \"currentJobTitle\": \"Head of business development\",\n    \"educationLevel\": \"Bachelors Degree\",\n    \"jobFunction\": \"Business Development\",\n    \"jobSpeciality\": \"Business Development\",\n    \"yearsExperience\": \"5\",\n    \"willingToRelocate\": \"true\",\n    \"communicationLanguage\": \"French\"\n  },\n  \"social\": [\n    {\n      \"type\": \"facebook\",\n      \"url\": \"http://www.facebook.com/johndoe\"\n    },\n    {\n      \"type\": \"linkedin\",\n      \"url\": \"http://www.linked.com/johndoe\"\n    }\n  ],\n  \"tags\": [ \"Tag1\", \"Tag2\" ]\n}"},"url":"https://integrations.loopworks.com/api/candidate/unpin/{candidateId}","description":"<p>Removes the specified candidate to the list of pinned candidates for the given user. </p>\n<h4>SUCCESS RESPONSE</h4>\nThe following JSON will be returned on success:\n```javascript\n{\"success\":true,\"message\":\"Candidate successfully unpinned\",\"errors\":null} \n```\n\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"protocol":"https","path":["api","candidate","unpin","{candidateId}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ca58898b-81dc-4b92-9892-a004181b3fd8"},{"name":"Pin Candidate","id":"20677e42-5944-4f5d-bb2f-8c88f6cc1795","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"title\": \"Mr\",\n  \"firstName\": \"John\",\n  \"lastName\": \"Doe\",\n  \"status\": null,\n  \"sourceType\": \"Social Media\",\n  \"source\": \"Twitter\",\n  \"address\": {\n    \"line1\": \"Apartment 15\",\n    \"line2\": \"21 2nd Street\",\n    \"line2\": \"Upper East Side\",\n    \"city\": \"New York\",\n    \"state\": \"New York\",\n    \"type\": \"home\",\n    \"zip\": \"10001\",\n    \"country\": \"United States of America\"\n  },\n  \"contactMethods\": [\n    {\n      \"type\": \"email\",\n      \"address\": \"john.doe@hotmail.com\"\n    },\n    {\n      \"type\": \"email\",\n      \"address\": \"john.doe@yahoo.com\"\n    },\n    {\n      \"type\": \"phone\",\n      \"location\": \"mobile\",\n      \"number\": \"01123456\"\n    },\n    {\n      \"type\": \"phone\",\n      \"location\": \"home\",\n      \"number\": \"441234567\"\n    },\n    {\n      \"type\": \"phone\",\n      \"location\": \"work\",\n      \"number\": \"0156789\"\n    }\n  ],\n  \"employmentExperience\": [\n    {\n      \"organizationName\": \"Microsoft\",\n      \"jobTitle\": \"Senior Sales Consultant\",\n      \"startDate\": \"2010-01-01T00:00:00\",\n      \"endDate\": \"2017-01-18T00:00:00\"\n    },\n    {\n      \"organizationName\": \"Microsoft\",\n      \"jobTitle\": \"Sales Consultant\",\n      \"startDate\": \"2000-11-01T00:00:00\",\n      \"endDate\": \"2010-01-01T00:00:00\"\n    }\n  ],\n  \"educationHistoryModel\": [\n    {\n      \"institution\": \"Brighton University\",\n      \"educationType\": \"bachelors\",\n      \"courseTitle\": \"Bachelor Degree\",\n      \"measureSystem\": null,\n      \"measureValue\": null,\n      \"startDate\": \"1987-01-01T00:00:0\",\n      \"endDate\": \"1990-01-01T00:00: 00\"\n    },\n    {\n      \"institution\": \"Brighton University\",\n      \"educationType\": \"masters\",\n      \"courseTitle\": \"Master's Degree\",\n      \"measureSystem\": null,\n      \"measureValue\": null,\n      \"startDate\": \"1991-01-01T00:00:00\",\n      \"endDate\": \"1994-01-01T00:00:00\"\n    }\n  ],\n  \"profile\": {\n    \"headine\": \"Business Leader\",\n    \"summary\": \"CEO of some huge campany for a long time,  doing great things\",\n    \"photoURL\": \"https://https://www.google.co.uk/imgres?imgurl=http%3A%2F%2Fi2.cdn.turner.com%2Fcnnnext%2Fdam%2Fassets%2F150806212843-07-fox-debate-trump-0806-super-169.jpg&imgrefurl=http%3A%2F%2Fwww.cnn.com%2F2015%2F08%2F07%2Fpolitics%2Fdonald-trump-republican-debate%2F&docid=PzjJPSoCxKAZpM&tbnid=BsIdhyyegGy2tM%3A&w=1100&h=619&bih=726&biw=1422&ved=0ahUKEwj-6d6a9MrOAhVKCsAKHQ4bAJMQMwhNKCMwIw&iact=mrc&uact=8\",\n    \"currentEmployer\": \"Google Ltd\",\n    \"currentJobTitle\": \"Head of business development\",\n    \"educationLevel\": \"Bachelors Degree\",\n    \"jobFunction\": \"Business Development\",\n    \"jobSpeciality\": \"Business Development\",\n    \"yearsExperience\": \"5\",\n    \"willingToRelocate\": \"true\",\n    \"communicationLanguage\": \"French\"\n  },\n  \"social\": [\n    {\n      \"type\": \"facebook\",\n      \"url\": \"http://www.facebook.com/johndoe\"\n    },\n    {\n      \"type\": \"linkedin\",\n      \"url\": \"http://www.linked.com/johndoe\"\n    }\n  ],\n  \"tags\": [ \"Tag1\", \"Tag2\" ]\n}"},"url":"https://integrations.loopworks.com/api/candidate/pin/{candidateId}","description":"<p>Added the specified candidate to the list of pinned candidates for the given user. </p>\n<h4>SUCCESS RESPONSE</h4>\nThe following JSON will be returned on success:\n```javascript\n{\"success\":true,\"message\":\"Candidate successfully pinned\",\"errors\":null} \n```\n\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"protocol":"https","path":["api","candidate","pin","{candidateId}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"20677e42-5944-4f5d-bb2f-8c88f6cc1795"},{"name":"Get Pinned Candidates","id":"09579dc3-e76d-46d3-b9a2-cbaf4b1b4fc2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/candidate/pinned","description":"<p>This will return all pinned candidates for the given user. </p>\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will be an array of candidates. Examples of candidate json can be found under the \"Create Candidate\" endpoint documentation.\n\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"protocol":"https","path":["api","candidate","pinned"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"09579dc3-e76d-46d3-b9a2-cbaf4b1b4fc2"}],"id":"fe15a130-3848-4641-b8f3-a3409acf7133","_postman_id":"fe15a130-3848-4641-b8f3-a3409acf7133","description":""},{"name":"Email","item":[{"name":"Get Candidate's Emails","id":"66f14d42-0436-48a3-a5f3-21cb4680d5f3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{  \r\"page\": 1,\r\"pageSize\": 25,\r\"id\": 123\r} "},"url":"https://integrations.loopworks.com/api/candidate/emails","description":"<p>Retrieves a list of emails sent to the specified candidate. Because a candidate may have many emails, this endpoint implements paging.</p>\n<h4>NOTES</h4>\nThe following constraints apply:\n\n<ul>\n<li>The id in the request body is mandatory and should be the id of the candidate for whom emails are being requested.</li>\n<li>Page and PageSize as optional.</li>\n<li>PageSize defaults to 25 and Page defaults to 1.</li>\n</ul>\n\n<h4>RESPONSE</h4>\n```javascript\n{\n\"id\":29403467,\n\"emailHistory\":\n  [{\"id\":123,\"to\":\"test1@loopworks.com\",\"from\":\"noreply@loop.jobs\",\"subject\":\"Example Subject 1\",\"status\":\"delivered\",\"dateSent\":\"2016-05-11T16:03:01.883\", \"clickCount\": 2, \"openCount\": 5, \"poolId\": null, \"jobId\": null},\n  {\"id\":456,\"to\":\"test1@loopworks.com\",\"from\":\"noreply@loop.jobs\",\"subject\":\"Example Subject 2\",\"status\":\"delivered\",\"dateSent\":\"2016-05-11T16:02:56.03\", \"clickCount\": 0, \"openCount\": 1, \"poolId\": 111, \"jobId\": 12345}]\n}\n```","urlObject":{"protocol":"https","path":["api","candidate","emails"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"66f14d42-0436-48a3-a5f3-21cb4680d5f3"}],"id":"798f9fde-9eab-423f-9525-5f118de5c5f5","_postman_id":"798f9fde-9eab-423f-9525-5f118de5c5f5","description":""},{"name":"Workflows","item":[{"name":"Get Workflows","id":"6cfb9130-b0e6-4f69-9cad-a19f825a6d0a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/candidate/workflow/{id}","description":"<p>Returns a list of workflows for the specified candidate.</p>\n<h4>EXAMPLE RESPONSE</h4>\nFor a successful call the response will be an array of candidate workflows in the following format...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n    [{ \n    \"candidateWorkflowId\":1070464, \n    \"nextSteps\":[ \n      {\"stepName\":\"Under Consideration\",\"stepId\":1}, \n      {\"stepName\":\"Offer Made\",\"stepId\":2}, \n      {\"stepName\":\"Hired\",\"stepId\":3}, \n      {\"stepName\":\"Unable to Contact\",\"stepId\":403} \n    ], \n    \"workflowName\":\"exampleWorkflow\", \n    \"stepName\":\"Candidate Called\", \n    \"poolName\":\"Test Pool\", \n    \"poolId\":999,\n    \"history\":[\n      {\n      \"stepName\":\"Sourced\",\n      \"previousStepName\":null,\n      \"timestamp\":\"2016-03-14T15:00:00.000\",\n      \"workflowName\":\"Sourcing\",\n      \"poolName\":\"poolwithtarget\",\n      \"poolId\":999\n      },\n      {\"stepName\":\"Attempt to Contact\",\n      \"previousStepName\":\"Sourced\",\n      \"timestamp\":\"2016-03-14T15:15:00.000\",\n      \"workflowName\":\"Sourcing\",\n      \"poolName\":\"poolwithtarget\",\n      \"poolId\":999\n      }\n    ]\n  }] \n\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","candidate","workflow","{id}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"6cfb9130-b0e6-4f69-9cad-a19f825a6d0a"},{"name":"Revert Workflow Step","id":"659dc7f6-ef7d-498d-9882-dfa029321a15","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \rcandidateWorkflowId:\"123456\", \rstepID: 16 \r} "},"url":"https://integrations.loopworks.com/api/candidate/workflow/revert/{candidateId}/{poolId}","description":"<p>Revert the current workflow step for a candidate to their previous workflow step in the given pool. </p>\n<p>Since a single candidate can be in multiple workflows in multiple pools the call to the API must specify both the candidateId and the poolId.</p>\n<h4>SUCCESS RESPONSE</h4>\nThe following standard JSON response ill be returned on success:\n{\"Success\": \"true\",\"Errors\":null}","urlObject":{"protocol":"https","path":["api","candidate","workflow","revert","{candidateId}","{poolId}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"659dc7f6-ef7d-498d-9882-dfa029321a15"},{"name":"Get Workflow Step History","id":"9c177a01-fad4-4a1d-83db-7e9887600a18","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/candidate/workflow/history/{candidateId}/{poolId}","description":"<p>Returns a the workflow history for the given candidate <b>in a specified pool</b>. Since a single candidate can be in multiple workflows in multiple pools the call to the API must specify both the candidateId and the poolId.</p>\n<h4>EXAMPLE RESPONSE</h4>\nFor a successful call the response will be an array of workflow history items in the following format...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n    [\n  {\n    \"stepName\":\"Sourced\",\n    \"previousStepName\":null,\n    \"timestamp\":\"2016-11-03T13:00:00\",\n    \"workflowName\":\"Sourcing\",\n    \"poolName\":\"Example Pool\",\n    \"poolId\":999\n  },\n  {\n    \"stepName\":\"Attempt to Contact\",\n    \"previousStepName\":\"Sourced\",\n    \"timestamp\":\"2016-11-03T13:15:00\",\n    \"workflowName\":\"Sourcing\",\n    \"poolName\":\"Example Pool\",\n    \"poolId\":999\n  },\n  {\n    \"stepName\":\"Invite For Interview\",\n    \"previousStepName\":\"Attempt to Contact\",\n    \"timestamp\":\"2017-02-16T13:16:34.18\",\n    \"workflowName\":\"Sourcing\",\n    \"poolName\":\"Example Pool\",\n    \"poolId\":999\n  }\n  ]\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","candidate","workflow","history","{candidateId}","{poolId}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"9c177a01-fad4-4a1d-83db-7e9887600a18"},{"name":"Update Workflow Step","id":"0529dae3-5195-4099-b563-5e000e670952","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \rcandidateWorkflowId:\"123456\", \rstepID: 16 \r} "},"url":"https://integrations.loopworks.com/api/candidate/workflow","description":"<p>Allows the workflow step on a candidate to be updated <b>with respect to a given pool</b>.</p>\n<p>Since a single candidate can be in multiple workflows in multiple pools the call to the API must specify both the candidateWorkflowId and the stepId (where the candiateworkflowId represents the a candidates workflow within a given pool and the stepID represents the step that the candidate should be moved to). </p>\n<h4>NOTES</h4>\nThe following constraints apply:\n\n<ul>\n<li>A candidate can only be moved to a workflow step in the list of nextSteps for the given candidateWorkflowId (see GET request above).</li>\n<li>An attempt to update a candidates workflow to a step which is not in this list will result in an error.</li>\n</ul>\n\n\n<h4>SUCCESS RESPONSE</h4>\nThe following standard JSON response will be returned on success:\n{\"Success\": \"true\",\"Errors\":null}","urlObject":{"protocol":"https","path":["api","candidate","workflow"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"0529dae3-5195-4099-b563-5e000e670952"}],"id":"de825621-149f-4306-8f18-6e03e643b96b","_postman_id":"de825621-149f-4306-8f18-6e03e643b96b","description":""},{"name":"Activity Feed","item":[{"name":"Get Candidate Activity Feed","id":"ca42421b-56ae-47bb-bfc8-cf8abf41e5a7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/candidate/activityfeed/{id}","description":"<p>This will return all activity feed data for the given candidate (within the specified time boundaries). </p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>All the request body attributes are optional except the candidateId</li>\n<li>PageSize defaults to 25</li>\n<li>Page defaults to 1</li>\n</ul>\n\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will be an array of activity feed items...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n    [\n    {\n      \"activityFeedId\": 123,\n      \"candidateId\": 1111,\n      \"name\": \"Person Details\",\n      \"type\": \"Email\",\n      \"dateCreated\": \"2016-05-26T09:43:29.417\",\n      \"userName\": \"Recruiter1\"\n    },\n    {\n      \"activityFeedId\": 456,\n      \"candidateId\": 2222,\n      \"name\": \"Congratulations Steve (SMS 1)! You have been invited to an interview for Montage SMS reminder test with . Please check your email for details\",\n      \"type\": \"SMS\",\n      \"dateCreated\": \"2016-04-15T21:28:47.733\",\n      \"userName\": \"Recruiter2\"\n    }\n    ]\n}\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"protocol":"https","path":["api","candidate","activityfeed","{id}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[{"id":"e608e8e6-cc84-423c-98aa-fe9b2b166c41","name":"Get Candidate Activity Feed","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/candidate/note/{id}"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\"page\": 1,\r\"pageSize\": 25,\rcandidateId:\"12345\",\rfrom: \"2016-01-01\",\rto: \"2016-06-01\"\r}\r"}],"_postman_id":"ca42421b-56ae-47bb-bfc8-cf8abf41e5a7"}],"id":"134d9a6d-ceb3-4df1-a16d-db87155e4acf","_postman_id":"134d9a6d-ceb3-4df1-a16d-db87155e4acf","description":""},{"name":"Notes","item":[{"name":"Delete Candidate Note","id":"6bd67673-c5c0-447e-bd4a-f7c7088fe895","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"https://integrations.loopworks.com/api/candidate/delete/{id}","description":"<p>Will delete a specified candidate. </p>\n<p>The id passed as a url parameter must be the id of the candidate which is the be deleted. If the specified candidate doesn't exist or is not accessible, or if the user doesn't have permissions to delete candidates, then an error will be returned. </p>\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will be a standard result with an id identifying the new note...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"Success\":true,\"Message\":[\"Candidate successfully deleted\"],}\n</code></pre>\n<h4>ERRORS</h4>\nIf no note exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"No Note exists with ID=123 (or this record is not accessible)\"]}\n```","urlObject":{"protocol":"https","path":["api","candidate","delete","{id}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"6bd67673-c5c0-447e-bd4a-f7c7088fe895"},{"name":"Create Candidate Note","id":"be97086f-275b-4851-8dd5-a783c0483a1b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r  \"id\": 12345,\r  \"note\": \"This is the body of the note\",\r  \"companyId\": 999  \r}\r"},"url":"https://integrations.loopworks.com/api/candidate/note","description":"<p>This will return all notes against the given candidates. </p>\n<h4>NOTES</h4>\n<ul>\n<li>The companyID property is optional. If supplied, visibility of the note will be restricted to users with access to the nominated company.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will be a standard result with an id identifying the new note...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"Success\":false,\"Message\":[\"Successfully added note\"], \"id\": 1234}\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"protocol":"https","path":["api","candidate","note"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"be97086f-275b-4851-8dd5-a783c0483a1b"},{"name":"Get Candidate's notes","id":"5f61dd46-b6f9-4dd9-acea-69289cc47bc1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"url":"{{BaseUrl}}/api/candidate/notes/{candidateId}","description":"<p>This will return all notes against the given candidates. </p>\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will be an array of notes...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n    [\n  {\n    \"id\": 123,\n    \"companyId\": null,    \n    \"dateCreated\": \"2015-01-01 11:30:56\", \n    \"createdBy\":\"Jane Doe\", \n    \"note\": \"Great candidate\"\n  },\n  {\n    \"id\": 456,\n    \"companyId\": 1234,    \n    \"dateCreated\": \"2015-01-01 11:30:56\", \n    \"createdBy\":\"Jane Doe\", \n    \"note\": \"Left voicemail\"\n  }\n    ]\n}\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the given candidateId then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"path":["api","candidate","notes","{candidateId}"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"5f61dd46-b6f9-4dd9-acea-69289cc47bc1"}],"id":"ea8ae3b9-1afd-4f9d-a1c4-52d110a3a01a","_postman_id":"ea8ae3b9-1afd-4f9d-a1c4-52d110a3a01a","description":""},{"name":"Sms","item":[{"name":"Get Candidate's SMS history","id":"518178b0-784c-40b6-8ffc-978d00252301","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{  \r\"page\": 1,\r\"pageSize\": 25,\r\"id\": 123 \r} "},"url":"https://integrations.loopworks.com/api/candidate/smshistory","description":"<p>Retrieves a list of emails sent to the specified candidate. Because a candidate may have been sent many SMS messages, this endpoint implements paging.</p>\n<h4>NOTES</h4>\nThe following constraints apply:\n\n<ul>\n<li>The id in the request body is mandatory and should be the id of the candidate for whom the SMS history is being requested.</li>\n<li>Page and PageSize as optional.</li>\n<li>PageSize defaults to 25 and Page defaults to 1.</li>\n</ul>\n\n<h4>RESPONSE</h4>\n```javascript\n{\n\"id\":29403467,\n\"smslHistory\":\n  [{\"messageId\":123,\"companyId\":999,\"dateSent\":\"2016-05-11T16:03:01.883\",\"message\":\"Test Message\"},\n  {\"messageId\":456,\"companyId\":null,\"dateSent\":\"2016-05-11T16:02:56.03\",\"message\":\"Test Message\"}]\n}\n```","urlObject":{"protocol":"https","path":["api","candidate","smshistory"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"518178b0-784c-40b6-8ffc-978d00252301"}],"id":"c8e6ce9d-887f-478a-bcec-94b485fd41a8","_postman_id":"c8e6ce9d-887f-478a-bcec-94b485fd41a8","description":""},{"name":"Skills","item":[{"name":"Get Candidate's Skills","id":"4d49aeb9-ac27-4420-8d99-f41c6b524876","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/candidate/skills/{candidateID}","description":"<p>This will return the skills assigned to the specified candidate. </p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>The ID should be the loop id for the given candidate record.</li>\n</ul>\n\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response include the candidateID and the list of that candidates tags..\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n  \"candidateSkills\":[\n  {\n    \"candidateSkillId\": 1234,\n    \"candidateId\": 12345,\n    \"skillId\": 999,\n    \"name\": \"Skill 1\",\n    \"dateLastUsed\": \"2018-02-21T00:00:00\",\n    \"proficiencyID\": 1,\n    \"totalMonths\": 12\n  },\n  {\n    \"candidateSkillId\": 5678,\n    \"candidateId\": 3456,\n    \"skillId\": 777,\n    \"name\": \"Skill 2\",\n    \"dateLastUsed\": null,\n    \"proficiencyID\": null,\n    \"totalMonths\": null\n  }]\n} \n\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"protocol":"https","path":["api","candidate","skills","{candidateID}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"4d49aeb9-ac27-4420-8d99-f41c6b524876"},{"name":"Create Candidate Skill (Obsolete)","id":"71835ec8-8b92-4c76-8089-5d3fce7de637","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"candidateId\": 12345,\r\"skillId\": 101,\r\"dateLastUsed\": \"2018-02-01T00:00:00\",\r\"totalMonths\": 15,\r\"proficiencyid\": 1\r}"},"url":"https://integrations.loopworks.com/api/candidate/skills/create","description":"<p>Associates the candidate with the specified Skill.</p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>The candidateId and skillId properties are mandatory and identify the candidate record the the skill should be applied to and the skill which should be applied.</li>\n<li>The remaining properties are optional.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will be the standard json response structure...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"id\":6,\"statusCode\":null,\"success\":true,\"message\":\"Skill \\\"5\\\" successfully created for candidate with ID 12345\",\"errors\":[]}\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"protocol":"https","path":["api","candidate","skills","create"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"71835ec8-8b92-4c76-8089-5d3fce7de637"},{"name":"Create Candidate Skill V2","id":"b75d6265-fe07-49f7-b172-503217520413","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r  \"candidateId\": 12345,\r  \"skills\": \r\t[{\r\t\"skillId\": 101,\r\t\"dateLastUsed\": \"2018-02-01T00:00:00\",\r\t\"totalMonths\": 15\r\t}]\r}"},"url":"https://integrations.loopworks.com/api/v2/candidate/skills/create","description":"<p>Associates the candidate with the specified Skill.</p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>The candidateId is mandatory and identifies the candidate record the the skill should be applied to.</li>\n<li>At least one skill must be specified in the skills array. For each skill, ths skillId property is mandatory and identifies the skill which should be applied to the given user. The remaining properties of each skill are optional.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will be the standard json response structure...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"ids\":{\"5\":\"Java\"},\"statusCode\":null,\"success\":true,\"message\":\"Skill \\\"5\\\" successfully created for candidate with ID 12345\",\"errors\":[]}\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"protocol":"https","path":["api","v2","candidate","skills","create"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b75d6265-fe07-49f7-b172-503217520413"},{"name":"Update Candidate Skill","id":"98f97423-c829-4762-89ed-6e7babae33d3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"candidateSkillId\": 101,\r\"dateLastUsed\": \"2018-02-01T00:00:00\",\r\"totalMonths\": 15,\r\"proviciencyid\": 1\r}"},"url":"https://integrations.loopworks.com/api/candidate/skills/update","description":"<p>Updates the data associated with a candidate's skill.</p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>The candidateSkillId property is mandatory and uniquely identifies the skill for the given candidate (Note the difference between this and the skillID that identifies the skill independently of the candidate).</li>\n<li>The remaining properties are optional.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will be the standard json response structure...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"id\":6,\"statusCode\":null,\"success\":true,\"message\":\"Candidate Skill \\\"5\\\" successfully updated\",\"errors\":[]}\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"protocol":"https","path":["api","candidate","skills","update"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"98f97423-c829-4762-89ed-6e7babae33d3"},{"name":"Delete Candidate Skill","id":"4f9b1638-7dfb-4f3a-92e8-b347c2ef6dbd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"https://integrations.loopworks.com/api/candidate/skills/remove/{candidateSkillID}","description":"<p>Deletes a skill from the specified candidate record.</p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>If no candidate skill record exists with the specified candidateSkillId (or the record is not accessible) then an error will be returned</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will be the standard json response structure...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"Success\":false,\"message\":\"Candidate Skill \\\"{candidateSkillID}\\\" successfully removed\"}\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"protocol":"https","path":["api","candidate","skills","remove","{candidateSkillID}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"4f9b1638-7dfb-4f3a-92e8-b347c2ef6dbd"}],"id":"0af9de16-1cbb-47a1-af0e-3587593703e7","_postman_id":"0af9de16-1cbb-47a1-af0e-3587593703e7","description":""},{"name":"Social","item":[{"name":"Get Candidate's Social URLs","id":"15015511-4e79-49e3-80fa-bb977f6d6c28","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/candidate/social/{candidateID}","description":"<p>This will return the skills assigned to the specified candidate. </p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>The ID should be the loop id for the given candidate record.</li>\n</ul>\n\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response include the candidateID and the list of that candidates tags..\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n  \"socialURLs\":[\n  {\n    \"id\":1234,\n    \"type\":\"facebook\",\n    \"url\":\"https://www.facebook.com/user1\"\n  },{\n    \"id\":5678,\n    \"type\":\"linkedIn\",\n    \"url\":\"http://www.linked.com/user1\"\n  }\n  ]\n}\n\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"protocol":"https","path":["api","candidate","social","{candidateID}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"15015511-4e79-49e3-80fa-bb977f6d6c28"},{"name":"Create Candidate Social URLs","id":"20316b4c-b0d0-412c-9a71-0806e9bffbdd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r    \"candidateId\": 1111,\r    \"socialURLs\": [\r\t\t{\r\t\t\t\"type\": \"Facebook\",\r\t\t\t\"url\": \"https://facebook.com/test-user\"\r\t\t},\r\t\t{\r\t\t\t\"type\": \"LinkedIn\",\r\t\t\t\"url\": \"https://linkedin.com/test-user\"\r\t\t}\r\t]\r}"},"url":"https://integrations.loopworks.com/api/candidate/social/create","description":"<p>Creates one or many new Social URLs for a candidate.</p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>The candidateId is mandatory and identifies the candidate record the the social URLs should be created for.</li>\n<li>At least one social URL must be specified in the socialURLs array. \n    For each social URL:\n    <ul>\n        <li>The type property is mandatory and must match a pre-defined type which represents the platform that the URL relates to. At the time of writing, the supported types are:\n            <ul>\n                <li>About.me</li>\n                <li>Doximity</li>\n                <li>Facebook</li>\n                <li>Github</li>\n                <li>GoogleScholar</li>\n                <li>IEEE</li>\n                <li>Indeed</li>\n                <li>Jobcase</li>\n                <li>LinkedIn</li>\n                <li>Stackoverflow</li>\n                <li>Twitter</li>\n                <li>Xing</li>\n                <li>ZoomInfo</li>\n            </ul>\n        </li>\n        <li>The URL property is mandatory and should specify the unique link to the candidates profile on the given platform.</li>\n    </ul>\n</li></ul>\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will be the standard json response structure...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"ids\":{\"1234\":\"Facebook\"},\"statusCode\":null,\"success\":false,\"message\":\"Social URLs successfully created for candidate with ID 1111\",\"errors\":[]}\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"statusCode\":null,\"success\":false,\"message\":\"1 error(s) has occurred. See the 'errors' property for details.\",\"errors\":[\"No Candidate exists with ID = \\\"1111\\\" (or this record is not accessible)\"]}\n```         <li></li>","urlObject":{"protocol":"https","path":["api","candidate","social","create"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"20316b4c-b0d0-412c-9a71-0806e9bffbdd"},{"name":"Update Candidate Social URL","id":"d606d0b5-8ee1-42e5-9f61-7750f60dead5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"id\": 12345,\r\"type\": \"Facebook\",\r\"url\": \"https://facebook.com/test-user\"\r}"},"url":"https://integrations.loopworks.com/api/candidate/social/update","description":"<p>Updates the candidate's URL for a given platform (e.g. Facebook/LinkedIn).</p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>The id property is mandatory and uniquely identifies the Social URL for the given candidate (NOT the candidate) i.e. the \"id\" is the id of the Social URL, not the id of the candidate who has the Social URL.</li>\n<li>The type is required and must match one of the pre-defined types (see docuemtnation for /api/candidate/social/create for details). Type will typically not change during an update because if the type/platform is incorrect, the existing record would normally be deleted and a new one creared in its place.</li>\n<li>url is required</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will be the standard json response structure...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"statusCode\":null,\"success\":true,\"message\":\"Candidate Social URL \\\"1234\\\" successfully updated\",\"errors\":[]}\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"statusCode\":null,\"success\":false,\"message\":\"1 error(s) has occurred. See the 'errors' property for details.\",\"errors\":[\"No Social URL exists with ID=\\\"-12349987\\\" (or this record is not accessible)\"]}\n```","urlObject":{"protocol":"https","path":["api","candidate","social","update"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"d606d0b5-8ee1-42e5-9f61-7750f60dead5"},{"name":"Delete Candidate Social URL","id":"b082de05-b4ee-48b2-9a01-457d54fdd782","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"https://integrations.loopworks.com/api/candidate/social/delete/{candidateSocialUrlId}","description":"<p>Deletes a social URL from the specified candidate record.</p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>If no candidate social URL record exists with the specified candidateSocialUrlId (or the record is not accessible) then an error will be returned. NOTE: The candidateSocialUrlId specified in the URL fragment is the id of the specific social url record that is to be deleted.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will be the standard json response structure...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"statusCode\":null,\"success\":true,\"message\":\"Candidate Social URL \\\"681705\\\" successfully removed\",\"errors\":[]}\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"statusCode\":null,\"success\":false,\"message\":\"1 error(s) has occurred. See the 'errors' property for details.\",\"errors\":[\"No Social URL exists with ID=\\\"12345\\\" (or this record is not accessible)\"]}\n```","urlObject":{"protocol":"https","path":["api","candidate","social","delete","{candidateSocialUrlId}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b082de05-b4ee-48b2-9a01-457d54fdd782"}],"id":"8a226206-43a0-46b6-b337-3161ca631d34","_postman_id":"8a226206-43a0-46b6-b337-3161ca631d34","description":""},{"name":"Pools","item":[{"name":"Retrieve Pools for Candidate","id":"d3281fca-86c0-4c0d-89b0-6c8102524c48","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\"candidateId\": 12345\n}"},"url":"{{BaseUrl}}/api/candidate/pools","description":"<p>Retrieve pools that a candidate belongs to based on the provided candidateId.</p>\n<h4>NOTES</h4>\n<ul>\n<li>\nThe candidateId is mandatory and represents the loop id for the given candidate record. If no candidate exists with the given candidateId or the candidate is not accessible to the current user based on their privileges then an error will be returned.\n</li>\n<li>\nOnly pools that the current user can see will be returned. Therefore, if the given candidate is a member of private pools or pools associated with companies that the current user cannot access then those pools will not be included in the response.\n</li>\n</ul>","urlObject":{"path":["api","candidate","pools"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"1f321c0f-3afd-4049-aeb5-46c9c01f3ff4","name":"Retrieve Pools for Candidate","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\"candidateId\": 12345\n}"},"url":"{{BaseUrl}}/api/candidate/pools"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\n   \"candidateId\":12345,\n   \"pools\":[\n      {\n         \"poolId\":1111,\n         \"name\":\"Pool 1\",\n         \"description\":null,\n         \"companyId\":123,\n         \"status\":\"Open\",\n         \"statusId\":1,\n         \"workflowId\":null,\n         \"workflowName\":\"Sourcing\",\n         \"candidateWorkflowId\":1,\n         \"workflowStepId\":9999,\n         \"workflowStepName\":\"Sourced\",\n         \"dateAdded\":\"2020-06-19T14:01:00.000\",\n         \"dateMovedToCurrentStep\":\"2020-06-19T15:21:00.000\"\n      },\n      {\n         \"poolId\":2222,\n         \"name\":\"Pool2\",\n         \"description\":null,\n         \"companyId\": 321,\n         \"status\":\"Open\",\n         \"statusId\":1,\n         \"workflowId\":null,\n         \"workflowName\":null,\n         \"candidateWorkflowId\":null,\n         \"workflowStepId\":null,\n         \"workflowStepName\":null,\n         \"dateAdded\":null,\n         \"dateMovedToCurrentStep\":null\n      }\n   ]\n}"}],"_postman_id":"d3281fca-86c0-4c0d-89b0-6c8102524c48"}],"id":"860ab8a3-ff91-496f-aaaf-045214971cac","_postman_id":"860ab8a3-ff91-496f-aaaf-045214971cac","description":""},{"name":"Search Candidates by Email Address","id":"cca3fb13-e1a0-46d6-8adf-d690f0fb661f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"emails\": [\"looptestmail@gmail.com\"]\r}\r"},"url":"https://integrations.loopworks.com/api/candidate/emailsearch","description":"<p>Search for a candidate associated with one of any number of provided emaill addresses.</p>\n<p>A common use case if that, prior to creating a new candidate record vai the API, a user wants to check if the candidate already exists. The user may have multiple email addresses for a given candidate so this endpoint allows for an efficient search to find if any candidate already exists any of the specified email addresses.</p>\n<h4>RESPONSE</h4>\nFor a successful call the response will be an array of candidate search result records in the usual format (see /api/candidate/search)...","urlObject":{"protocol":"https","path":["api","candidate","emailsearch"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"cca3fb13-e1a0-46d6-8adf-d690f0fb661f"},{"name":"Create Candidate from Resume","id":"d9625193-6420-4d43-9a02-a8f43e8b9cdc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \r  \"fileName\": \"SallySample.doc\", \r  \"lastModified\": \"2018-11-26T09:55:22\", \r  \"companyId\": 4,\r  \"poolId\": 256263,\r  \"applyTags\": \"true\",\r  \"sourceId\": 123,\r  \"blob\": \"0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAUgAAAAAAAAAAEAAAVAAAAAEAAAD+////AAAAAFEAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////spcEAAewJCAAA+BK/AAAAAAABEQABAAEACAAA8hoAAA4AYmpiamZ/Zn8AAAAAAAAAAAAAAAAAAAAAAAAJBBYALjAAAAQVAQAEFQEA8hIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//w8AAAAAAAAAAAD//w8AAAAAAAAAAAD//w8AAAAAAAAAAAAAAAAAAAAAALcAAAAAAAQIAAAAAAAABAgAAGkVAAAAAAAAaRUAAAAAAABpFQAAAAAAAGkVAAAAAAAAaRUAABQAAAAAAAAAAAAAAP////8AAAAAfRUAAAAAAAB9FQAAAAAAAH0VAAAAAAAAfRUAADQAAACxFQAAJAAAAH0VAAAAAAAAOjoAAB4CAADVFQAAKAAAAP0VAAAAAAAA/RUAAAAAAAD9FQAAAAAAAP0VAAAAAAAAhBgAAAAAAACEGAAAAAAAAIQYAAAAAAAAsTkAAAIAAACzOQAAAAAAALM5AAAAAAAAszkAAAAAAACzOQAAAAAAALM5AAAAAAAAszkAACwAAABYPAAAtgIAAA4/AABqAAAA3zkAABUAAAAAAAAAAAAAAAAAAAAAAAAAaRUAAAAAAACEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIGAAAfAAAAIQYAAAAAAAAhBgAAAAAAACEGAAAAAAAAN85AAAAAAAA4BgAAAAAAABpFQAAAAAAAGkVAAAAAAAA/RUAAAAAAAAAAAAAAAAAAP0VAAALAgAA9DkAABYAAADgGAAAAAAAAOAYAAAAAAAA4BgAAAAAAACEGAAAOgAAAGkVAAAAAAAA/RUAAAAAAABpFQAAAAAAAP0VAAAAAAAAsTkAAAAAAAAAAAAAAAAAAOAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhBgAAAAAAACxOQAAAAAAAAAAAAAAAAAA4BgAAAAAAADgGAAAjgAAANUlAABAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxScAAAAAAAAAAAAAAAAAAP////8AAAAAoBPcigfs0QEAAAAAAAAAAP////8AAAAAvhgAACIAAAAVJwAAEAAAAAAAAAAAAAAAnTkAABQAAAAKOgAAMAAAADo6AAAAAAAAJScAAKAAAAB4PwAAAAAAAOAYAAAAAAAAeD8AACAAAADFJwAAAAAAAOAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADFJwAAFAAAAAAAAAAAAAAAAAAAAAAAAABpFQAAAAAAANknAADEEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhBgAAAAAAACEGAAAAAAAAIQYAAAAAAAA3zkAAAAAAADfOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIQYAAAAAAAAhBgAAAAAAACEGAAAAAAAADo6AAAAAAAAhBgAAAAAAACEGAAAAAAAAIQYAAAAAAAAhBgAAAAAAAAAAAAAAAAAAP////8AAAAA/////wAAAAD/////AAAAAAAAAAAAAAAA/////wAAAAD/////AAAAAP////8AAAAA/////wAAAAD/////AAAAAP////8AAAAA/////wAAAAD/////AAAAAP////8AAAAA/////wAAAAD/////AAAAAP////8AAAAA/////wAAAAD/////AAAAAHg/AAAAAAAAhBgAAAAAAACEGAAAAAAAAIQYAAAAAAAAhBgAAAAAAACEGAAAAAAAAIQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEGAAAAAAAAIQYAAAAAAAAhBgAAAAAAAAECAAAKwwAAC8UAAA6AQAABwAMAQ8ADQEAAAkIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFNhbGx5IEEuIEFkYW1zb24NCA00NDAgVmlhIE1pbCBDdW1icmVzIFVuaXQgNjUwCQkJCQkJEyBIWVBFUkxJTksgIm1haWx0bzpzYWxnYUB5YWhvby5jb20iIAEUc2FsZ2FAeWFob28uY29tFSANU29sYW5hIEJlYWNoLCBDQSA5MjA3NQkJCQkJCSg4NTgpIDY3My0yMzczIGNlbGwNCQkJCQkJCQkJKDg1OCkgMjIzLTA5NzggaG9tZQ1odHRwOi8vc2FsbHlBZGFtc1Jlc3VtZS5yZXNwb3N0Lm5ldA0IDQ1PYmplY3RpdmU6ICAJQXBwbGljYXRpb25zIGRldmVsb3BtZW50IG1hbmFnZXIgZm9yIGEgbGFyZ2UgdmVuZG9yIG9yIGNsb3VkIHNvZnR3YXJlIGNvbXBhbnkgYnVpbGRpbmcgaHVtYW4gcmVzb3VyY2Ugc29mdHdhcmUuDQ1FeHBlcmllbmNlOglUZWNobmljYWwgTWFyY29tIERpZmZlcmVuY2UuIERlbnZlciwgQ08JCU9jdG9iZXIgMjAwNCCWIEN1cnJlbnQNCQlEaXJlY3RvciBvZiBXZWIgQXBwbGljYXRpb25zIERldmVsb3BtZW50DU1hbmFnZWQgZW1haWwgbWFya2V0aW5nIGNhbXBhaWducyB0byBhdHRyYWN0IG5ldyBzYWxlcyBhbmQgcmV0YWluIGN1c3RvbWVycy4NQWRkIG5ldyB0ZWNobm9sb2d5IHRvIHdlYnNpdGUgdG8gbWFuYWdlIGxlYWRzLCBpbmNyZWFzZSByZXNwb25zZSB0aW1lIGFuZCBwcm92aWRlIHBlcnRpbmVudCBpbmZvcm1hdGlvbiB0byBuZXcgY3VzdG9tZXJzLg1Db252ZXJ0IGN1cnJlbnQgSFJJUyBmcm9tIFZCIHRvIEFTUCB0byBjcmVhdGUgY29tcGxldGUgd2ViIGJhc2VkIHNvbHV0aW9uLg1BZGRlZCBjdXN0b20gZW5jcnlwdGlvbiBjb2RpbmcgdG8gU1FMIGFuZCBBU1Agd2ViIGFwcGxpY2F0aW9ucy4NRGVzaWduZWQgY3VzdG9tIGFwcGxpY2FudCB0cmFja2luZyBBU1AgcHJvZ3JhbSBmb3IgbGFyZ2UgY2xpZW50Lg1EZXNpZ25lZCBjdXN0b21lciBzdXBwb3J0IGFwcGxpY2F0aW9uIHRvIHJlY2VpdmUgcmVxdWVzdHMvZmlsZXMgZnJvbSBjbGllbnRzLCBkaXZlcnQgdG8gYXBwcm9wcmlhdGUgc3VwcG9ydCBzdGFmZiwgYW5kIHRyYWNrIGlzc3VlIGZyb20gb3BlbiB0byByZXNvbHZlLg0NSUJNIEluYy4gTExDIExURAkJCU1hcmNoIDIwMDMgliBEZWNlbWJlciAyMDA0DQkJU2VuaW9yIFdlYiBEZXZlbG9wZXIvREJBDURldmVsb3BlZCBzcGVjaWFsIHBhY2thZ2Ugc2FsZXMgb24gd2Vic2l0ZSBmb3IgdGhlIE1pZ2h0eSBEdWNrcyBvZiBBbmFoZWltLg1NYW5hZ2VkIGVtYWlsIG1hcmtldGluZyBjYW1wYWlnbnMgZm9yIE1pZ2h0eSBEdWNrcyBvZiBBbmFoZWltIHRvIGdlbmVyYXRlIGludGVyZXN0IGluIHNlYXNvbiBwYXNzZXMsIGdyb3VwIHNhbGVzLCBhbmQgc3BlY2lhbCBwcm9tb3Rpb25zLg1EZXZlbG9wZWQgZXZlbnQgcmVnaXN0cmF0aW9uIHNpdGVzIGZvciBNYXpkYSwgTWVyY2VkZXMsIFZvbHZvLCBDYWRpbGxhYyAmIE1pdHN1YmlzaGkuDURldmVsb3BlZCB3ZWItYmFzZWQgZW1haWwgdHJhY2tpbmcgc3lzdGVtIGZvciBidWxrIG1haWwgc2VuZHMgdG8gdHJhY2sgYWxsIGNvbnN1bWVyIGFjdGlvbnMgdXBvbiBvcGVuaW5nIGFuIGVtYWlsIHNlbnQgZnJvbSB0aGUgc3lzdGVtLg1EZXZlbG9wZWQgYW5hbHl0aWNhbCByZXBvcnRpbmcgdG9vbCBmb3IgY2xpZW50cyB0byBhY2Nlc3MgcmVzdWx0cyBvZiBidWxrIG1haWwgc2VuZHMuDVNldCB1cC9kZXBsb3llZCBidWxrIG1haWwgY2FtcGFpZ25zIGZvciB2YXJpb3VzIGNvbXBhbmllcyB0aHJvdWdoIEV4YWN0IFRhcmdldC4NQ29uc3VsdGVkIHdpdGggY2xpZW50cyBhYm91dCBidWxrIG1haWwgcmVzdWx0cyB0byBoZWxwIGZpbmQgdGhlaXIgdGFyZ2V0IGF1ZGllbmNlLg1IZWxwZWQgY3VzdG9tZXJzIHRvIGJ1aWxkIHRoZWlyIGVtYWlsIGRhdGFiYXNlIHRocm91Z2ggdmFyaW91cyBidWxrIG1haWwgcHJvbW90aW9ucy4NRGV2ZWxvcGVkIHdlYi1iYXNlZCBjb250ZXN0IGFwcGxpY2F0aW9ucyBmb3IgdmFyaW91cyBzZWFzb25hbCBtYXJrZXRpbmcgY2FtcGFpZ25zIHRoYXQgaW5jbHVkZWQgRW1haWwgTWFya2V0aW5nLCBXZWIgUmVnaXN0cmF0aW9uLCBFbWFpbCBUcmFja2luZywgYW5kIENvbnRlc3QgUmVwb3J0aW5nIGZvciB0aGUgU3RhdGUgb2YgQ29ubmVjdGljdXQgVG91cmlzbSBEZXBhcnRtZW50Lg1EZXZlbG9wZWQgTWVldGluZyBQbGFubmVyIG1hcmtldGluZyB0b29sIGZvciBjdXN0b21lcnMgdG8gcGxhbi9ib29rIG1lZXRpbmdzIGF0IGFueSBvZiBvdmVyIDIwMCBob3RlbHMgaW4gQ29ubmVjdGljdXQgZm9yIHRoZSBDb25uZWN0aWN1dCBUb3VyaXNtIERlcGFydG1lbnQuDVByaW1hcnkgY29udGFjdCBmb3IgQXV0b21vdGl2ZSBSaWRlICYgRHJpdmUgTWFya2V0aW5nIENhbXBhaWducy4NREJBIFNRTCBTZXJ2ZXIgNyAmIDIwMDAuDQ1CcmFudCBEaWdpdGFsIE1hcmtldGluZyBTeXN0ZW1zLCBJbmMuCQlNYXkgMjAwMiCWIE1hcmNoIDIwMDMNQ29udHJhY3RvciCWIFdlYiBEZXZlbG9wbWVudA1EZXNpZ25lZCAmIGRldmVsb3BlZCB3ZWItYmFzZWQgZ2lmdCBmdWxmaWxsbWVudCBzeXN0ZW0gZm9yIHVzZSBieSBNYXpkYSBhbmQgdGhlaXIgYWZmaWxpYXRlcyB0byBpbnRha2UgY29uc3VtZXIgaW5mb3JtYXRpb24gZnJvbSBidWxrIG1haWwgc2VuZHMsIGFjY2VwdCBvcmRlcnMgZnJvbSBjb25zdW1lcnMgd2hvIGNvbXBsZXRlZCB0aGVpciBpbmNlbnRpdmUgcHJvZ3JhbSwgYW5kIHRvIHJlcG9ydCBvbiBhbGwgYWN0aXZpdHkuDURlc2lnbmVkICYgZGV2ZWxvcGVkIHdlYi1iYXNlZCBldmVudCByZWdpc3RyYXRpb24gc3lzdGVtcyBmb3IgTWVyY2VkZXMgYW5kIFZvbHZvIGluY2x1ZGluZyBjb21wcmVoZW5zaXZlIHJlcG9ydGluZyBvbiBzeXN0ZW0gYWN0aXZpdHkuDVByaW1hcnkgY29udGFjdCBmb3IgQXV0b21vdGl2ZSBSaWRlICYgRHJpdmUgTWFya2V0aW5nIENhbXBhaWducy4NDUxha2UgRGlnaXRhbCBNYXJrZXRpbmcgU3lzdGVtcywgSW5jLgkJTWF5IDIwMDAgliBBcHJpbCAyMDAyDVdlYiBEZXZlbG9wZXIvSnVuaW9yIERCQQ1EZXNpZ25lZCBhbmQgZGV2ZWxvcGVkIHJlcG9ydGluZyBzeXN0ZW0gZm9yIHVzZSBieSAyMDArIGN1c3RvbWVycyB0byByZXRyaWV2ZSBhbmFseXRpY2FsIGFuYWx5c2lzIG9mIHRoZWlyIGJ1bGsgbWFpbCBjYW1wYWlnbnMuDURlc2lnbmVkICYgZGV2ZWxvcGVkIHNhbGVzIHJlcG9ydGluZyB0b29sIHRvIGFuYWx5emUgYW5kIHByZXNlbnQgaW5mb3JtYXRpb24gYWJvdXQgaW5kdXN0cnkgYW5kIGNsaWVudCBzcGVjaWZpYyBwcm9kdWN0aXZpdHkgb2YgZW1haWwgbWFya2V0aW5nIGNhbXBhaWducy4NRW5naW5lZXJlZCB2YXJpb3VzIGVtYWlsIGNhbXBhaWducyB0byBwcm92aWRlIGNvbXByZWhlbnNpdmUgdHJhY2tpbmcuDVByaW1hcnkgY29udGFjdCBmb3IgQXV0b21vdGl2ZSBSaWRlICYgRHJpdmUgTWFya2V0aW5nIENhbXBhaWducy4NRGVzaWduZWQgJiBkZXZlbG9wZWQgdGltZSBrZWVwaW5nL3Byb2plY3QgdHJhY2tpbmcgc3lzdGVtIGZvciB1c2UgYnkgYWxsIGVtcGxveWVlcy4NSnVuaW9yIERCQSBTUUwgU2VydmVyIDcvMjAwMC4NCA1UZWNobmljYWw6CUxhbmd1YWdlczogQVNQLCBIVE1MLCBWQlNjcmlwdCwgSmF2YVNjcmlwdCwgVkIsIFhNTCwgUEhQDQkJRGF0YWJhc2VzOiBTUUwgU2VydmVyIDYuNS83LzIwMDAsIE9yYWNsZSA5aSwgQWNjZXNzIDk3LzIwMDANCQlPcGVyYXRpbmcgU3lzdGVtczogV2luZG93cyA5OC8yMDAwL05UL1hQLzIwMDMsIFVOSVgsIERPUw0IDUVkdWNhdGlvbjoJQ2FsaWZvcm5pYSBTdGF0ZSBVbml2ZXJzaXR5LCBDaGljbwkJCTE5OTUgLSAxOTk5DQkJQi5TLiBCdXNpbmVzcyBBZG1pbmlzdHJhdGlvbg0JCU1JTk9SOiAgQW1lcmljYW4gSGlzdG9yeQ0JCUdQQTogIDMuNjYvNC4wDQkJCQkNCQlGcmFua2xpbiBQaWVyY2UgQ29sbGVnZSwgQS5BLgkJCQkxOTkyIC0gMTk5NA0JCVJpbmRnZSwgTkgNQ0xFQVJBTkNFDVRvcCBTZWNyZXQsIGV4cGlyZXMgMjAxMQ0NQ0VSVElGSUNBVElPTlMNU2VwdGVtYmVyLCAyMDAzOiBTdW4gU2VjdXJlIEdsb2JhbCBEZXNrdG9wIChUYXJhbnRlbGxhKSBTeXN0ZW0gQWRtaW5pc3RyYXRpb24NDUxBTkdVQUdFUw1GbHVlbnQgaW4gUGFzaHRvLCBVcmR1IGFuZCBGcmVuY2guDQ1QUk9GRVNTSU9OQUwgQUZGSUxJQVRJT05TDU1lbWJlciBvZiB0aGUgQXNzb2NpYXRpb24gb2YgUmV0aXJlZCBNaWxpdGFyeSBEb2N1bWVudCBFeGFtaW5lcnMNDUFXQVJEUw1Bd2FyZGVkIE1lZGFsIG9mIE1lcml0IGJ5IHRoZSBSb3lhbCBTb2NpZXR5IG9mIEZvcmVuc2ljcw0NUkVGRVJFTkNFUw1CYWJzIFNtaXRoDU1hbmFnZXIsIFNvbWVycyBQcm9kdWN0cywgSW5jLg0xMjM0IEZhcm1pbmd0b24gV2F5DVJpY2htb25kLCBWQSA0NjU1OQ04NDUtODc2LTA5ODgNEyBIWVBFUkxJTksgIm1haWx0bzpiYWJzQHNvbWVycy5jb20iIAEUYmFic0Bzb21lcnMuY29tFQ0NUEFURU5UUw1HZW9yZ2UgRG9hbSBhbmQgTmVpbCBHcmlmZmluLCBpbnZlbnRvcnMsIJNNZXRob2QgYW5kIEFwcGFyYXR1cyBmb3IgUmVtb3ZpbmcgQ29ybiBLZXJuZWxzIEZyb20gRGVudHVyZXOULCBQYXRlbnQgMSwwNjQsMDk4Lg0NU3BlYWtpbmcgRW5nYWdlbWVudHMNTWFpbiBTcGVha2VyLCBBWUEgRm9ydW0sIDIwMDYNDVB1YmxpY2F0aW9ucw2TVGhlIFdheSBIb21lOiAgSG93IEdQUyBSZXN0b3JlZCBNeSBQcm9maXRzIGFuZCBTYXZlZCBNeSBCdXNpbmVzcyBMaWZllCwgcHVibGlzaGVkIGluIHRoZSBBbWVyaWNhbiBKb3VybmFsIG9mIHRoZSBMb3N0IEFuZCBDbHVlbGVzcywgVm9sdW1lIDEsIE51bWJlciA0Lg0NTGljZW5zZXMNV2F0ZXJnYXRlIE1hc3RlciBQbHVtYmVyLCBMaWMuICMyNDQ1DQ1NaWxpdGFyeSBTZXJ2aWNlDUZJUlNUIExJRVVURU5BTlQsIFVTIEFybXksIFZpZXRuYW0gdGhlYXRyZSwgMTk2Ni0xOTY3DQ0NAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAABAIAAARCAAAEggAABMIAAAWCAAALAgAAC8IAAA1CAAANggAAFoIAABbCAAAXAgAAGsIAABsCAAAbQgAAIQIAACKCAAAkAgAAJMIAACUCAAAmQgAAJ0IAADx4s/AsqGyoYx7YIxKjHuhPqGyobKhAAAAAAAAAAAAABYWaHU9vgBDShIAT0oDAFFKAwBhShIAACoVaM0QhQAWaHU9vgAwSg8ANQiBQ0oSAE9KAwBRSgMAXAiBXkoEAGFKEgAANQIIgQNqAAAAAAYIARVozRCFABZodT2+ADUIgUNKEgBPSgMAUUoDAFUIAVwIgV5KBABhShIAIBZodT2+ADUIgUNKEgBPSgMAUUoDAFwIgV5KBABhShIAACkDagAAAAAWaHU9vgA1CIFDShIAT0oDAFFKAwBVCAFcCIFeSgQAYUoSACAVaENiIQAWaBwoOABDShIAT0oDAFFKAwBeSgQAYUoSAAAaFmgxVLUAQ0oSAE9KAwBRSgMAXkoEAGFKEgAAHBVoQ2IhABZoHCg4AENKEgBPSgMAUUoDAGFKEgAAJQNqAAAAABVoQ2IhABZoHCg4AENKEgBPSgMAUUoDAFUIAWFKEgAcFWjxTYMAFmgcKDgAQ0ocAE9KAABRSgAAYUocAAAcFWjxTYMAFmh1Pb4AQ0ocAE9KAABRSgAAYUocABYACAAAEQgAABMIAABuCAAAnggAALsIAADfCAAA4QgAAOIIAABfCQAAYAkAAKwJAADXCQAAJAoAAJ4KAADpCgAAKQsAAGoLAAADDAAABAwAADIMAABNDAAAmQwAAPcAAAAAAAAAAAAAAADyAAAAAAAAAAAAAAAA7QAAAAAAAAAAAAAAAO0AAAAAAAAAAAAAAADtAAAAAAAAAAAAAAAA7QAAAAAAAAAAAAAAAO0AAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAO0AAAAAAAAAAAAAAADtAAAAAAAAAAAAAAAA7QAAAAAAAAAAAAAAANgAAAAAAAAAAAAAAADYAAAAAAAAAAAAAAAA2AAAAAAAAAAAAAAAANgAAAAAAAAAAAAAAADYAAAAAAAAAAAAAAAA2AAAAAAAAAAAAAAAAO0AAAAAAAAAAAAAAADLAAAAAAAAAAAAAAAA7QAAAAAAAAAAAAAAAMMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAKJgALRgIAZ2QcKDgAAAwAAA+E0AIRhNACXoTQAmCE0AJnZBwoOAAIAAAKJgALRgEAZ2QcKDgAAAwAAA+EoAURhGD6XoSgBWCEYPpnZBwoOAAABAAAZ2QcKDgAAAQQAGdkHCg4AAAHEAADJABhJABnZBwoOAAAFp0IAACeCAAArggAAK8IAACzCAAAtAgAAN4IAADfCAAA4AgAAOEIAADvCAAAPQkAAF0JAABfCQAAbAkAAHYJAAB9CQAAhwkAAJMJAACuCQAA1wkAACMKAAAkCgAAnQoAAJ4KAADy5Nbk1uTFsqGNe2xajaFMoT6hjaGNoY0aFmicMq8AQ0oSAE9KAwBRSgMAXkoEAGFKEgAAGhZouDuuAENKEgBPSgMAUUoDAF5KBABhShIAACMVaENiIQAWaBwoOABDShIAT0oDAFFKAwBcCIFeSgQAYUoSAB0WaMpNBwBDShIAT0oDAFFKAwBcCIFeSgQAYUoSACMVaNIjMwAWaNIjMwBDShIAT0oDAFFKAwBcCIFeSgQAYUoSACYVaENiIQAWaBwoOAA1CIFDShIAT0oDAFFKAwBcCIFeSgQAYUoSAAAgFWhDYiEAFmgcKDgAQ0oSAE9KAwBRSgMAXkoEAGFKEgAAJQNqAAAAABVoQ2IhABZoHCg4AENKEgBPSgMAUUoDAFUIAWFKEgAgFWhDYiEAFmh1Pb4AQ0oSAE9KAwBRSgMAXkoEAGFKEgAAGhZoMVS1AENKEgBPSgMAUUoDAF5KBABhShIAABoWaHU9vgBDShIAT0oDAFFKAwBeSgQAYUoSAAAaFmgcKDgAQ0oSAE9KAwBRSgMAXkoEAGFKEgAYngoAAOgKAADpCgAAKAsAACkLAABpCwAAagsAAAIMAAAEDAAAFQwAABcMAAA0DAAATQwAAJgMAACZDAAAIg0AACMNAAB4DQAAeQ0AAAAOAAABDgAAVg4AAFcOAACmDgAApw4AAPkOAAD6DgAATg8AAE8PAAAoEAAAKRAAAMYQAADHEAAABxEAAAgRAAAgEQAAIREAACIRAAAnEQAAXxEAAHwRAABwEgAAcRIAAPcSAAD4EgAAOBMAADoTAAA+EwAAdhMAAI8TAAAOFAAADxQAAKkUAACqFAAA7xQAAPAUAADv2+/b79vv28y676i6qLqouqjv2+/b79vv2+/b79vv2+/b79vvmu+N79vv2+/bmu/butvv2+/bAAAAGBVoQ2IhABZoHCg4AE9KAwBRSgMAYUoSAAAaFmgxVLUAQ0oSAE9KAwBRSgMAXkoEAGFKEgAAIxVoQ2IhABZoHCg4ADUIgUNKEgBPSgMAUUoDAF5KBABhShIAIxVoQ2IhABZoHCg4AENKEgBPSgMAUUoDAFwIgV5KBABhShIAHRZoxRh3AENKEgBPSgMAUUoDAFwIgV5KBABhShIAJhVoQ2IhABZoHCg4ADUIgUNKEgBPSgMAUUoDAFwIgV5KBABhShIAACAVaENiIQAWaBwoOABDShIAT0oDAFFKAwBeSgQAYUoSADeZDAAAIw0AAHkNAAABDgAAVw4AAKcOAAD6DgAATw8AACkQAADHEAAACBEAACERAAAiEQAAXxEAAHwRAABxEgAA+BIAADkTAAA6EwAAdhMAAI8TAAAPFAAAqhQAAPAUAAAxFQAA9wAAAAAAAAAAAAAAAPcAAAAAAAAAAAAAAAD3AAAAAAAAAAAAAAAA9wAAAAAAAAAAAAAAAPcAAAAAAAAAAAAAAAD3AAAAAAAAAAAAAAAA9wAAAAAAAAAAAAAAAPcAAAAAAAAAAAAAAAD3AAAAAAAAAAAAAAAA9wAAAAAAAAAAAAAAAPcAAAAAAAAAAAAAAADyAAAAAAAAAAAAAAAA5QAAAAAAAAAAAAAAANgAAAAAAAAAAAAAAADQAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAADyAAAAAAAAAAAAAAAA5QAAAAAAAAAAAAAAAOUAAAAAAAAAAAAAAADQAAAAAAAAAAAAAAAA0AAAAAAAAAAAAAAAANAAAAAAAAAAAAAAAADQAAAAAAAAAAAAAAAAAAAAAAgAAAomAAtGAwBnZBwoOAAADAMAD4TQAhGE0AJehNACYITQAmdkHCg4AAAMAAAPhNACEYTQAl6E0AJghNACZ2QcKDgAAAQAAGdkHCg4AAgAAAomAAtGAgBnZBwoOAAAGPAUAAAwFQAAMRUAAIQVAACFFQAAohUAAKMVAACkFQAApRUAALAVAAC5FQAA6xUAAPQVAAApFgAAOhYAAGIWAABjFgAAZBYAAG4WAACXFgAAmBYAAL8WAADtFgAA8hYAAAIXAAAWFwAAFxcAAB0XAAAeFwAAHxcAACsXAAAsFwAANhcAAO/b79vv28jv27TvtO+078jv2++m75Xvh++m76bve2xcAAAAAAAAAAAAAAAAAAAAAAAAAAAfFWhDYiEAFmgiQggANQiBQ0oSAE9KAwBRSgMAYUoSABwVaENiIQAWaNxrxwBDShIAT0oDAFFKAwBhShIAABYWaEkG3ABDShIAT0oDAFFKAwBhShIAABoWaMUYdwBDShIAT0oDAFFKAwBeSgQAYUoSAAAgFWhDYiEAFmhjBqAAQ0oSAE9KAwBRSgMAXkoEAGFKEgAAGhZoMVS1AENKEgBPSgMAUUoDAF5KBABhShIAACYVaENiIQAWaBwoOAA2CIFDShIAT0oDAFFKAwBdCIFeSgQAYUoSAAAlA2oAAAAAFWhDYiEAFmgcKDgAQ0oSAE9KAwBRSgMAVQgBYUoSACYVaENiIQAWaBwoOAA1CIFDShIAT0oDAFFKAwBcCIFeSgQAYUoSAAAgFWhDYiEAFmgcKDgAQ0oSAE9KAwBRSgMAXkoEAGFKEgAgMRUAAIUVAACjFQAApRUAAOkVAAAnFgAAYhYAAGQWAACgFgAAvxYAANoWAADrFgAA8BYAAB8XAAAsFwAANhcAAE8XAABQFwAAXxcAAK0XAACuFwAAuBcAANsXAADcFwAA9hcAADcYAAA4GAAA9wAAAAAAAAAAAAAAAPcAAAAAAAAAAAAAAADyAAAAAAAAAAAAAAAA8gAAAAAAAAAAAAAAAPIAAAAAAAAAAAAAAADyAAAAAAAAAAAAAAAA8gAAAAAAAAAAAAAAAPIAAAAAAAAAAAAAAADyAAAAAAAAAAAAAAAA8gAAAAAAAAAAAAAAAPIAAAAAAAAAAAAAAADyAAAAAAAAAAAAAAAA8gAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAADrAAAAAAAAAAAAAAAA6wAAAAAAAAAAAAAAAOsAAAAAAAAAAAAAAADrAAAAAAAAAAAAAAAA5gAAAAAAAAAAAAAAAOsAAAAAAAAAAAAAAADrAAAAAAAAAAAAAAAA6wAAAAAAAAAAAAAAAOsAAAAAAAAAAAAAAADrAAAAAAAAAAAAAAAA6wAAAAAAAAAAAAAAAOsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAABnZJwyrwAABAAAZ2QiQggAAAEAAAAEAABnZBwoOAAIAAAKJgALRgMAZ2QcKDgAABo2FwAATBcAAE4XAABQFwAAXxcAAG0XAABuFwAArhcAALgXAADaFwAA9hcAADgYAAA/GAAAeRgAAIQYAADiGAAA4xgAAAcZAAAIGQAACRkAABgZAAAZGQAAGxkAACMZAABKGQAASxkAAEwZAAB1GQAAkxkAAJQZAACcGQAAnxkAALQZAADTGQAA4BkAADoaAABjGgAAeRoAAPHl8dXx5fHV8dXx1fHV8cLxrMKbwvHVjICM8XTxgPHV8dXxZPEAAAAAAAAAAAAAAB8VaENiIQAWaCJCCAA2CIFDShIAT0oDAFFKAwBhShIAFhZoyFIeAENKEgBPSgMAUUoDAGFKEgAAFhZoQ2IhAENKEgBPSgMAUUoDAGFKEgAAHBVoQ2IhABZoQ2IhAENKEgBPSgMAUUoDAGFKEgAAIBVoQ2IhABZoIkIIADBKDwBDShIAT0oDAFFKAwBhShIAACsCCIEDatsAAAAGCAEVaENiIQAWaCJCCABDShIAT0oDAFFKAwBVCAFhShIAJQNqAAAAABVoQ2IhABZoIkIIAENKEgBPSgMAUUoDAFUIAWFKEgAfFWhDYiEAFmgiQggANQiBQ0oSAE9KAwBRSgMAYUoSABYWaDFUtQBDShIAT0oDAFFKAwBhShIAABwVaENiIQAWaCJCCABDShIAT0oDAFFKAwBhShIAJTgYAAA/GAAAeBgAAHkYAACEGAAAjxgAAK4YAADCGAAA1RgAAOIYAAAaGQAAGxkAACMZAACeGQAAnxkAALQZAADSGQAA0xkAAOAZAAB5GgAAehoAAIMaAACoGgAAqRoAALoaAADwGgAA8RoAAPIaAAD6AAAAAAAAAAAAAAAA+gAAAAAAAAAAAAAAAPoAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAPgAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAPgAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAPgAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAPgAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAPgAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAPgAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAPgAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAA+AAAAAAAAAAAAAAAAPgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAGdkIkIIAAAbeRoAAHoaAACCGgAAgxoAAKkaAAC6GgAAyhoAAPIaAADy4tLD4rPDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8MKggVaENiIQAWaENiIQBDShIAT0oDAFFKAwBhShIAHBVoQ2IhABZoTxR4AENKEgBPSgMAUUoDAGFKEgAAHxVoQ2IhABZoIkIIADUIgUNKEgBPSgMAUUoDAGFKEgAfFWhDYiEAFmhPFHgANQiBQ0oSAE9KAwBRSgMAYUoSABkWaANZ8AA1CIFDShIAT0oDAFFKAwBhShIAAAcsADGQaAEfsNAvILDgPSGwCAcisAgHI5CgBSSQoAUlsAAAF7DQAhiw0AIMkNACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANsAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANDJ6nn5us4RjIIAqgBLqQsCAAAAFwAAABAAAABzAGEAbABnAGEAQAB5AGEAaABvAG8ALgBjAG8AbQAAAODJ6nn5us4RjIIAqgBLqQtGAAAAbQBhAGkAbAB0AG8AOgBzAGEAbABnAGEAQAB5AGEAaABvAG8ALgBjAG8AbQAAAHlYgfQ7HX9IryyCXcSFJ2MAAAAApasAAMMAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANDJ6nn5us4RjIIAqgBLqQsCAAAAFwAAABAAAABiAGEAYgBzAEAAcwBvAG0AZQByAHMALgBjAG8AbQAAAODJ6nn5us4RjIIAqgBLqQsuAAAAbQBhAGkAbAB0AG8AOgBiAGEAYgBzAEAAcwBvAG0AZQByAHMALgBjAG8AbQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmBhEAEgABAH0BDwAIAAAAAAAAAAAABAAIAAAACAAAAA4AAAAIAAAADgAAAA4AAAAOAAAADgAAAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyBgAAGAAAAMADAADQAwAA4AMAAPADAAAABAAAEAQAACAEAAAwBAAAQAQAAFAEAABgBAAAcAQAAIAEAACQBAAAwAMAANADAADgAwAA8AMAAAAEAAAQBAAAMgYAACgCAADYAQAA6AEAACAEAAAwBAAAQAQAAFAEAABgBAAAcAQAAIAEAACQBAAAwAMAANADAADgAwAA8AMAAAAEAAAQBAAAIAQAADAEAABABAAAUAQAAGAEAABwBAAAgAQAAJAEAADAAwAA0AMAAOADAADwAwAAAAQAABAEAAAgBAAAMAQAAEAEAABQBAAAYAQAAHAEAACABAAAkAQAAMADAADQAwAA4AMAAPADAAAABAAAEAQAACAEAAAwBAAAQAQAAFAEAABgBAAAcAQAAIAEAACQBAAAwAMAANADAADgAwAA8AMAAAAEAAAQBAAAIAQAADAEAABABAAAUAQAAGAEAABwBAAAgAQAAJAEAADAAwAA0AMAAOADAADwAwAAAAQAABAEAAAgBAAAMAQAAEAEAABQBAAAYAQAAHAEAACABAAAkAQAADgBAABYAQAA+AEAAAgCAAAYAgAAVgIAAH4CAACGBAAAlgQAADgBAABYAQAA+AEAAAgCAAAYAgAAVgIAAH4CAACQAgAAoAIAALACAADAAgAA0AIAAIACAADgAgAA8AIAAAADAAAQAwAAIAMAADADAABAAwAA4AIAAPACAAAAAwAAEAMAACADAAAwAwAAQAMAAOACAADwAgAAAAMAABADAAAgAwAAMAMAAEADAADgAgAA8AIAAAADAAAQAwAAIAMAADADAABAAwAA4AIAAPACAAAAAwAAEAMAACADAAAwAwAAQAMAAOACAADwAgAAAAMAABADAAAgAwAAMAMAAEADAADgAgAA8AIAAAADAAAQAwAAIAMAADADAABAAwAA4AIAAPACAAAAAwAAEAMAACADAAAwAwAAQAMAAOACAADwAgAAAAMAABADAAAgAwAAMAMAAEADAADgAgAA8AIAAAADAAAQAwAAIAMAADADAABAAwAA4AIAAPACAAAAAwAAEAMAACADAAAwAwAAQAMAAOACAADwAgAAAAMAABADAAAgAwAAMAMAAEADAADgAgAA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AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP7/AAADCgEAAAAAAAAAAAAAAAAAAAAAAAIAAAAC1c3VnC4bEJOXCAArLPmuRAAAAAXVzdWcLhsQk5cIACss+a5EAQAAAAEAAAwAAAABAAAAaAAAAA8AAABwAAAABQAAAIwAAAAGAAAAlAAAABEAAACcAAAAFwAAAKQAAAALAAAArAAAABAAAAC0AAAAEwAAALwAAAAWAAAAxAAAAA0AAADMAAAADAAAAOAAAAACAAAAECcAAB4AAAAUAAAAU292cmVuIEdyb3VwLCBJbmMuAAADAAAAIgAAAAMAAAAJAAAAAwAAAOkSAAADAAAAAAAPAAsAAAAAAAAACwAAAAAAAAALAAAAAAAAAAsAAAAAAAAAHhAAAAEAAAAIAAAATW9sbHkgQQAMEAAAAgAAAB4AAAAGAAAAVGl0bGUAAwAAAAEAAAAAABQBAAADAAAAAAAAACAAAAABAAAAOAAAAAIAAABAAAAAAQAAAAIAAAAMAAAAX1BJRF9ITElOS1MAAgAAABAnAABBAAAAzAAAAAwAAAADAAAAdQBVAAMAAAADAAAAAwAAAAAAAAADAAAABQAAAB8AAAAXAAAAbQBhAGkAbAB0AG8AOgBiAGEAYgBzAEAAcwBvAG0AZQByAHMALgBjAG8AbQAAAAAAHwAAAAEAAAAAAAAAAwAAAEMAbAADAAAAAAAAAAMAAAAAAAAAAwAAAAUAAAAfAAAAFwAAAG0AYQBpAGwAdABvADoAcwBhAGwAZwBhAEAAeQBhAGgAbwBvAC4AYwBvAG0AAAAAAB8AAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAD+////GgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAAP7///8iAAAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAADMAAAA0AAAANQAAADYAAAA3AAAAOAAAADkAAAA6AAAAOwAAADwAAAA9AAAAPgAAAD8AAABAAAAA/v///0IAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAAD+////SgAAAEsAAABMAAAATQAAAE4AAABPAAAAUAAAAP7////9////UwAAAP7////+/////v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1IAbwBvAHQAIABFAG4AdAByAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAUB//////////8DAAAABgkCAAAAAADAAAAAAAAARgAAAAAAAAAAAAAAAMAl5ooH7NEBVQAAAIAAAAAAAAAARABhAHQAYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAgH///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZAAAAABAAAAAAAAAxAFQAYQBiAGwAZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgACAQEAAAAGAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEAAACYPwAAAAAAAFcAbwByAGQARABvAGMAdQBtAGUAbgB0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAIBAgAAAAUAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4wAAAAAAAABQBTAHUAbQBtAGEAcgB5AEkAbgBmAG8AcgBtAGEAdABpAG8AbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAgH///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBAAAAABAAAAAAAAAFAEQAbwBjAHUAbQBlAG4AdABTAHUAbQBtAGEAcgB5AEkAbgBmAG8AcgBtAGEAdABpAG8AbgAAAAAAAAAAAAAAOAACAQQAAAD//////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEkAAAAAEAAAAAAAAAEAQwBvAG0AcABPAGIAagAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAIA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wEA/v8DCgAA/////wYJAgAAAAAAwAAAAAAAAEYgAAAATWljcm9zb2Z0IFdvcmQgOTctMjAwNCBEb2N1bWVudAAKAAAATVNXb3JkRG9jABAAAABXb3JkLkRvY3VtZW50LjgA9DmycQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" \r} \r"},"url":"{{BaseUrl}}/api/candidate/createfromresume","description":"<p>Create a new candidate from a resume</p>\n<p>This endpoint takes a base64 encoded resume file and parses the resume. Once the resume has been parsed, we will attempt to match the resume to existing candidate records in Loop. If a relevant record can be identified, then we will attach the resume to the given candidate record and update any missing details on the candidate record. If no match is identified, then we will create a new candidate record. </p>\n<h4>NOTES</h4>\nThe following constraints apply to candidates created via resume parsing:\n<ul>\n<li>The LastModified property is an optional parameter but should be provided if known.</li>\n<li>The Blob property is a Base64 encoded string representation of the resume file.</li>\n<li>The CompanyID property is an optional parameter which, if provided, will associate the new candidate with the specified company</li>\n<li>The PoolID property is an optional parameter which, if provided, will put the new candidate in the specified pool (after creating the candidate)</li>\n<li>The sourceId property is an optional parameter which, if provided, will record the source against the new candidate. The sourceId must be a valid and accessible sourceId retrieved from /api/sources (see Static Data -&gt; Get Sources)</li>\n<li>The applyTags property is an optional parameter which, if true, will apply tags to the created candidate. If no value is provided, this parameter defaults to true.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\nA candidate record will be returned as json. This will exactly match the schema of the json returned by a call to the candidate/get API method described elsewhere in this documentation. \n\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Email is not valid”]}\n```","urlObject":{"path":["api","candidate","createfromresume"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"d9625193-6420-4d43-9a02-a8f43e8b9cdc"},{"name":"Retrieve Candidate","id":"cd5c06df-8638-4f0d-a0a4-bb01fb069bd1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"url":"{{BaseUrl}}/api/candidate/get/{{CandidateId}}","description":"<p>Retrieve a candidate by ID.</p>\n<h4>NOTES</h4>\nThe ID should be the loop id for the given candidate record. The includeResume url fragment is optional boolean which defaults to false. Where includeResume is set to \"true\" the latest resume associated with the given candidate will be included as a property in the json response – clearly this will make the response slightly slower.\n\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"path":["api","candidate","get","{{CandidateId}}"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"cd5c06df-8638-4f0d-a0a4-bb01fb069bd1"},{"name":"Retrieve Candidate PDF","id":"4edc5078-7cb8-423b-a7f4-822b7db49951","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"url":"{{BaseUrl}}/api/candidate/summary/download/{{CandidateId}}","description":"<p>Retrieve a PDF file summarizing the candidate specified by the given ID.</p>\n<h4>NOTES</h4>\nThe ID should be the loop id for the given candidate record and the candidate must be accessible to the current user.\n\n\n<h4>SUCCESS RESPONSE</h4>\nThe following JSON structure will be returned on success. The \"blob\" property is a Base64 encoded string representing the pdf file (this should be decoded to a byte array by the client).\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n\"blob\":\"JVBERi0x...\",\n\"id\": 1234\n}\n\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"path":["api","candidate","summary","download","{{CandidateId}}"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"4edc5078-7cb8-423b-a7f4-822b7db49951"},{"name":"Search Candidate (Basic)","id":"cd627999-d680-4597-a896-ae5d97d79503","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"email\": \"looptestmail@gmail.com\",\r\"mobile\": \"123456\",\r\"name\": {\"firstName\": \"John\",\"LastName\" : \"Doe\"},\r\"social\": \"http://www.facebook.com/johndoe\",\r}\r"},"url":"https://integrations.loopworks.com/api/candidate/search","description":"<p>Search for a candidate based on primary candidate attributes.</p>\n<p>This search effectively acts as a filter returning candidates that match on any of the criteria of email, mobile, name or social. </p>\n<p>Additional filters can then be applied (i.e. poolIds) to restrict the search to a subset of available candidates.</p>\n<h4>NOTES</h4>\n<ul>\n<li>At least one of email, mobile, name and social is required.</li>\n<li>If name is provided then both first name and last name as required.</li>\n<li>If poolIds is specified then the search will filter on pools with the specified IDs.</li>\n</ul>\n\n<h4>RESPONSE</h4>\nFor a successful call the response will be an array of candidate search results in the usual format (see /api/candidate/advancedsearch)...","urlObject":{"protocol":"https","path":["api","candidate","search"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"cd627999-d680-4597-a896-ae5d97d79503"},{"name":"Search Candidate (Advanced)","id":"c4f0db70-12bc-4e8f-967b-cb14590795d9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"keyword\": \"\",\r\"jobTitle\": \"Sales Manager\",\r\"allUnrestrictedCompanies\": true,\r\"includeResume\": false,\r\"includeCompanyName\": true\r}\r"},"url":"{{BaseUrl}}/api/candidate/advancedsearch","description":"<p>The Advanced Search (or Boolean Search) is a search in the truer sense of the word. A boolean search string is required and a search will be performed matching on any keyword hits, sorting be relevance.</p>\n<h4>NOTES</h4>\n<ul>\n<li>Keyword is a boolean search string. It can include either a single word or composites such as Java AND (Developer OR Coder). Where searches are being conducted on multiple words then this needs to be wrapped in quotes e.g. \"Java Developer\" or \"SQL Developer\"</li>\n<li>By default searches will restrict results to companies which the current user has access to. Supplying a list of companyIds will further filter the search to candidates associated with the given list of companies (where the current user has access to the nominated companies). If allUnrestrictedCompanies is set to true, then the query will include results for all restricted comapnies explicitly included in the companyIds list <b>plus</b> all unrestricted companies.</li>\n<li>Providing an array of poolIds will filter the search to candidates in the specified pools</li>\n<li>JobTitle, City, State and PostalCode are treated as filters and we will exclude all records that do that exactly match the values specified for these fields (where they are not null).</li>\n<li>If Latititude, Longitute or Radius is specified then all three properties must be specified with non-null values otherwise an error will be returned. Where these properties are specified then a radius search will be performed, filting results to candidates who are geo-located within the circle with centre described by the latitude and longitude and radius specified by radius and radiusUnit.</li>\n<li>RadiusUnit has two valid values [“km” or “miles”]. However, if RadiusUnit is not specified or RadiusUnit != “km” then we will default RadiusUnit to miles.</li>\n<li>At the current time, search will search in *ALL* searchable fields as follows:\n    <ul>\n        <li>FullName</li>\n        <li>City</li>\n        <li>State</li>\n        <li>Country</li>\n        <li>PostalCode</li>\n        <li>Phone Numbers</li>\n        <li>Email Addresses</li>\n        <li>Availability Status</li>\n        <li>Job Types</li>\n        <li>Headline</li>\n        <li>Resume</li>\n        <li>Notes</li>\n        <li>Summary</li>\n        <li>Status</li>\n        <li>Tags</li>\n        <li>Source</li>\n        <li>Current Employer</li>\n        <li>Current Job Title</li>\n        <li>Pool Names</li>\n        <li>Created By User</li>\n        <li>Source Type</li>\n        <li>Social Media URLs</li>\n    </ul>\n</li>\n</ul>\n\n<h4>RESPONSE</h4>\nFor a successful call the response will be an array of candidate search results in the following format...\n```javascript\n{  \n  \"title\":\"Mr\",\n  \"firstName\":\"John\",\n  \"lastName\":\"Doe\",\n  \"email\":\"123@gmail.com\",\n  \"mobile\":\"+447890111222\",\n  \"homePhone\":null,\n  \"id\":\"123456\",\n  \"currentJobTitle\":\"Java Developer\",\n  \"currentEmployer\":\"IBM\",\n  \"source\":null,\n  \"status\":\"New\",\n  \"smsConsent\":true,\n  \"emailConsent\":true,\n  \"yearsExperience\":null,\n  \"dateModified\":\"2019-03-27T09:57:27.816Z\",\n  \"location\":{  \n     \"city\": \"San Francisco\",\n     \"state\": \"CA\",\n     \"zip\": \"94151\",\n     \"country\": \"United States\"\n  }\n}\n```","urlObject":{"path":["api","candidate","advancedsearch"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"c4f0db70-12bc-4e8f-967b-cb14590795d9"},{"name":"Search Candidate (Advanced) v2","id":"6bab998b-fea7-4c92-a7d9-6db3b593533b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n\"searchTerm\": { \"fieldNames\": [ \"currentJobTitle\" ], \"searchText\": \"Dental\" }, \r\n\"allUnrestrictedCompanies\": true,\r\n\"filters\": [ { \"fieldName\": \"country\", \"values\": [ \"France\", \"Italy\" ] } ],\r\n\"facets\": [ \r\n\t{ \"fieldName\": \"country\", \"maxCount\": 20 }, \r\n\t{ \"fieldName\": \"tags\" } \r\n\t],\r\n\"orderBys\": [ { \"fieldName\": \"fullName\", \"direction\": \"desc\" }],\r\n\"includeResume\": null,\r\n\"includeCompanyName\": null,\r\n\"includeEducationAndWorkHistories\": null\r\n}\r\n"},"url":"{{BaseUrl}}/api/v2/candidate/advancedsearch","description":"<p>The Advanced Search (or Boolean Search) is a search in the truer sense of the word. A boolean search string is required and a search will be performed matching on any keyword hits, sorting be relevance.</p>\n<h4>NOTES</h4>\n<ul>\n<li><b>Keyword</b> is a boolean search string. It can include either a single word or composites such as Java AND (Developer OR Coder). Where searches are being conducted on multiple words then this needs to be wrapped in quotes e.g. \"Java Developer\" or \"SQL Developer\". The keyword will be searched for in all the 'Searchable' fields (see Search Fields table below).</li>\n<li>The <b>searchTerm</b> property supports more complex searching, such as field-scoped searches (e.g. Java in resume) and logical operators (e.g. (Java in resume OR Coder in currentJobTitle) AND Excel in Skills). See examples.</li>\n<li>N.B. A request can specify either a Keyword or a SearchTerm, but not both.</li>\n<li>The <b>searchMode</b> property can have the value 'any' or 'all', and specifies whether to match on records that contain <i>all</i> or <i>any</i> of the words in the search term. Optional, defaults to 'any'.</li>\n<li><b>SelectFields</b> is an optional field which can be used to specify which fields to select from the search, e.g. [ \"id\", \"fullName\", \"currentJobTitle\" ]. Any of the fields in the 'Search Fields' table below can appear in this SelectFields list.</li>\n<li>By default searches will restrict results to companies which the current user has access to. Supplying a list of companyIds will further filter the search to candidates associated with the given list of companies (where the current user has access to the nominated companies). If <b>allUnrestrictedCompanies</b> is set to true, then the query will include results for all restricted comapnies explicitly included in the companyIds list <b>plus</b> all unrestricted companies.</li>\n<li>Providing an array of <b>poolIds</b> will filter the search to candidates in the specified pools.</li>\n<li><b>JobTitle</b>, <b>City</b>, <b>State</b> and <b>PostalCode</b> are treated as filters and we will exclude all records that do that exactly match the values specified for these fields (where they are not null).</li>\n<li>If <b>Latititude</b>, <b>Longitute</b> or <b>Radius</b> is specified then all three properties must be specified with non-null values otherwise an error will be returned. Where these properties are specified then a radius search will be performed, filting results to candidates who are geo-located within the circle with centre described by the latitude and longitude and radius specified by radius and radiusUnit.</li>\n<li><b>RadiusUnit</b> has two valid values [“km” or “miles”]. However, if RadiusUnit is not specified or RadiusUnit != “km” then we will default RadiusUnit to miles.</li>\n<li>CompanyName (i.e. the name of the company that the candidate is in process with, not their current employer) is not included in the results by default. Setting includeCompanyName=true will include the company name. There is a minimum performance cost to including this data so it should only be requested if required.</li>\n<li><b>Filters</b> enables filtering by any of the fields marked 'Filterable' in the Search Fields table below.  A Filter's <b>values</b> property specifies one or more values to filter against. An optional <b>operator</b> property defines whether whether the filter is an equals (eq or =, default if no operator specified), not equals (ne or !=), greater than (gt or &gt;), greater than or equals (ge or &gt;=), less than (lt or less than sign) or less than or equals (le or less than or equals sign).</li>\n<li><b>Facets</b> specifies any fields for which facet results (i.e. grouped counts) are required. The 'Facetable' fields are defined in the Search Fields table below.</li>\n<li>The <b>orderBys</b> property supports sorting of the results by one or more 'Sortable' fields (see the Search Fields table below).  Specify sort order as either ascending ('asc') or descending ('desc').</li>\n<li>The <b>includeResume</b> property, if true specifies that the results should include candidates' resume.  Optional, default false.</li>\n<li>The <b>includeCompanyName</b> property, if true specifies that the results should include candidates' company name.  Optional, default false.</li>\n<li>The <b>includeEducationAndWorkHistories</b> property, if true specifies that the results should include candidates' education and work histories.  Optional, default false.</li>\n<li>The <b>scoringProfile</b> property contains a <b>profileName</b> property which enables a scoring profile to be used.  (To find out more about scoring profiles please contact Loop Support.)  Optional, default is not to use a scoring profile.</li>\n<br />\n<h3>Search Fields</h3>\n<table>\n  <tr>\n    <th>Field name</th>\n    <th>Searchable</th>\n    <th>Filterable</th>\n    <th>Facetable</th>\n    <th>Sortable</th>\n  </tr>\n  <tr>\n    <td>id</td>\n    <td>N</td>\n    <td>Y</td>\n    <td>N</td>\n    <td>Y</td>\n  </tr>\n  <tr>\n    <td>fullName</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>N</td>\n    <td>Y</td>\n  </tr>\n  <tr>\n    <td>city</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>N</td>\n  </tr>\n  <tr>\n    <td>state</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>N</td>\n  </tr>\n  <tr>\n    <td>country</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>N</td>\n  </tr>\n  <tr>\n    <td>postalCode</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>N</td>\n    <td>N</td>\n  </tr>\n  <tr>\n    <td>resume</td>\n    <td>Y</td>\n    <td>N</td>\n    <td>N</td>\n    <td>N</td>\n  </tr>\n  <tr>\n    <td>status</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>N</td>\n  </tr>\n  <tr>\n    <td>source</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>N</td>\n  </tr>\n  <tr>\n    <td>currentEmployer</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>N</td>\n  </tr>\n  <tr>\n    <td>currentJobTitle</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>N</td>\n    <td>N</td>\n  </tr>\n  <tr>\n    <td>poolIds</td>\n    <td>N</td>\n    <td>Y</td>\n    <td>N</td>\n    <td>N</td>\n  </tr>\n  <tr>\n    <td>poolNames</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>N</td>\n  </tr>\n  <tr>\n    <td>dateModified</td>\n    <td>N</td>\n    <td>Y</td>\n    <td>N</td>\n    <td>Y</td>\n  </tr>\n  <tr>\n    <td>emailAddresses</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>N</td>\n  </tr>\n  <tr>\n    <td>phoneNumbers</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>N</td>\n  </tr>\n  <tr>\n    <td>workflowStepNames</td>\n    <td>N</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>N</td>\n  </tr>\n  <tr>\n    <td>smsConsent</td>\n    <td>N</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>N</td>\n  </tr>\n  <tr>\n    <td>emailConsent</td>\n    <td>N</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>N</td>\n  </tr>\n  <tr>\n    <td>tags</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>N</td>\n  </tr>\n  <tr>\n    <td>skills</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>N</td>\n  </tr>\n  <tr>\n    <td>type</td>\n    <td>N</td>\n    <td>Y</td>\n    <td>Y</td>\n    <td>Y</td>\n  </tr>\n</table>\n\n<h4>RESPONSE</h4>\nFor a successful call the response will be in the following format (containing a count, facet results, an array of candidate search results, and the original request):\n```javascript\n{\n    \"count\": 1065,\n    \"facetResults\": [{\n        \"fieldName\": \"Country\",\n        \"facetItems\": [{\n            \"value\": \"Italy\",\n            \"count\": 35\n        },\n        {\n            \"value\": \"France\",\n            \"count\": 21\n        }]\n    },\n    {\n        \"fieldName\": \"Tags\",\n        \"facetItems\": [ { \"value\": \"Sales\", \"count\": \"689\" }, { \"value\": \"Management\", \"count\": \"341\" }, ... ]\n    }],\n    \"candidates\": [{\n        \"title\": \"Mr\",\n        \"firstName\": \"John\",\n        \"lastName\": \"Doe\",\n        \"email\": \"123@gmail.com\",\n        \"mobile\": \"+447890111222\",\n        \"homePhone\": null,\n        \"id\": \"123456\",\n        \"currentJobTitle\": \"Java Developer\",\n        \"currentEmployer\": \"IBM\",\n        \"source\": null,\n        \"status\": \"New\",\n        \"smsConsent\": true,\n        \"emailConsent\": true,\n        \"yearsExperience\": null,\n        \"dateModified\": \"2019-03-27T09:57:27.816Z\",\n        \"location\": {\n            \"city\": \"San Francisco\",\n            \"state\": \"CA\",\n            \"zip\": \"94151\",\n            \"country\": \"United States\"\n        },\n        \"tags\": [ \"Sales\", \"Management\" ],\n        \"skills\": [ \"Excel\" ],\n        \"poolDetails\": [\n            { \"poolId\": \"123\", \"poolName\": \"Pool X\", \"currentWorkflowStep\": \"Interview\", \"currentWorkflowStepTimestamp\": \"2018-06-21T15:56:13Z\" },\n            { \"poolId\": \"456\", \"poolName\": \"Pool Y\", \"currentWorkflowStep\": \"Candidate Received\", \"currentWorkflowStepTimestamp\": \"2018-06-21T15:56:13Z\" },\n            ],\n        \"score\": 0.7562\n    }, \n    ... ],\n    \"request\": { ... } \n}\n```</ul>","urlObject":{"path":["api","v2","candidate","advancedsearch"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"2e627446-58da-4b19-8de5-7a21cb408900","name":"Example 3: simple keyword search with multiple filters and facets","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"keyword\": \"Dental\", \r\"filters\": [ \r\t{ \"fieldName\": \"country\", \"values\": [ \"France\", \"Italy\" ] }, \r\t{ \"fieldName\": \"skills\", \"values\": [ \"Root canal\" ] },\r\t{ \"fieldName\": \"dateModified\", \"values\": [ \"2019-3-21\" ] }, \"operator\": \">=\" ],\r\"facets\": [ \r\t{ \"fieldName\": \"country\", \"maxCount\": 20 }, \r\t{ \"fieldName\": \"tags\" } ]\r}"},"url":"https://integrations.loopworks.com/api/v2/candidate/advancedsearch"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"plain","header":[{"key":"Cache-Control","value":"no-cache"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"-1"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"X-AspNet-Version","value":"4.0.30319"},{"key":"WWW-Authenticate","value":"Bearer"},{"key":"X-Powered-By","value":"ASP.NET"},{"key":"Date","value":"Thu, 11 Apr 2019 09:54:28 GMT"},{"key":"Content-Length","value":"0"}],"cookie":[],"responseTime":null,"body":null},{"id":"ddc2eaba-bdb7-4497-a2b6-24682796fa27","name":"Example 1: simple field scoped search, filtering, faceting and sorting","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n\"searchTerm\": { \"fieldNames\": [ \"currentJobTitle\" ], \"searchText\": \"Dental\" }, \r\n\"allUnrestrictedCompanies\": true,\r\n\"filters\": [ { \"fieldName\": \"country\", \"values\": [ \"France\", \"Italy\" ] } ],\r\n\"facets\": [ \r\n\t{ \"fieldName\": \"country\", \"maxCount\": 20 }, \r\n\t{ \"fieldName\": \"tags\" } ],\r\n\"orderBys\": [ { \"fieldName\": \"fullName\", \"direction\": \"desc\" }]\r\n}\r\n"},"url":"https://integrations.loopworks.com/api/v2/candidate/advancedsearch"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"plain","header":[{"key":"Cache-Control","value":"no-cache"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"-1"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"X-AspNet-Version","value":"4.0.30319"},{"key":"WWW-Authenticate","value":"Bearer"},{"key":"X-Powered-By","value":"ASP.NET"},{"key":"Date","value":"Thu, 11 Apr 2019 09:54:28 GMT"},{"key":"Content-Length","value":"0"}],"cookie":[],"responseTime":null,"body":null},{"id":"7dd0edc2-5860-4b19-ae82-b06689b94341","name":"Example 2: searchTerm with group members","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"searchTerm\": { \r\t\"groupMembers\": [ \r\t\t{ \"fieldNames\": [ \"currentJobTitle\" ], \"searchText\": \"Dental\" }, \r\t\t{ \"fieldNames\": [ \"currentEmployer\" ], \"searchText\": \"Odontotecnica\" } ], \r\t\"logicalOperator\": \"AND\" }\r\"orderBys\": [ { \"fieldName\": \"fullName\", \"direction\": \"desc\" }]\r}"},"url":"https://integrations.loopworks.com/api/v2/candidate/advancedsearch"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"plain","header":[{"key":"Cache-Control","value":"no-cache"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"-1"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"X-AspNet-Version","value":"4.0.30319"},{"key":"WWW-Authenticate","value":"Bearer"},{"key":"X-Powered-By","value":"ASP.NET"},{"key":"Date","value":"Thu, 11 Apr 2019 09:54:28 GMT"},{"key":"Content-Length","value":"0"}],"cookie":[],"responseTime":null,"body":null},{"id":"255e75a1-cdda-4379-95fd-fd944c6c5a96","name":"Example 4: including ScoringProfile, and ordering by 'searchScore'.","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n\"filters\": [ \r\n\t{ \"fieldName\": \"Score\", \"values\": [ \"3\" ], \"operator\": \"gt\" }, \r\n\t{ \"fieldName\": \"Type\", \"values\": [ \"Employee\" ] },\r\n\t{ \"fieldName\": \"CustomData\", \"values\": [ \"Available\" ] }\r\n\t],\r\n\"scoringProfile\" : { \"profileName\" : \"Profile_1\" },\r\n\"pageSize\" : 100,\r\n\"orderBys\" : [ { \"fieldName\" : \"searchScore\", \"direction\" : \"desc\" }, { \"fieldName\" : \"fullName\", \"direction\" : \"asc\" }]\r\n}"},"url":"{{BaseUrl}}/api/v2/candidate/advancedsearch"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Cache-Control","value":"no-cache"},{"key":"Pragma","value":"no-cache"},{"key":"Content-Length","value":"16405"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Expires","value":"-1"},{"key":"Server","value":"Microsoft-IIS/10.0"},{"key":"X-AspNet-Version","value":"4.0.30319"},{"key":"X-Powered-By","value":"ASP.NET"},{"key":"Date","value":"Thu, 04 Jun 2020 16:21:35 GMT"}],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"6bab998b-fea7-4c92-a7d9-6db3b593533b"},{"name":"Update Candidate","id":"2a7bb4d0-9cb2-4575-85f5-69c74fddc32e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"id\": 123456789,\n  \"firstName\": \"John\",\n  \"lastName\": \"Smith\",\n  \"status\": null,\n  \"sourceType\": \"Social Media\",\n  \"source\": \"Twitter\",\n  \"address\": {\n    \"line1\": \"Apartment 15\",\n    \"line2\": \"21 2nd Street\",\n    \"city\": \"New York\",\n    \"state\": \"New York\",\n    \"type\": \"home\",\n    \"zip\": \"10001\",\n    \"country\": \"United States of America\"\n}"},"url":"{{BaseUrl}}/api/candidate/update","description":"<p>Update an existing candidate.</p>\n<p>The body of the candidate update request should be identical to the create request with the single change that a \"id\" property should be included in the payload. </p>\n<h4>NOTES</h4>\nThe following constraints apply to candidates updated via the API:\n<ul>\n<li>If an \"id\" is specified and the candidate's id does not match an existing candidate that the current user has access to, then an error will be returned.</li>\n<li>If no \"id\" is specified then an attempt will be made to look up the candidate based on email address. If this fails or if no email address is provided then an error will be returned.</li>\n<li>Emails must be valid format</li>\n<li>Country must be a valid country name (as provided by the country API)</li>\n<li>Empty strings in address properties will be treated as an explicit instruction to remove the given property which will be set to null e.g. If a candidates city=\"Boston\" and an update is published with city=\"\" then the record will be update to City=null.</li>\n<li>First and Last Name must be non-null, non-empty strings </li>\n<li>When updating custom data, the customDataTypeID must be valid. The value of the custom data record will override the existing value (if there is one). To remove a custom data record from a candidate, set the value of the custom data to null in the update (removing the custom data record from the payload will not remove the custom data record during an update)</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\nThe following JSON will be returned on success:\n```javascript\n{\"Success\": \"true\",\"Errors\":null}\n```\n\n<h4>ERRORS</h4>\nFor all other errors the following will be returned with an array of error messages.\n```javascript\n{\"Success\":false,\"Errors\":[\"Email is not valid”]}\n```","urlObject":{"path":["api","candidate","update"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"2a7bb4d0-9cb2-4575-85f5-69c74fddc32e"},{"name":"Delete Candidate","id":"f563a01a-0039-48c6-9a62-ed62d7e3128c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"https://integrations.loopworks.com/api/candidate/delete/{id}","description":"<p>Will delete a specified candidate. </p>\n<p>The id passed as a url parameter must be the id of the candidate which is the be deleted. If the specified candidate doesn't exist or is not accessible, or if the user doesn't have permissions to delete candidates, then an error will be returned. </p>\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will be a standard result with an id identifying the new note...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"Success\":true,\"Message\":[\"Candidate successfully deleted\"],}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","candidate","delete","{id}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"f563a01a-0039-48c6-9a62-ed62d7e3128c"},{"name":"Create Candidate","id":"8a2e900e-78bd-4458-b1c6-c5080a13afa4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"title\": \"Mr\",\n  \"firstName\": \"John\",\n  \"lastName\": \"Doe\",\n  \"status\": null,\n  \"sourceType\": \"Social Media\",\n  \"source\": \"Twitter\",\n  \"companyID\": 4,\n  \"addresses\": [{\n    \"line1\": \"Apartment 15\",\n    \"line2\": \"21 2nd Street\",\n    \"city\": \"New York\",\n    \"state\": \"New York\",\n    \"type\": \"home\",\n    \"zip\": \"10001\",\n    \"country\": \"United Kingdom\"\n  }],\n  \"contactMethods\": [\n    {\n      \"type\": \"email\",\n      \"address\": \"john.doe@hotmail.com\",\n    \"location\": \"Home\",\n    \"isPrimary\": true\n    },\n    {\n      \"type\": \"phone\",\n      \"location\": \"mobile\",\n      \"number\": \"01123999\",\n    \"isPrimary\": true\n    },\n    {\n      \"type\": \"phone\",\n      \"location\": \"mobile\",\n      \"number\": \"01123456\",\n    \"isPrimary\": false\n    },\n    {\n      \"type\": \"phone\",\n      \"location\": \"home\",\n      \"number\": \"441234567\",\n    \"isPrimary\": false\n    },\n    {\n      \"type\": \"phone\",\n      \"location\": \"work\",\n      \"number\": \"0156789\"\n    }\n  ],\n  \"employmentExperience\": [\n    {\n      \"organizationName\": \"Microsoft\",\n      \"jobTitle\": \"Senior Sales Consultant\",\n      \"startDate\": \"2010-01-01T00:00:00\",\n      \"endDate\": \"2017-01-18T00:00:00\"\n    },\n    {\n      \"organizationName\": \"Microsoft\",\n      \"jobTitle\": \"Sales Consultant\",\n      \"startDate\": \"2000-11-01T00:00:00\",\n      \"endDate\": \"2010-01-01T00:00:00\"\n    }\n  ],\n  \"educationHistoryModel\": [\n    {\n      \"institution\": \"Brighton University\",\n      \"institutionTypeId\": \"1\",\n      \"educationType\": \"bachelors\",\n      \"courseTitle\": \"Bachelor Degree\",\n      \"measureSystem\": null,\n      \"measureValue\": null,\n      \"startDate\": \"1987-01-01T00:00:00\",\n      \"endDate\": \"1990-01-01T00:00:00\"\n    },\n    {\n      \"institution\": \"Brighton University\",\n      \"institutionTypeId\": \"1\",\n      \"educationType\": \"masters\",\n      \"courseTitle\": \"Master's Degree\",\n      \"measureSystem\": null,\n      \"measureValue\": null,\n      \"startDate\": \"1991-01-01T00:00:00\",\n      \"endDate\": \"1994-01-01T00:00:00\"\n    }\n  ],\n  \"profile\": {\n    \"headine\": \"Business Leader\",\n    \"summary\": \"CEO of some huge campany for a long time,  doing great things\",\n    \"photoURL\": \"https://https://www.google.co.uk/imgres?imgurl=http%3A%2F%2Fi2.cdn.turner.com%2Fcnnnext%2Fdam%2Fassets%2F150806212843-07-fox-debate-trump-0806-super-169.jpg&imgrefurl=http%3A%2F%2Fwww.cnn.com%2F2015%2F08%2F07%2Fpolitics%2Fdonald-trump-republican-debate%2F&docid=PzjJPSoCxKAZpM&tbnid=BsIdhyyegGy2tM%3A&w=1100&h=619&bih=726&biw=1422&ved=0ahUKEwj-6d6a9MrOAhVKCsAKHQ4bAJMQMwhNKCMwIw&iact=mrc&uact=8\",\n    \"currentEmployer\": \"Google Ltd\",\n    \"currentJobTitle\": \"Head of business development\",\n    \"educationLevel\": \"Bachelors Degree\",\n    \"jobFunction\": \"Business Development\",\n    \"jobSpeciality\": \"Business Development\",\n    \"yearsExperience\": \"5\",\n    \"willingToRelocate\": \"true\",\n    \"communicationLanguage\": \"French\"\n  },\n  \"social\": [\n    {\n      \"type\": \"facebook\",\n      \"url\": \"http://www.facebook.com/johndoe\"\n    },\n    {\n      \"type\": \"linkedin\",\n      \"url\": \"http://www.linked.com/johndoe\"\n    }\n  ],\n  \"tags\": [ \"Tag1\", \"Tag2\" ],\n  \"skills\":[\n    {\"name\":\"Skill1\", \"dateLastUsed\": \"2018-02-01T00:00:00\",\"totalMonths\": 15, \"proficiencyID\": null},\n    {\"name\":\"Skill2\", \"dateLastUsed\": \"2018-03-10T00:00:00\",\"totalMonths\": 9, \"proficiencyID\": 123},\n    {\"name\":\"Skill3\", \"dateLastUsed\": \"2018-04-20T00:00:00\",\"totalMonths\": 4, \"proficiencyID\": null}\n  ]\n  }"},"url":"{{BaseUrl}}/api/candidate/create","description":"<p>Create a new candidate.</p>\n<p>The body of the candidate create request should be json which will exactly mirror the schema of the get candidate request, an example of which can be found in the separate LoopCandidateAPISchema.zip files (together with a formal schema).</p>\n<h4>NOTES</h4>\nThe following constraints apply to candidates created via the API:\n<ul>\n<li>Emails must be valid format</li>\n<li>Country must be a valid country name (as provided by the country API)</li>\n<li>First and Last Name must be non-null, non-empty strings </li>\n<li>If specifying a company, it is strongly recommended to use companyID in preference to companyName to avoid obvious problems with changing name and string comparison failures. If both companyId and companyName are provided then companyId will be used and companyName will be ignored.</li>\n<li>If companyID or companyName is provided then it must refer to a company which the user has access to</li>\n<li>The property institutionTypeId should be specified on Education Institutions and the id must be from the statis data endpoint /api/education/institutiontypes. If not institutionTypeId is specified then this will be defaulted to \"UNSPECIFIED\"</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\nThe following JSON will be returned on success:\n```javascript\n{\"Success\": \"true\",\"Errors\":null}\n```\n\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"path":["api","candidate","create"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"8a2e900e-78bd-4458-b1c6-c5080a13afa4"},{"name":"Get Available Candidate Types","id":"35c0a795-c502-4b15-b76d-768f921a2bcc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{AuthHeader}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"{{BaseUrl}}/api/candidate/type/available","description":"<p>Returns the list of available candidate types.</p>\n<h4>RESPONSE</h4>\nThe following JSON structure will be returned. \n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n  \"types\": [\n    {\"id\": 123, \"name\": \"Candidate\"},\n    {\"id\": 345, \"name\": \"Employee\"}\n    ...\n  ]\n}\n</code></pre>\n","urlObject":{"path":["api","candidate","type","available"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"35c0a795-c502-4b15-b76d-768f921a2bcc"}],"id":"1a57ec66-8c34-40ec-a402-53618104b56d","description":"<p>Candidate requests</p>\n","_postman_id":"1a57ec66-8c34-40ec-a402-53618104b56d"},{"name":"Company","item":[{"name":"Create Company","id":"668a5e59-f4fa-4c2f-ab48-f7fd66da6e74","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n\"name\": \"Bobs Builders\",\r\n\"isRestricted\": true,\r\n\"externalId\": \"bob1\",\r\n\"industryId\": 10\r\n}\r\n"},"url":"https://integrations.loopworks.com/api/company/create","description":"<p>Create a new company.</p>\n<h4>NOTES</h4>\n<ul>\n<li>This requires a post in the following format where isRestricted indicates whether all users should be able to access the company or only users who are given explicit access.</li>\n<li>The ExternalID is optional, but if the user tries to create two companies with the same name then they will need to provide an externalID for at least one of them to discriminate.</li>\n<li>The IndustryID is optional. The valid set of IDs can be found by querying the Industries static data endpoint /api/industries</li>\n</ul>\n\n<p>e.g.\n{\nname: 'Bobs Builders',\nisRestricted: true,\nexternalId: ‘bob1’,\n}</p>\n<h4>SUCCESS RESPONSE</h4>\nThe following JSON will be returned on success:\n```javascript\n    \"id\": 555,\n    \"statusCode\": null,\n    \"success\": true,\n    \"message\": null,\n    \"errors\": []\n```","urlObject":{"protocol":"https","path":["api","company","create"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"668a5e59-f4fa-4c2f-ab48-f7fd66da6e74"},{"name":"Update Company","id":"47b0ae52-50db-4d22-9a21-f6839482c81b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n\"id\": 1234,\r\n\"name\": \"Bobs Builders\",\r\n\"isRestricted\": true,\r\n\"externalId\": \"bob1\",\r\n\"industryId\": 10\r\n}\r\n"},"url":"https://integrations.loopworks.com/api/company/update","description":"<p>Update an existing company.</p>\n<h4>NOTES</h4>\n<ul>\n<li>This requires a post in the following format where isRestricted indicates whether all users should be able to access the company or only users who are given explicit access.</li>\n<li>ID is required to identify the company which the update should be applied to. The id will be validated to ensure that the current user has the requisite access to update the given company. An error will be returned if the company specified does not exist or the user does not have rights to update it.</li>\n<li>The ExternalID is optional, but if the user tries to create two companies with the same name then they will need to provide an externalID for at least one of them to discriminate.</li>\n<li>The IndustryID is optional. The valid set of IDs can be found by querying the Industries static data endpoint /api/industries</li>\n<li>Please note that where optional parameters are NOT provided, then they will be set to null during the updat. Therefore, parameters SHOULD be specified if they have been previously set for the given company (unless the intent is to unset them)</li>\n</ul>\n\n<p>e.g.\n{\nname: 'Bobs Builders',\nisRestricted: true,\nexternalId: ‘bob1’,\n}</p>\n<h4>SUCCESS RESPONSE</h4>\nThe following JSON will be returned on success:\n```javascript\n    \"id\": 555,\n    \"statusCode\": null,\n    \"success\": true,\n    \"message\": null,\n    \"errors\": []\n```","urlObject":{"protocol":"https","path":["api","company","update"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"47b0ae52-50db-4d22-9a21-f6839482c81b"}],"id":"8aafd97c-8843-4c68-9aef-ec7d8a3fb84e","description":"<p>Company Requests</p>\n","_postman_id":"8aafd97c-8843-4c68-9aef-ec7d8a3fb84e"},{"name":"Email","item":[{"name":"Templates","item":[{"name":"Retrieve Email Templates","id":"92b1708b-b50d-4271-87df-4cd4f1ef781d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/email/templates/{companyID?}","description":"<p>Returns summary data for all the email templates for the given company. If no companyID is provided as a URL parameter, then will return email templates for all companies.</p>\n<p>Note: Email Templates will be restricted to those associated with companies that the current user has access to (or to templates with no company association)</p>\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">[\n  {\"name\":\"Template 1\",\"id\":101},\n  {\"name\":\"Template 2\",\"id\":102}\n]\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","email","templates","{companyID"],"host":["integrations","loopworks","com"],"query":[{"key":"}","value":""}],"variable":[]}},"response":[],"_postman_id":"92b1708b-b50d-4271-87df-4cd4f1ef781d"},{"name":"Retrieve Email Template Detail","id":"dc715e1f-dd99-4df9-9daf-f83210f0ca47","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/email/template/{templateID}","description":"<p>Returns detailed data for the given email template.</p>\n<p>NOTE: CompanyID is nullable in the response.</p>\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n  \"name\":\"Test Template\",\n  \"id\":101,\n  \"subject\":\"Test Subject\",\n  \"body\":\"&lt;p&gt;Hello, this is a test template.&lt;/p&gt;\",\n  \"companyID\": 1234\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","email","template","{templateID}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"dc715e1f-dd99-4df9-9daf-f83210f0ca47"},{"name":"Create Email Templates","id":"3bd209d1-1134-49d4-815a-3cad48128a35","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{  \r\t\"name\": \"Example Name\",\r\t\"subject\": \"Example Subject\",\r\t\"body\": \"<p>Example Body</p>\",\r\t\"profileId\": 123,\r\t\"companyId\":111\r} "},"url":"https://integrations.loopworks.com/api/email/template/create","description":"<p>Create a new Email Template based on the template properties specified in the body.</p>\n<h4>NOTES</h4>\n<ul>\n<li>The companyID property is optional. The remaining properties are mandatory.</li>\n<li>The profileID is mandatory and must be accessible for the current user context. Invalid or inaccessible profileIds will result in an error response.</li>\n<li>The response indicates the id of the newly created template.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"id\":101,\"statusCode\":null,\"success\":true,\"message\":null,\"errors\":[]}\n</code></pre>\n<h4>ERROR RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"statusCode\":null,\"success\":false,\"message\":null,\"errors\":[\"No Email Profile exists for EmailProfileID=123 (or it is not accessible)\"]}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","email","template","create"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"3bd209d1-1134-49d4-815a-3cad48128a35"},{"name":"Update Email Templates","id":"2f41caca-bc96-4f21-8880-a3e31b117348","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{  \r   \"id\":1234,\r   \"name\":\"Example Name (Updated)\",\r   \"subject\":\"Example Subject (Updated)\",\r   \"body\":\"Example Body (Updated)</p>\",\r   \"profileId\":123,\r   \"companyId\":111\r}"},"url":"https://integrations.loopworks.com/api/email/template/update","description":"<p>Update an existing Email Template using the template properties specified in the body.</p>\n<h4>NOTES</h4>\n<ul>\n<li>The id is mandatory and be the EmailTemplateID for an EmailTemplate which is accessible for the current user context. The id specifies which EmailTemplate is to be updated.</li>\n<li>The companyID property is optional. The remaining properties are mandatory.</li>\n<li>The profileID is mandatory and must be accessible for the current user context. Invalid or inaccessible profileIds will result in an error response.</li>\n<li>The response indicates the id of the newly created template.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"id\":101,\"statusCode\":null,\"success\":true,\"message\":null,\"errors\":[]}\n</code></pre>\n<h4>ERROR RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"statusCode\":null,\"success\":false,\"message\":null,\"errors\":[\"No Email Profile exists for EmailProfileID=123 (or it is not accessible)\"]}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","email","template","update"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"2f41caca-bc96-4f21-8880-a3e31b117348"},{"name":"Delete Email Templates","id":"a96cd172-84a0-4764-b097-343e0410a7fc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"https://integrations.loopworks.com/api/email/template/delete/{id}","description":"<p>Delete the Email Template specified by the id.</p>\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"id\":101,\"statusCode\":null,\"success\":true,\"message\":\"Template Successfully Deleted\",\"errors\":[]}\n</code></pre>\n<h4>ERROR RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"statusCode\":null,\"success\":false,\"message\":null,\"errors\":[\"No Email Template exists for EmailTemplateID=123 (or it is not accessible)\"]}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","email","template","delete","{id}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"a96cd172-84a0-4764-b097-343e0410a7fc"}],"id":"cce8378c-e7ba-42c1-bb89-28546565c918","_postman_id":"cce8378c-e7ba-42c1-bb89-28546565c918","description":""},{"name":"Retrieve Email Profiles","id":"e18e7332-354e-406c-8930-f084f80975bd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/email/profiles","description":"<p>Returns summary data for all the email profiles for the given company.</p>\n<h4>NOTES</h4>\n<ul>\n<li>To use email profiles, users need elevated privileges in Loop. If the user specified by the current user context does not have these privileges then nothing will be returned by this call.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">[\n{\"name\":\"Profile 1\",\"id\":101},\n{\"name\":\"Profile 2\",\"id\":102}\n]\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","email","profiles"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"e18e7332-354e-406c-8930-f084f80975bd"},{"name":"Retrieve Email","id":"8e8c35aa-e7ad-4e3d-a462-a596c26c1a63","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/email/{emailId}","description":"<p>Returns email for the specified email id.</p>\n<h4>NOTES</h4>\n<ul>\n<li>If the emailID provided refers to an email that the user does not have access to, then an error will be returned.</li>\n<li>If a jobId or a poolId was specified when sending the email (i.e. the email is associated with a job or a pool) the the jobId and/or poolId properties will be populated.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n\"id\":1234,\n\"to\":\"test-recipient@loopworks.com\",\n\"from\":\"test-sender@loopworks.com\",\n\"subject\":\"Example Subject\",\n\"body\":\"&lt;div&gt;Loop Example&lt;/div&gt;\",\n\"status\":null,\n\"poolId\": 1234,\n\"jobId\": 9999,\n\"dateSent\":\"2017-03-03T10:04:14.293\",\n\"openCount\":3,\n\"clickCount\":1,\n\"clicks\":\n  [\n  {\"url\":\"https://demo.loop.jobs/Register?d=18DN9G&amp;userID=2613\",\"dateClicked\":\"2017-03-03T10:05:52\"}\n  ]\n}\n</code></pre>\n<h4>ERRORS</h4>\nIf no email exists with the specified id then the following json response will be returned.\n```javascript\n{\"statusCode\":21000,\"success\":false,\"message\":null,\"errors\":[\"No Email exists with ID = \\\"123\\\" (or this record is not accessible)\"]}\n```","urlObject":{"protocol":"https","path":["api","email","{emailId}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"8e8c35aa-e7ad-4e3d-a462-a596c26c1a63"},{"name":"Retrieve Email Domains","id":"632aed59-b8aa-48f6-9440-49d475de2e0a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"companyId\": null\n}\n"},"url":"https://integrations.loopworks.com/api/email/domains","description":"<p>Returns the email domains which the current user has access to.</p>\n<h4>NOTES</h4>\n<ul>\n<li>Email domains are typically only required when emails are sent using Loop as an email proxy service.</li>\n<li>If a companyId is specified in the request payload then the list of domains will be filtered to domains which have been explicitly granted access to the nominated company.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n\"domains\":\n  [{\n    \"clientID\":1234,\n    \"domain\":\"recruiter.email\",\n    \"id\":99\n  }]\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","email","domains"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"632aed59-b8aa-48f6-9440-49d475de2e0a"},{"name":"Send Email","id":"191e45e8-5ee6-4da1-9823-af2770061a06","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n\"subject\": \"Test Subject\",\r\n\"body\": \"Test Body\",\r\n\"candidateIds\": [999],\r\n\"allAddresses\": false,\r\n\"emailAddresses\": [\"address1@email.com\", \"address2@email.com\"],\r\n\"cc\": [\"cc_address1@email.com\", \"cc_address2@email.com\"],\r\n\"bcc\": [\"bcc_address1@email.com\", \"bcc_address2@email.com\"],\r\n\"attachments\": [\r\n{\"fileName\": \"File1.doc\", \"blob\": \"0M8R4KGxGuEAAAAAAAAAAAAAAAA...\"},\r\n{\"fileName\": \"File2.pdf\", \"blob\": \"e1xydGYxXGFkZWZsYW5nMTAyNVx...\"}\r\n],\r\n\"templateId\": 101,\r\n\"profileId\": 99,\r\n\"isNotificationRequired\": true,\r\n\"companyId\": 123,\r\n\"jobId\": 111,\r\n\"poolId\": 222\r\n}"},"url":"https://integrations.loopworks.com/api/email/send","description":"<p>Send an email to the candidate specified in the post body.</p>\n<h4>NOTES</h4>\n<ul>\n<li>The templateID, profileID, companyID, jobId, poolId and attachments are optional. The remaining properties are mandatory.</li>\n<li>If templateID or profileID are specified then they will be validated before the email is sent. The attachments property of the request json is an array of objects containing fileName and blob properties. The blob property should be a base64 encoded string representing the given attachment.</li>\n<li>If JobId or poolId is provided that the relevant job and/or pool will be looked up and used to perform token replacements in the header and body of the template.\nAt the time of writing, these are the supported Token Substitutions:\n<ul>\n<li>{JOB.TITLE}</li>\n<li>{JOB.DESCRIPTION}</li>\n<li>{JOB.COMPANY}</li>\n<li>{JOB.EXTERNALID}</li>\n<li>{JOB.REQNUMBER}</li>\n<li>{JOB.JOBURL}</li>\n<li>{JOB.APPLYURL}</li>\n<li>{JOB.TYPE}</li>\n<li>{JOB.LEVEL}</li>\n<li>{JOB.SHIFT}</li>\n<li>{JOB.LOCATION}</li>\n<li>{POOL.NAME}</li>\n<li>{POOL.ID}</li>\n<li>{POOL.COMPANY.NAME}</li>\n<li>{POOL.COMPANY.DESCRIPTION}</li>\n</ul>\n</li>\n<li>Token substitution is also supported for properties of the candidates who are being emailed and the user who is sending the emails. \nAt the time of writing, these are the supported Token Substitutions for candidates:\n<ul>\n<li>{Person.FirstName}</li>\n<li>{Person.LastName}</li>\n</ul>\nThe following legacy tokens are also supported but should be treated as obsolete and avoided where possible:\n<ul>\n<li>##FIRSTNAME##</li>\n<li>@FIRSTNAME</li>\n<li>##LASTNAME##</li>\n<li>@LASTNAME</li>\n</ul>\nAt the time of writing, these are the supported Token Substitutions for the user sending the emails:\n<ul>\n<li>{USER.FIRSTNAME}</li>\n<li>{USER.LASTNAME}</li>\n<li>{USER.FULLNAME}</li>\n</ul>\nAt the time of writing, these are the supported Token Substitutions for dialogue IDs. DialogueIDs are used to uniquely identify a candidate:\n<ul>\n<li>{DialogueID36}</li>\n<li>##DIALOGUEID36## - Legacy</li>\n</ul>\nAdditionally, the following tokens can be used to include a link to a standard hosted form. The URL will be dynamically constructed and the domain will be inferred from the companyID so the CompanyID must be provided when sending an email containing one of these tokens:\n<ul>\n<li>{SMS_OPT_IN_LINK}</li>\n<li>{UPDATE_PROFILE_LINK}</li>\n</ul>\n</li>\n<li>The response indicates the number of emails sent successfully and the number that failed (e.g. because of invalid email addresses). Any failures are detailed in the failedEmails array in the response.</li>\n<li>If allAddresses is set to true, then the email will be sent to every active email address that Loop holds for the given candidate</li>\n<li>If allAddresses is set to false and emailAddresses is populated, then the email will be sent to the nominated email addresses. If any of the email address provided does not match an email address that is held in Loop for the given candidates then the given address will be added to the failedEmails array in the response.</li>\n<li>If companyID is provided then access to the email that is sent will be restricted to users who have access to the nominated company. If the companyID is provided and refers to a company that the user does not have access to, then an error will be returned.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<p><code>javascript {   \"success\":false,   \"message\":null,   \"errors\":[\"Could not send email to Test User at \\\"invalidemail.com\\\". Email Address is not valid.\"],   \"failedEmails\":[{   \"candidateId\":999,   \"candidateName\":\"Test User\",   \"email\":\"invalidemail.com\",   \"message\":\"Email Address is not valid\"   }],   \"countSent\":0,   \"countFailed\":1 } </code></p>\n","urlObject":{"protocol":"https","path":["api","email","send"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"191e45e8-5ee6-4da1-9823-af2770061a06"},{"name":"Send Candidate","id":"86b1ee0c-c608-45b2-b382-15ac79e35632","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"subject\": \"Test Subject\",\r\"body\": \"Test Body\",\r\"from\":\"fromaddress@email.com\",\r\"candidateIds\": [999],\r\"emailAddresses\": [\"address1@email.com\", \"address2@email.com\"],\r\"attachments\": [\r{\"fileName\": \"File1.doc\", \"blob\": \"0M8R4KGxGuEAAAAAAAAAAAAAAAA...\"},\r{\"fileName\": \"File2.pdf\", \"blob\": \"e1xydGYxXGFkZWZsYW5nMTAyNVx...\"}\r]\r}"},"url":"https://integrations.loopworks.com/api/email/sendcandidate","description":"<p>Send an email to the recipient list with an attached PDF for each candidate listed in the candidateIds list (i.e. if two candidateIds are specified then two PDFs will be generated and attached to each email).</p>\n<h4>NOTES</h4>\n<ul>\n<li>At the current time, the user is expected to provide the full body of the email. Support for email templates may be provided in a future release if deman required.</li>\n<li>The attachments property of the request json is an array of objects containing fileName and blob properties. The blob property should be a base64 encoded string representing the given attachment. If attachments are specified then the given attachments will be included in the outboud email <b>in addition to the the system generated pdf</b>.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n  \"success\":false,\n  \"message\":null,\n  \"errors\":[\"Could not send email to \\\"invalidemail.com\\\". Email Address is not valid.\"],\n  \"failedEmails\":[{\n  \"email\":\"invalidemail.com\",\n  \"message\":\"Email Address is not valid\"\n  }],\n  \"countSent\":0,\n  \"countFailed\":1\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","email","sendcandidate"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"86b1ee0c-c608-45b2-b382-15ac79e35632"}],"id":"f53fa171-d991-4cfd-9abe-bad75d9c52b5","description":"<p>Email Requests</p>\n","_postman_id":"f53fa171-d991-4cfd-9abe-bad75d9c52b5"},{"name":"Education","item":[{"name":"Get Institution Types","id":"38fe06f3-ffb0-495f-860f-2c003960a833","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/education/institutiontypes","description":"<p>Returns a list of available institution types.</p>\n<h4>NOTES</h4>\n<ul>\n<li>On Candidate upsert, the institution type ID specified must be for a valid institution type from the Loop institution type list provided by this end point.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n[\n{\n\"name\": \"university\"\n\"id\": \"1\"\n\"description\": \"ABCD\"\n},\n{\n\"name\": \"college\"\n\"id\": \"7\"\n\"description\": \"EFGH\"\n}\n]\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","education","institutiontypes"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"38fe06f3-ffb0-495f-860f-2c003960a833"},{"name":"Add Candidate Education History","id":"179890a2-c053-4210-a3d6-cdd7710d665b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"candidateId\": 12345,\r\"institution\": \"School of Life\",\r\"institutionTypeID\": 1,\r\"educationType\": \"masters\",\r\"courseTitle\": \"Hard knocks 101\",\r\"measureSystem\": \"GPA\",\r\"measureValue\": 3.6,\r\"startDate\": \"2016-01-15\",\r\"endDate\": \"2016-06-30\"\r}"},"url":"{{BaseUrl}}/api/candidate/education/add","description":"<p>Add a candidate education history.</p>\n<p>This adds a new item to the given candidates education history.</p>\n<h4>NOTES</h4>\nThe following constraints apply to candidates created via the API:\n \n<ul>\n<li>The id passed in the body of the request is the candidateId for the candidate for whom the new education history record should be created.</li>\n<li>Either institution or institutionTypeId are required. If institution is provided then the instituion is looked up by name. If no match is found or the instituion is not provided in the initial request, then a new insitution will be created on the fly using the institutionTypeId provided (insitution types can be look up via the \"Get INstitution Types\" call)</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\nThe following JSON will be returned on success. The id represents the id of the newly created record:\n```javascript\n{\"Success\": \"true\",\"id\": 1234, \"Errors\":null}\n```\n\n<h4>ERRORS</h4>\nFor all other errors the following will be returned with an array of error messages.\n```javascript\n{\"Success\":false,\"Errors\":[\"Institution Type ID is invalid\"]}\n```","urlObject":{"path":["api","candidate","education","add"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"7d2e8bc4-ce74-40d2-af47-985e50630bd0","name":"Upsert Candidate Contact Methods{   \"id\": \"12345\",   \"type\": \"email\",   \"address\": \"abc@gmail.com\" }","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\t\"id\": \"12345\",\r\t\"type\": \"email\",\r\t\"address\": \"abc@gmail.com\"\r}\r"},"url":"https://integrations.loopworks.com/api/candidate/contact"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r  \"id\": \"12345\",\r  \"type\": \"email\",\r  \"address\": \"abc@gmail.com\"\r}\r"},{"id":"19abc321-0ac8-4c33-99e4-168bc556e900","name":"Upsert Candidate Contact Methods","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\t\"id\": \"12345\",\r\t\"type\": \"email\",\r\t\"address\": \"abc@gmail.com\"\r}\r"},"url":"https://integrations.loopworks.com/api/candidate/contact"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r  \"id\": \"12345\",\r  \"type\": \"phone\",\r  \"location\": \"mobile\",\r  \"number\": \"01123456\"\r}\r"}],"_postman_id":"179890a2-c053-4210-a3d6-cdd7710d665b"},{"name":"Update Candidate Education History","id":"a947b339-b124-4f84-b9c0-940ce9014a63","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"id\": 9999,\r\"candidateId\": 12345,\r\"institution\": \"School of Life\",\r\"institutionTypeID\": 1,\r\"educationType\": \"masters\",\r\"courseTitle\": \"Hard knocks 101\",\r\"measureSystem\": \"GPA\",\r\"measureValue\": 3.6,\r\"startDate\": \"2016-01-15\",\r\"endDate\": \"2016-06-30\"\r}"},"url":"https://integrations.loopworks.com/api/candidate/education/update","description":"<p>Update an existing candidate education history record.</p>\n<h4>NOTES</h4>\nThe following constraints apply to candidates created via the API:\n \n<ul>\n<li>id in the request body represents the id of the education history record</li>\n<li>The id and the candidateId are both required. The id is validated against the candidateId and access permissions are checked agains the candidateId</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\nThe following JSON will be returned on success:\n```javascript\n{\"Success\": \"true\", \"Errors\":null}\n```\n\n<h4>ERRORS</h4>\nFor all other errors the following will be returned with an array of error messages.\n```javascript\n{\"Success\":false,\"Errors\":[\"Institution Type ID is invalid\"]}\n```","urlObject":{"protocol":"https","path":["api","candidate","education","update"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[{"id":"c4b831b0-a1ca-4b38-b6c5-529987f2338f","name":"Upsert Candidate Contact Methods{   \"id\": \"12345\",   \"type\": \"email\",   \"address\": \"abc@gmail.com\" }","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\t\"id\": \"12345\",\r\t\"type\": \"email\",\r\t\"address\": \"abc@gmail.com\"\r}\r"},"url":"https://integrations.loopworks.com/api/candidate/contact"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r  \"id\": \"12345\",\r  \"type\": \"email\",\r  \"address\": \"abc@gmail.com\"\r}\r"},{"id":"5958aad4-0d28-48de-b4cb-902c8bc90fc0","name":"Upsert Candidate Contact Methods","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\t\"id\": \"12345\",\r\t\"type\": \"email\",\r\t\"address\": \"abc@gmail.com\"\r}\r"},"url":"https://integrations.loopworks.com/api/candidate/contact"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r  \"id\": \"12345\",\r  \"type\": \"phone\",\r  \"location\": \"mobile\",\r  \"number\": \"01123456\"\r}\r"}],"_postman_id":"a947b339-b124-4f84-b9c0-940ce9014a63"},{"name":"Delete Candidate Education History","id":"ee790dc5-cfe3-4f4c-975d-58a31373a607","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"https://integrations.loopworks.com/api/candidate/education/delete/{educationId}","description":"<p>Will delete a specified candidate education history record. </p>\n<p>The id passed as a url parameter must be the id of the candidate education history record which is the be deleted. If the associated candidate doesn't exist or is not accessible, or if the user doesn't have permissions to delete candidates, then an error will be returned. </p>\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will be a standard result with an id identifying the new note...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"Success\":true,\"Message\":[\"Candidate successfully deleted\"],}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","candidate","education","delete","{educationId}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ee790dc5-cfe3-4f4c-975d-58a31373a607"}],"id":"e1568c28-115f-46fd-81ca-f995da746675","_postman_id":"e1568c28-115f-46fd-81ca-f995da746675","description":""},{"name":"Employment","item":[{"name":"Add Candidate Employment History","id":"764281b3-273c-491f-9542-4233f68e029b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"candidateId\": 39681022,\r\"organizationName\": \"Organization\",\r\"jobTitle\": \"Customer Service Executive\",\r\"startDate\": \"2016-01-15\",\r\"endDate\": \"2016-06-30\",\r\"description\" : \"Ran a team, made loads of money and worked super-hard!\"\r}"},"url":"{{BaseUrl}}/api/candidate/employment/add","description":"<p>Add a candidate employment history.</p>\n<p>This adds a new item to the given candidates education history.</p>\n<h4>NOTES</h4>\nThe following constraints apply to candidates created via the API:\n \n<ul>\n<li>The id passed in the body of the request is the candidateId for the candidate for whom the new education history record should be created.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\nThe following JSON will be returned on success. The id represents the id of the newly created record:\n```javascript\n{\"Success\": \"true\",\"id\": 1234, \"Errors\":null}\n```\n\n<h4>ERRORS</h4>\nFor all other errors the following will be returned with an array of error messages.\n```javascript\n{\"Success\":false,\"Errors\":[\"Institution Type ID is invalid\"]}\n```","urlObject":{"path":["api","candidate","employment","add"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"2dde9c52-070a-4802-a154-326fe82f4263","name":"Upsert Candidate Contact Methods","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\t\"id\": \"12345\",\r\t\"type\": \"email\",\r\t\"address\": \"abc@gmail.com\"\r}\r"},"url":"https://integrations.loopworks.com/api/candidate/contact"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r  \"id\": \"12345\",\r  \"type\": \"phone\",\r  \"location\": \"mobile\",\r  \"number\": \"01123456\"\r}\r"},{"id":"616f42eb-a681-49a0-a3e8-82690b702a92","name":"Upsert Candidate Contact Methods{   \"id\": \"12345\",   \"type\": \"email\",   \"address\": \"abc@gmail.com\" }","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\t\"id\": \"12345\",\r\t\"type\": \"email\",\r\t\"address\": \"abc@gmail.com\"\r}\r"},"url":"https://integrations.loopworks.com/api/candidate/contact"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r  \"id\": \"12345\",\r  \"type\": \"email\",\r  \"address\": \"abc@gmail.com\"\r}\r"}],"_postman_id":"764281b3-273c-491f-9542-4233f68e029b"},{"name":"Update Candidate Employment History","id":"dd76a0d3-90f2-4f96-ad53-fd47714c572b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"id\": 9999,\r\"candidateId\": 12345,\r\"organizationName\": \"Organization\",\r\"jobTitle\": \"Customer Service Executive\",\r\"startDate\": \"2016-01-15\",\r\"endDate\": \"2016-06-30\",\r\"description\" : \"Ran a team, made loads of money and worked super-hard!\"\r}"},"url":"https://integrations.loopworks.com/api/candidate/employment/update","description":"<p>Update an existing candidate education history record.</p>\n<h4>NOTES</h4>\nThe following constraints apply to candidates created via the API:\n \n<ul>\n<li>id in the request body represents the id of the employment history record</li>\n<li>The id and the candidateId are both required. The id is validated against the candidateId and access permissions are checked agains the candidateId</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\nThe following JSON will be returned on success:\n```javascript\n{\"Success\": \"true\", \"Errors\":null}\n```\n\n<h4>ERRORS</h4>\nFor all other errors the following will be returned with an array of error messages.\n```javascript\n{\"Success\":false,\"Errors\":[\"Institution Type ID is invalid\"]}\n```","urlObject":{"protocol":"https","path":["api","candidate","employment","update"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[{"id":"39309a9c-adc2-44da-91f1-55b8bcda8e61","name":"Upsert Candidate Contact Methods","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\t\"id\": \"12345\",\r\t\"type\": \"email\",\r\t\"address\": \"abc@gmail.com\"\r}\r"},"url":"https://integrations.loopworks.com/api/candidate/contact"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r  \"id\": \"12345\",\r  \"type\": \"phone\",\r  \"location\": \"mobile\",\r  \"number\": \"01123456\"\r}\r"},{"id":"3187cb40-0dcb-41ca-ade8-ad958f0a288f","name":"Upsert Candidate Contact Methods{   \"id\": \"12345\",   \"type\": \"email\",   \"address\": \"abc@gmail.com\" }","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\t\"id\": \"12345\",\r\t\"type\": \"email\",\r\t\"address\": \"abc@gmail.com\"\r}\r"},"url":"https://integrations.loopworks.com/api/candidate/contact"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r  \"id\": \"12345\",\r  \"type\": \"email\",\r  \"address\": \"abc@gmail.com\"\r}\r"}],"_postman_id":"dd76a0d3-90f2-4f96-ad53-fd47714c572b"},{"name":"Delete Candidate Employment History","id":"fe6dbaed-e1ce-44e7-b281-27221ad6856a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Basic SnVsaWFuQ29sYmVydEZTU2hhcmVkRVU6VnlSKjQjWkBYT1E2"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"https://integrations-eu.loopworks.com/api/candidate/employment/delete/100309963","description":"<p>Will delete a specified candidate employment history record. </p>\n<p>The id passed as a url parameter must be the id of the candidate employment history record which is the be deleted. If the associated candidate doesn't exist or is not accessible, or if the user doesn't have permissions to delete candidates, then an error will be returned. </p>\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will be a standard result with an id identifying the new note...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"Success\":true,\"Message\":[\"Candidate successfully deleted\"],}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","candidate","employment","delete","100309963"],"host":["integrations-eu","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"fe6dbaed-e1ce-44e7-b281-27221ad6856a"}],"id":"e3986661-8654-46d8-93cb-2bfb469d884c","_postman_id":"e3986661-8654-46d8-93cb-2bfb469d884c","description":""},{"name":"Form","item":[{"name":"Retrieve Form Types","id":"de78263e-df0c-4527-a8fe-ba6546ce455f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/form/types","description":"<p>Returns an array of the types of form supported by the system which the current user can access.</p>\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">[\n  {\"name\":\"SMS Opt In\",\"id\":1},\n  {\"name\":\"Update Profile\",\"id\":2}\n]\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","form","types"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"de78263e-df0c-4527-a8fe-ba6546ce455f"},{"name":"Send Form","id":"4d4d38f4-1832-424f-9c60-ed6a367f1dad","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"companyId\": 123,\r\"candidateIDs\":[999],\r\"formType\":1,\r\"emailTemplateID\": 456\r}"},"url":"{{BaseUrl}}/api/form/send","description":"<p>Send an email to the candidates specified in the post body.</p>\n<h4>NOTES</h4>\n<ul>\n<li>The companyID property is required because this indicates which stream site should be selected to generate the appropriate link i.e. where should the form be hosted</li>\n<li>Either the formType property  or the emailTemplateId property is required. The preferred approach is to simply specify the formType and let the platform identify the correct email template to use based on the formType and companyID. When using formType the value must be the ID of one of the form types retrieved via the call to \"Retrieve Form Types\". Alternatively, emailTemplateId can be provided instead of formType, in which case the specified emailTemplate will be sent - USE WITH CARE!</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"statusCode\":null,\"success\":true,\"message\":null,\"errors\":[]}\n</code></pre>\n<h4>FAILURE RESPONSE</h4>\ne.g.\n\n<p><code>javascript {   \"statusCode\":null,   \"success\":false,   \"message\":\"1 forms (out of 3) failed to send\",   \"errors\":[\"Email Address is invalid for candidateID=1234. Email Address=\\\"email@badcom\\\"\"] } </code></p>\n","urlObject":{"path":["api","form","send"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"4d4d38f4-1832-424f-9c60-ed6a367f1dad"}],"id":"ecfafad4-0c11-4a79-bc5a-a366f3f9cd23","description":"<p>You can send forms to candidates. This functionality sends links to candidates via email to allow them interact with your recruitment process.</p>\n","event":[{"listen":"prerequest","script":{"id":"e77cf1a0-e89b-4218-b25f-8d2f8f664250","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"08ef75aa-4358-4ce8-97a1-ac662a434718","type":"text/javascript","exec":[""]}}],"_postman_id":"ecfafad4-0c11-4a79-bc5a-a366f3f9cd23"},{"name":"Notifications","item":[{"name":"Mark Notification as Read","id":"f8001105-b8fc-473a-bdc3-f905c9f0b911","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/notification/markasread/{notificationID}","description":"<p>Mark the specified notification as read.</p>\n<h4>SUCCESS RESPONSE</h4>\nThe following JSON will be returned on success:\n```javascript\n{\"success\":true,\"message\":null,\"errors\":null} \n```","urlObject":{"protocol":"https","path":["api","notification","markasread","{notificationID}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"f8001105-b8fc-473a-bdc3-f905c9f0b911"},{"name":"Retrieve Notifications","id":"3db4c341-bae0-4cb9-9575-f94da97fb018","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/notification/?pageSize=25&page=1","description":"<p>Returns paged notification data for all the notifications for the current user.</p>\n<h4>NOTES</h4>\n<ul>\n<li>If pageSize and page are omitted they default to 25 and 1 respectively. Pages started at 1 so providing page=0 will result in an error.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">[  \n  {  \n  \"notificationID\":101,\n  \"message\":\"&lt;p&gt;5 candidates imported to &lt;a href=\\\"/pools/members/1234\\\"&gt;Test Pooll&lt;/a&gt; (1 duplicate ignored)&lt;/p&gt;&lt;p&gt;ImportCandidates.csv_20170201141851&lt;/p&gt;\",\n  \"type\":\"Candidate Import Succeeded\",\n  \"triggeredBy\":\"Test User\",\n  \"triggeredAt\":\"2017-02-01T14:18:55.157\",\n  \"isRead\":true\n  },\n\n  {\n  \"notificationID\":102,\n  \"message\":\"Joberate score for &lt;a href=\"/people/person/4567\"&gt;A PERSON&lt;/a&gt; has changed from 4 to 26\",\n  \"type\":\"Candidate External Score Changed\",\n  \"triggeredBy\":\"Test User\",\n  \"triggeredAt\":\"2017-02-01T14:18:55.157\",\n  \"isRead\":false\n  }\n]\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","notification",""],"host":["integrations","loopworks","com"],"query":[{"key":"pageSize","value":"25"},{"key":"page","value":"1"}],"variable":[]}},"response":[],"_postman_id":"3db4c341-bae0-4cb9-9575-f94da97fb018"},{"name":"Mark All Notifications as Read","id":"494f66ac-7b85-46e5-a670-7a99f068381c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"title\": \"Mr\",\n  \"firstName\": \"John\",\n  \"lastName\": \"Doe\",\n  \"status\": null,\n  \"sourceType\": \"Social Media\",\n  \"source\": \"Twitter\",\n  \"address\": {\n    \"line1\": \"Apartment 15\",\n    \"line2\": \"21 2nd Street\",\n    \"line2\": \"Upper East Side\",\n    \"city\": \"New York\",\n    \"state\": \"New York\",\n    \"type\": \"home\",\n    \"zip\": \"10001\",\n    \"country\": \"United States of America\"\n  },\n  \"contactMethods\": [\n    {\n      \"type\": \"email\",\n      \"address\": \"john.doe@hotmail.com\"\n    },\n    {\n      \"type\": \"email\",\n      \"address\": \"john.doe@yahoo.com\"\n    },\n    {\n      \"type\": \"phone\",\n      \"location\": \"mobile\",\n      \"number\": \"01123456\"\n    },\n    {\n      \"type\": \"phone\",\n      \"location\": \"home\",\n      \"number\": \"441234567\"\n    },\n    {\n      \"type\": \"phone\",\n      \"location\": \"work\",\n      \"number\": \"0156789\"\n    }\n  ],\n  \"employmentExperience\": [\n    {\n      \"organizationName\": \"Microsoft\",\n      \"jobTitle\": \"Senior Sales Consultant\",\n      \"startDate\": \"2010-01-01T00:00:00\",\n      \"endDate\": \"2017-01-18T00:00:00\"\n    },\n    {\n      \"organizationName\": \"Microsoft\",\n      \"jobTitle\": \"Sales Consultant\",\n      \"startDate\": \"2000-11-01T00:00:00\",\n      \"endDate\": \"2010-01-01T00:00:00\"\n    }\n  ],\n  \"educationHistoryModel\": [\n    {\n      \"institution\": \"Brighton University\",\n      \"educationType\": \"bachelors\",\n      \"courseTitle\": \"Bachelor Degree\",\n      \"measureSystem\": null,\n      \"measureValue\": null,\n      \"startDate\": \"1987-01-01T00:00:0\",\n      \"endDate\": \"1990-01-01T00:00: 00\"\n    },\n    {\n      \"institution\": \"Brighton University\",\n      \"educationType\": \"masters\",\n      \"courseTitle\": \"Master's Degree\",\n      \"measureSystem\": null,\n      \"measureValue\": null,\n      \"startDate\": \"1991-01-01T00:00:00\",\n      \"endDate\": \"1994-01-01T00:00:00\"\n    }\n  ],\n  \"profile\": {\n    \"headine\": \"Business Leader\",\n    \"summary\": \"CEO of some huge campany for a long time,  doing great things\",\n    \"photoURL\": \"https://https://www.google.co.uk/imgres?imgurl=http%3A%2F%2Fi2.cdn.turner.com%2Fcnnnext%2Fdam%2Fassets%2F150806212843-07-fox-debate-trump-0806-super-169.jpg&imgrefurl=http%3A%2F%2Fwww.cnn.com%2F2015%2F08%2F07%2Fpolitics%2Fdonald-trump-republican-debate%2F&docid=PzjJPSoCxKAZpM&tbnid=BsIdhyyegGy2tM%3A&w=1100&h=619&bih=726&biw=1422&ved=0ahUKEwj-6d6a9MrOAhVKCsAKHQ4bAJMQMwhNKCMwIw&iact=mrc&uact=8\",\n    \"currentEmployer\": \"Google Ltd\",\n    \"currentJobTitle\": \"Head of business development\",\n    \"educationLevel\": \"Bachelors Degree\",\n    \"jobFunction\": \"Business Development\",\n    \"jobSpeciality\": \"Business Development\",\n    \"yearsExperience\": \"5\",\n    \"willingToRelocate\": \"true\",\n    \"communicationLanguage\": \"French\"\n  },\n  \"social\": [\n    {\n      \"type\": \"facebook\",\n      \"url\": \"http://www.facebook.com/johndoe\"\n    },\n    {\n      \"type\": \"linkedin\",\n      \"url\": \"http://www.linked.com/johndoe\"\n    }\n  ],\n  \"tags\": [ \"Tag1\", \"Tag2\" ]\n}"},"url":"https://integrations.loopworks.com/api/notification/markallasread","description":"<p>Mark all notifications for the current user as read.</p>\n<h4>SUCCESS RESPONSE</h4>\nThe following JSON will be returned on success:\n```javascript\n{\"success\":true,\"message\":null,\"errors\":null} \n```","urlObject":{"protocol":"https","path":["api","notification","markallasread"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"494f66ac-7b85-46e5-a670-7a99f068381c"}],"id":"1eb596c2-b474-4f75-8508-d0d627b8af36","description":"<p>Notifications requests</p>\n","_postman_id":"1eb596c2-b474-4f75-8508-d0d627b8af36"},{"name":"Pools","item":[{"name":"Attachments","item":[{"name":"Upload Pool Attachment","id":"cdb40d1e-9d33-43af-a128-8994aae728fe","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \r\n  \"poolId\": 123456,\r\n  \"fileName\": \"john.doe_cv.docx\", \r\n  \"lastModified\": \"2016-09-26T12:00:00\", \r\n  \"blob\": \"0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7……..///\"\r\n} \r\n"},"url":"{{BaseUrl}}/api/pool/attachment/upload","description":"<p>The body of the candidate attachment upload request should be json as follows. </p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>The candidateId is required and must be a valid candidate which the current user has access to update.</li> \n<li>The fileName is required and must include a valid extension.</li>\n<li>The LastModified property is an optional parameter but should be provided if known.</li>\n<li>The Blob property is a Base64 encoded string representation of the resume file.</li>\n<li>If companyID is provided then access to the attachment that is sent will be restricted to users who have access to the nominated company.</li>\n</ul>\n\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will json as follows...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n  \"url\":\"A URL CONTAINING A SAS TOKEN\",\n  \"fileName\":\"TestFile.doc\",\n  \"dateUploaded\":\"2016-11-02T16:52:21.2457976Z\"\n}\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"path":["api","pool","attachment","upload"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"0febfd00-fbd0-4769-b5b4-4e67a97dee92","name":"Get Candidate Activity Feed","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/candidate/note/{id}"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\"page\": 1,\r\"pageSize\": 25,\rcandidateId:\"12345\",\rfrom: \"2016-01-01\",\rto: \"2016-06-01\"\r}\r"},{"id":"7ed13a0d-9e76-482b-a874-f0203dc76bb4","name":"Get Candidate Activity Feed","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/candidate/note/{id}"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\"page\": 1,\r\"pageSize\": 25,\rcandidateId:\"12345\",\rfrom: \"2016-01-01\",\rto: \"2016-06-01\"\r}\r"}],"_postman_id":"cdb40d1e-9d33-43af-a128-8994aae728fe"},{"name":"Rename Pool Attachment","id":"5933917a-1038-4ac7-933b-f5f230e3a90c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \r  \"attachmentId\": 567890,\r  \"fileName\": \"john.doe_cv2.docx\"\r}"},"url":"{{BaseUrl}}/api/pool/attachment/rename","description":"<p>The body of the candidate attachment rename request should be json as follows. </p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>The attachmentId is required and must be a valid candidate attachment which the current user has access to.</li> \n<li>The fileName is required and must include a valid extension.</li>\n</ul>\n\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will json as follows...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n  \"attachmentId\": 567890,\n  \"url\":\"A URL CONTAINING A SAS TOKEN\",\n  \"fileName\":\"TestFile.doc\",\n  \"dateUploaded\":\"2016-11-02T16:52:21.2457976Z\",\n  \"companyId\": 123\n}\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"path":["api","pool","attachment","rename"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"4286bf2a-9801-4432-acfc-781b4b4c2616","name":"Get Candidate Activity Feed","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/candidate/note/{id}"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\"page\": 1,\r\"pageSize\": 25,\rcandidateId:\"12345\",\rfrom: \"2016-01-01\",\rto: \"2016-06-01\"\r}\r"},{"id":"5bef43f8-e9e1-4d85-ba0c-24a088c06b7d","name":"Get Candidate Activity Feed","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/candidate/note/{id}"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\"page\": 1,\r\"pageSize\": 25,\rcandidateId:\"12345\",\rfrom: \"2016-01-01\",\rto: \"2016-06-01\"\r}\r"}],"_postman_id":"5933917a-1038-4ac7-933b-f5f230e3a90c"},{"name":"Get Pool Attachments","id":"43a1b5a8-a154-4732-bf97-9d2c914e83d0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"url":"{{BaseUrl}}/api/pool/attachment/{{PoolId}}","description":"<p>This will return all attachments for the given candidate. </p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>All the request body attributes are optional except the candidateId</li>\n<li>PageSize defaults to 25</li>\n<li>Page defaults to 1</li>\n<li>Attachments will be omitted from the results if they are associated with a specific CompanyID, and the user does not have access to that company.</li>\n</ul>\n\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will be an array of activity feed items...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n    [\n    {\n      \"attachmentId\": 123,\n      \"url\": \"\\\\someurl.com\\abcd\\attachment1.doc\",\n      \"fileName\": \"attachment1.doc\",\n      \"dateUploaded\": \"2016-05-26T09:43:29.417\",\n      \"companyId\": 567\n    },\n    {\n      \"attachmentId\": 124,\n      \"url\": \"\\\\someurl.com\\abcd\\attachment2.doc\",\n      \"fileName\": \"attachment2.doc\",\n      \"dateUploaded\": \"2016-07-4T09:14:34.176\",\n      \"companyId\": null\n    }\n    ]\n}\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"Invalid candidate id”]}\n```","urlObject":{"path":["api","pool","attachment","{{PoolId}}"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"8e34b0b5-0c16-4a05-918b-4931fe6b06d7","name":"Get Candidate Activity Feed","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/candidate/attachment/{id}"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\"page\": 1,\r\"pageSize\": 25,\rcandidateId:\"12345\",\rfrom: \"2016-01-01\",\rto: \"2016-06-01\"\r}\r"}],"_postman_id":"43a1b5a8-a154-4732-bf97-9d2c914e83d0"},{"name":"Replace Pool Attachment","id":"890a40f4-6a3b-4d9b-a47c-6654f166a377","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \r  \"attachmentId\": 567890,\r  \"fileName\": \"john.doe_cv2.docx\", \r  \"blob\": \"0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7……..///\"\r}"},"url":"{{BaseUrl}}/api/pool/attachment/replace","description":"<p>The body of the candidate attachment replace request should be json as follows. </p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>The attachmentId is required and must be a valid candidate attchment which the current user has access to.</li> \n<li>The fileName is required and must include a valid extension.</li>\n<li>The Blob property is a Base64 encoded string representation of the attachment.</li>\n</ul>\n\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will json as follows...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n  \"attachmentId\": 567890,\n  \"url\":\"A URL CONTAINING A SAS TOKEN\",\n  \"fileName\":\"TestFile.doc\",\n  \"dateUploaded\":\"2016-11-02T16:52:21.2457976Z\",\n  \"companyId\": 123\n}\n</code></pre>\n<h4>ERRORS</h4>\nIf no candidate attachment exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"No Attachment found with ID=567890 (or is not acccessible by the current user)”]}\n```","urlObject":{"path":["api","pool","attachment","replace"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"a076191c-022e-499a-b172-f026d04c2bd3","name":"Get Candidate Activity Feed","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/candidate/note/{id}"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\"page\": 1,\r\"pageSize\": 25,\rcandidateId:\"12345\",\rfrom: \"2016-01-01\",\rto: \"2016-06-01\"\r}\r"},{"id":"e8edbb05-94e6-40c3-8233-c3658a163b9e","name":"Get Candidate Activity Feed","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/candidate/note/{id}"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\"page\": 1,\r\"pageSize\": 25,\rcandidateId:\"12345\",\rfrom: \"2016-01-01\",\rto: \"2016-06-01\"\r}\r"}],"_postman_id":"890a40f4-6a3b-4d9b-a47c-6654f166a377"},{"name":"Delete Pool Attachment","id":"e1fb1a67-d7e4-493d-824f-eecdc31dd679","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"{{BaseUrl}}/api/pool/attachment/delete/{attachmentId}","description":"<p>Removes the specified attachment (assuming that the user has appropriate rights to perform this action). </p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>If the given attachmentID is not valid an error will be returned</li>\n<li>If the attachment to be deleted is associated with a specific CompanyID, then it will be deleted only if the user has access to that company; otherwise an error will be returned.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\nFor a successful call the response will json as follows...\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"Success\":true,\"Message\":[\"Successfully deleted Attachment”]}\n</code></pre>\n<h4>ERRORS</h4>\nIf no attachment exists with the id then the following json response will be returned.\n```javascript\n{\"Success\":false,\"Errors\":[\"No Attachment found with ID=567890 (or is not acccessible by the current user)\"]}\n```","urlObject":{"path":["api","pool","attachment","delete","{attachmentId}"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"3c84fd21-d316-49ae-a9d5-9dedf1e869f4","name":"Get Candidate Activity Feed","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"https://integrations.loopworks.com/api/candidate/attachment/delete/{attachmentId}"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\"page\": 1,\r\"pageSize\": 25,\rcandidateId:\"12345\",\rfrom: \"2016-01-01\",\rto: \"2016-06-01\"\r}\r"}],"_postman_id":"e1fb1a67-d7e4-493d-824f-eecdc31dd679"}],"id":"53ffa6a3-6101-4eef-a527-3722142d16b8","_postman_id":"53ffa6a3-6101-4eef-a527-3722142d16b8","description":""},{"name":"Update Pool","id":"bb8cef7f-7758-489e-92c8-751fbad578de","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"poolId\": \"1234\",\r\"name\": 'Name 1',\r\"description\": 'Description 1',\r\"companyId\": 123\r}\r"},"url":"{{BaseUrl}}/api/pool/update","description":"<p>Applies simple updates to pools.</p>\n<h4>NOTES</h4>\nThe following constraints apply:\n\n<ul>\n<li>The name and description of the pool will be updated with the specified values.</li>\n<li>If null is provided for \"name\" then an error will be generated since name is not nullable.</li>\n<li>If null is provided for \"description\" then the description ont he pool will be updated to null.</li>\n<li>The companyId associated with the pool will be updated with the companyId provided (assuming that the user has access to the given company). If null is provided, the companyId will be set to null and the relationship between the pool and the previously associated company will be removed.</li>\n</ul>\n\n\n<h4>EXAMPLE RESPONSE</h4>\nFor a successful call the response will be an standard result ...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"statusCode\":null,\"success\":true,\"message\":\"Pool with PoolID=1234 successfully updated.\",\"errors\":[]}\n</code></pre>\n","urlObject":{"path":["api","pool","update"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"bb8cef7f-7758-489e-92c8-751fbad578de"},{"name":"Delete Pool","id":"3eb2938d-67de-4706-964f-d2cd5f904314","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"{{BaseUrl}}/api/pool/delete/{poolId}","description":"<p>Delete the Pool specified by the id.</p>\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"id\":101,\"statusCode\":null,\"success\":true,\"message\":\"Pool Successfully Deleted\",\"errors\":[]}\n</code></pre>\n<h4>ERROR RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"statusCode\":null,\"success\":false,\"message\":null,\"errors\":[\"No PoolID exists for PoolID=123 (or it is not accessible)\"]}\n</code></pre>\n","urlObject":{"path":["api","pool","delete","{poolId}"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"3eb2938d-67de-4706-964f-d2cd5f904314"},{"name":"Get Pools (Basic)","id":"bfdb67c6-790e-4a31-9655-3e055f1169ee","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/pool/{companyId?}/{statusID?}","description":"<p>Returns a list of pools which are visible to the current user.</p>\n<h4>NOTES</h4>\nThe following constraints apply:\n\n<ul>\n<li>If the optional companyID parameter is also provided, pools will be filtered by companyID.</li>\n<li>If the optional statusID parameter is also provided, pools will be filtered by statusID. (Note: This represents the status of the Pool and the statusID must match an ID provided from /api/pool/status)</li>\n</ul>\n\n\n<h4>EXAMPLE RESPONSE</h4>\nFor a successful call the response will be an array of pools...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n    {\"poolId\":101,\"name\":\"Pool1\",\"description\":\"description 1\",\"companyId\":123},\n    {\"poolId\":102,\"name\":\"Pool2\",\"description\":\"description 2\",\"companyId\":456} \n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","pool","{companyId"],"host":["integrations","loopworks","com"],"query":[{"key":"}/{statusID?}","value":null}],"variable":[]}},"response":[],"_postman_id":"bfdb67c6-790e-4a31-9655-3e055f1169ee"},{"name":"Get Pool Statuses","id":"30e82468-2b39-4cf3-b622-9fc6edf2c368","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/pool/status","description":"<p>Returns a list of pool statuses which are visible to the current user.</p>\n<h4>EXAMPLE RESPONSE</h4>\nFor a successful call the response will be an array of pools...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n    {\"poolStatusId\":100,\"name\":\"Open\"},{\"poolStatusId\":101,\"name\":\"In Progress\"},{\"poolStatusId\":102,\"name\":\"Closed\"} \n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","pool","status"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"30e82468-2b39-4cf3-b622-9fc6edf2c368"},{"name":"Set Pool Status","id":"d246d388-d27a-46a0-9eb3-1726a8885d64","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"url":"{{BaseUrl}}/api/pool/setstatus/{poolID?}/{poolStatusID?}","description":"<p>Sets the status of the nominated pool. The poolID identifies the pool which needs to be updated and the poolStatusID indicates what the new status should be.</p>\n<p>Note: Access to Pool Status is resricted on a per-instance basis so it is possible to attempt to set a pool to a status to which you do not have access. This will result in an error.</p>\n<h4>EXAMPLE RESPONSE</h4>\nFor a successful call the response will be the standard response structure ....\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"statusCode\":null,\"success\":true,\"message\":\"Pool Status updated successfully\",\"errors\":[]}\n</code></pre>\n","urlObject":{"path":["api","pool","setstatus","{poolID"],"host":["{{BaseUrl}}"],"query":[{"disabled":true,"key":"","value":null},{"key":"}/{poolStatusID?}","value":null}],"variable":[]}},"response":[],"_postman_id":"d246d388-d27a-46a0-9eb3-1726a8885d64"},{"name":"Get Pools (Advanced)","id":"8acda599-2511-4c3b-be1b-cff9986f45a2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\rpage: 1,\rpageSize: 50,\rcompanyId: null,\rpoolIds: [{{PoolId1}}, {{PoolId2}}],\rownedPools: null\r}\r"},"url":"{{BaseUrl}}/api/pool","description":"<p>Returns a list of pools which are visible to the current user.</p>\n<h4>NOTES</h4>\nThe following constraints apply:\n\n<ul>\n<li>If the optional companyID parameter is also provided, pools will be filtered by companyID.</li>\n<li>If the poolIds parameter is provided then only pools with the specified IDs will be returned.</li>\n<li>If ownedPools is set to true, then only pools owned by the current user (based on the user context) will be returned.</li>\n<li>If nothing is specified anything for the pagination properties the API will default to page=1, pageSize=25.</li>\n<li>The max page size is 1000, anything above this will be ignored and will default to 1000.</li>\n<li>The first page is page=1. Setting page = 0 will return an error.</li>\n</ul>\n\n\n<h4>EXAMPLE RESPONSE</h4>\nFor a successful call the response will be an array of pools...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n    {\"poolId\":101,\"name\":\"Pool1\",\"description\":\"description 1\",\"companyId\":123},\n    {\"poolId\":102,\"name\":\"Pool2\",\"description\":\"description 2\",\"companyId\":456} \n}\n</code></pre>\n","urlObject":{"path":["api","pool"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"8acda599-2511-4c3b-be1b-cff9986f45a2"},{"name":"Get Pools Member Count","id":"0deecc4e-0ead-46d0-8d9b-74e704c38e0d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\rpoolIds: [{{PoolId1}}, {{PoolId2}}]\r}\r"},"url":"{{BaseUrl}}/api/pool","description":"<p>Returns a summary of pools which are visible to the current user with a count of the number of candidates in each pool.</p>\n<h4>NOTES</h4>\nThe following constraints apply:\n\n<ul>\n<li>The poolIds parameter is required and results will be filtered by the specified IDs</li>\n<li>Where the current user does not have access to a pool specified by a poolID in the body of the request, then that pool will be omitted from the response.</li>\n</ul>\n\n\n<h4>EXAMPLE RESPONSE</h4>\nFor a successful call the response will be an array of pools...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">[\n{\"poolId\":1234,\"name\":\"test pool 1\",\"count\":590},\n{\"poolId\":5678,\"name\":\"test pool 2\",\"count\":0},\n{\"poolId\":9999,\"name\":\"test pool 3\",\"count\":0},\n{\"poolId\":1111,\"name\":\"test pool 4\",\"count\":999}\n]\n</code></pre>\n","urlObject":{"path":["api","pool"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"0deecc4e-0ead-46d0-8d9b-74e704c38e0d"},{"name":"Get Candidates in Pool","id":"d665e26c-0ab8-4e89-8e6b-ba9583e3b377","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{  \r\"page\": 1,\r\"pageSize\": 25,\r\"poolIds\": [123, 456] \r} \r"},"url":"{{BaseUrl}}/api/pool/candidates","description":"<p>Returns a list of candidates in the specified pool or pools.</p>\n<h4>NOTES</h4>\nThe following constraints apply:\n\n<ul>\n<li>Page and PageSize as optional.</li>\n<li>PageSize defaults to 25 and Page defaults to 1.</li>\n</ul>\n\n\n<h4>RESPONSE</h4>\nFor a successful call the response will be an array of candidate records in the usual format (see /api/candidate/get)...","urlObject":{"path":["api","pool","candidates"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"d665e26c-0ab8-4e89-8e6b-ba9583e3b377"},{"name":"Get Single Candidate in Pool","id":"5e49b555-7d3e-4d0e-9ffd-637c93a3d260","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"url":"{{BaseUrl}}/api/pool/getcandidate/{poolId?}/{candidateId?}","description":"<p>Returns a single candidate specified by the candidateId with addtional data related to the specified pool.</p>\n<h4>RESPONSE</h4>\nFor a successful call the response will be a candidate record in the usual format (see /api/candidate/get) plus the following data attributes:\n<ul>\n<li>dateAddedToPool</li>\n<li>workflowStepID</li>\n<li>workflowStep</li>\n</ul>","urlObject":{"path":["api","pool","getcandidate","{poolId"],"host":["{{BaseUrl}}"],"query":[{"key":"}/{candidateId?}","value":null}],"variable":[]}},"response":[],"_postman_id":"5e49b555-7d3e-4d0e-9ffd-637c93a3d260"},{"name":"Get Candidates in Pool V2","id":"68fa7eac-f593-4531-9493-4685e529973f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{  \r\"page\": 1,\r\"pageSize\": 25,\r\"poolIds\": [{{PoolId1}}, {{PoolId2}],\r\"poolStatusIds\": [2, 3],\r\"workflowStepNames\": [\"TEST_STEP_1\"]\r} \r"},"url":"{{BaseUrl}}/api/v2/pool/candidates","description":"<p>Returns a list of candidates in the specified pool or pools together with a summary of the results. </p>\n<p>The result summary provides a total count of candidates in the specified pools and a count of distinct candidate. Where one candidate exists in multiple pools, the count of distinct candidate will be less than the total count (which will double count this candidate). As well as high-level counts, the result summary gives a breakdown of counts by pool.</p>\n<p>If workflowStepNames is specified then the candidates will be filtered so that only candidates who are at one of the nominated workflow steps (in any of the nominated pools) will be included in the result. This filter will be applied to the summary result as well as the candidate list.</p>\n<h4>NOTES</h4>\nThe following constraints apply:\n\n<ul>\n<li>Page and PageSize as optional.</li>\n<li>PageSize defaults to 25 and Page defaults to 1.</li>\n<li>If poolIds are provided, then the query will be filtered to the nominated pools</li>\n<li>If poolStatusIds are provided, then the query will be filtered to the pools with the nominated status</li>\n</ul>\n\n\n<h4>RESPONSE</h4>\n{\n  \"candidates\": [{}],\n  \"summary\":{\n  \"count\":115,\n  \"distinctCount\":115,\n  \"breakdown\":[{\"poolID\":1234,\"poolName\":\"ABCD\",\"count\":111}, {\"poolID\":789,\"poolName\":\"XYZ\",\"count\":222}]\n  }\n}\n\n<p>The candidates property will be an array of candidate records in the standard format (see /api/candidate/get)...</p>\n","urlObject":{"path":["api","v2","pool","candidates"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"68fa7eac-f593-4531-9493-4685e529973f"},{"name":"Add Candidate to Pool by Position","id":"830a150b-28c0-481c-b930-2af6d93dbf8d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \rcandidateId: \"12345\", \rpositionId: \"999\" \r} \r "},"url":"{{BaseUrl}}/api/pool/addcandidatebyposition","description":"<p>Adds the specified candidate to the given pool by Position ID (rather than Pool ID). </p>\n<p>Loop will lookup the appropriate pool for the given PositionID and add the candidate to that Pool (returning an error if the Pool cannot be found or is inaccessible for the current user).</p>\n<h4>EXAMPLE RESPONSE</h4>\nFor a successful call the response will return a standard response...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"Success\": \"true\",\"Errors\":null}\n</code></pre>\n","urlObject":{"path":["api","pool","addcandidatebyposition"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"830a150b-28c0-481c-b930-2af6d93dbf8d"},{"name":"Add Candidate to Pool","id":"f57a3ee4-103f-42d0-95da-df8e8aef558f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \rcandidateId: \"555\", \rpoolId: \"12345\" \r} "},"url":"{{BaseUrl}}/api/pool/addcandidate","description":"<p>Adds the specified candidate to the given pool.</p>\n<h4>NOTES</h4>\nThe following constraints apply:\n\n<ul>\n<li>If the user does not have access to the pool specified by the poolID in the post body, then an error will be returned.  </li>\n</ul>\n\n\n<h4>EXAMPLE RESPONSE</h4>\nFor a successful call the response will return a standard response...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"Success\": \"true\",\"Errors\":null}\n</code></pre>\n","urlObject":{"path":["api","pool","addcandidate"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"f57a3ee4-103f-42d0-95da-df8e8aef558f"},{"name":"Remove Candidate from Pool","id":"9a743870-a38c-4402-ab0d-2a1f98d36e1c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"poolId\": {{PoolId1}},\r\"candidateId\": 987,\r\"candidateIdList\" : [1234, 5678]\r}"},"url":"{{BaseUrl}}/api/pool/removecandidate","description":"<p>Removes the specified candidates from the given pool.</p>\n<h4>NOTES</h4>\nThis endpoint accepts either a single candidate or a list of candidates.\n\n<p>The following constraints apply:</p>\n<ul>\n<li>Either the candidateId or the candidateIdList must be provided. If neither are specified then an error will be returned</li>\n<li>If the user does not have access to the pool specified by the poolID in the post body, then an error will be returned.</li>\n<li>If the candidates do not exist in the specified pool then an error will be returned</li>\n</ul>\n\n\n<h4>EXAMPLE RESPONSE</h4>\nFor a successful call the response will return a standard response...\ne.g.\n```javascript\n{\"statusCode\":null,\"success\":true,\"message\":\"Candidate successfully removed from Pool with PoolID=\\\"123\\\"\",\"errors\":[]}\n```\nor\n```javascript\n{\"statusCode\":null,\"success\":true,\"message\":\"2 candidates provided. Removed 2 candidates successfully from PoolID 123.\",\"errors\":[]}\n```","urlObject":{"path":["api","pool","removecandidate"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"9a743870-a38c-4402-ab0d-2a1f98d36e1c"},{"name":"Bulk Add Candidates to Pools","id":"01923af0-3e26-4f9d-a270-1f25fcf4ae78","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \n\"poolId\": {{PoolId1}},\n\"candidateIdList\": [555, 666]\n} "},"url":"{{BaseUrl}}/api/pool/addcandidate","description":"<p>When adding a candidate to a pool at api/pool/addcandidate, you can now specify either a candidateId or a candidateIdList.</p>\n<h4>NOTES</h4>\nThe following constraints apply:\n\n<ul>\n<li>Failure to provide either the candidateId or the candidateIdList will cause a validation error.</li>\n<li>Providing both the candidateId or the candidateIdList will cause the candidateIdList to be ignored and the candidateID will be processed.\n  </li>\n</ul>\n\n<p>e.g.\n{\npoolId: 123,\ncandidateId: 555\n}</p>\n<p>OR</p>\n<p>{\npoolId: 123,\ncandidateIdList: [555,666]\n}</p>\n<h4>EXAMPLE RESPONSE</h4>\nFor a successful call the response will return a standard response...\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"Success\": \"true\",\"Errors\":null}\n</code></pre>\n","urlObject":{"path":["api","pool","addcandidate"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"01923af0-3e26-4f9d-a270-1f25fcf4ae78"}],"id":"20f8afdf-a6ad-4b68-a5a3-409443bff73d","_postman_id":"20f8afdf-a6ad-4b68-a5a3-409443bff73d","description":""},{"name":"Reports","item":[{"name":"Retrieve Equal Opportunity Data for Hired Candidates","id":"b234b6df-afaf-455b-a101-0edd432004fa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{  \r\"companyId\": 123,\r\"fromDate\": \"2018-01-01T00:00:00\",\r\"toDate\": \"2018-06-30T00:00:00\"\r} "},"url":"https://integrations.loopworks.com/api/report/hire/eeoc/","description":"<p>Returns a summary of anonymised EEO data for candidates who are at the \"hire\" step for any workflow. The result is filtered by a companyID and a date-range (so only candidates who are hired in pools associated with the nominated company who are hired between the tw specified dates will be included in the response).</p>\n<h4>NOTES</h4>\n<ul>\n<li>CompanyID, FromDate and ToDate are all required in the body of the request. Failure to provide any of these values will result in an error response</li>\n</ul>\n\n<h4>SUCCESS</h4>\nFor a successful call the response will be an array of anonymised candidate records.\ne.g.\n```javascript\n\n<p>[\n{\"jobId\":33917160,\"jobTitle\":\"Account Manager Commercial Banking I\",\"jobStatus\":\"Hire\",\"hiredDate\":\"2018-06-01T11:22:33.444\",\"eeocDate\":\"2018-05-01T11:22:33.444\",\"gender\":\"Female\",\"ethnicity\":\"White (Not Hispanic or Latino)\",\"disability\":\"I don't wish to answer\",\"verraa\":\"I am not a protected veteran\"},\n{\"jobId\":35810256,\"jobTitle\":\"Account Manager Commercial Banking I\",\"jobStatus\":\"Hire\",\"hiredDate\":\"2018-06-02T11:22:33.444\",\"eeocDate\":\"22018-05-02T11:22:33.444\",\"gender\":\"Male\",\"ethnicity\":\"Hispanic or Latino\",\"disability\":\"Yes\",\"verraa\":\"I identify as one or more of the classifications of protected veterans listed above\"}\n]\n```</p>\n","urlObject":{"protocol":"https","path":["api","report","hire","eeoc",""],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b234b6df-afaf-455b-a101-0edd432004fa"}],"id":"4cb3b98e-adf6-49ef-9efb-84694cf52e20","_postman_id":"4cb3b98e-adf6-49ef-9efb-84694cf52e20","description":""},{"name":"Requisitions","item":[{"name":"Retrieve Requisition by Position","id":"f06cdc85-a65a-4fef-b3b7-c281c36d333f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/requisition/getbyposition/{positionId}","description":"<p>Retrieve a requisition by Position ID.</p>\n<h4>NOTES</h4>\nThe ID should be the position id for the given requisition record. This is expected to be a globally unique ID that should uniquely identify that position in any system. \n\n<h4>SUCCESS</h4>\nFor a successful call the response will be a requisition record, the format of which will be identical to the call to \"Retrieve Requisition\".\n\n<h4>ERRORS</h4>\nIf no job exists with the specified position id (or the job is not accessible for the current user context) then the following json response will be returned.\n```javascript\n{\"statusCode\":null,\"success\":false,\"message\":null,\"errors\":[\"No Job found where PositionID='123'\"]}\n```","urlObject":{"protocol":"https","path":["api","requisition","getbyposition","{positionId}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"f06cdc85-a65a-4fef-b3b7-c281c36d333f"},{"name":"Retrieve Requisitions for Candidate","id":"84919b9a-c118-4786-8e78-641b2072a35e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/candidate/requisitions/{candidateID}","description":"<p>Retrieves details of all jobs for which the candidate is in a job-specific pool. </p>\n<p>i.e. If a given candidate has been added as a potential applicant to pools associated with 3 job-specific pools, then a call to this endpoint for the given candidate will return details of those 3 jobs.</p>\n<h4>NOTES</h4>\nThe ID should be the loop id for the given candidate record. \nThe response from this call is similar to the call to get requisition detail but with the additional of data indicating the candidate workflow step with respect to the given requisition\n\n<h4>SUCCESS</h4>\nFor a successful call the response will be an requisition.\ne.g.\n```javascript\n[{\n  \"workflowName\": \"Sourcing\",\n  \"stepID\": 1,\n  \"stepName\": \"Sourced\",\n  \"poolId\": 789,\n  \"jobId\": 123,\n  \"requisitionTitle\": \"Test Job Title\",\n  \"requisitionDetail\": \"Test Job Description\",\n  \"requisitionNumber\": \"EX12345\",\n  \"location\": {\n    \"city\": \"Las Vegas\",\n    \"state\": \"Nevada\",\n    \"zip\": null,\n    \"country\": \"United States of America\"\n  },\n  \"recruiter\": \"John Doe\"\n}, {\n  \"workflowName\": \"Sourcing\",\n  \"stepID\": 2,\n  \"stepName\": \"Under Review\",\n  \"poolId\": 777,\n  \"jobId\": 888,\n  ...\n}]\n```","urlObject":{"protocol":"https","path":["api","candidate","requisitions","{candidateID}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"84919b9a-c118-4786-8e78-641b2072a35e"},{"name":"Retrieve Requisition","id":"281a681e-bcbf-48e1-b497-a87b9a205604","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/requisition/{jobId}","description":"<p>Retrieve a requisition by Loop Job ID.</p>\n<h4>NOTES</h4>\nThe ID should be the loop id for the given requisition record. \n\n<h4>SUCCESS</h4>\nFor a successful call the response will be an requisition.\ne.g.\n```javascript\n{\n  \"poolId\": 789,\n  \"positionId\": \"999\",\n  \"companyId\": 456,\n  \"jobId\": 123,\n  \"externalId\": \"RQ-1855\",\n  \"requisitionTitle\": \"Test Job Title\",\n  \"requisitionDetail\": \"Test Job Description\",\n  \"requisitionNumber\": \"EX12345\",\n  \"location\": {\n    \"city\": \"Las Vegas\",\n    \"state\": \"Nevada\",\n    \"zip\": null,\n    \"country\": \"United States of America\"\n  },\n  \"recruiter\": \"John Doe\",\n  \"status\": \"Open\",\n  \"hiringType\": \"Full Time\",\n  \"isExpired\": false\n}\n```\n\n<h4>ERRORS</h4>\nIf no job exists with the id (or the job is not accessible for the current user context) then the following json response will be returned.\n```javascript\n{\"statusCode\":null,\"success\":false,\"message\":null,\"errors\":[\"No Job found where JobID = 1234\"]}\n```","urlObject":{"protocol":"https","path":["api","requisition","{jobId}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"281a681e-bcbf-48e1-b497-a87b9a205604"},{"name":"Search Requisition","id":"105b0177-2f1f-4bce-b886-47e13007b16f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n\"pageSize\": 25,\r\n\"page\": 0,\r\n\"keyword\": \"*\",\r\n\"companyId\": \"1234\",\r\n\"minDatePosted\": \"2016-11-13T00:00:00\",\r\n\"categories\": [\"Tax\", \"Accounting\"],\r\n\"location\":\r\n  {\r\n  \"city\": \"New York\",\r\n  \"state\": null,\r\n  \"postalCode\": null,\r\n  \"country\": null,\r\n  \"latitude\": null,\r\n  \"longitude\": null,\r\n  \"radius\": null,\r\n  \"radiusUnit\" :\"km\"\r\n  },\r\n\"externalSystemId\": 789\r\n}"},"url":"{{BaseUrl}}/api/requisition/search","description":"<p>Search for a requisition based on search criteria and requisition filters.</p>\n<h4>NOTES</h4>\n<ul>\n<li>Keyword is a boolean search string. It can include either a single word or composites such as Business AND (Manager OR Management). Where searches are being conducted on multiple words then this needs to be wrapped in quotes e.g. \"Business Manager\"</li>\n<li>Categories are treated as filters and we will exclude all records that do that exactly match the values specified for these fields (where they are not null).</li>\n<li>The companyId property specifies the companies against which to search. If it is specified then only jobs posted for the given company will be returned.</li>\n<li>The minDatePosted property specifies the minimum datetime from which to search. If it is specified then any jobs posted before this datetime will be filtered out.</li>\n<li>If Latititude, Longitute or Radius is specified in the location then all three properties must be specified with non-null values otherwise an error will be returned.</li>\n<li>RadiusUnit in the location has two valid values [“km” or “miles”]. However, if RadiusUnit is not specified or RadiusUnit != “km” then we will default RadiusUnit to miles.</li>\n<li>The externalSystemID property can be used in complex environments with multiple job sources to filter jobs for consumption by a specific external system.</li>\n<li>Page for this specific endpoint is zero-based, meaning that the first page is page=0. The other endpoints in this API that support paging start with page=1 so this endpoint is an anomaly.</li>\n<li>For Requisitions with associated pools, the pool data will be returned, otherwise poolData will be null</li>\n</ul>\n\n<h4>RESPONSE</h4>\nFor a successful call the response will be an search response containing a requisitions array and a facets array.\ne.g.\n```javascript\n{\n  \"requisitions\": [{\n    \"id\": \"2000000\",\n    \"externalID\": \"999\",\n    \"jobRef\": \"ABC1234\",\n    \"positionID\": \"123456\",\n    \"title\": \"Production Supervisor\",\n    \"description\": \"Job Description 1\",\n    \"company\": \"ABC\",\n    \"categories\": [\"B\"],\n    \"datePosted\": \"2017-11-21T00:00:00\",\n    \"expiryDate\": \"0001-01-01T00:00:00\",\n    \"location\": {\n      \"city\": \"New York\",\n      \"state\": null,\n      \"zip\": null,\n      \"country\": \"UNITED STATES\"\n    },\n    \"status\": \"Open\",\n    \"hiringType\": \"Full Time\",\n    \"poolData\":{\n        \"totalCandidateCount\":22,\n        \"pools\":[{\"poolId\":1234,\"candidateCount\":15}, {\"poolId\":5678,\"candidateCount\":7}]\n    }}, \n    {\n    \"id\": \"2000001\",\n    \"externalID\": \"1000\",\n    \"jobRef\": \"ABC1235\",\n    \"positionID\": \"123457\",\n    \"title\": \"Job Description 2\",\n    \"description\": null,\n    \"company\": \"ABC\",\n    \"categories\": [\"A\"],\n    \"datePosted\": \"2017-11-21T00:00:00\",\n    \"expiryDate\": \"0001-01-01T00:00:00\",\n    \"location\": {\n      \"city\": \"Petaling Jaya\",\n      \"state\": \"Petaling\",\n      \"zip\": null,\n      \"country\": \"MALAYSIA\"\n    },\n    \"status\": \"Open\",\n    \"hiringType\": \"Full Time\",\n    \"poolData\": null\n  }],\n  \"facets\": {\n    \"Categories\": [{\n      \"value\": \"A\",\n      \"count\": 1\n    }, {\n      \"value\": \"B\",\n      \"count\": 1\n    }],\n    \"Country\": [{\n      \"value\": \"UNITED STATES\",\n      \"count\": 1\n    }, {\n      \"value\": \"MALAYSIA\",\n      \"count\": 1\n    }],\n    \"State\": [{\n      \"value\": \"New York\",\n      \"count\": 1\n    }, {\n      \"value\": \"Petaling\",\n      \"count\": 1\n    }],\n    \"City\": [{\n      \"value\": \"New York\",\n      \"count\": 1\n    }, {\n      \"value\": \"Petaling Jaya\",\n      \"count\": 1\n    }]\n  }\n}\n```","urlObject":{"path":["api","requisition","search"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"105b0177-2f1f-4bce-b886-47e13007b16f"},{"name":"Retrieve Requisition with Workflow Summary","id":"7dd625fc-9c92-4213-8973-f498859c12f1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\"jobCount\": 25,\n\"companyID\": 123\n}"},"url":"https://integrations.loopworks.com/api/requisition/workflowSummary","description":"<p>Returns the first n jobs which have not expired ordered by date posted. </p>\n<h4>NOTES</h4>\nThe optional companyID url parameter will filter the results to a specific company (where it is provided)\n\n<h4>SUCCESS</h4>\nFor a successful call the response will be an array of requisitions containing summaries of workflow steps counts.\ne.g.\n```javascript\n[{\n  \"jobId\": 123,\n  \"poolId\": 999,\n  \"positionId\": \"456\",\n  \"companyID\": 888,\n  \"requisitionNumber\": \"ER1234\",\n  \"requisitionTitle\": \"Test Job\",\n  \"daysOpen\": 2179,\n  \"headCount\": 1,\n  \"workflowSteps\":\n  [\n    {\"step\":\"Attempt to Contact\",\"candidateCount\":7},\n    {\"step\":\"Phone Screen\",\"candidateCount\":9},\n    {\"step\":\"Sourced\",\"candidateCount\":5}\n  ]\n}]\n```","urlObject":{"protocol":"https","path":["api","requisition","workflowSummary"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"7dd625fc-9c92-4213-8973-f498859c12f1"},{"name":"Create single Requisition","id":"68eff292-ec45-4b9b-8f4d-971e12df6bb4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/xml"}],"body":{"mode":"raw","raw":"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<jobs callbackURL=\"https://mycallback.com?Application-Key=MyAppKey\">\r\n\t<job>\r\n\t\t<action>Add</action>\r\n\t\t<city>Brighton</city>\r\n\t\t<state>East Sussex</state>\t\t\r\n\t\t<country>UK</country>\r\n\t\t<postal_code>BN1 6EH</postal_code>\t\t\r\n\t\t<company>MyCompany</company>\r\n\t\t<date_posted>2018-03-26</date_posted>\r\n\t\t<expiry_date>2018-04-26</expiry_date>\r\n\t\t<external_id>External_ID</external_id>\r\n\t\t<head_count>1</head_count>\r\n\t\t<is_urgent_need>false</is_urgent_need>\r\n\t\t<job_description>This is a test job</job_description>\r\n\t\t<job_status>Open</job_status>\r\n\t\t<job_title>Test job</job_title>\r\n\t</job>\r\n</jobs> \r\n"},"url":"https://integrations.loopworks.com/api/requisition/createSingle/{jobSourceId}","urlObject":{"protocol":"https","path":["api","requisition","createSingle","{jobSourceId}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"68eff292-ec45-4b9b-8f4d-971e12df6bb4"},{"name":"Create Requisition","id":"c2ebf645-2a91-4dcc-8e8f-02fa10b1d979","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/xml"}],"body":{"mode":"raw","raw":"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<jobs callbackURL=\"https://integrations.loopworks.com/api/test/callback\">\r\n\t<job>\r\n\t\t<action>Add</action>\r\n\t\t<city>Brighton</city>\r\n\t\t<state>East Sussex</state>\t\t\r\n\t\t<country>United Kingdom</country>\r\n\t\t<postal_code>BN1 6EH</postal_code>\t\t\r\n\t\t<company>JobSource Test Company</company>\r\n\t\t<date_posted>2018-03-26</date_posted>\r\n\t\t<expiry_date>2018-04-26</expiry_date>\r\n\t\t<external_id>External_ID12345</external_id>\r\n\t\t<head_count>1</head_count>\r\n\t\t<is_urgent_need>false</is_urgent_need>\r\n\t\t<job_description>This is a test job</job_description>\r\n\t\t<job_status>Open</job_status>\r\n\t\t<job_title>Test job</job_title>\r\n\t</job>\r\n</jobs>"},"url":"{{BaseUrl}}/api/requisition/create/{{CompanyId}}","description":"<p>Create one or more requisitions</p>\n","urlObject":{"path":["api","requisition","create","{{CompanyId}}"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"c2ebf645-2a91-4dcc-8e8f-02fa10b1d979"}],"id":"cc0feaa3-f4ec-4413-8382-6f21175d050b","description":"<p>Requisition requests</p>\n","_postman_id":"cc0feaa3-f4ec-4413-8382-6f21175d050b"},{"name":"Sms","item":[{"name":"Templates","item":[{"name":"Retrieve Sms Templates","id":"e8372d06-a326-48c8-b924-923d34db5baa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/sms/templates/{companyID?}","description":"<p>Returns summary data for all the sms templates for the given company. If no companyID is provided as a URL parameter, then will return sms templates for all companies.</p>\n<p>Note: Sms Templates will be restricted to those associated with companies that the current user has access to (or to templates with no company association)</p>\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">[\n  {\"name\":\"Template 1\",\"id\":101,\"companyId\":9999},\n  {\"name\":\"Template 2\",\"id\":102,\"companyId\":8888}\n]\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","sms","templates","{companyID"],"host":["integrations","loopworks","com"],"query":[{"key":"}","value":""}],"variable":[]}},"response":[],"_postman_id":"e8372d06-a326-48c8-b924-923d34db5baa"},{"name":"Retrieve Sms Template Detail","id":"32609bf1-2fa7-41c3-bfea-8e10fefebda8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic  ZnNzaGFyZWRhZG1pbjpKN3o2TTRWUVREQkM="},{"key":"Content-Type","value":"application/json"}],"url":"https://integrationsstaging.loopworks.com/api/sms/template/8549","description":"<p>Returns detailed data for the given sms template.</p>\n<p>NOTE: CompanyID is nullable in the response.</p>\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n  \"name\":\"Test Template\",\n  \"id\":101,\n  \"body\":\"&lt;p&gt;Hello, this is a test template.&lt;/p&gt;\",\n  \"companyId\": 1234,\n  \"createdBy\": \"Test User\"\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","sms","template","8549"],"host":["integrationsstaging","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"32609bf1-2fa7-41c3-bfea-8e10fefebda8"},{"name":"Find Sms Templates","id":"ae9a221f-5ba7-454d-9f6d-b61f9bbdc851","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/sms/templates/{companyID?}","description":"<p>Returns data for all the sms templates containing the nominated snippet. </p>\n<p>If no companyID is provided as a URL parameter, then will return sms templates for all companies.</p>\n<h4>NOTES</h4>\nThe following constraints apply:\n<ul>\n<li>The snippet property is an optional parameter which, if provided, will filter templates to templates containing the specified snippet of text.</li>\n<li>The companyId property is an optional parameter which, if provided, will filter templates based on the specified companyId</li>\n<li>The typeId property is an optional parameter which, if provided, will filter templates based on the specified typeId</li>\n<li>The filterOn property is an optional parameter which, if provided, will match the nominated snippet within the specified property. THe supported values are:\n    <ul>\n        <li>\"body\" - match the snippet in the template body</li>\n        <li>\"name\" - match the snippet in the template name</li>\n        <li>\"any\" - match the snippet in either the template body or the template name</li>\n    </ul>\nIf not specified, then the filterOn defaults to \"any\".</li>\n</ul>\n\n<p>Note: Sms Templates will be restricted to those associated with companies that the current user has access to (or to templates with no company association)</p>\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">[\n  {\"name\":\"Template 1\",\"id\":101,\"companyId\":9999},\n  {\"name\":\"Template 2\",\"id\":102,\"companyId\":8888}\n]\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","sms","templates","{companyID"],"host":["integrations","loopworks","com"],"query":[{"key":"}","value":""}],"variable":[]}},"response":[],"_postman_id":"ae9a221f-5ba7-454d-9f6d-b61f9bbdc851"},{"name":"Create Sms Templates","id":"5c4c1bb0-21ac-4e20-bcde-9bf3146ea51a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{  \r\"name\": \"Example Name\",\r\"body\": \"Example Body\",\r\"companyId\": 123\r} "},"url":"https://integrations.loopworks.com/api/sms/template/create","description":"<p>Create a new Sms Template based on the template properties specified in the body.</p>\n<h4>NOTES</h4>\n<ul>\n<li>The companyID property is optional. The remaining properties are mandatory.</li>\n<li>The response indicates the id of the newly created template.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"id\":101,\"statusCode\":null,\"success\":true,\"message\":null,\"errors\":[]}\n</code></pre>\n<h4>ERROR RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"statusCode\":null,\"success\":false,\"message\":null,\"errors\":[\"Invalid request. Null model passed to /api/sms/template/create\"]}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","sms","template","create"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"5c4c1bb0-21ac-4e20-bcde-9bf3146ea51a"},{"name":"Update Sms Templates","id":"82de6187-e879-460a-999c-fc7c010b28aa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{  \r  \"id\": 1234,\r  \"name\": \"Example Name\",\r  \"body\": \"Example Body\",\r  \"companyId\": 123\r} "},"url":"https://integrations.loopworks.com/api/sms/template/update","description":"<p>Update an existing Sms Template based on the template properties specified in the body.</p>\n<h4>NOTES</h4>\n<ul>\n<li>The id property is required in order to specify the template ot be updated.</li>\n<li>Omitting other properties will result in their values being set to null during the update operation.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"statusCode\":null,\"success\":true,\"message\":null,\"errors\":[]}\n</code></pre>\n<h4>ERROR RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"statusCode\":null,\"success\":false,\"message\":null,\"errors\":[\"Invalid request. Null model passed to /api/sms/template/update\"]}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","sms","template","update"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"82de6187-e879-460a-999c-fc7c010b28aa"},{"name":"Delete SMS Template","id":"a3777f09-1576-47f0-8d95-0ef4854f148b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"https://integrations.loopworks.com/api/sms/template/delete/{id}","description":"<p>Delete the SMS Template specified by the id.</p>\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"id\":101,\"statusCode\":null,\"success\":true,\"message\":\"Template Successfully Deleted\",\"errors\":[]}\n</code></pre>\n<h4>ERROR RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"statusCode\":null,\"success\":false,\"message\":null,\"errors\":[\"No SMS Template exists for EmailTemplateID=123 (or it is not accessible)\"]}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","sms","template","delete","{id}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"a3777f09-1576-47f0-8d95-0ef4854f148b"}],"id":"618e38e8-c5d2-4fcc-9242-a9d951ae95c8","_postman_id":"618e38e8-c5d2-4fcc-9242-a9d951ae95c8","description":""},{"name":"Send Sms","id":"82ab8916-cca0-41f1-b580-48356e96fef5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"message\": \"Test Msg Z\",\r\"candidateIDs\": [12345],\r\"isNotificationRequired\": true,\r\"companyId\": 999\r}"},"url":"https://integrations.loopworks.com/api/sms/send","description":"<p>Create a new Sms Template based on the template properties specified in the body.</p>\n<h4>NOTES</h4>\n<ul>\n<li>The companyID property is optional. The remaining properties are mandatory.</li>\n<li>The response gives a summary of the success status of the messages.</li>\n<li>If companyID is provided then access to the SMS that is sent will be restricted to users who have access to the nominated company. If the companyID is provided and refers to a company that the user does not have access to, then an error will be returned.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n  \"success\":false,\n  \"message\":null,\n  \"errors\":[\"Could not send SMS to CandidateId 1234\"],\n  \"failedSMSs\":[{\n  \"candidateId\":999\n  }],\n  \"countSent\":0,\n  \"countFailed\":1\n}\n</code></pre>\n<h4>ERROR RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\"statusCode\":null,\"success\":false,\"message\":null,\"errors\":[\"Invalid request. Null model passed to /api/sms/send\"]}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","sms","send"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"82ab8916-cca0-41f1-b580-48356e96fef5"},{"name":"Retrieve SMS","id":"9d2c44df-09b2-43e1-ba63-c082b1e33281","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/sms/{messageId}","description":"<p>Returns SMS for the specified SMS id.</p>\n<h4>NOTES</h4>\n\n<ul><li><p>If the messageId provided refers to an SMS that the user does not have access to, then an error will be returned.</p></li></ul>\n\n<h4>SUCCESS RESPONSE</h4>\n\n  \n<p>e.g.  </p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n    \"messageId\":1234,\"companyId\":999,\"dateSent\":\"2018-07-03T11:57:19.827\",\"message\":\"Test Message\"\n}\n\n</code></pre>\n<h4>ERRORS</h4>\n\n  \n<p>If no SMS exists with the specified id then the following json response will be returned.<br />```javascript<br />{\"statusCode\":22000,\"success\":false,\"message\":null,\"errors\":[\"No SMS exists with ID = \\\"123\\\" (or this record is not accessible)\"]}<br />```</p>\n","urlObject":{"protocol":"https","path":["api","sms","{messageId}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"9d2c44df-09b2-43e1-ba63-c082b1e33281"}],"id":"a8d29b7c-6dea-48ce-b799-198e985597d9","_postman_id":"a8d29b7c-6dea-48ce-b799-198e985597d9","description":""},{"name":"Static Data","item":[{"name":"Get Sources V2","id":"8267502e-14bd-43cd-91bb-6d9220ce1588","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/v2/sources","description":"<p>Returns a list of available sources as structred entities rather than as a list of strings (as v1 did).</p>\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n[\n{\"name\":\"Source 1\",\"id\":101},\n{\"name\":\"Source 2\",\"id\":102},\n{\"name\":\"Source 3\",\"id\":103}\n]\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","v2","sources"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"8267502e-14bd-43cd-91bb-6d9220ce1588"},{"name":"Get Source Types","id":"3db822d2-07f3-4e22-97f4-dbf424c0d412","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/sourcetypes","description":"<p>Returns an array of structured source types with associated sources.</p>\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\"> {\n        \"id\": 53,\n        \"name\": \"Career Fair\",\n        \"sources\": [\n            {\n                \"name\": \"Career Fair\",\n                \"id\": 44206\n            },\n            {\n                \"name\": \"Client Career Fair\",\n                \"id\": 44207\n            }\n        ]\n    },\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","sourcetypes"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"3db822d2-07f3-4e22-97f4-dbf424c0d412"},{"name":"Get Companies","id":"22e646b8-766c-44d2-b622-28de0c104c99","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/company","description":"<p>Returns a list of available companies which are visible to the given user.</p>\n<p>e.g.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n    [ \n  {\"id\":1,\"name\":\"CompanyA\"}, \n  {\"id\":2,\"name\":\"CompanyB\"} \n  ] \n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","company"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"22e646b8-766c-44d2-b622-28de0c104c99"},{"name":"Get Tags (Obsolete)","id":"c676da3a-4a68-4f93-b3d7-bc56d7c4cba7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/tags/{companyID}","description":"<p>Returns a list of available tags. This method is now obsolete and should be replaced by the POST equivalent which returns structured objects representing the tags.</p>\n<p>The companyID URL fragment is optional. If specified, the results will be filtered to tags assigned to the nominated company.</p>\n<p>e.g.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n    [\"TAG1\",\"TAG2\",\"TAG3\",\"TAG4\"]\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","tags","{companyID}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"c676da3a-4a68-4f93-b3d7-bc56d7c4cba7"},{"name":"Get Tags V2","id":"d4744903-a2a5-4766-ae91-5b82f0eb88e7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"keyword\": \"Test\",\r\"companyId\": 1234,\r\"page\": 1,\r\"pageSize\": 25,\r\"orderBys\": [{\"fieldName\": \"CandidateCount\", \"direction\": \"asc\"}]\r}"},"url":"https://integrations.loopworks.com/api/v2/tags","description":"<p>Returns a list of available tags.</p>\n<h4>NOTES</h4>\n<ul>\n<li>The keyword property is optional. If it is specified then only tags containing the specified keyword in the tag will be returned.</li>\n<li>The companyId property specifies the companies against which to search. If it is specified then only tags for the given company will be returned.</li>\n<li>If page or pageSize are not specified then they will be defaulted to 1 and 25 respectively. Pages start at 1 so setting page=0 will result in an error.</li>\n<li>The orderBys property is optional. If it is specified the query will be ordered by the specified fieldNames. The direction can be either \"asc\" or \"desc\" and if no direction is specified then the order bys will default to ascending direction. Multiple order by can be specified, in which case they will be applied in the sequence that they are specified in the json array.</li>\n</ul>\n\n<p>e.g.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n[\n    {\n        \"id\":1234,\n        \"tag\":\"tag1\",\n        \"candidateCount\":1,\n        \"lastUsed\":\"2019-02-14T10:00:00.00\",\n        \"createdByName\":\"Joe Bloggs\",\n        \"createdByUserId\":123,\n        \"createdAt\":\"2019-02-13T10:00:00.00\",\n        \"lastModifiedByName\":\"Jane Bloggs\",\n        \"lastModifiedByUserId\":124,\n        \"lastModifiedAt\":\"2019-02-16T09:20:00.00\",\n        \"companyId\":null\n    },\n    {\n        \"id\":5678,\n        \"tag\":\"tag2\",\n        \"candidateCount\":999,\n        \"lastUsed\":\"2019-02-14T11:00:00.00\",\n        \"createdByName\":\"John Doe\",\n        \"createdByUserId\":345,\n        \"createdAt\":\"2019-02-13T10:00:00.00\",\n        \"lastModifiedByName\":\"Jane Doe\",\n        \"lastModifiedByUserId\":346,\n        \"lastModifiedAt\":\"2019-02-16T09:10:00.00\",\n        \"companyId\":12345\n    }\n]\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","v2","tags"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"d4744903-a2a5-4766-ae91-5b82f0eb88e7"},{"name":"Create Tag","id":"deb14d4d-04f4-4420-b306-e4531f976045","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"tag\":\"Javascript Development\",\r\"companyID\": 1234\r}"},"url":"https://integrations.loopworks.com/api/tags/create/","description":"<p>Creates a new tag.</p>\n<h4>NOTES</h4>\n<ul>\n<li>This requires a post in the following format. The ID of the new tag will be returned in the response payload.</li>\n<li>The companyId is optional. By specifying a companyId the new tag will be associated with the given company and only users with access to specified company will have access to the tag. Candidates can only be assigned skills that match their company or where the company is null.</li>\n<li>Names of tag must be unique in an instance per company. i.e. \"Javascript Development\" can be created for company1 and company2 but a subsequent call to create a tag named \"Javascript Development\" against company1 will result in an error.</li>\n</ul>\n\n<p>e.g.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\ntag: 'Java',\ncompanyId: 1234\n}\n</code></pre>\n<h4>SUCCESS RESPONSE</h4>\nThe following JSON will be returned on success:\n```javascript\n    \"id\": 555,\n    \"statusCode\": null,\n    \"success\": true,\n    \"message\": null,\n    \"errors\": []\n```","urlObject":{"protocol":"https","path":["api","tags","create",""],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"deb14d4d-04f4-4420-b306-e4531f976045"},{"name":"Update Tag","id":"12fb59c4-36ff-4cfe-8271-3e2d9af94d53","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\t\"id\": 9999,\r\t\"tag\":\"Javascript Development\",\r\t\"companyID\": 1234\r}"},"url":"https://integrations.loopworks.com/api/tags/update/","description":"<p>Creates a new tag.</p>\n<h4>NOTES</h4>\n<ul>\n<li>This requires a post in the following format. The id is required to indicate the tag that is being updated.</li>\n<li>The companyId is optional <b>but if the tag has a companyId then the companyId must be specified, otherwise it will be treated as an update and set to null</b>.</li>\n<li>Names of tags must be unique in an instance per company. i.e. \"Javascript Development\" can be created for company1 and company2 but a subsequent call to create a tag named \"Javascript Development\" against company1 will result in an error.</li>\n</ul>\n\n<p>e.g.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\nid: 9999,\ntag: 'Java',\ncompanyId: 1234\n}\n</code></pre>\n<h4>SUCCESS RESPONSE</h4>\nThe following JSON will be returned on success:\n```javascript\n    \"statusCode\": null,\n    \"success\": true,\n    \"message\": null,\n    \"errors\": []\n```","urlObject":{"protocol":"https","path":["api","tags","update",""],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"12fb59c4-36ff-4cfe-8271-3e2d9af94d53"},{"name":"Delete Tag V1 (Obsolete)","id":"46a483a7-4f16-4191-a07b-512849d01912","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"tag\": \"Name of the Tag\",\r\"deleteIfCandidatesHaveTag\": \"true\",\r\"companyID\": 12345\r}"},"url":"https://integrations.loopworks.com/api/v1/tags/delete","description":"<p>Deletes the nominated Tag.</p>\n<h4>NOTES</h4>\n<ul>\n<li>This endpint should not be confused with the endpoint to delete /api/candidate/tag/remove which removes a tag from a candidate. This endpoint deleted the tag itself.</li>\n<li>Because the tag being deleted may be assigned to existing candidates, the user must explicitly specify if they want to delete the tag in the event that the tag has previously been assigned to one or more candidates by setting \"deleteIfCandidatesHaveTag\": \"true\" in the payload.</li>\n<li>If the tag being deleted is associated with a company, then the companyID must be specified when performing the delete.</li>\n</ul>\n\n<p>e.g.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n\"affectedCandidateCount\":6,\n\"statusCode\":null,\n\"success\":true,\n\"message\":\"Tag \\\"Blah\\\" successfully deleted\",\n\"errors\":[]\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","v1","tags","delete"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"46a483a7-4f16-4191-a07b-512849d01912"},{"name":"Delete Tag V2","id":"6855fcc5-8de4-4636-9585-4f5fa74b2db2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"id\": 12345,\r\"deleteIfCandidatesHaveTag\": \"true\"\r}"},"url":"https://integrations.loopworks.com/api/v2/tags/delete","description":"<p>Deletes the nominated Tag.</p>\n<h4>NOTES</h4>\n<ul>\n<li>This endpint should not be confused with the endpoint to delete /api/candidate/tag/remove which removes a tag from a candidate. This endpoint deleted the tag itself.</li>\n<li>Because the tag being deleted may be assigned to existing candidates, the user must explicitly specify if they want to delete the tag in the event that the tag has previously been assigned to one or more candidates by setting \"deleteIfCandidatesHaveTag\": \"true\" in the payload.</li>\n</ul>\n\n<p>e.g.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n\"affectedCandidateCount\":6,\n\"statusCode\":null,\n\"success\":true,\n\"message\":\"Tag \\\"Blah\\\" successfully deleted\",\n\"errors\":[]\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","v2","tags","delete"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"6855fcc5-8de4-4636-9585-4f5fa74b2db2"},{"name":"Get Skills","id":"6af3b596-8d3e-4484-b5b3-bee53f4b32a4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/skills/{companyId?}","description":"<p>Returns a list of available skills.</p>\n<p>The companyID URL fragment is optional. If specified, the results will be filtered to skills assigned to the nominated company.</p>\n<p>e.g.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">[\n{\"skillId\":101,\"name\":\"MS Excel\",\"dateCreated\":\"2019-02-05T17:01:21.507\",\"companyId\":null},\n{\"skillId\":147,\"name\":\"Project Management\",\"dateCreated\":\"2019-02-19T16:52:08.837\",\"companyId\":null},\n{\"skillId\":186,\"name\":\".Net Development\",\"dateCreated\":\"2019-02-19T16:53:04.997\",\"companyId\":1234}\n]\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","skills","{companyId"],"host":["integrations","loopworks","com"],"query":[{"key":"}","value":null}],"variable":[]}},"response":[],"_postman_id":"6af3b596-8d3e-4484-b5b3-bee53f4b32a4"},{"name":"Create Skills","id":"809558a0-b4a8-478a-9588-715c067fb1b6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"name\":\"Javascript Development\",\r\"companyID\": 1234\r}"},"url":"{{BaseUrl}}/api/skills/create/","description":"<p>Creates a new skill.</p>\n<h4>NOTES</h4>\n<ul>\n<li>This requires a post in the following format. The ID of the new skill will be returned in the response payload.</li>\n<li>The companyId is optional. By specifying a companyId the new skill will be associated with the given company and only users with access to specified company will have access to the skill. Candidates can only be assigned skills that match their company or where the company is null.</li>\n<li>Names of skills must be unique in an instance per company. i.e. \"Javascript Development\" can be created for company1 and company2 but a subsequent call to create a skill named \"Javascript Development\" against company1 will result in an error.</li>\n</ul>\n\n<p>e.g.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\nname: 'Javascript Development',\ncompanyId: 1234\n}\n</code></pre>\n<h4>SUCCESS RESPONSE</h4>\nThe following JSON will be returned on success:\n```javascript\n    \"id\": 555,\n    \"statusCode\": null,\n    \"success\": true,\n    \"message\": null,\n    \"errors\": []\n```","urlObject":{"path":["api","skills","create",""],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"809558a0-b4a8-478a-9588-715c067fb1b6"},{"name":"Create Skills Bulk","id":"910e4b13-12a3-41b0-b3ed-b57c9875346b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\"skills\":[{\"name\":\"Skill 1\",\"companyId\": 1234},{\"name\":\"Skill 2\",\"companyId\": null},{\"name\":\"Skill 3\",\"companyId\": 5678}]\n}"},"url":"https://integrations.loopworks.com/api/skills/bulk/create/","description":"<p>Creates multiple new skills.</p>\n<h4>NOTES</h4>\n<ul>\n<li>This requires a post in the following format. The ID of the new skills will be returned in the response payload.</li>\n<li>The companyId is optional. By specifying a companyId the new skill will be associated with the given company and only users with access to specified company will have access to the skill. Candidates can only be assigned skills that match their company or where the company is null.</li>\n<li>Names of skills must be unique in an instance per company. i.e. \"Javascript Development\" can be created for company1 and company2 but a subsequent call to create a skill named \"Javascript Development\" against company1 will result in an error.</li>\n</ul>\n\n<p>e.g.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n\"skills\":[{\"name\":\"Skill 1\",\"companyId\": 1234},{\"name\":\"Skill 2\",\"companyId\": null},{\"name\":\"Skill 3\",\"companyId\": 5678}]\n}\n</code></pre>\n<h4>SUCCESS RESPONSE</h4>\nThe following JSON will be returned on success:\n```javascript\n{  \n   \"ids\":{  \n      \"123\":\"Skill 1\",\n      \"124\":\"Skill 2\",\n      \"125\":\"Skill 3\"\n   },\n   \"statusCode\":null,\n   \"success\":true,\n   \"message\":\"3 skills created successfully\",\n   \"errors\":[ ]\n}\n```","urlObject":{"protocol":"https","path":["api","skills","bulk","create",""],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"910e4b13-12a3-41b0-b3ed-b57c9875346b"},{"name":"Update Skills","id":"b1847897-8736-47ae-8cdc-a7c2e75cde10","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\"skillId\": 6,\n\"name\":\"Javascript Development\",\n\"companyId\": 1234\n}"},"url":"https://integrations.loopworks.com/api/skills/update/","description":"<p>Updates an existing skill.</p>\n<h4>NOTES</h4>\n<ul>\n<li>This requires a post in the following format. The skillId is required to indicate the skill that is being updated.</li>\n<li>The companyId is optional <b>but if the skill has a companyId then the companyId must be specified, otherwise it will be treated as an update and set to null</b>.</li>\n<li>Names of skills must be unique in an instance per company. i.e. \"Javascript Development\" can be created for company1 and company2 but a subsequent call to create a skill names \"Javascript Development\" against company1 will result in an error.</li>\n</ul>\n\n<p>e.g.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n\"skillId\": 6,\n\"name\":\"Javascript Development\",\n\"companyId\": 1234\n}\n</code></pre>\n<h4>SUCCESS RESPONSE</h4>\nThe following JSON will be returned on success:\n```javascript\n{\n\"statusCode\":null,\n\"success\":true,\n\"message\":\"Skill 6 Successfully updated\",\n\"errors\":[]\n}\n```","urlObject":{"protocol":"https","path":["api","skills","update",""],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b1847897-8736-47ae-8cdc-a7c2e75cde10"},{"name":"Delete Skills","id":"ca6d7ec3-4d95-48ae-8f5d-122835c59daf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"https://integrations.loopworks.com/api/skills/delete/{skillId}","description":"<p>Deletes an existing skill.</p>\n<h4>NOTES</h4>\n<ul>\n<li>The skillId is required to indicate the skill that is being deleted.</li>\n<li>Attempting to delete a skill that the user does not have access to will result in an error.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\nThe following JSON will be returned on success:\n```javascript\n{\n\"statusCode\":null,\n\"success\":true,\n\"message\":\"Skill 6 Successfully deleted\",\n\"errors\":[]\n}\n```","urlObject":{"protocol":"https","path":["api","skills","delete","{skillId}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ca6d7ec3-4d95-48ae-8f5d-122835c59daf"},{"name":"Get Proficiencies","id":"09545a0d-b0a1-448b-9530-a3c8febf185a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/proficiencies","description":"<p>Returns a list of available proficiencies.</p>\n<h4>NOTES</h4>\n<ul>\n<li>When creating or updating a Candidate Skill, if a proficiency is specified then the proficiencyId must be a valid proficiencyId provided by this end point.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n[\n{\n\"name\": \"Expert\",\n\"id\": \"1\"\n},\n{\n\"name\": \"Beginner\",\n\"id\": \"2\"\n}\n]\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","proficiencies"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"09545a0d-b0a1-448b-9530-a3c8febf185a"},{"name":"Get Sources","id":"c4bd2c87-71fd-48ae-8de2-73e2637690e6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/sources","description":"<p>Returns a list of available sources.</p>\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n[\n\"Source 1\",\n\"Source 2\",\n\"Source 3\"\n]\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","sources"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"c4bd2c87-71fd-48ae-8de2-73e2637690e6"},{"name":"Get Countries","id":"e3962954-b1ba-4ac8-987c-c448175d7329","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/country","description":"<p>Returns a list of available countries.</p>\n<h4>NOTES</h4>\n<ul>\n<li>On Candidate upsert, country specified must be a valid country from the Loop country list provided by this end point.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n[\n{\n\"id\": 1,\n\"name\": \"Algeria\"\n\"iso2\": \"DZ\"\n\"iso3\": \"DZA\"\n},\n{\n\"id\": 2,\n\"name\": \"Azerbaijan\"\n\"iso2\": \"AZ\"\n\"iso3\": \"AZE\"\n}\n]\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","country"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"e3962954-b1ba-4ac8-987c-c448175d7329"},{"name":"Get Industries","id":"41a07e28-11ef-43bc-bd31-06774975424d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/industries","description":"<p>Returns a list of supported industries.</p>\n<h4>NOTES</h4>\n<ul>\n<li>On company creation, if an industry is to be specified for the company, it must provide a companyID form this list.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n[\n{\n\"name\": \"Advertising and Public Relations\",\n\"id\": \"1\"\n},\n{\n\"name\": \"Aerospace/Defense\",\n\"id\": \"2\"\n}\n]\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","industries"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"41a07e28-11ef-43bc-bd31-06774975424d"},{"name":"Get Custom Data Types","id":"7e388852-e23f-4c91-a1e1-6f0f73b019eb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/customdata","description":"<p>Returns a list of available custom data types.</p>\n<h4>NOTES</h4>\n<ul>\n<li>On Candidate upsert, custom data must use a valid customDataTypeId from the list provided by this end point.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n[\n{\"customDataTypeID\":111,\"name\":\"Functional Interests\"},\n{\"customDataTypeID\":123,\"name\":\"Geographical Interests\"},\n{\"customDataTypeID\":145,\"name\":\"Languages Spoken\"}]\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","customdata"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"7e388852-e23f-4c91-a1e1-6f0f73b019eb"},{"name":"Get Email Statuses","id":"38ed279a-9927-4e45-8837-eefcac7aea3b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/email/statuses","description":"<p>Returns static data containing list of the email statuses supported in Loop.</p>\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n\"statuses\":[\n  {\"id\":1,\"name\":\"Sent\"},\n  {\"id\":2,\"name\":\"Accepted\"},\n  ...,\n  {\"id\":9,\"name\":\"Send Failed\"}]\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","email","statuses"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"38ed279a-9927-4e45-8837-eefcac7aea3b"},{"name":"Get Global Statuses","id":"f372ca82-8eb9-4638-a891-bdb929373412","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/globalstatus","description":"<p>Returns a list of available statuses.</p>\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n    [ \n  {\"globalStatusId\":2,\"status\":\"Under Review\"}, \n  {\"globalStatusId\":3,\"status\":\"Interview Sent\"} \n  ] \n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","globalstatus"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"f372ca82-8eb9-4638-a891-bdb929373412"}],"id":"2244655e-e10f-4a76-843b-b47ea5eb6fed","description":"<p>End points for the retrieval of static data.</p>\n","_postman_id":"2244655e-e10f-4a76-843b-b47ea5eb6fed"},{"name":"Text Flow","item":[{"name":"Retrieve Available Flows","id":"f15d9141-a5ac-4fb0-b87b-b47375ab77eb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/flows","description":"<p>Returns summary data for all the text flows available to the current user.</p>\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">[\n{\"flowId\":101,\"name\":\"Flow 1\",\"description\":\"Flow to gather SMS consent\"},\n{\"flowId\":102,\"name\":\"Flow 2\",\"description\":\"Flow to request profile details\"}\n]\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","flows"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"f15d9141-a5ac-4fb0-b87b-b47375ab77eb"},{"name":"Start Text Flow","id":"e50cc8b1-354a-4874-b1ba-080850c554ac","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"candidateIds\": [1234,5678],\r\"flowId\": 999,\r\"message\": \"Hi John, this is Auto-bot 9000. Please reply to this message to let me ask you about your location preferences.\"\r}"},"url":"https://integrations.loopworks.com/api/flow/start","description":"<p>Start a text flow to the candidate specified in the post body.</p>\n<p>This will send an SMS message to the specified candidate and if the candidate responds they will enter an automated text flow (i.e. their response will be the equivalent texting a keyword to start a text flow)</p>\n<h4>NOTES</h4>\n<ul>\n<li>The candidateId, flowID, companyID, and message properties are all mandatory.</li>\n<li>A callback can be configured when the flow is completed/terminated/abandoned. See the /Callbacks/Text Flow Completion request for further details.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n\"countSent\":1,\n\"countFailed\":1,\n\"statusCode\":null,\n\"success\":false,\n\"message\":null,\n\"errors\":[\"candidateId 5678 is not accessible or does not exist\"]\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","flow","start"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"e50cc8b1-354a-4874-b1ba-080850c554ac"}],"id":"9010e9df-12b5-4328-8cb1-12c1686d6a24","description":"<p>Text Flow requests</p>\n","event":[{"listen":"prerequest","script":{"id":"649a9ad8-4891-404d-a024-8fe4e53135c8","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"24901792-7c4d-4897-9e38-464a743ed3b5","type":"text/javascript","exec":[""]}}],"_postman_id":"9010e9df-12b5-4328-8cb1-12c1686d6a24"},{"name":"User","item":[{"name":"Retrieve User","id":"72f1d38b-44ea-49ae-87d1-49b68943022b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/user/get/{id}","description":"<p>Returns a user.</p>\n","urlObject":{"protocol":"https","path":["api","user","get","{id}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"72f1d38b-44ea-49ae-87d1-49b68943022b"},{"name":"Retrieve Self","id":"9ad7d5b6-008b-4b45-9e7b-bb2f6dadf953","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/user/self","description":"<p>Returns a same payload in the same schema as /api/user/get/{id} but returns data just for the user performing the request i.e. the user's own data.</p>\n<p>While access to retrieve user data is typically heavily restricted, a user should normally be able ot retrieve their own data.</p>\n","urlObject":{"protocol":"https","path":["api","user","self"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"9ad7d5b6-008b-4b45-9e7b-bb2f6dadf953"},{"name":"Retrieve All Users","id":"806cc573-7c9c-480e-aa5a-253c43d4824a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/user/list?page=1&pageSize=25","description":"<p>Returns an array containing the users in the user's instance.</p>\n<p>The structure of the user objects is the same as the structure returned from /api/user/get.</p>\n<h4>NOTES</h4>\n\n  \n<p>The following constraints apply:  </p>\n<ul><li><p>If page and pageSize URL parameters are not specified then they will default to page 1 and pageSize 100.</p></li></ul>","urlObject":{"protocol":"https","path":["api","user","list"],"host":["integrations","loopworks","com"],"query":[{"key":"page","value":"1"},{"key":"pageSize","value":"25"}],"variable":[]}},"response":[],"_postman_id":"806cc573-7c9c-480e-aa5a-253c43d4824a"},{"name":"Retrieve Accessible Clients","id":"b8dc79e4-8f8f-42b1-96d4-5f865674fe1d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/user/clients","description":"<p>Returns a list of clients that the current user has access to administer. </p>\n<h4>NOTES</h4>\n<ul>\n<li>Recruiters will typically not be able to access any clients outside of their own instance but adminstrators with elevated priveleges may be able to access multiple clients for the purpose of user management.</li>\n</ul>\n\n<h4>SUCCESS</h4>\n```javascript\n{\"clients\":[{\"id\":1234,\"name\":\"Client 1\"},{\"id\":5678,\"name\":\"Client 2\"}]}\n```","urlObject":{"protocol":"https","path":["api","user","clients"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b8dc79e4-8f8f-42b1-96d4-5f865674fe1d"},{"name":"Retrieve Accessible User License Types","id":"fbe34a9e-5945-4fb8-917b-be1c2449f214","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/user/licensetypes","description":"<p>Returns a list of user license types that the current user has access to. Once of these license types must be specified when creating new users. </p>\n<h4>SUCCESS</h4>\n```javascript\n{\"licenseTypes\":[{\"id\":1,\"name\":\"Standard\"},{\"id\":123,\"name\":\"Custom 1\"}]}\n```","urlObject":{"protocol":"https","path":["api","user","licensetypes"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"fbe34a9e-5945-4fb8-917b-be1c2449f214"},{"name":"Retrieve Companies under Client","id":"b4d5c044-69a5-4d87-923a-8f25d0c3c396","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/user/companies/{clientId?}","description":"<p>Returns a list of accessible companies under a specified Client.</p>\n<h4>NOTES</h4>\n<ul>\n<li>Recruiters will typically only be able to see a limited range of companies that they have been granted specific access to. However, adminstrators with elevated priveleges may be able to see all companies under a specified clients in order to be able to assign access to these companies e.g. during user management.</li>\n</ul>\n\n<h4>SUCCESS</h4>\n```javascript\n[\n{\"externalId\":\"ABCD\",\"id\":1234,\"name\":\"Company 1\",\"isRestricted\":false},\n{\"externalId\":\"EFGH\",\"id\":5678,\"name\":\"Company 2\",\"isRestricted\":false}\n]\n```","urlObject":{"protocol":"https","path":["api","user","companies","{clientId"],"host":["integrations","loopworks","com"],"query":[{"key":"}","value":null}],"variable":[]}},"response":[],"_postman_id":"b4d5c044-69a5-4d87-923a-8f25d0c3c396"},{"name":"Delete User","id":"ea8cd257-da7f-42ed-ac04-ab69654ba12a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"formdata","formdata":[]},"url":"https://integrations.loopworks.com/api/user/delete/{id}","description":"<p>Deletes a user specified by the user id.</p>\n<h4>NOTES</h4>\n<ul>\n<li>If the user which is being deleted is not accessible to the user performing the delete (because they do not have access to the instance in which the targer user exists) then an error will be returned.</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n\"id\":null,\n\"statusCode\":null,\n\"success\":true,\n\"message\":\"User1234 Deleted\",\n\"errors\":[]\n}\n</code></pre>\n<h4>ERROR RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n\"statusCode\":null,\n\"success\":false,\n\"message\":null,\n\"errors\":[\"No User Profile exists for UserID=5017 (or it is not accessible)\"]\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","user","delete","{id}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ea8cd257-da7f-42ed-ac04-ab69654ba12a"},{"name":"Find Users by Email Address","id":"94115abb-2e30-4e0f-9941-3bb3d9ac2381","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"emailAddresses\":[\"abc@email.com\"]\r}"},"url":"https://integrations.loopworks.com/api/user/email/find","description":"<p>Returns a response containing a collection of matching users.</p>\n<h4>NOTES</h4>\n<ul>\n<li>For standard requests, the results will be filtered to users within the same Client Instance as the requesting user.</li>\n<li>Where the requesting user has elevated privileges (e.g. the ClientPartnerUserAdmin role) the filter will be relaxed to include all matching users in any Client Instance associated with the requesting user (i.e. a broader search).</li>\n</ul>\n\n<h4>SUCCESS RESPONSE</h4>\ne.g.\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-javascript\">{\n\"users\":[{},{},{}]\n}\n</code></pre>\n","urlObject":{"protocol":"https","path":["api","user","email","find"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"94115abb-2e30-4e0f-9941-3bb3d9ac2381"},{"name":"Retrieve Roles","id":"6c6b0f78-1d8e-4699-83f1-617aeef985a5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","value":"application/json"}],"url":"https://integrations.loopworks.com/api/roles/get","description":"<p>Gets a list of roles that the current user has access to. These roles provide the basis for what can be assigned to a user in the create or update actions.</p>\n","urlObject":{"protocol":"https","path":["api","roles","get"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"6c6b0f78-1d8e-4699-83f1-617aeef985a5"},{"name":"Create User","id":"420c4f9f-225c-469c-844d-a8aca6d770a3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{  \r   \"clientId\": 1234, // optional\r   \"userLicenseTypeId\": 1,\r   \"companies\":[\"ACME1234\"],\r   \"companyIds\":[123,456],\r   \"username\":\"PeterPiper\",\r   \"externalId\":null,\r   \"location\":\"Brighton, UK\",\r   \"firstName\":\"Peter\",\r   \"lastName\":\"Piper\",\r   \"email\":\"email@test.com\",\r   \"countryCode\":null,\r   \"mobile\":\"+44123445678\",\r   \"roles\":[  \r      \"roleA\",\r      \"roleB\",\r      \"roleC\"\r   ],\r   \"allUnrestrictedCompanies\":true,\r   \"hasSingleSignOn\":true,\r   \"idpUserId\":\"XXXXXXXXXXX\",\r   \"idpTenantId\":\"YYYYYY-ZZZZ-AAAA-BBBB-CCCCCCCCCCCC\",\r   \"idpGlobalUserId\":\"YYYYYY-ZZZZ-AAAA-BBBB-DDDDDDDDDDD\"\r}"},"url":"{{BaseUrl}}/api/user/create","description":"<p>Creates a new user. The structure of the body should be exactly the same as that returned by the /api/user/get endpoint, with the one exception that the company list is a list of <b>externalIDs</b> (not a list of company objects) and the companyIds list is a list of <b>Loop Company IDs</b>.</p>\n<p>Users can be associated with companies by either specifying the company's ExternalID in the \"companies\" array or by specifyign the company's Loop ID in the \"companyIds\" array. Where both are specified then access will be granted to the union of the two lists.</p>\n<p>The clientId property in the body of the request is optional. If it is specified the the new user will be created in the instance associated with the given clientId (assuming the user has rights to create users in other instances and access to the specified instance). It is it not specified, then the new user will be created in the same instance as the user making the call (this is the default behaviour).</p>\n<p>In the current release the userLicenseTypeId is mandatory. It must be populated with a valid ID from a call to /api/user/licensetypes. Failure to specify a userLicenseTypeId will result in an error.</p>\n<p><b>IMPORTANT NOTE</b>: Email Addresses should be unique for users. Trying to create a user with an email address that already exists for an existing user in the same instance will not result in the new user <b>not</b> being created. Instead, the API will return the first matching user record in the response and the result will have success=false. It is recommended that API clients first try to find users with matching Email Addresses before trying to create a new user and after creating a user, the success status should be checking to make sure that a new user was in fact created.</p>\n","urlObject":{"path":["api","user","create"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"420c4f9f-225c-469c-844d-a8aca6d770a3"},{"name":"Update User","id":"20b3c630-9185-4db4-95d0-1e8665156f1e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}"},{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{  \r   \"companies\":[ \"ACME1234\" ],\r   \"companyIds\":[123,456],\r   \"client\":\"TEST\",\r   \"id\":1234,\r   \"username\":\"PeterPiper\",\r   \"externalId\":null,\r   \"location\":\"Brighton, UK\",\r   \"firstName\":\"Peter\",\r   \"lastName\":\"Piper\",\r   \"email\":\"email@test.com\",\r   \"countryCode\":null,\r   \"mobile\":\"+44123445678\",\r   \"roles\":[  \r      \"roleA\",\r      \"roleB\",\r      \"roleC\"\r   ],\r   \"allUnrestrictedCompanies\":true,\r   \"hasSingleSignOn\":true,\r   \"idpUserId\":\"XXXXXXXXXXX\",\r   \"idpTenantId\":\"YYYYYY-ZZZZ-AAAA-BBBB-CCCCCCCCCCCC\",\r   \"idpGlobalUserId\":\"YYYYYY-ZZZZ-AAAA-BBBB-DDDDDDDDDDD\"\r}"},"url":"{{BaseUrl}}/api/user/update","description":"<p>Updates an existing user. The structure of the body should be exactly the same as that returned by the /api/user/get endpoint with the one exception that the company list is a list of <b>externalIDs</b> (not a list of company objects) and the companyIds list is a list of <b>Loop Company IDs</b>.</p>\n<p>Users can be associated with companies by either specifying the company's ExternalID in the \"companies\" array or by specifyign the company's Loop ID in the \"companyIds\" array. Where both are specified then access will be granted to the union of the two lists.</p>\n","urlObject":{"path":["api","user","update"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"20b3c630-9185-4db4-95d0-1e8665156f1e"},{"name":"Retrieve User Preferences","id":"975634d8-879e-48b8-9215-65562f99e371","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{AuthHeader}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"{{BaseUrl}}/api/user/preferences/self/get/","description":"<p>Retrieves a list of user's preferences.</p>\n<p>If executed as an HTTPGET without a body or as an HTTPPOST with an empty body, the full list of the user's preferences will be returned.</p>\n<p>If the keys array is included in the payload, then the response will filter the user preferences down to the nominated keys.</p>\n","urlObject":{"path":["api","user","preferences","self","get",""],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"975634d8-879e-48b8-9215-65562f99e371"},{"name":"Retrieve User Preference","id":"bd8d54ba-b1c5-4984-a2e1-7d8f1e144440","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{AuthHeader}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"{{BaseUrl}}/api/user/preferences/self/get/{id}","description":"<p>Retrieves a specific user preference.</p>\n","urlObject":{"path":["api","user","preferences","self","get","{id}"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"bd8d54ba-b1c5-4984-a2e1-7d8f1e144440"},{"name":"Set User Preference","id":"bfe71576-1f93-4e27-bd9c-0c85706d3578","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"{{AuthHeader}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"Preferences\": [\n\t\t{\n\t\t\t\"keyname\": \"propertyname\",\n\t\t\t\"keyvalue\": \"propertyvalue\"\n\t\t}\n\t]\n}"},"url":"{{BaseUrl}}/api/user/preferences/self/set/","urlObject":{"path":["api","user","preferences","self","set",""],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"bfe71576-1f93-4e27-bd9c-0c85706d3578"}],"id":"7813b73f-4c4f-4bd4-8fe9-db715354a5f7","_postman_id":"7813b73f-4c4f-4bd4-8fe9-db715354a5f7","description":""},{"name":"Callbacks","item":[{"name":"Text Flow Completion","id":"6156e93c-f199-4632-8217-6fc46ca96758","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"flowId\":123,\r\"transactionId\":999,\r\"candidateId\":1111,\r\"status\": \"Complete\",\r\"transactions\":[\r{\r\"messageDirection\": \"in\",\r\"messageBody\": \"hello\",\r\"timeStamp\": \"2018-09-05T08:00:00\"\r},\r{\r\"messageDirection\": \"out\",\r\"messageBody\": \"goodbye\",\r\"timeStamp\": \"2018-09-05T08:00:00\"\r}\r]\r}"},"url":"https://your-configured-url","description":"<p>A callback will be made to the users endpoint when a textflow is completed. The structure of the callback payload is described in this request example.</p>\n<h4>NOTES</h4>\nStatus of a text flow can be one of the following 4 supported statuses:\n<ul>\n<li>Started - The Text flow has been started </li>\n<li>Complete - User can followed the text flow all the way to completion</li>\n<li>Abandoned - The user started the text flow but didn't complete it before the timeout cut-off</li>\n<li>Quit - The user started the text flow and then explicitly quit it (normally with a \"q\" keyword)</li>\n</ul>\n\n<p>The callback will be called when a text flow moves to either the Complete, Abandoned or Quit status.</p>\n","urlObject":{"protocol":"https","host":["your-configured-url"],"query":[],"variable":[]}},"response":[],"_postman_id":"6156e93c-f199-4632-8217-6fc46ca96758"}],"id":"f6a2137c-861e-448c-a8bb-da3e05dd625e","_postman_id":"f6a2137c-861e-448c-a8bb-da3e05dd625e","description":""},{"name":"Chat","item":[{"name":"Get chat","id":"19afc485-1bbc-4da9-aef0-1b28fdceb46a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","type":"text","value":"{{AuthHeader}}"},{"key":"Content-Type","type":"text","value":"application/json"}],"url":"{{BaseUrl}}/api/messenger/chat/{chatId}","description":"<p>Gets the details of a candidate chat, specified by chatId.</p>\n","urlObject":{"path":["api","messenger","chat","{chatId}"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"19afc485-1bbc-4da9-aef0-1b28fdceb46a"},{"name":"Can Chat","id":"37efa1b3-9b69-489b-b844-4288f3013dd3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","type":"text","value":"{{AuthHeader}}"},{"key":"Content-Type","type":"text","value":"application/json"}],"url":"{{BaseUrl}}/api/messenger/chat/allowed/{candidateId}","description":"<p>Gets detail about whether the current user is able to chat with the given candidate. There are a number of reasons why a user may not be able to chat with a given candidate and some (non-exhaustive examples) are lsited below. This meta-data is incldued in the chat itself but there may be occasion where the ability to chat needs to be checked by itself.</p>\n<ul>\n<li>If the candidate has opted out</li>\n<li>If the candidate's phone is in a country you can’t send to</li>\n<li>If the candidate's phone number is invalid/null</li>\n</ul>","urlObject":{"path":["api","messenger","chat","allowed","{candidateId}"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"95ad529f-ab4e-4fc6-bc8b-e31bf679846a","name":"Can Chat","originalRequest":{"method":"GET","header":[{"key":"Authorization","type":"text","value":"{{AuthHeader}}"},{"key":"Content-Type","type":"text","value":"application/json"}],"url":"{{BaseUrl}}/api/messenger/chat/allowed/{candidateId}"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{  \n   \"canChat\":false,\n   \"isImageEnabled\":false,\n   \"unavailableMessage\":\"No candidate found with ID={candidateId}\",\n   \"errorCode\":7\n}"}],"_postman_id":"37efa1b3-9b69-489b-b844-4288f3013dd3"},{"name":"Get chats","id":"222b2251-863d-4a7e-99b6-7e532ebb282f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","type":"text","value":"{{AuthHeader}}"},{"key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\tpageNum: \"1\",\n\tpageSize: \"50\"\n}"},"url":"{{BaseUrl}}/api/messenger/chats","description":"<p>Gets all the candidate chats for the given User.</p>\n","urlObject":{"path":["api","messenger","chats"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"ce3c9dc7-0ce1-43bd-b577-cca8f1af62df","name":"Get chats","originalRequest":{"method":"GET","header":[{"key":"Authorization","type":"text","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\tpageNum: \"1\",\n\tpageSize: \"50\"\n}"},"url":"https://integrations.loopworks.com/api/messenger/chats"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\n\t\"pageNum\": 1,\n\t\"pageSize\": 50,\n\t\"count\": 2,\n\t\"totalUnread\": 1,\n\t\"chats\": [\n\t\t{\n\t\t\t\"chatId\": 1234,\n\t\t\t\"subscriberId\": 999,\n\t\t\t\"subscriberName\": \"Jules Verne\",\n\t\t\t\"isViewed\": false,\n\t\t\t\"isOptedOut\": false,\n\t\t\t\"countOfUnread\": 1,\n\t\t\t\"canChat\": {\n\t\t\t\t\"canChat\": true,\n\t\t\t\t\"unavailableMessage\": null\n\t\t\t},\n\t\t\t\"chatItems\": [\n\t\t\t\t{\n\t\t\t\t\t\"chatItemId\": 123,\n\t\t\t\t\t\"message\": \"Hi there\",\n\t\t\t\t\t\"messageDateTime\": \"2019-09-27T09:10:28.843\",\n\t\t\t\t\t\"direction\": 1,\n\t\t\t\t\t\"isReceived\": true,\n\t\t\t\t\t\"isRejected\": false,\n\t\t\t\t\t\"initials\": \"M A\",\n\t\t\t\t\t\"photoURL\": null\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"chatItemId\": 124,\n\t\t\t\t\t\"message\": \"Hello\",\n\t\t\t\t\t\"messageDateTime\": \"2019-09-27T09:11:32.43\",\n\t\t\t\t\t\"direction\": 2,\n\t\t\t\t\t\"isReceived\": true,\n\t\t\t\t\t\"isRejected\": false,\n\t\t\t\t\t\"initials\": \"J V\",\n\t\t\t\t\t\"photoURL\": null\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"chatItemId\": 125,\n\t\t\t\t\t\"message\": \"Thank you\",\n\t\t\t\t\t\"messageDateTime\": \"2019-09-27T09:11:50.707\",\n\t\t\t\t\t\"direction\": 1,\n\t\t\t\t\t\"isReceived\": true,\n\t\t\t\t\t\"isRejected\": false,\n\t\t\t\t\t\"initials\": \"M A\",\n\t\t\t\t\t\"photoURL\": null\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\t{\n\t\t\t\"chatId\": 5678,\n\t\t\t\"subscriberId\": 1000,\n\t\t\t\"subscriberName\": \"Ernest Hemingway\",\n\t\t\t\"isViewed\": true,\n\t\t\t\"isOptedOut\": false,\n\t\t\t\"countOfUnread\": 0,\n\t\t\t\"canChat\": {\n\t\t\t\t\"canChat\": true,\n\t\t\t\t\"unavailableMessage\": null\n\t\t\t},\n\t\t\t\"chatItems\": [\n\t\t\t\t{\n\t\t\t\t\t\"chatItemId\": 1234,\n\t\t\t\t\t\"message\": \"Hi Ernest\",\n\t\t\t\t\t\"messageDateTime\": \"2019-09-26T15:46:56.11\",\n\t\t\t\t\t\"direction\": 1,\n\t\t\t\t\t\"isReceived\": true,\n\t\t\t\t\t\"isRejected\": false,\n\t\t\t\t\t\"initials\": \"M A\",\n\t\t\t\t\t\"photoURL\": null\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"chatItemId\": 13129,\n\t\t\t\t\t\"message\": \"Hello\",\n\t\t\t\t\t\"messageDateTime\": \"2019-09-26T15:46:57.46\",\n\t\t\t\t\t\"direction\": 2,\n\t\t\t\t\t\"isReceived\": true,\n\t\t\t\t\t\"isRejected\": false,\n\t\t\t\t\t\"initials\": \"E H\",\n\t\t\t\t\t\"photoURL\": null\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t]\n}"}],"_postman_id":"222b2251-863d-4a7e-99b6-7e532ebb282f"},{"name":"Get Chat by CandidateId","id":"335cf1e0-4aae-4f9c-aacf-3e706574b0c4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","type":"text","value":"{{AuthHeader}}"},{"key":"Content-Type","type":"text","value":"application/json"}],"url":"{{BaseUrl}}/api/messenger/chat/getForCandidate/{candidateId}","description":"<p>Get the User's chat with a given Candidate (by CandidateId).</p>\n","urlObject":{"path":["api","messenger","chat","getForCandidate","{candidateId}"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"335cf1e0-4aae-4f9c-aacf-3e706574b0c4"},{"name":"Send Chat Message","id":"d4c5cc0e-e8d8-4136-9ad0-ee55b1e98c52","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"{{AuthHeader}}"},{"key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"channelName\": \"SMS\",\n  \"candidateId\": 12345678,\n  \"msg\": \"Hello!\",\n  \"images\": [\n    {\"url\": \"https://www.domain.com/images/image1.png\"}\n  ],\n  \"messageTemplateId\": 1234\n}"},"url":"{{BaseUrl}}/api/messenger/chat/send","description":"<p>Send a chat message to a specified candidate.  N.B. The request body should contain the channelName (currently only SMS supported), the CandidateId and the message text.</p>\n<h4>NOTES</h4>\n\n<ul>\n    <li>Images are only allowed under some user-licenses and in some jurisdications</li>\n    <li>The messageTemplateId is optional and, where specified, is just used to track template usage.</li>\n</ul>","urlObject":{"path":["api","messenger","chat","send"],"host":["{{BaseUrl}}"],"query":[{"disabled":true,"key":"","value":""},{"disabled":true,"key":"Content-Type","value":""}],"variable":[]}},"response":[],"_postman_id":"d4c5cc0e-e8d8-4136-9ad0-ee55b1e98c52"},{"name":"Get Count","id":"ba682855-e4d8-4441-b612-9a5076d8a568","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","type":"text","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"https://integrations.loopworks.com/api/messenger/chat/getCount","description":"<p>Get the number of chats that the User has with one or more unacknowledged inbound response messages.</p>\n","urlObject":{"protocol":"https","path":["api","messenger","chat","getCount"],"host":["integrations","loopworks","com"],"query":[{"disabled":true,"key":"","value":""},{"disabled":true,"key":"Content-Type","value":""}],"variable":[]}},"response":[],"_postman_id":"ba682855-e4d8-4441-b612-9a5076d8a568"},{"name":"Reset count","id":"d57f8b6d-2291-4be1-9505-bf24d800cd52","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"https://integrations.loopworks.com/api/messenger/chat/resetCount/","description":"<p>Reset the unacknowledged message count to zero. (N.B. Marks all inbound response messages as acknowledged.)</p>\n","urlObject":{"protocol":"https","path":["api","messenger","chat","resetCount",""],"host":["integrations","loopworks","com"],"query":[{"disabled":true,"key":"","value":""},{"disabled":true,"key":"Content-Type","value":""}],"variable":[]}},"response":[],"_postman_id":"d57f8b6d-2291-4be1-9505-bf24d800cd52"},{"name":"Send chat transcript","id":"30617870-155c-4fbd-98b8-5072a593835b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {{AuthHeader}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"ChatID\": \"123\"\r\n}"},"url":"{{BaseUrl}}/api/messenger/chat/transcript/send/","description":"<p>Sends a full transcript of the user's conversation with a subscriber to that subscriber.</p>\n","urlObject":{"path":["api","messenger","chat","transcript","send",""],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"30617870-155c-4fbd-98b8-5072a593835b"}],"id":"8e48f555-b4a5-42f6-9f4d-a3d831fb1a9d","description":"<p>Candidate chat requests.  N.B. A chat is a correspondence between a User and a Candidate, e.g. an SMS exchange.</p>\n","event":[{"listen":"prerequest","script":{"id":"2d01fd49-7fec-405b-97e3-400753ef7169","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"0c637ce3-4550-4fea-bc14-fb1f0c294425","type":"text/javascript","exec":[""]}}],"_postman_id":"8e48f555-b4a5-42f6-9f4d-a3d831fb1a9d"},{"name":"Media","item":[{"name":"Create media","id":"09263515-efdc-4fe2-9c31-98a28dcd072e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}","type":"text"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{  \r\"clientId\": 123,\r\"companyId\": 456,\r\"mediaName\": \"TestPhoto 1\",\r\"fileName\": \"TestPhoto_1.jpg\",\r\"blob\": \"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\"\r} \r"},"url":"https://integrations.loopworks.com/api/media/create","description":"<p>Upload a media content item, e.g. a JPEG file.</p>\n<ul>\n<li>clientID: optional, but if specified will override the current user's Client.</li>\n<li>companyID: optional.</li>\n<li>mediaName: uniquely identifies the media item.  If not unique an error will be returned.</li>\n<li>FileName: the name of the file.  This must also be unique.</li>\n<li>blob: a base 64 encoding of the media content.</li>\n</ul>\n","urlObject":{"protocol":"https","path":["api","media","create"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"09263515-efdc-4fe2-9c31-98a28dcd072e"},{"name":"Get media item","id":"ae256457-7d9f-497b-9eb9-646d3742afc8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","type":"text","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"https://integrations.loopworks.com/api/media/get/{id}","description":"<p>Get an exist media content item by its ID.</p>\n","urlObject":{"protocol":"https","path":["api","media","get","{id}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ae256457-7d9f-497b-9eb9-646d3742afc8"},{"name":"Get all media items","id":"c93c0561-dcf1-4bf2-90ed-32f300b149ee","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","type":"text","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":"{{BaseUrl}}/api/media/getall/{mimetype?}/{mimesubtype?}","description":"<p>Get all exist media content items.</p>\n<h4>NOTES</h4>\n- mimetype is optional and will filter media items to the given mimetypes (e.g. Image )\n- mimesubtype is optional and will filter media items to the given subtype (e.g. png ). If mimesubtype is provided, the mimetype is also required.\n- If an invalid mime-type is given, an empty array will be returned (since the filter will ignore all media items)","urlObject":{"path":["api","media","getall","{mimetype"],"host":["{{BaseUrl}}"],"query":[{"key":"}/{mimesubtype?}","value":null}],"variable":[]}},"response":[{"id":"36e24b33-f613-4db7-a61d-aebe06b41a50","name":"Get all media items","originalRequest":{"method":"GET","header":[{"key":"Authorization","type":"text","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":""},"url":{"raw":"{{BaseUrl}}/api/media/getall/{mimetype?}/{mimesubtype?}","host":["{{BaseUrl}}"],"path":["api","media","getall","{mimetype"],"query":[{"key":"}/{mimesubtype?}","value":null}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{  \n   \"mediaItems\":[  \n      {  \n         \"id\":1234,\n         \"url\":\"https://loopportalncus.blob.core.windows.net/mediacontent/123/4/ExampleFile1.png\"\n      },\n      {  \n         \"id\":5678,\n         \"url\":\"https://loopportalncus.blob.core.windows.net/mediacontent/123/4/ExampleFile2.png\"\n      }\n   ]\n}"}],"_postman_id":"c93c0561-dcf1-4bf2-90ed-32f300b149ee"},{"name":"Delete media item","id":"a30d8eb9-e300-4d30-81e6-5e7fd2ba382e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://integrations.loopworks.com/api/media/delete/{id}","description":"<p>Delete a media item by ID.</p>\n","urlObject":{"protocol":"https","path":["api","media","delete","{id}"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"a30d8eb9-e300-4d30-81e6-5e7fd2ba382e"},{"name":"Replace media item","id":"8f92b9fc-b3bf-4448-a712-d34d387a0be7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Basic {base64-encoded-username-password}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{  \r\"id\": 12345,\r\"fileName\": \"TestPhoto_1.jpg\",\r\"blob\": \"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\"\r} \r"},"url":"https://integrations.loopworks.com/api/media/replace","description":"<p>Replace an existing media item, e.g. JPEG file.</p>\n<ul>\n<li>id: the ID of an exist media item</li>\n<li>fileName: the name of the replacement file.  This must be unique.</li>\n<li>blob: a base 64 encoding of the new media content.</li>\n</ul>\n","urlObject":{"protocol":"https","path":["api","media","replace"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"8f92b9fc-b3bf-4448-a712-d34d387a0be7"},{"name":"Update media item","id":"17a54140-8e05-42bc-bc9d-30ec524dba4a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{  \r\"id\": 12345,\r\"mediaName\": \"TestPhoto 1\"\r} \r"},"url":"https://integrations.loopworks.com/api/media/update","description":"<p>Update an existing media item's mediaName:</p>\n<ul>\n<li>id: the ID of an exist media item</li>\n<li>mediaName: the new name for the media item.  If not unique an error will be returned.</li>\n</ul>\n","urlObject":{"protocol":"https","path":["api","media","update"],"host":["integrations","loopworks","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"17a54140-8e05-42bc-bc9d-30ec524dba4a"}],"id":"2d010e22-43b3-4a6a-9cc8-36bdb561383b","_postman_id":"2d010e22-43b3-4a6a-9cc8-36bdb561383b","description":""},{"name":"Support","item":[{"name":"Create Support Ticket","id":"d5013b89-c7b0-4416-a5b1-3c0b3ecb05d2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\t\"priority\": \"urgent\",\r\t\"type\": \"question\",\r\t\"subject\": \"This is a test Ticket\",\r\t\"comment\": \"Why is the sea blue?\",\r\t\"tags\": [\"TAG1\", \"TAG2\"]\r}"},"url":"https://integrations.loopworks.com/api/support/ticket/create","description":"<p>Create a new support ticket.</p>\n<h4>NOTES</h4>\n<ul>\n<li>The ticket will be created with the current user as the requestor.</li>\n<li>Subject is mandatory</li>\n<li>Comment is mandatory</li>\n<li>The \"type\" property is mandatory.\n    Supported Types are:\n    <ul>\n        <li>problem</li>\n        <li>question</li>\n    </ul>\n</li>\n<li>If no Priority is specified, the ticket will be created with \"normal\" priority. \n    Supported Priorities are:\n    <ul>\n        <li>urgent</li>\n        <li>high</li>\n        <li>normal</li>\n        <li>low</li>\n    </ul>\n</li>\n<li>Tags are optional and should only be used in co-ordination with Loop Support</li>\n</ul>","urlObject":{"protocol":"https","path":["api","support","ticket","create"],"host":["integrations","loopworks","com"],"query":[{"disabled":true,"key":"","value":""},{"disabled":true,"key":"Content-Type","value":""}],"variable":[]}},"response":[],"_postman_id":"d5013b89-c7b0-4416-a5b1-3c0b3ecb05d2"},{"name":"Retrieve open Support Tickets","id":"13af9faa-afc2-4714-a742-3a2c2186932a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Basic {base64-encoded-username-password}"},{"key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\"type\": \"question\"\r}"},"url":"{{BaseURL}}/api/support/open-tickets","description":"<p>Retrieve all open support tickets for the current user.</p>\n<h4>NOTES</h4>\n<ul>\n<li>The request can be made by HTTPGET or HTTPPOST</li>\n<li>The payload is optional and if specified the \"type\" is optional</li>\n<li>If \"type\" is specified then open tickets will be filtered to tickets of the given type. The acceptable values for \"type\" are described in the documenation for \"Create Support Ticket\"</li>\n</ul>","urlObject":{"path":["api","support","open-tickets"],"host":["{{BaseURL}}"],"query":[{"disabled":true,"key":"","value":""},{"disabled":true,"key":"Content-Type","value":""}],"variable":[]}},"response":[],"_postman_id":"13af9faa-afc2-4714-a742-3a2c2186932a"}],"id":"e58fcec3-b9a7-4fd6-99f8-a71623fb4546","_postman_id":"e58fcec3-b9a7-4fd6-99f8-a71623fb4546","description":""},{"name":"Campaign","item":[{"name":"Get a Campaign summary","id":"be2db8cb-af05-4ea8-b165-2a1bf6c0d85f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"{{AuthHeader}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"{{BaseUrl}}/api/campaign/summary/{campaignId}","description":"<p>Gets the details of a Campaign, specified by campaignId including summary data about usage and membership.</p>\n","urlObject":{"path":["api","campaign","summary","{campaignId}"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"153d0f99-1721-4844-9838-f76216eb8014","name":"Get a Campaign summary","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"{{AuthHeader}}","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"{{BaseUrl}}/api/campaign/summary/{campaignId}"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\n   \"messageSendCount\":0,\n   \"emailSendCount\":3,\n   \"emailClickCount\":3,\n   \"campaignId\":1234,\n   \"campaignName\":\"Campaign 1\",\n   \"campaignDescription\": \"Example Campaign\",\n   \"campaignType\":\"Drip Campaign\"\n}"}],"_postman_id":"be2db8cb-af05-4ea8-b165-2a1bf6c0d85f"},{"name":"Get all Campaign summaries","id":"903a7278-3f31-4a1b-8067-a7e4dd141f4c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","type":"text","value":"{{AuthHeader}}"},{"key":"Content-Type","type":"text","value":"application/json"}],"url":"{{BaseUrl}}/api/campaign/summaries","description":"<p>Gets the details of all Campaigns (including summary data about usage and membership) that the current user has access to.</p>\n<p>The \"campaigns\" property in the response payload is an array of campaign summaries with the same schema as the related \"Get a Campaign Summary\" endpoint.</p>\n","urlObject":{"path":["api","campaign","summaries"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"f1cdff3e-04af-466a-9104-084e44e59e8d","name":"Get all Campaign summaries","originalRequest":{"method":"GET","header":[{"key":"Authorization","type":"text","value":"{{AuthHeader}}"},{"key":"Content-Type","type":"text","value":"application/json"}],"url":"{{BaseUrl}}/api/campaign/summaries"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":"{\n   \"messageSendCount\":0,\n   \"emailSendCount\":3,\n   \"emailClickCount\":3,\n   \"campaignId\":1234,\n   \"campaignName\":\"Campaign 1\",\n   \"campaignDescription\": \"Example Campaign\",\n   \"campaignType\":\"Drip Campaign\"\n}"}],"_postman_id":"903a7278-3f31-4a1b-8067-a7e4dd141f4c"},{"name":"Get Campaign activity by Candidate ID","id":"8feb21c7-7fd8-4369-a34d-0097f7ffebab","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"{{AuthHeader}}"},{"key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n\"pageNum\" : \"1\",\r\n\"pageSize\" : \"100\",\r\n\"candidateId\" : \"55667788\"\r\n}"},"url":"{{BaseUrl}}/api/campaign/candidate/activity","urlObject":{"path":["api","campaign","candidate","activity"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"8feb21c7-7fd8-4369-a34d-0097f7ffebab"},{"name":"Add Candidate(s) to Drip Campaign","id":"85390b58-79dd-4a05-b813-489503e49289","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"{{AuthHeader}}"},{"key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n\"campaignId\" : \"1234\",\r\n\"candidateIds\" : [ \"55667788\" ]\r\n}"},"url":"{{BaseUrl}}/api/campaign/candidates/add","description":"<p>Add one or more Candidates to a Drip Campaign</p>\n<ul>\n<li>CampaignId: the ID of the Campaign to which the candidates are to be added.</li>\n<li>CandidateIds: the IDs of the Candidate(s) to add.</li>\n<li>WorkflowStepId: (optional) the ID of the workflow step at which the new candidates should be added.</li>\n</ul>\n","urlObject":{"path":["api","campaign","candidates","add"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"b34c21ad-7114-49af-b99a-cbd2be80edbf","name":"Add Candidate(s) to Drip Campaign, specifying the WorkflowStepID at which the are to be added.","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"{{AuthHeader}}"},{"key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n\"campaignId\" : 1234,\r\n\"candidateIds\" : [ 9876543 ],\r\n\"workflowStepId\" : 556677\r\n}"},"url":"{{BaseUrl}}/api/campaign/candidates/add"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"85390b58-79dd-4a05-b813-489503e49289"},{"name":"Remove Candidate(s) from a Drip Campaign","id":"0b37e52a-e4f8-43fa-a306-d1bea52f52c5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"{{AuthHeader}}"},{"key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n\"campaignId\" : \"1234\",\r\n\"candidateIds\" : [ \"55667788\" ]\r\n}"},"url":"{{BaseUrl}}/api/campaign/candidates/remove","urlObject":{"path":["api","campaign","candidates","remove"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"0b37e52a-e4f8-43fa-a306-d1bea52f52c5"},{"name":"Get available Campaigns by Candidate ID","id":"b56dc5ed-76b1-4f1a-b758-e3d87cd94da6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"{{AuthHeader}}"},{"key":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n\"pageNum\" : \"1\",\r\n\"pageSize\" : \"100\",\r\n\"candidateId\" : \"55667788\"\r\n}"},"url":"{{BaseUrl}}/api/campaign/available","urlObject":{"path":["api","campaign","available"],"host":["{{BaseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"b56dc5ed-76b1-4f1a-b758-e3d87cd94da6"}],"id":"7da4c3a4-d2ec-4da3-98e2-ebbe3eb4deca","_postman_id":"7da4c3a4-d2ec-4da3-98e2-ebbe3eb4deca","description":""}],"event":[{"listen":"prerequest","script":{"id":"b945af81-5745-457e-9308-a26ae9f40436","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"a901d930-7c07-4b9c-8205-eb0ef84c0329","type":"text/javascript","exec":[""]}}]}