{"info":{"_postman_id":"0c9d3243-7935-4107-b67f-f27e2e2086d8","name":"Katapult Pro API","description":"<html><head></head><body><p>Welcome to the Katapult Pro API!</p>\n<h1 id=\"rate-limit\">Rate limit</h1>\n<p>You may make 100 concurrent requests at any one time per API key. If you hit the concurrent requests limit two times within 5 minutes, your calls to the API will be strictly limited for 5 minutes.</p>\n<p>If running on a private server, include the sub-domain of your private server before katapultpro.com.</p>\n<p>Ex: katapultpro.com/api/jobs -&gt; .katapultpro.com/api/jobs</p>\n<h2 id=\"api-response-format\">API Response Format</h2>\n<p>Responses returned from the API directly will have a JSON format. This will make it easier to identify if the API had an issue with a request or the cloud server itself has had an issue with the request. A typical response without error should be returned as shown below.</p>\n<p>Response to PUT(200)</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-c\">{\n    \"message\": \"OK\"\n}\n\n</code></pre>\n<p>Response to Welcome Message</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Welcome to the Katapult Pro API\"\n}\n\n</code></pre>\n<p>Error Response (500)</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"error\": \"Internal Server Error\"\n}\n\n</code></pre>\n<p>Server error codes like 500 that do not have an associated JSON response indicates that your request has not made it to the API interface. This error has not been returned by the API and is likely an error in handling the transmission of the API call.</p>\n<h2 id=\"job-id\">Job ID</h2>\n<p>For example API the user can open a Katapult Pro job and look to the url which will contain the actual JobId. In the example below the JobId is <em>-MWjCEDgYy9qzw2zZ2dc</em> which is the ID after the # sign in the url.</p>\n<p><a href=\"https://katapultpro.com/map/#-MWjCEDgYy9qzw2zZ2dc\"><b>https://katapultpro.com/map/#-MWjCEDgYy9qzw2zZ2dc</b></a></p>\n<h2 id=\"node-id\">Node ID</h2>\n<p>The Node ID can be derived by using the same method above. The Node ID in the example below is <em>-MTLZaZZiv_iMOEKc70T</em> which is the ID after the n in the url.</p>\n<p><a href=\"https://katapultpro.com/map/#-MWjCEDgYy9qzw2zZ2dc/n-MTLZaZZiv_iMOEKc70T\"><b>https://katapultpro.com/map/#-MWjCEDgYy9qzw2zZ2dc/n-MTLZaZZiv_iMOEKc70T</b></a></p>\n<h3 id=\"section-id\"><strong>Section ID</strong></h3>\n<p>Similar to Connection and Node. The Section ID in the example below is <em>-MJ93SdtSMBWcCWdRBFN</em> which is the ID after the s in the url.</p>\n<p><a href=\"https://katapultpro.com/map/#-MWjCEDgYy9qzw2zZ2dc/s-MJ93SdtSMBWcCWdRBFN\"><b>https://katapultpro.com/map/#-MWjCEDgYy9qzw2zZ2dc/s-MJ93SdtSMBWcCWdRBFN</b></a></p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Rate limit","slug":"rate-limit"}],"owner":"9081167","collectionId":"0c9d3243-7935-4107-b67f-f27e2e2086d8","publishedId":"SVtVV93W","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"003E51","highlight":"007299"},"publishDate":"2019-10-11T19:02:56.000Z"},"item":[{"name":"Welcome Message","id":"1012909f-23c9-469e-a6df-c013a8141e97","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"body":{"mode":"raw","raw":""},"url":"katapultpro.com/api","description":"<p>Welcome to the Katapult Pro API</p>\n<p>A simple API GET request is provided to allow the user to test basic API access. This request can be used to test your basic starter application with or without API Key to ensure the subscription is active and your \"Welcome Message\" API request is working before moving on to more complex requests.</p>\n<h2 id=\"response\">Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Welcome to the Katapult Pro API\"\n}\n\n</code></pre>\n","urlObject":{"path":["api"],"host":["katapultpro","com"],"query":[],"variable":[]}},"response":[{"id":"1c7d4ef0-6d15-4353-ad9f-449ed3add587","name":"Welcome Message","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":""},"url":"katapultpro.com/api"},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":""}],"_postman_id":"1012909f-23c9-469e-a6df-c013a8141e97"},{"name":"Get Job Data","id":"fb966ad3-3337-41fc-9a5f-435f670873f6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"katapultpro.com/api/jobs/:jobId?api_key={{api-key}}","description":"<p>A GET request to a job will return the data for that job.</p>\n<p>Currently, the layer data has been omitted from the JSON data returned in the API response. The layer data can be to large for the response body.</p>\n<p>Visit this link to see the structure for job data: <a href=\"https://katapultpro.com/schema/job.json\">https://katapultpro.com/schema/job.json</a> The data received in the API response body will contain all or some of the data as outlined in the link provided. This will be dependent on that data contained in each node, connection, etc.. in the job ID requested.</p>\n<p>You can optionally include the <code>include_proposed_midspan_heights</code> query parameter with a value of <code>true</code> to include calculated proposed heights for midspan wire objects in the output. The <code>api_proposed_height</code> key will be added to midspan wire objects in either of these cases:</p>\n<ul>\n<li>The midspan wire is proposed</li>\n<li>The midspan wire is moved - either by a make ready move on the wire itself or by a move on a pole at either end of the connection.</li>\n</ul>\n<p>The value for <code>api_proposed_height</code> is the calculated proposed height for the midspan wire in inches.</p>\n","urlObject":{"path":["api","jobs",":jobId"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"},{"disabled":true,"description":{"content":"<p>Include this define based on if proposed midspan hieghts are required.</p>\n","type":"text/plain"},"key":"include_proposed_midspan_heights","value":"true"}],"variable":[{"description":{"content":"<p>Your valid JobID</p>\n","type":"text/plain"},"type":"string","value":"","key":"jobId"}]}},"response":[{"id":"43f0c813-6a81-42e5-9085-9003f974eac9","name":"Get Job Data: Basic","originalRequest":{"method":"GET","header":[],"url":{"raw":"katapultpro.com/api/jobs/:jobId?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your api-key with the braces removed."}],"variable":[{"key":"jobId","value":"-N9lrzHqQm7pvCJoj5w6","type":"string","description":"The ID of the job."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"cfc1b39d-3d7e-4538-b2c2-1cf681d0d45c","name":"Include Proposed Midspan Heights","originalRequest":{"method":"GET","header":[],"url":{"raw":"katapultpro.com/api/jobs/:jobId?api_key={{api-key}}&include_proposed_midspan_heights=true","host":["katapultpro","com"],"path":["api","jobs",":jobId"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your api-key with the braces removed."},{"key":"include_proposed_midspan_heights","value":"true","description":"Include proposed midspan heights"}],"variable":[{"key":"jobId","value":"-N9lrzHqQm7pvCJoj5w6","type":"string"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"fb966ad3-3337-41fc-9a5f-435f670873f6"},{"name":"Get Partial Job Data","id":"7ce92db1-c618-459a-99d8-ab40f193a7cf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"katapultpro.com/api/jobs/:jobId/:paths?api_key={{api-key}}","description":"<p>A GET request to a job with a list of paths included after the job ID will return the data at the specified paths for that job. You can include one path, or up to 10 paths separated by commas. Each path can have multiple path components, each separated with a forward slash.</p>\n<p>For example, to fetch all nodes in a job, your path after the job ID should be <code>nodes</code>. To fetch data for a specific node, your path should be <code>nodes/{node_id}</code>. To fetch data for a specific node and the job name, your path list should be <code>node/{node_id},name</code>.</p>\n<p>If you only include one path, only the data at that path will be returned. If you include multiple paths, a JSON object will be returned. The keys of the returned object will be the paths you requested, regardless if there is data in the job at those paths or not. The values for those keys will be the data at those paths. If there is no data at a path requested, the value will be <code>null</code>.</p>\n<p>Visit this link to see the structure for job data: <a href=\"https://katapultpro.com/schema/job.json\">https://katapultpro.com/schema/job.json</a></p>\n","urlObject":{"path":["api","jobs",":jobId",":paths"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[{"description":{"content":"<p>The ID of the job</p>\n","type":"text/plain"},"type":"any","value":"","key":"jobId"},{"description":{"content":"<p>A comma separated list of paths that should be fetched from the job</p>\n","type":"text/plain"},"type":"any","value":null,"key":"paths"}]}},"response":[{"id":"f481e7a7-a798-4535-93f6-666a34b74f85","name":"Fetch all nodes from a job","originalRequest":{"method":"GET","header":[],"url":{"raw":"katapultpro.com/api/jobs/:jobId/:paths?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId",":paths"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"jobId","value":"-N9lrzHqQm7pvCJoj5w6","description":"The ID of the job"},{"key":"paths","value":"nodes","description":"The path to nodes in the job"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"c07808bc-12b7-4445-9830-920fa43acb49","name":"Fetch a specific node from a job","originalRequest":{"method":"GET","header":[],"url":{"raw":"katapultpro.com/api/jobs/:jobId/:paths?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId",":paths"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"jobId","value":"-N9lrzHqQm7pvCJoj5w6","description":"The ID of the job"},{"key":"paths","value":"nodes/-N9qOg14cFax6B1Z1_Xc","description":"The path to a specific node in the job"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"1362f4b8-c5e0-41f4-9749-287e70e2ca2f","name":"Fetch Multiple Paths","originalRequest":{"method":"GET","header":[],"url":{"raw":"katapultpro.com/api/jobs/:jobId/:paths?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId",":paths"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"jobId","value":"-N9lrzHqQm7pvCJoj5w6","description":"The ID of the job"},{"key":"paths","value":"nodes/-N9qOg14cFax6B1Z1_Xc,name","description":"The path to a specific node in the job and the job name"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"7ce92db1-c618-459a-99d8-ab40f193a7cf"},{"name":"Get Model Data","id":"bcc173a2-6a12-460d-88ae-49b6cb564852","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"katapultpro.com/api/models/:modelKey?api_key={{api-key}}","description":"<p>A GET request to a set of models will return the data for those models. Be aware that the Model Key Value must be used to execute this request. You can use the GET Model List request to obtain the correct key name.</p>\n","urlObject":{"path":["api","models",":modelKey"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[{"description":{"content":"<p>Model Key Value. Keep in mind that if you have a model name with spaces like \"API Examples\" you must replace the spaces with the underscore ( _ ).</p>\n","type":"text/plain"},"type":"any","value":"katapult_API_examples","key":"modelKey"}]}},"response":[{"id":"2e80c61f-b044-4556-89cd-1aee55e0b67f","name":"Get Model Data","originalRequest":{"method":"GET","header":[],"url":{"raw":"katapultpro.com/api/models/:modelKey?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","models",":modelKey"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"modelKey","value":"katapult_API_examples","description":"The Model Key Value."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"bcc173a2-6a12-460d-88ae-49b6cb564852"},{"name":"Get Job List","id":"86f73394-cad8-460a-b282-94ef504bcfd6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"body":{"mode":"raw","raw":""},"url":"katapultpro.com/api/jobs?orderByChild=status/name&equalTo=archived/active/job name&api_key={{api-key}}","description":"<p>A GET request to <code>/jobs</code> will return a list of all jobs for your company or company name registered with your API Key.</p>\n<p>The <code>orderByChild</code> and <code>equalTo</code> query parameters can be used to filter the job list to only jobs that have a certain status or name. Job status settings are part of the model used for the job.</p>\n<p>For example, by setting `orderByChild` to \"status\" and <code>equalTo</code> to \"active\" a list of all active jobs is returned.</p>\n","urlObject":{"path":["api","jobs"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Two sorting methods can be selected. Order or sort by Job Name or Job Status</p>\n","type":"text/plain"},"key":"orderByChild","value":"status/name"},{"description":{"content":"<p>Provide a sorting criteria of achived, active, or Job name base on orderByChild setting.</p>\n","type":"text/plain"},"key":"equalTo","value":"archived/active/job name"},{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[]}},"response":[{"id":"eaed48b6-e6c1-4829-84ce-d18cd61f4de8","name":"Get Job List Name equalTo Test Job","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":""},"url":{"raw":"katapultpro.com/api/jobs?orderByChild=name&equalTo=Test Job&api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs"],"query":[{"key":"orderByChild","value":"name"},{"key":"equalTo","value":"Test Job"},{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"6019afe4-d27f-4699-ae21-4c5ba6147b64","name":"Get Job List Status equalTo Active","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":""},"url":{"raw":"katapultpro.com/api/jobs?orderByChild=status&equalTo=active&api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs"],"query":[{"key":"orderByChild","value":"status"},{"key":"equalTo","value":"active"},{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"12871359-5dff-4cae-add2-d9ddd4ce3e8b","name":"Get Job List Status equalTo Archive","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":""},"url":{"raw":"katapultpro.com/api/jobs?orderByChild=status&equalTo=archive&api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs"],"query":[{"key":"orderByChild","value":"status"},{"key":"equalTo","value":"archive"},{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"86f73394-cad8-460a-b282-94ef504bcfd6"},{"name":"Get Updated Jobs List","id":"7c6834d3-cc2c-43e4-986b-0d99d3782c10","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"body":{"mode":"raw","raw":""},"url":"katapultpro.com/api/updatedjobslist?fromDate=fromDate&toDate=toDate&useToday=true/false&page=Number of page/default 0&api_key={{api-key}}","description":"<p>A GET request using the start/end or to/from Date to get a list of Job ids and date stamp for jobs that have been updated during the entered timeframe. This get will return an object containing a list of job ID's and their timestamp.</p>\n<p>Example Response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[  \n    {  \n        \"jobId\": \"-N_4KXQ5CpSO9Tnmy6vX\",  \n        \"last_updated\": \"2023-07-28T14:35:02.259Z\"  \n    },  \n    {  \n        \"jobId\": \"-NaNYiarOSF8_laR297a\",  \n        \"last_updated\": \"2023-07-27T18:47:08.482Z\"  \n    },  \n    {  \n        \"jobId\": \"-NaNGnTKmclbtlmmq84u\",  \n        \"last_updated\": \"2023-07-27T18:25:13.038Z\"  \n    }  \n]\n\n</code></pre>\n","urlObject":{"path":["api","updatedjobslist"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Start or From Date</p>\n","type":"text/plain"},"key":"fromDate","value":"fromDate"},{"description":{"content":"<p>End or To Date</p>\n","type":"text/plain"},"key":"toDate","value":"toDate"},{"description":{"content":"<p>Use todays date if marked true</p>\n","type":"text/plain"},"key":"useToday","value":"true/false"},{"description":{"content":"<p>The user will get a list of 200 jobs per page. Each susequent page will need to be requested by number. Eaxmple page = 2 for jobs 200 thru 400.</p>\n","type":"text/plain"},"key":"page","value":"Number of page/default 0"},{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[]}},"response":[{"id":"64f3188d-b891-4da7-a5a4-962978023451","name":"Get Job List Name equalTo Test Job","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":""},"url":{"raw":"katapultpro.com/api/jobs?orderByChild=name&equalTo=Test Job&api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs"],"query":[{"key":"orderByChild","value":"name"},{"key":"equalTo","value":"Test Job"},{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"ba6a76f0-7071-4687-baa1-325929139b5d","name":"Get Job List Status equalTo Active","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":""},"url":{"raw":"katapultpro.com/api/jobs?orderByChild=status&equalTo=active&api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs"],"query":[{"key":"orderByChild","value":"status"},{"key":"equalTo","value":"active"},{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"8b0fc14b-305c-4e89-8c1c-b0acfbbb4d22","name":"Get Job List Status equalTo Archive","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":""},"url":{"raw":"katapultpro.com/api/jobs?orderByChild=status&equalTo=archive&api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs"],"query":[{"key":"orderByChild","value":"status"},{"key":"equalTo","value":"archive"},{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"7c6834d3-cc2c-43e4-986b-0d99d3782c10"},{"name":"Get Jobs in Folder","id":"852ea7af-3b2d-423d-add3-8f9908f76ae0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"katapultpro.com/api/folders?api_key={{api-key}}&folderPath={{folderPath}}","description":"<p>A GET request to /folders will return a list of the job IDs that are in the folder specified by <code>folderPath</code>.</p>\n<p>The query parameter <code>folderPath</code> should be the path to the folder you would like to get job IDs from. This is a deep search, so any jobs nested underneath your desired <code>folderPath</code> will be returned.</p>\n<p>Start with your company ID, then add folder names separated by forward slashes.</p>\n<p><strong>For example:</strong> 'test_company/Folder Name 1/Sub Folder/Sub Folder'</p>\n<p>If you would like to get all job IDs underneath a company, simply provide the company name:</p>\n<p>'test_company'</p>\n","urlObject":{"path":["api","folders"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"},{"description":{"content":"<p>Path to folder. Remove braces.</p>\n","type":"text/plain"},"key":"folderPath","value":"{{folderPath}}"}],"variable":[]}},"response":[{"id":"44a04204-a361-4c36-b4d3-6d9809a3b9a4","name":"Get Jobs in Folder","originalRequest":{"method":"GET","header":[],"url":{"raw":"katapultpro.com/api/folders?api_key={{api-key}}&folderPath=katapult/API Jobs","host":["katapultpro","com"],"path":["api","folders"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your api-key with the braces removed."},{"key":"folderPath","value":"katapult/API Jobs","description":"Path to folder. Remove braces."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"852ea7af-3b2d-423d-add3-8f9908f76ae0"},{"name":"Get Model List","id":"5da3cdc6-1b96-4f10-9f84-e371aaf9cae9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"body":{"mode":"raw","raw":""},"url":"katapultpro.com/api/models?api_key={{api-key}}","description":"<p>A GET request to <code>/models</code> will return a list of all models for your company. The JSON data returned from this GET request can be used in other calls such as POST Create Job by value tag in the models key of the request. When the actual Model being used in other API calls is in question use this call to verify that the value tag matches what you are expecting.</p>\n<p><em><strong>Example Return Data</strong></em></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">[\n    {\n        \"_default\": true,\n        \"label\": \"Katapult Models\",\n        \"value\": \"katapult\"\n    },\n    {\n        \"label\": \"Katapult O-Calc Demo\",\n        \"value\": \"katapult_demo_-_o-calc\"\n    },\n    {\n        \"label\": \"Zach Training Models Spida\",\n        \"value\": \"zach_training_models_spida\"\n    },\n    {\n        \"label\": \"SDW Test\",\n        \"value\": \"katapult_SDW_test\"\n    },\n    {\n        \"label\": \"API Examples\",\n        \"value\": \"katapult_API_examples\"\n    },\n    {\n        \"label\": \"Zach Carlson Certification Model\",\n        \"value\": \"katapult_Zach_carlson_certification_model\"\n    },\n    {\n        \"label\": \"Testing\",\n        \"value\": \"katapult_Testing\"\n    },\n    {\n        \"label\": \"Test2\",\n        \"value\": \"katapult_Test2\"\n    }\n]\n\n</code></pre>\n","urlObject":{"path":["api","models"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[]}},"response":[{"id":"79130561-0660-42b5-965a-ca15f1e15342","name":"Get Model List","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":""},"url":{"raw":"katapultpro.com/api/models?token={{api-key}}","host":["katapultpro","com"],"path":["api","models"],"query":[{"key":"token","value":"{{api-key}}","description":"Your Api_key with the braces removed."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":""}],"_postman_id":"5da3cdc6-1b96-4f10-9f84-e371aaf9cae9"},{"name":"Get User List","id":"bd3a2de7-08d6-486d-b2f4-74cb76bbc05c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"katapultpro.com/api/users?api_key={{api-key}}","description":"<p>A GET request to /users will return all of the users within your company. The users list is helpful to verify a user information within a company for use in future API requests which require this data. Also, returned data can be used to obtain further information when using the GET User Data request.</p>\n","urlObject":{"path":["api","users"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[]}},"response":[{"id":"d5b7c25e-85f4-4196-b766-704166fd318a","name":"Get User List","originalRequest":{"method":"GET","header":[],"url":{"raw":"katapultpro.com/api/users?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","users"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"bd3a2de7-08d6-486d-b2f4-74cb76bbc05c"},{"name":"Get User Data","id":"05b57308-7f12-453b-8bce-1dc08f6a45d9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"katapultpro.com/api/users/:userId?api_key={{api-key}}","description":"<p>A GET request to /users/:userId will return information about a specific user. If the user exists in your company, you'll receive additional data on them. If the user doesn't exist in your company, you'll simply receive back their email address.</p>\n","urlObject":{"path":["api","users",":userId"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[{"description":{"content":"<p>User ID</p>\n","type":"text/plain"},"type":"any","value":"","key":"userId"}]}},"response":[{"id":"5929487f-35b3-437c-ae5f-66a22d480b54","name":"Get User Data","originalRequest":{"method":"GET","header":[],"url":{"raw":"katapultpro.com/api/users/:userId?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","users",":userId"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"userId","value":"","description":"User ID"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"05b57308-7f12-453b-8bce-1dc08f6a45d9"},{"name":"Download A Photo","event":[{"listen":"test","script":{"id":"ebfd1cfa-ba28-46d1-91ff-5e929c697123","exec":[""],"type":"text/javascript"}}],"id":"031d131e-2863-4390-a46f-3902023baaec","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","type":"text","value":"image/webp"}],"body":{"mode":"file","file":{"src":""}},"url":"katapultpro.com/api/jobs/:jobId/photos/:photoId?download_file={{download_type}}&file_size={{file_size}}&api_key={{apiKey}}","description":"<p>A GET request to a specific <code>photoId</code> can either download the photo as a file, or return an authenticated URL to view the photo.</p>\n<p>The request defaults to returning the URL, unless otherwise specified in your query parameters. You can also choose to download a binary file.</p>\n<p>If you choose to download the image, the file will be downloaded as either a <code>.webp</code> or <code>.jpeg</code> file, depending on what was uploaded originally.</p>\n<p>You can use the <code>size</code> query parameter to choose what size photo you would like to download. The default is 'full'.</p>\n<p>The options (in size order) are:</p>\n<ul><li><p>full</p></li><li><p>extra_large</p></li><li><p>large</p></li><li><p>small</p></li><li><p>tiny</p></li></ul>","urlObject":{"path":["api","jobs",":jobId","photos",":photoId"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Set to 'false' to return an authenticated URL to the photo. Set to 'true' to return a binary file. If this parameter is not included, it will default to 'false'.</p>\n","type":"text/plain"},"key":"download_file","value":"{{download_type}}"},{"description":{"content":"<p>If this parameter is not included, it will default to 'full'. See above for size options.</p>\n","type":"text/plain"},"key":"file_size","value":"{{file_size}}"},{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{apiKey}}"}],"variable":[{"type":"string","value":"-MlGA2hURk7ndmi3O_j_","key":"jobId"},{"type":"string","value":"015eb1ba-e8c9-4824-a721-9047aeafdee5","key":"photoId"}]}},"response":[{"id":"332cc3af-fb48-4531-8c2a-35407bce84ab","name":"Download A Photo","originalRequest":{"method":"GET","header":[{"key":"Content-Type","type":"text","value":"image/jpeg"}],"body":{"mode":"file","file":{"src":""}},"url":{"raw":"katapultpro.com/api/jobs/:jobId/photos/:photoId?download_file={{download_type}}&file_size={{file_size}}&api_key={{apiKey}}","host":["katapultpro","com"],"path":["api","jobs",":jobId","photos",":photoId"],"query":[{"key":"download_file","value":"{{download_type}}","description":"String (defaults to 'false')"},{"key":"file_size","value":"{{file_size}}","description":"String (defaults to 'full')"},{"key":"api_key","value":"{{apiKey}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"jobId","value":"-MlGA2hURk7ndmi3O_j_","type":"string","description":"ID of Job that photo is in"},{"key":"photoId","value":"015eb1ba-e8c9-4824-a721-9047aeafdee5","type":"string","description":"ID of photo requested"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"a9a40b76-3b50-4054-a94b-818755240d3b","name":"Download A Photo Url Link","originalRequest":{"method":"GET","header":[{"key":"Content-Type","type":"text","value":"image/jpeg"}],"body":{"mode":"file","file":{"src":""}},"url":{"raw":"katapultpro.com/api/jobs/:jobId/photos/:photoId?download_file='false'&file_size={{file_size}}&api_key={{apiKey}}","host":["katapultpro","com"],"path":["api","jobs",":jobId","photos",":photoId"],"query":[{"key":"download_file","value":"'false'","description":"String (defaults to 'false')"},{"key":"file_size","value":"{{file_size}}","description":"String (defaults to 'full')"},{"key":"api_key","value":"{{apiKey}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"jobId","value":"-MlGA2hURk7ndmi3O_j_","type":"string","description":"ID of Job that photo is in"},{"key":"photoId","value":"015eb1ba-e8c9-4824-a721-9047aeafdee5","type":"string","description":"ID of photo to be downloaded"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"1f6eeee1-5903-4fe1-b754-c03a7a958b2c","name":"Download A Photo Url Download","originalRequest":{"method":"GET","header":[{"key":"Content-Type","type":"text","value":"image/jpeg"}],"body":{"mode":"file","file":{"src":""}},"url":{"raw":"katapultpro.com/api/jobs/:jobId/photos/:photoId?download_file='true'&file_size={{file_size}}&api_key={{apiKey}}","host":["katapultpro","com"],"path":["api","jobs",":jobId","photos",":photoId"],"query":[{"key":"download_file","value":"'true'","description":"String (defaults to 'false')"},{"key":"file_size","value":"{{file_size}}","description":"String (defaults to 'full')"},{"key":"api_key","value":"{{apiKey}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"jobId","value":"-MlGA2hURk7ndmi3O_j_","type":"string","description":"ID of Job Phot is in"},{"key":"photoId","value":"015eb1ba-e8c9-4824-a721-9047aeafdee5","type":"string","description":"ID of photo to be downloaded"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"031d131e-2863-4390-a46f-3902023baaec"},{"name":"Get Proposed Marker Height","id":"cec6f2fe-23dc-4e32-8cf0-ef7b2d1a4f83","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"katapultpro.com/api/jobs/:jobId/photos/:photoId/markers/:markerId/getProposedMarkerHeight?api_key={{api-key}}&useMetricUnits={{useMetricUnits}}","description":"<p>A POST request to /jobs/:jobId/photos/:photoId/markers/:makerid/getProposedMarkerHeight allows you to gather the Marker details for a given photo ID.</p>\n<p>The response received from this endpoint will give you an object with the pieces of the maker data. You must use a vaild Photo ID, Marker ID, and Job ID. These items can be obtained by using other API queries within the API.</p>\n","urlObject":{"path":["api","jobs",":jobId","photos",":photoId","markers",":markerId","getProposedMarkerHeight"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"},{"description":{"content":"<p>true/false</p>\n","type":"text/plain"},"key":"useMetricUnits","value":"{{useMetricUnits}}"}],"variable":[{"description":{"content":"<p>ID of Job that the photo is in</p>\n","type":"text/plain"},"type":"any","value":"","key":"jobId"},{"description":{"content":"<p>ID of photo to request data from</p>\n","type":"text/plain"},"type":"any","value":"","key":"photoId"},{"description":{"content":"<p>Marker ID to be returned. This value needs to be obtained by using Get Job Data.</p>\n","type":"text/plain"},"type":"any","value":"","key":"markerId"}]}},"response":[{"id":"8b957122-b3f7-4489-b51d-6691427bfa18","name":"Get Proposed Marker Height","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"katapultpro.com/api/jobs/:jobId/photos/:photoId/markers/:markerId/getProposedMarkerHeight?api_key={{api-key}}&useMetricUnits=false","host":["katapultpro","com"],"path":["api","jobs",":jobId","photos",":photoId","markers",":markerId","getProposedMarkerHeight"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."},{"key":"useMetricUnits","value":"false","description":"true/false"}],"variable":[{"key":"jobId","value":"-NEHqS0tfoLCECdgOAh-","description":"ID of Job that Photo is in"},{"key":"photoId","value":"c6319ef5-43cc-4d80-bef1-4886a4e9ae13","description":"ID of photo containing the data"},{"key":"markerId","value":"-NEbJoSqt0gVD7ft8s-9","description":"Marker ID to be returned. This value needs to be obtained by using Get Job Data to be used."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"f3a613a6-5f25-42fe-9722-a6445192df33","name":"Get Proposed Marker Height Metric","originalRequest":{"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"katapultpro.com/api/jobs/:jobId/photos/:photoId/markers/:markerId/getProposedMarkerHeight?api_key={{api-key}}&useMetricUnits=true","host":["katapultpro","com"],"path":["api","jobs",":jobId","photos",":photoId","markers",":markerId","getProposedMarkerHeight"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."},{"key":"useMetricUnits","value":"true","description":"true/false"}],"variable":[{"key":"jobId","value":"-NEHqS0tfoLCECdgOAh-","description":"ID of Job that Photo is in"},{"key":"photoId","value":"c6319ef5-43cc-4d80-bef1-4886a4e9ae13","description":"ID of photo containing the data"},{"key":"markerId","value":"-NEbJoSqt0gVD7ft8s-9","description":"Marker ID to be returned. This value needs to be obtained by using Get Job Data to be used."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"cec6f2fe-23dc-4e32-8cf0-ef7b2d1a4f83"},{"name":"Job Layers","id":"7c6fb3d3-7b01-4392-9098-904a21c5da2c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"katapultpro.com/api/jobs/:jobId/layers?api_key={{api-key}}","description":"<p>A GET request to a valid JobID to return PushID/Name of existing layers. Returned data will be a JSON format list of layer to include ID and layer name.</p>\n<h2 id=\"response\">Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"-NRF0WC7JJS-AQ0QdHHV\": {\n        \"name\": \"Testing LayerA\"\n    },\n    \"-NRZWwDmDcVXWb51uy0x\": {\n        \"name\": \"Testing LayerB\"\n    }\n}\n\n</code></pre>\n","urlObject":{"path":["api","jobs",":jobId","layers"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[{"type":"any","value":"-NKTm4oQI1ClJLFQm7px","key":"jobId"}]}},"response":[{"id":"fcfb5ed4-c749-4067-90fc-7036f071f8e8","name":"Get Layers","originalRequest":{"method":"GET","header":[],"url":{"raw":"katapultpro.com/api/jobs/:jobId?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"jobId","value":"-NKTm4oQI1ClJLFQm7px"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"7c6fb3d3-7b01-4392-9098-904a21c5da2c"},{"name":"Get Saved Views","id":"7dd6f283-c909-4538-bfbf-563d619dcc92","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"katapultpro.com/api/jobs/:jobId/saved_views?api_key={{api-key}}","description":"<p>A GET request to a valid JobID that returns a list of all of the saved views associated with the given job id. The Job ID can be obtained by using previously documented methods. Each saved view will display these attributes which are retruned in the body of the message as a JSON object:</p>\n<ul>\n<li>push id: This is the id associated with the saved view. It can be used to edit or delete the saved view in other api calls</li>\n<li>name: This is the name of the saved view</li>\n<li>latitude: This determines the latitude value of the viewing window when you open this saved view</li>\n<li>longitude: This determines the longitude value of the viewing window when you open this saved view</li>\n<li>activeItem: This determines what item will be selected when the saved view is opened</li>\n<li>zoom: This determines the zoom value of the view</li>\n<li>setAsDefault: This determines whether the saved view is set as the default</li>\n<li>turnOnAllLayers: This determines if the saved view will turn on all layers when it is opened</li>\n</ul>\n<h2 id=\"response\">Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{     \n    \"-NSHFQ1ywH5yO1Yb0URO\": {\n        \"name\": \"Test\",\n        \"latitude\": \"No latitude value\",\n        \"longitude\": \"No longitude value\",\n        \"activeItem\": \"No active item set\",\n        \"zoom\": 17,\n        \"setAsDefault\": true,\n        \"turnOnAllLayers\": true\n    },\n    \"-NSMuDfBREI3ekB947EW\": {\n        \"name\": \"Position\",\n        \"latitude\": 40.09392294143697,\n        \"longitude\": -77.04022348507493,\n        \"activeItem\": \"n-NSfRlODMz7OZ4duUOSC\",\n        \"zoom\": 16,\n        \"setAsDefault\": false,\n        \"turnOnAllLayers\": false\n    }\n}\n\n</code></pre>\n","urlObject":{"path":["api","jobs",":jobId","saved_views"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your api key with the braces removed</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[{"description":{"content":"<p>The id of the job you want to view the information on</p>\n","type":"text/plain"},"type":"any","value":"-NKTm4oQI1ClJLFQm7px","key":"jobId"}]}},"response":[{"id":"f6448d93-f3f5-40b5-9a25-0923b09e3a79","name":"Get Saved Views","originalRequest":{"method":"GET","header":[],"url":{"raw":"katapultpro.com/api/jobs/:jobId/saved_views?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId","saved_views"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your api key with the braces removed"}],"variable":[{"key":"jobId","value":"-NKTm4oQI1ClJLFQm7px","description":"The id of the job you want to view the information on"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"7dd6f283-c909-4538-bfbf-563d619dcc92"},{"name":"Get Saved View Templates","id":"18713763-8d85-4b9d-966d-a3a88c416475","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"katapultpro.com/api/models/:modelKey/saved_views?api_key={{api_key}}","description":"<p>A GET request to a valid ModelKey that returns a list of saved view templates associated with the given model. Each saved view template will have these attributes:</p>\n<ul>\n<li><p>push id: This is the id associated with the saved view. It can be used when adding a saved view to create a copy of it on a given job.</p>\n</li>\n<li><p>name: This is the name of the saved view template</p>\n</li>\n</ul>\n<h2 id=\"response\">Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"-N710ESsEpCrAxSWkQ1A\": {\n        \"name\": \"SCID View\",\n    },\n    \"-NSMoVeeEijMN__beYam\": {\n        \"name\": \"Test Template\",\n    }\n}\n\n</code></pre>\n","urlObject":{"path":["api","models",":modelKey","saved_views"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your api key with the braces removed</p>\n","type":"text/plain"},"key":"api_key","value":"{{api_key}}"}],"variable":[{"description":{"content":"<p>The key of the model you want to find the saved view templates for</p>\n","type":"text/plain"},"type":"any","value":"katapult_API_examples","key":"modelKey"}]}},"response":[{"id":"f05ba9c6-5d21-40d1-87a5-f67316c32186","name":"Get Saved View Templates","originalRequest":{"method":"GET","header":[],"url":{"raw":"katapultpro.com/api/models/:modelKey/saved_views?api_key={{api_key}}","host":["katapultpro","com"],"path":["api","models",":modelKey","saved_views"],"query":[{"key":"api_key","value":"{{api_key}}","description":"Your api key with the braces removed"}],"variable":[{"key":"modelKey","value":"katapult_API_examples","description":"The key of the model you want to find the saved view templates for"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"18713763-8d85-4b9d-966d-a3a88c416475"},{"name":"Write Job Data","id":"912ffc49-c798-4181-9e48-d5e4ef8e2508","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n\t\"name\": \"Example Job\",\r\n    \"map_styles\": \"Map Style Name\",\r\n\t\"nodes\": {\r\n\t\t\"node_1\": {\r\n\t\t\t\"latitude\": 38.9072,\r\n\t\t\t\"longitude\": -77.0369\r\n\t\t}\r\n\t}\r\n}"},"url":"katapultpro.com/api/jobs/:jobId?api_key={{api-key}}","description":"<p>A PUT request to a job <strong>overwrites</strong> all data (for the list of writable keys below) within the job with the data provided. In most cases, you might want to use PATCH \"Write Partial Job Data\" to append additional data to an existing job.</p>\n<p>This request currently only allows you to write data to the following keys:</p>\n<ul><li><div>metadata</div></li><li><div>name</div></li><li><div>nodes</div></li><li><div>connections</div></li><li><div>photos</div></li><li><div>photo_summary</div></li><li><div>map_styles</div></li><li><div>files</div></li><li><div>traces</div></li></ul>\n\n<p>Note: any of these keys which not specified in the JSON payload will be deleted from the job.</p>\n<p>In the first API example, we set the job's name, map_styles, and nodes, but any existing data at connections, metadata, photos, etc. will be deleted. It is the same as setting those keys to <code>null</code>.</p>\n","urlObject":{"path":["api","jobs",":jobId"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[{"description":{"content":"<p>ID of Job.</p>\n","type":"text/plain"},"type":"string","value":"","key":"jobId"}]}},"response":[{"id":"52e01fcd-e3df-48fc-a064-6bf715622588","name":"Write Job Data Basic","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n\t\"name\": \"Example Job\",\r\n    \"map_styles\": \"Map Style Name\",\r\n\t\"nodes\": {\r\n\t\t\"node_1\": {\r\n\t\t\t\"latitude\": 38.9072,\r\n\t\t\t\"longitude\": -77.0369\r\n\t\t}\r\n\t}\r\n}"},"url":{"raw":"katapultpro.com/api/jobs/:jobId?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"jobId","value":"-NEHqS0tfoLCECdgOAh-","type":"string","description":"ID of Job."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"a904dbc3-4876-404a-81dd-587166d39388","name":"Write Job Data Node Data","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"nodes\":{\r\n        \"node_243\": {\r\n            \"latitude\": 38.9072,\r\n            \"longitude\": -77.0369\r\n        },\r\n        \"node_244\": {\r\n            \"latitude\": 38.9071,\r\n            \"longitude\": -77.0369\r\n        },\r\n        \"node_245\": {\r\n            \"latitude\": 38.9071,\r\n            \"longitude\": -77.0369\r\n        }        \r\n    }\r\n}"},"url":{"raw":"katapultpro.com/api/jobs/:jobId?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"jobId","value":"-NEHqS0tfoLCECdgOAh-","type":"string","description":"ID of Job."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"912ffc49-c798-4181-9e48-d5e4ef8e2508"},{"name":"Upload Photo to a Node","id":"927829d5-2570-492f-b3dc-8f47c0ffaa04","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","value":"image/jpeg","description":"<p>image in jpeg format</p>\n","type":"text"}],"body":{"mode":"file","file":{"src":""}},"url":"katapultpro.com/api/jobs/:jobId/nodes/:nodeId/photos?api_key={{api-key}}","description":"<p>A PUT request that uploads and associates a photo to a node. Please remember that you must have a valid Job ID and Node ID for this request.</p>\n<p>The photo's ID will be a randomly generated UUID.</p>\n<p>Note: the request payload must be a binary JPEG file. Please also note that the Content-Type header must be set to image/jpeg.</p>\n","urlObject":{"path":["api","jobs",":jobId","nodes",":nodeId","photos"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[{"description":{"content":"<p>ID of Job</p>\n","type":"text/plain"},"type":"any","value":null,"key":"jobId"},{"description":{"content":"<p>ID of the node to associate the photo to</p>\n","type":"text/plain"},"type":"any","value":null,"key":"nodeId"}]}},"response":[{"id":"b95f5024-93ca-4325-96ce-56b669a8203f","name":"PUT Upload Photo to a Node","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"image/jpeg","type":"text"}],"body":{"mode":"file","file":{"src":"NwGtuJQkI/IMG_8370.JPG"}},"url":{"raw":"katapultpro.com/api/jobs/:jobId/nodes/:nodeId/photos?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId","nodes",":nodeId","photos"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"jobId","value":"-NEHqS0tfoLCECdgOAh-","description":"ID of Job being written to."},{"key":"nodeId","value":"-NEa1RrR0bwehdxFmc75","description":"Node to be written to."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"927829d5-2570-492f-b3dc-8f47c0ffaa04"},{"name":"Upload Photo to a Section","id":"5eaf8172-5a04-4e2a-a8f5-74bf3baa21ff","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[{"key":"Content-Type","value":"image/jpeg","type":"text"}],"body":{"mode":"file","file":{}},"url":"katapultpro.com/api/jobs/:jobId/connections/:connId/sections/:sectId/photos?api_key={{api-key}}","description":"<p>A PUT request that uploads and associates a photo to a section. The user should be aware that they must enter a valid Job ID, Connection ID, and Section ID.</p>\n<p>The photo's ID will be randomly generated UUID.</p>\n<p><em>Note: the request payload must be a binary JPEG file. Please also note that the Content-Type header must be set to image/jpeg.</em></p>\n","urlObject":{"path":["api","jobs",":jobId","connections",":connId","sections",":sectId","photos"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[{"description":{"content":"<p>ID of Job</p>\n","type":"text/plain"},"type":"string","value":"","key":"jobId"},{"description":{"content":"<p>ID of connection</p>\n","type":"text/plain"},"type":"string","value":"","key":"connId"},{"description":{"content":"<p>ID of section to associate the photo to</p>\n","type":"text/plain"},"type":"string","value":"","key":"sectId"}]}},"response":[{"id":"f96a0dca-8586-4453-ac88-420d1a1b66e3","name":"PUT Upload Photo to a Section","originalRequest":{"method":"PUT","header":[{"key":"Content-Type","value":"image/jpeg","type":"text"}],"body":{"mode":"file","file":{}},"url":{"raw":"katapultpro.com/api/jobs/:jobId/connections/:connId/sections/:sectId/photos?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId","connections",":connId","sections",":sectId","photos"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"jobId","value":"-NEHqS0tfoLCECdgOAh-","type":"string","description":"ID of Job."},{"key":"connId","value":"-NEa1RrTiR4QcvmCo5et","type":"string","description":"ID of connection"},{"key":"sectId","value":"","type":"string","description":"ID of section"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"5eaf8172-5a04-4e2a-a8f5-74bf3baa21ff"},{"name":"Archive a Job","id":"3edae9db-cdfb-43ff-9140-be4d63541209","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"url":"katapultpro.com/api/jobs/:jobId/archive?api_key={{api-key}}","description":"<p>A PUT request to /archive will change the job's status from 'active' to 'archived'. The job ID is required to complete this request.</p>\n","urlObject":{"path":["api","jobs",":jobId","archive"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[{"description":{"content":"<p>ID of job.</p>\n","type":"text/plain"},"type":"string","value":"","key":"jobId"}]}},"response":[{"id":"551d2280-b98f-4603-8c79-a7a25a387afb","name":"PUT Archive a Job","originalRequest":{"method":"PUT","header":[],"url":{"raw":"katapultpro.com/api/jobs/:jobId/archive?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId","archive"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"jobId","value":"-NEHqS0tfoLCECdgOAh-","type":"string","description":"ID of job."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"3edae9db-cdfb-43ff-9140-be4d63541209"},{"name":"Un-Archive a Job","id":"8add2b88-354d-47b2-b19e-ad9bca1ca905","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"url":"katapultpro.com/api/jobs/:jobId/unarchive?api_key={{api-key}}","description":"<p>A PUT request to /unarchive will change the job's status from 'archived' to 'active'. The job ID is required to complete this request.</p>\n","urlObject":{"path":["api","jobs",":jobId","unarchive"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[{"description":{"content":"<p>ID of Job.</p>\n","type":"text/plain"},"type":"string","value":"","key":"jobId"}]}},"response":[{"id":"323e1bb1-7745-4a78-b225-5251ad7d6a35","name":"Un-Archive a Job","originalRequest":{"method":"PUT","header":[],"url":{"raw":"katapultpro.com/api/jobs/:jobId/unarchive?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId","unarchive"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"jobId","value":"-NEHqS0tfoLCECdgOAh-","type":"string","description":"ID of Job."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"8add2b88-354d-47b2-b19e-ad9bca1ca905"},{"name":"Job Sharing","id":"7981bbb7-6cbc-49a2-b5b1-6c12b3a73c30","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"{{companyKey1}}\" : \"{{read, write, or null}}\",\r\n    \"{{companyKey2}}\" : \"{{read, write, or null}}\",\r\n    \"{{companyKey3}}\" : \"{{read, write, or null}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":"katapultpro.com/api/jobs/:jobId/sharing?api_key={{api-key}}","description":"<p>A PUT request to change the sharing access or un-share a job with one or more companies in your contacts list.</p>\n<p>The access for the company you share with can be set to \"read\", \"write\", or \"null\". Setting the access to \"null\" will remove access for that company altogether. Be careful when using the \"null\". This will result in a removal of access by the defined Company.</p>\n<p>For the PUT to work you must use a company's key, not just the name of the company.<br />To find what a company's key is you can do a GET request on a job that is already shared with the company you want to share with and find the key under the \"sharing\" property in the JSON.</p>\n<p>Note: you are only able to change sharing access for a company that is in your contacts list. A company will be in your contacts list if you have manually shared at least one job with them.</p>\n","urlObject":{"path":["api","jobs",":jobId","sharing"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[{"description":{"content":"<p>ID of Job.</p>\n","type":"text/plain"},"type":"any","value":"","key":"jobId"}]}},"response":[{"id":"1982ede8-2653-4247-8abc-0b1a3f1cc53f","name":"PUT Job Sharing","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"{{companyKey1}}\" : \"{{read, write, or null}}\",\r\n    \"{{companyKey2}}\" : \"{{read, write, or null}}\",\r\n    \"{{companyKey3}}\" : \"{{read, write, or null}}\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"katapultpro.com/api/jobs/:jobId/sharing?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId","sharing"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"jobId","value":"-NEHqS0tfoLCECdgOAh-","description":"ID of Job."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"7981bbb7-6cbc-49a2-b5b1-6c12b3a73c30"},{"name":"Layers","id":"232b6abe-7fee-4bc5-9865-6180ad473cec","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"Test Layer\",\r\n    \"options\" : {\r\n        \"color\": \"#000000\"\r\n    },\r\n    \"geojson\": [\r\n        {\r\n        \"geometry\": {\r\n            \"coordinates\": [\r\n            -77.02227327121032,\r\n            40.10532754927988\r\n            ],\r\n            \"type\": \"Point\"\r\n        },\r\n        \"properties\": {\r\n            \"description\": \"Node Type: Pole\"\r\n        },\r\n        \"type\": \"Feature\"\r\n        }        \r\n    ]   \r\n}","options":{"raw":{"language":"json"}}},"url":"katapultpro.com/api/jobs/:jobId/layers?api_key={{api-key}}","description":"<p>A PUT request to upload GeoJSON layer data to a Job. This request requires a valid Job ID. After upload of the data you will be able to see your new layers appear in the job layers menu.</p>\n<p><em>Note: You are only able to add new layer data to a job that you have write access to.</em></p>\n<h2 id=\"response\">Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"OK\"\n}\n\n</code></pre>\n","urlObject":{"path":["api","jobs",":jobId","layers"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[{"description":{"content":"<p>ID of Job.</p>\n","type":"text/plain"},"type":"any","value":"-NKTm4oQI1ClJLFQm7px","key":"jobId"}]}},"response":[{"id":"a3b52c86-d906-4c6e-b2ec-bcbdd49c78d8","name":"Layers","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"Test Layer\",\r\n    \"options\" : {\r\n        \"color\": \"#000000\",\r\n        \"order\": 1\r\n    },\r\n    \"geojson\": [\r\n        {\r\n        \"geometry\": {\r\n            \"coordinates\": [\r\n            -77.02227327121032,\r\n            40.10532754927988\r\n            ],\r\n            \"type\": \"Point\"\r\n        },\r\n        \"properties\": {\r\n            \"description\": \"Node Type: Pole\"\r\n        },\r\n        \"type\": \"Feature\"\r\n        }        \r\n    ]   \r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"katapultpro.com/api/jobs/:jobId/layers?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId","layers"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"jobId","value":"-NKTm4oQI1ClJLFQm7px","description":"ID of Job."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"232b6abe-7fee-4bc5-9865-6180ad473cec"},{"name":"Add Saved View","id":"a5610e0d-dae2-4999-91e8-f9599595daa0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"name\": \"My Saved View\",\r\n  \"modelKey\": \"my_test_model\",\r\n  \"savedViewTemplateKey\" : \"-NSvvf-rMVbGtmnYDM4X\"\r\n}","options":{"raw":{"language":"json"}}},"url":"katapultpro.com/api/jobs/:jobId/saved_views/?api_key={{api_key}}","description":"<p>A PUT request to a validJob ID that is used to add a saved view to the given job using a saved view template. This essentially creates a copy of an already stored saved view template and adds it to the given job id. To perform this request, these attributes need to be sent in the request's body:</p>\n<ul>\n<li><p>name: The name of the new saved view.</p>\n</li>\n<li><p>modelKey: The model key associated with the model that the given saved view template is located in.</p>\n</li>\n<li><p>savedViewTemplateKey: The key of the saved view template that will serve as the base for this new saved view.</p>\n</li>\n</ul>\n","urlObject":{"path":["api","jobs",":jobId","saved_views",""],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your api key with the braces removed</p>\n","type":"text/plain"},"key":"api_key","value":"{{api_key}}"}],"variable":[{"description":{"content":"<p>The id of the job you want to add a saved view to</p>\n","type":"text/plain"},"type":"any","value":"-NKTm4oQI1ClJLFQm7px","key":"jobId"}]}},"response":[{"id":"9aaa637d-6300-486b-961c-49a58f0cbe0c","name":"Add Saved View","originalRequest":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n  \"name\": \"My Saved View\",\r\n  \"modelKey\": \"my_test_model\",\r\n  \"savedViewTemplateKey\" : \"-NSvvf-rMVbGtmnYDM4X\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"katapultpro.com/api/jobs/:jobId/saved_views/?api_key={{api_key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId","saved_views",""],"query":[{"key":"api_key","value":"{{api_key}}","description":"Your api key with the braces removed"}],"variable":[{"key":"jobId","value":"-NKTm4oQI1ClJLFQm7px","description":"The id of the job you want to add a saved view to"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"a5610e0d-dae2-4999-91e8-f9599595daa0"},{"name":"Delete Node","id":"d230117e-3f88-466c-b759-dbb3f021e79a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"katapultpro.com/api/jobs/:jobId/nodes/:nodeId?api_key={{api-key}}","description":"<p>A DELETE request to /nodes/:nodeId allows you to delete an existing node. All connections connected to that node will also be deleted. This is Node ID related and it will not delete other Nodes within the job.</p>\n","urlObject":{"path":["api","jobs",":jobId","nodes",":nodeId"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[{"description":{"content":"<p>ID of Job.</p>\n","type":"text/plain"},"type":"any","value":null,"key":"jobId"},{"description":{"content":"<p>ID of Node to delete.</p>\n","type":"text/plain"},"type":"any","value":null,"key":"nodeId"}]}},"response":[{"id":"9248cb48-e952-4002-b173-cc0228fc9164","name":"DEL Delete Node","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"katapultpro.com/api/jobs/:jobId/nodes/:nodeId?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId","nodes",":nodeId"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"jobId","value":"-NEHqS0tfoLCECdgOAh-","description":"ID of Job."},{"key":"nodeId","value":"-NEf_tDfLxR933C5LRD6","description":"ID of Node to delete."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"d230117e-3f88-466c-b759-dbb3f021e79a"},{"name":"Delete Connection","id":"b78ae8ae-c366-4cbf-9677-c5a6f3215c86","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"katapultpro.com/api/jobs/:jobId/connections/:connectionId?api_key={{api-key}}","description":"<p>A DELETE request to /connections/:connectionId allows you to delete an existing connection. Nodes connected to the endpoints of the connection will remain. The Connection ID can be obtained by using Job related API functions.</p>\n","urlObject":{"path":["api","jobs",":jobId","connections",":connectionId"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[{"description":{"content":"<p>ID of Job.</p>\n","type":"text/plain"},"type":"any","value":null,"key":"jobId"},{"description":{"content":"<p>ID of connection to delete.</p>\n","type":"text/plain"},"type":"any","value":null,"key":"connectionId"}]}},"response":[{"id":"5f22ea68-660a-4e36-a8d8-80a0bd3f3949","name":"DEL Delete Connection","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"katapultpro.com/api/jobs/:jobId/connections/:connectionId?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId","connections",":connectionId"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"jobId","value":"-NEHqS0tfoLCECdgOAh-","description":"ID of Job."},{"key":"connectionId","value":"-NEa1RrTiR4QcvmCo5et","description":"ID of connection to delete."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"b78ae8ae-c366-4cbf-9677-c5a6f3215c86"},{"name":"Delete Job Layers","id":"a36b1327-7583-436d-a706-3db568ced187","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"katapultpro.com/api/jobs/:jobId/layers/:layerId?api_key={{api-key}}","description":"<p>A DELETE request that allows you to delete an existing layer by ID. The Job ID and Layer ID is required to complete this request. Bare in mind that this is a DELETE operation and there is no user interface warning that you are deleting this layer. Once it is deleted it has been removed from the database.</p>\n<h2 id=\"response\">Response</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"OK\"\n}\n\n</code></pre>\n","urlObject":{"path":["api","jobs",":jobId","layers",":layerId"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[{"description":{"content":"<p>ID of Job.</p>\n","type":"text/plain"},"type":"any","value":null,"key":"jobId"},{"description":{"content":"<p>ID of layer.</p>\n","type":"text/plain"},"type":"any","value":null,"key":"layerId"}]}},"response":[{"id":"5d4ee1ca-cec9-44fd-858d-3984732c84ec","name":"DEL Layers","originalRequest":{"method":"DELETE","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"katapultpro.com/api/jobs/:jobId/layers/:layerId?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId","layers",":layerId"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"jobId","value":"-NEHqS0tfoLCECdgOAh-","description":"ID of Job."},{"key":"layerId","value":null,"description":"ID of Layer"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"a36b1327-7583-436d-a706-3db568ced187"},{"name":"Delete Saved View","id":"2c01ae42-0bab-4ef7-99d3-ea3a5908f463","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"katapultpro.com/api/jobs/:jobId/saved_views/:savedViewId?api_key={{api_key}}","description":"<p>A DELETE request to a JobId that allows a user to delete a saved view within the given job. The Job ID and the Saved View ID are required for this request. Bare in mind that this is a DELETE operation and there is no user interface warning that you are deleting this layer. The saved view associated with the id passed through the URL will be deleted as a result of this operation.</p>\n","urlObject":{"path":["api","jobs",":jobId","saved_views",":savedViewId"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your api key with the braces removed</p>\n","type":"text/plain"},"key":"api_key","value":"{{api_key}}"}],"variable":[{"description":{"content":"<p>The id of the job the given saved view is located in</p>\n","type":"text/plain"},"type":"any","value":"-NKTm4oQI1ClJLFQm7px","key":"jobId"},{"description":{"content":"<p>The id of the saved view you want to delete</p>\n","type":"text/plain"},"type":"any","value":"-NKKm8oQIGClJKFQo7px","key":"savedViewId"}]}},"response":[{"id":"11185e13-6528-464f-a0f3-3d0909c1f721","name":"Delete Saved View","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"katapultpro.com/api/jobs/:jobId/saved_views/:savedViewId?api_key={{api_key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId","saved_views",":savedViewId"],"query":[{"key":"api_key","value":"{{api_key}}","description":"Your api key with the braces removed"}],"variable":[{"key":"jobId","value":"-NKTm4oQI1ClJLFQm7px","description":"The id of the job the given saved view is located in"},{"key":"savedViewId","value":"-NKKm8oQIGClJKFQo7px","description":"The id of the saved view you want to delete"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"2c01ae42-0bab-4ef7-99d3-ea3a5908f463"},{"name":"Create Job","id":"0cda84cb-e4c1-40ee-becc-f6ab6487c523","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"New Job Name\",\r\n    \"mapStyles\": \"A name of a map styles set to use, or an object of map styles data from an exsiting job (optional)\",\r\n    \"jobProjectFolderPath\": \"Path to job folder this job should be placed in (optional)\",\r\n    \"model\": \"The job model key\"\r\n}","options":{"raw":{"language":"json"}}},"url":"katapultpro.com/api/jobs?api_key={{api-key}}","description":"<p>A POST request to /jobs allows you to create a new job.</p>\n<p>Once you have created this new job, you can use a PUT request to write data to this newly created job.</p>\n<p>The response received from this endpoint will give you the ID of the job you just created.</p>\n<p>Note: Use the \"Get Model List\" call to fetch a list of model keys you can use when creating the job. These keys will typically start with your company name, be lowercase, and contain underscores instead of spaces.</p>\n<p>Example Body:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"name\": \"API Test\",\n    \"mapStyles\": \"API Styles\",\n    \"jobProjectFolderPath\": \" \",\n    \"model\": \"Basically Empty Model\"\n}\n\n</code></pre>\n<p>Body:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Key</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>\"name\"</td>\n<td>In the example above the name in the project chooser name will be \"API Test\"</td>\n</tr>\n<tr>\n<td>\"mapStyles\"</td>\n<td>Name of a map styles set to use, or an object of map styles data from an exsiting job (optional)\", \"default\" can be entered</td>\n</tr>\n<tr>\n<td>\"jobProjectFolderPath\"</td>\n<td>Path to job folder this job should be placed in (optional)</td>\n</tr>\n<tr>\n<td>\"model\"</td>\n<td>The job model key. If you are unsure of the actual key name for the model please issue a GET Models List and use the label value from model name you intend to use.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","jobs"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[]}},"response":[{"id":"04992e44-9869-4ecc-8773-463bd0221e02","name":"POST Create Job","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"API_Example\",\r\n    \"mapStyles\": \"API Styles\",\r\n    \"jobProjectFolderPath\": \"Katapult/APIExample\",\r\n    \"model\": \"katapult_API_example\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"katapultpro.com/api/jobs?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"0cda84cb-e4c1-40ee-becc-f6ab6487c523"},{"name":"Create Node","id":"e8652804-36fb-4a45-bab2-28b589df53a2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"latitude\": \"latitude of the node\",\r\n    \"longitude\": \"longitude of the node\",\r\n    \"attributes\": [\r\n        {\"attribute\": \"node_type\", \"value\": \"pole\"}\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":"katapultpro.com/api/jobs/:jobId/nodes?api_key={{api-key}}","description":"<p>A POST request to /nodes which allows you to create a new node within a job. The job must be existing and it's Job ID needs to be passed along as a path variable.</p>\n<p>The payload body needs a latitude/longitude at a minimum, but can take an array of objects, denoting attributes to include on the newly created node.</p>\n","urlObject":{"path":["api","jobs",":jobId","nodes"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[{"description":{"content":"<p>ID of Job.</p>\n","type":"text/plain"},"type":"any","value":null,"key":"jobId"}]}},"response":[{"id":"b3920691-1ef7-49aa-b6a2-a07829828f24","name":"POST Create Node","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"latitude\": 40.105430995982336,\r\n    \"longitude\": -77.02219049254117,\r\n    \"attributes\": [\r\n        {\"attribute\": \"node_type\", \"value\": \"pole\"}\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"katapultpro.com/api/jobs/:jobId/nodes?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId","nodes"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"jobId","value":"-NEHqS0tfoLCECdgOAh-","description":"ID of Job."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"e8652804-36fb-4a45-bab2-28b589df53a2"},{"name":"Create Connection","id":"3eb99e81-ab99-4c67-8df5-6edfa9ed304e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"node_id_1\": \"Node ID of the first endpoint\",\r\n    \"node_id_2\": \"Node ID of the second endpoint\",\r\n    \"attributes\": [\r\n        {\"attribute\": \"connection_type\", \"value\": \"aerial cable\"}\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":"katapultpro.com/api/jobs/:jobId/connections?api_key={{api-key}}","description":"<p>A POST request to /connections allows you to create a new connection within a job. The job must be existing and it's Job ID needs to be passed along as a path variable.</p>\n<p>The payload body needs two node IDs at a minimum, but can take an array of objects, denoting attributes to include on the newly created connection.</p>\n","urlObject":{"path":["api","jobs",":jobId","connections"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[{"description":{"content":"<p>ID of Job.</p>\n","type":"text/plain"},"type":"any","value":null,"key":"jobId"}]}},"response":[{"id":"49e0d840-6eb1-46b8-a0dc-8c836998c493","name":"POST Create Connection","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"node_id_1\": \"-NEa1Q0IXKB2N5x_UZvL\",\r\n    \"node_id_2\": \"-NEa1RrR0bwehdxFmc75\",\r\n    \"attributes\": [\r\n        {\"attribute\": \"connection_type\", \"value\": \"aerial cable\"}\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"katapultpro.com/api/jobs/:jobId/connections?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId","connections"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"jobId","value":"-NEHqS0tfoLCECdgOAh-","description":"ID of Job."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"3eb99e81-ab99-4c67-8df5-6edfa9ed304e"},{"name":"Create Section","id":"1af353fa-6ed7-4787-920d-3ae33ac4135d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"connection_id\": \"Connection Id to place the section on\",\r\n    \"latitude\": \"latitude of the section\",\r\n    \"longitude\": \"longitude of the section\",\r\n    \"attributes\": [\r\n        {\"attribute\": \"attribute_key\", \"value\": \"value\"}\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":"katapultpro.com/api/jobs/:jobId/sections?api_key={{api-key}}","description":"<p>A POST request to /sections allows you to create a new section within a job. StartFragmentAdded Job ID to definition.</p>\n<p>The payload body needs a connection_id and a latitude/longitude at minimum, but can take an array of objects, denoting attributes to include on the newly created section.</p>\n","urlObject":{"path":["api","jobs",":jobId","sections"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[{"description":{"content":"<p>ID of Job.</p>\n","type":"text/plain"},"type":"any","value":null,"key":"jobId"}]}},"response":[{"id":"5de02034-a0c3-4963-89ed-7ba7dcc1ff8d","name":"POST Create Section","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"connection_id\": \"-NEa1RrTiR4QcvmCo5et\",\r\n    \"latitude\": 40.105430995982346,\r\n    \"longitude\": -77.02219049254337\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"katapultpro.com/api/jobs/:jobId/sections?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId","sections"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"jobId","value":"-NEHqS0tfoLCECdgOAh-","description":"ID of Job."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"1af353fa-6ed7-4787-920d-3ae33ac4135d"},{"name":"Get Make Ready Details","id":"7711263b-6a04-406c-aa27-69e31d4ecd9f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"makeReadyOptions\": {\r\n        \"includeCondensedMrMoveInfoInMarkerName\": \"(Boolean) set to show condensed mr information for the marker label (defaults to false)\",\r\n        \"showSpanExistingHeight\": \"(Boolean) set to show the current height of the marker in a span when describing the make ready move (defaults to false)\",\r\n        \"showSpanProposedHeight\": \"(Boolean) set to show the final proposed height after the make ready move amount when doing a move in the span (default to false)\",\r\n        \"showSpanMoveAmount\": \"(Boolean) set to show the amount to move the marker when doing a move in the span (default to true)\",\r\n        \"showSpanMovementDescriptor\": \"(Boolean) set to display the movement language for a span (default to true)\",\r\n        \"showSpanBearings\": \"(Boolean) set to show the bearing of spans in the make ready move (defaults to true)\",\r\n        \"showSpanToOrderAttribute\": \"(Boolean) set to show the default order attribute of the node that the span is going to in the make ready move (defaults to false)\",\r\n        \"showSpanToPoleTag\": \"(Boolean) set to show the checked pole tag of the node that the span is going to in the make ready move (defaults to false)\",\r\n        \"includeNewAnchorLeadLength\": \"(Boolean) set to show the lead length of new anchors in feet (defaults to false)\",\r\n        \"generateProposedDirectivesForTypes\": \"(array of types e.g. wire, guying, equipment) set if you want directives generated for proposed attachments\",\r\n        \"useBottomMeasurementsForEquipmentTypes\": \"(array of equipment types e.g. street_light, transformer) changes the logic to use make ready for bottom measurements of given equipment types instead of top measurement\",\r\n        \"includeAllProposed\": \"(Boolean) set if you want directives generated for all proposed attachments (defaults to false)\",\r\n        \"includeClosestAttachment\": \"(Boolean) set to show the closest attachment in relation to the proposed attachment\",\r\n        \"markerLabel\": {\r\n            \"includeMarkerType\": \"(Boolean or Array) set to true or false to indicate if the marker type should be in the label. Or set to an array of the types that you want to include in the label (defaults to true)\",\r\n            \"includeMarkerTypeForPower\": \"(Boolean) set to indicate if the marker type should be shown for power markers (defaults to false)\",\r\n            \"includeSpecs\": \"(array of specs to include) set if you want the specs in the list to be included with the marker name if available\",\r\n            \"defaultDescriptionForUnknownType\": \"(string) set to specify the default text to show when the type cannot be determined (defaults to 'Unknown Type')\",\r\n            \"defaultDescriptionForUnknownCompany\": \"(string) set to specify the default text to show when the company cannot be determined (defaults to 'Unknown Company')\",\r\n            \"includeCompanyForCommCables\": \"(Boolean) set to indicate if the company should be shown for comm markers (defaults to true)\",\r\n            \"includeCompanyForPowerCables\": \"(Boolean) set to indicate if the company should be shown for power markers (defaults to false)\",\r\n            \"includeCompanyForOtherTypes\": \"(Boolean) set to indicate if the company should be shown for other marker types (defaults to true)\",\r\n            \"useShortnameForCableTypes\": \"(Boolean) set to indicate if the cable type shortname should be used for cable markers (defaults to false)\",\r\n            \"useCompanyShortnameForCommCables\": \"(Boolean) set to indicate if the company shortname should be used for comm markers (defaults to false)\",\r\n            \"useCompanyShortnameForPowerCables\": \"(Boolean) set to indicate if the company shortname should be used for power markers (defaults to false)\",\r\n            \"useCompanyShortnameForOtherTypes\": \"(Boolean) set to indicate if the company shortname should be used for other marker types (defaults to false)\"\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"katapultpro.com/api/jobs/:jobId/photos/:photoId/makeReadyDetails?api_key={{api-key}}&useMetricUnits={{useMetricUnits}}","description":"<p>A POST request to <code>/jobs/:jobId/photos/:photoId/makeReadyDetails</code> allows you to gather the make ready details for a given photo ID. This request requires a valid Job ID and Photo ID.</p>\n<p>This call will return an array of marker objects containing the make ready information on each marker. Each marker will have the following pieces:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"title\": \"Make Ready Details\",\n  \"description\": \"Make Ready Details specific to an individual marker\",\n  \"type\": \"object\",\n  \"properties\": {\n    \"name\": {\n      \"description\": \"Label of the marker\",\n      \"type\": \"string\"\n    },\n    \"makeReadyMove\": {\n      \"description\": \"Make Ready move of the marker\",\n      \"type\": \"string\"\n    },\n    \"makeReadyNote\": {\n      \"description\": \"Additional Make ready notes of the marker\",\n      \"type\": \"string\"\n    },\n    \"marker\": {\n      \"description\": \"The marker object that we are reporting make ready details on\",\n      \"type\": \"object\",\n      \"properties\": {\n        \"_trace\": {\n          \"description\": \"Id of the trace this marker is a part of\",\n          \"type\": \"string\"\n        },\n        \"_marker_context\": {\n          \"description\": \"Details outlining the context of where this marker exists on the photo\",\n          \"type\": \"object\",\n          \"properties\": {\n            \"type\": {\n              \"description\": \"Type of marker\",\n              \"type\": \"string\"\n            },\n            \"key\": {\n              \"description\": \"Id of the marker\",\n              \"type\": \"string\"\n            },\n            \"top_parent\": {\n              \"description\": \"The topmost marker that this particular marker is nested within\",\n              \"type\": \"object\",\n              \"properties\": {\n                \"_children\": {\n                  \"description\": \"Children of this top marker\",\n                  \"type\": \"object\"\n                },\n                \"_measured_height\": {\n                  \"description\": \"Measured height of the top marker\",\n                  \"type\": \"string\"\n                },\n                \"mr_move\": {\n                  \"description\": \"Id of the marker\",\n                  \"type\": \"number\"\n                },\n                \"parents\": {\n                  \"description\": \"Object of parent markers to this top marker\",\n                  \"type\": \"string\"\n                }\n              }\n            },\n            \"markerPath\": {\n              \"description\": \"Path string of all the markers this particular marker is nested within\",\n              \"type\": \"string\"\n            }\n          }\n        }\n      },\n      \"_measured_height\": {\n        \"description\": \"Measured height of the marker\",\n        \"type\": \"string\"\n      },\n      \"parents\": {\n        \"description\": \"List of the parent marker this particular marker is nested within\",\n        \"type\": \"object\"\n      }\n    },\n    \"company\": {\n      \"description\": \"The Company that this marker is marked as\",\n      \"type\": \"string\"\n    }\n  }\n}\n\n</code></pre>\n","urlObject":{"path":["api","jobs",":jobId","photos",":photoId","makeReadyDetails"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"},{"description":{"content":"<p>true/false</p>\n","type":"text/plain"},"key":"useMetricUnits","value":"{{useMetricUnits}}"}],"variable":[{"description":{"content":"<p>ID of Job.</p>\n","type":"text/plain"},"type":"any","value":"","key":"jobId"},{"description":{"content":"<p>ID of Photo.</p>\n","type":"text/plain"},"type":"any","value":"","key":"photoId"}]}},"response":[{"id":"35d98cb5-675b-4759-8419-f10695983945","name":"POST Get Make Ready Details","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"makeReadyOptions\": {\r\n        \"includeCondensedMrMoveInfoInMarkerName\": \"(Boolean) set to show condensed mr information for the marker label (defaults to false)\",\r\n        \"showSpanExistingHeight\": \"(Boolean) set to show the current height of the marker in a span when describing the make ready move (defaults to false)\",\r\n        \"showSpanProposedHeight\": \"(Boolean) set to show the final proposed height after the make ready move amount when doing a move in the span (default to false)\",\r\n        \"showSpanMoveAmount\": \"(Boolean) set to show the amount to move the marker when doing a move in the span (default to true)\",\r\n        \"showSpanMovementDescriptor\": \"(Boolean) set to display the movement language for a span (default to true)\",\r\n        \"showSpanBearings\": \"(Boolean) set to show the bearing of spans in the make ready move (defaults to true)\",\r\n        \"showSpanToOrderAttribute\": \"(Boolean) set to show the default order attribute of the node that the span is going to in the make ready move (defaults to false)\",\r\n        \"showSpanToPoleTag\": \"(Boolean) set to show the checked pole tag of the node that the span is going to in the make ready move (defaults to false)\",\r\n        \"includeNewAnchorLeadLength\": \"(Boolean) set to show the lead length of new anchors in feet (defaults to false)\",\r\n        \"generateProposedDirectivesForTypes\": \"(array of types e.g. wire, guying, equipment) set if you want directives generated for proposed attachments\",\r\n        \"useBottomMeasurementsForEquipmentTypes\": \"(array of equipment types e.g. street_light, transformer) changes the logic to use make ready for bottom measurements of given equipment types instead of top measurement\",\r\n        \"includeAllProposed\": \"(Boolean) set if you want directives generated for all proposed attachments (defaults to false)\",\r\n        \"includeClosestAttachment\": \"(Boolean) set to show the closest attachment in relation to the proposed attachment\",\r\n        \"markerLabel\": {\r\n            \"includeMarkerType\": \"(Boolean or Array) set to true or false to indicate if the marker type should be in the label. Or set to an array of the types that you want to include in the label (defaults to true)\",\r\n            \"includeMarkerTypeForPower\": \"(Boolean) set to indicate if the marker tyoe should be shown for power markers (defaults to false)\",\r\n            \"includeSpecs\": \"(array of specs to include) set if you want the specs in the list to be included with the marker name if available\",\r\n            \"defaultDescriptionForUnknownType\": \"(string) set to specify the default text to show when the type cannot be determined (defaults to 'Unknown Type')\",\r\n            \"defaultDescriptionForUnknownCompany\": \"(string) set to specify the default text to show when the company cannot be determined (defaults to 'Unknown Company')\",\r\n            \"includeCompanyForCommCables\": \"(Boolean) set to indicate if the company should be shown for comm markers (defaults to true)\",\r\n            \"includeCompanyForPowerCables\": \"(Boolean) set to indicate if the company should be shown for power markers (defaults to false)\",\r\n            \"includeCompanyForOtherTypes\": \"(Boolean) set to indicate if the company should be shown for other marker types (defaults to true)\",\r\n            \"useShortnameForCableTypes\": \"(Boolean) set to indicate if the cable type shortname should be used for cable markers (defaults to false)\",\r\n            \"useCompanyShortnameForCommCables\": \"(Boolean) set to indicate if the company shortname should be used for comm markers (defaults to false)\",\r\n            \"useCompanyShortnameForPowerCables\": \"(Boolean) set to indicate if the company shortname should be used for power markers (defaults to false)\",\r\n            \"useCompanyShortnameForOtherTypes\": \"(Boolean) set to indicate if the company shortname should be used for other marker types (defaults to false)\"\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"katapultpro.com/api/jobs/:jobId/photos/:photoId/makeReadyDetails?api_key={{api-key}}&useMetricUnits=false","host":["katapultpro","com"],"path":["api","jobs",":jobId","photos",":photoId","makeReadyDetails"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."},{"key":"useMetricUnits","value":"false","description":"true/false"}],"variable":[{"key":"jobId","value":"-NEHqS0tfoLCECdgOAh-","description":"ID of Job."},{"key":"photoId","value":"c6319ef5-43cc-4d80-bef1-4886a4e9ae13","description":"ID of Photo."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null},{"id":"b5044603-832a-4cd2-b805-29e13d055a70","name":"POST Get Make Ready Details Metric","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"makeReadyOptions\": {\r\n        \"includeCondensedMrMoveInfoInMarkerName\": \"(Boolean) set to show condensed mr information for the marker label (defaults to false)\",\r\n        \"showSpanExistingHeight\": \"(Boolean) set to show the current height of the marker in a span when describing the make ready move (defaults to false)\",\r\n        \"showSpanProposedHeight\": \"(Boolean) set to show the final proposed height after the make ready move amount when doing a move in the span (default to false)\",\r\n        \"showSpanMoveAmount\": \"(Boolean) set to show the amount to move the marker when doing a move in the span (default to true)\",\r\n        \"showSpanMovementDescriptor\": \"(Boolean) set to display the movement language for a span (default to true)\",\r\n        \"showSpanBearings\": \"(Boolean) set to show the bearing of spans in the make ready move (defaults to true)\",\r\n        \"showSpanToOrderAttribute\": \"(Boolean) set to show the default order attribute of the node that the span is going to in the make ready move (defaults to false)\",\r\n        \"showSpanToPoleTag\": \"(Boolean) set to show the checked pole tag of the node that the span is going to in the make ready move (defaults to false)\",\r\n        \"includeNewAnchorLeadLength\": \"(Boolean) set to show the lead length of new anchors in feet (defaults to false)\",\r\n        \"generateProposedDirectivesForTypes\": \"(array of types e.g. wire, guying, equipment) set if you want directives generated for proposed attachments\",\r\n        \"useBottomMeasurementsForEquipmentTypes\": \"(array of equipment types e.g. street_light, transformer) changes the logic to use make ready for bottom measurements of given equipment types instead of top measurement\",\r\n        \"includeAllProposed\": \"(Boolean) set if you want directives generated for all proposed attachments (defaults to false)\",\r\n        \"includeClosestAttachment\": \"(Boolean) set to show the closest attachment in relation to the proposed attachment\",\r\n        \"markerLabel\": {\r\n            \"includeMarkerType\": \"(Boolean or Array) set to true or false to indicate if the marker type should be in the label. Or set to an array of the types that you want to include in the label (defaults to true)\",\r\n            \"includeMarkerTypeForPower\": \"(Boolean) set to indicate if the marker tyoe should be shown for power markers (defaults to false)\",\r\n            \"includeSpecs\": \"(array of specs to include) set if you want the specs in the list to be included with the marker name if available\",\r\n            \"defaultDescriptionForUnknownType\": \"(string) set to specify the default text to show when the type cannot be determined (defaults to 'Unknown Type')\",\r\n            \"defaultDescriptionForUnknownCompany\": \"(string) set to specify the default text to show when the company cannot be determined (defaults to 'Unknown Company')\",\r\n            \"includeCompanyForCommCables\": \"(Boolean) set to indicate if the company should be shown for comm markers (defaults to true)\",\r\n            \"includeCompanyForPowerCables\": \"(Boolean) set to indicate if the company should be shown for power markers (defaults to false)\",\r\n            \"includeCompanyForOtherTypes\": \"(Boolean) set to indicate if the company should be shown for other marker types (defaults to true)\",\r\n            \"useShortnameForCableTypes\": \"(Boolean) set to indicate if the cable type shortname should be used for cable markers (defaults to false)\",\r\n            \"useCompanyShortnameForCommCables\": \"(Boolean) set to indicate if the company shortname should be used for comm markers (defaults to false)\",\r\n            \"useCompanyShortnameForPowerCables\": \"(Boolean) set to indicate if the company shortname should be used for power markers (defaults to false)\",\r\n            \"useCompanyShortnameForOtherTypes\": \"(Boolean) set to indicate if the company shortname should be used for other marker types (defaults to false)\"\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"katapultpro.com/api/jobs/:jobId/photos/:photoId/makeReadyDetails?api_key={{api-key}}&useMetricUnits=true","host":["katapultpro","com"],"path":["api","jobs",":jobId","photos",":photoId","makeReadyDetails"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."},{"key":"useMetricUnits","value":"true","description":"true/false"}],"variable":[{"key":"jobId","value":"-NEHqS0tfoLCECdgOAh-","description":"ID of Job."},{"key":"photoId","value":"c6319ef5-43cc-4d80-bef1-4886a4e9ae13","description":"ID of Photo."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"7711263b-6a04-406c-aa27-69e31d4ecd9f"},{"name":"Update Connection","id":"c2347470-11f4-4ac5-b0e3-59f675996b6f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"attributes\": [\r\n        {\"attribute\": \"connection_type\", \"value\": \"aerial cable\"}\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":"katapultpro.com/api/jobs/:jobId/connections/:connectionId?api_key={{api-key}}","description":"<p>A PATCH request to /connections/:connectionId allows you to update an existing connection on a job. You can include an array of objects in the payload body to update its attributes. Request is dependent upon vaild Job ID and Connection ID.</p>\n","urlObject":{"path":["api","jobs",":jobId","connections",":connectionId"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[{"description":{"content":"<p>ID of Job.</p>\n","type":"text/plain"},"type":"any","value":null,"key":"jobId"},{"description":{"content":"<p>ID of connection</p>\n","type":"text/plain"},"type":"any","value":null,"key":"connectionId"}]}},"response":[{"id":"cb99f774-7d37-4a90-bd56-7a7feba2a858","name":"PATCH Update Connection","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"attributes\": [\r\n        {\"attribute\": \"node_type\", \"value\": \"pole\"}\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"katapultpro.com/api/jobs/:jobId/connections/:connectionId?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId","connections",":connectionId"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"jobId","value":"-NEHqS0tfoLCECdgOAh-","description":"ID of Job."},{"key":"connectionId","value":"-NEa1RrTiR4QcvmCo5et","description":"ID of connection"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"c2347470-11f4-4ac5-b0e3-59f675996b6f"},{"name":"Update Node","id":"cd738147-5f43-4403-a175-e3c7a41af0d4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"latitude\": \"latitude of the node\",\r\n    \"longitude\": \"longitude of the node\",\r\n    \"attributes\": [\r\n        {\"attribute\": \"node_type\", \"value\": \"pole\"}\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":"katapultpro.com/api/jobs/:jobId/nodes/:nodeId?api_key={{api-key}}","description":"<p>A PATCH request to /nodes/:nodeId allows you to update an existing node within a job. The request requires a vaild Job ID and Node ID.</p>\n<p>The payload body can have a latitude/longitude and an array of objects, denoting which attributes to update.</p>\n","urlObject":{"path":["api","jobs",":jobId","nodes",":nodeId"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[{"description":{"content":"<p>ID  of Job.</p>\n","type":"text/plain"},"type":"any","value":null,"key":"jobId"},{"description":{"content":"<p>ID of node</p>\n","type":"text/plain"},"type":"any","value":null,"key":"nodeId"}]}},"response":[{"id":"6387e8ae-ddb7-4a79-99a6-02675f542ed4","name":"PATCH Update Node","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"latitude\": \"latitude of the node\",\r\n    \"longitude\": \"longitude of the node\",\r\n    \"attributes\": [\r\n        {\"attribute\": \"node_type\", \"value\": \"pole\"}\r\n    ]\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"katapultpro.com/api/jobs/:jobId/nodes/:nodeId?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId","nodes",":nodeId"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"jobId","value":"-NEHqS0tfoLCECdgOAh-","description":"ID  of Job."},{"key":"nodeId","value":"-NEa1Q0IXKB2N5x_UZvL","description":"ID of Node"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"cd738147-5f43-4403-a175-e3c7a41af0d4"},{"name":"Write Partial Job Data","id":"51ba384f-e680-4a79-a827-a74dab753b0e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n\t\"nodes/node_1/latitude\": 38.9072,\n\t\"nodes/node_1/longitude\": -77.0369,\n    \"name\": \"Job Name\",\n    \"map_styles\": \"Map Style Name\"\n}"},"url":"katapultpro.com/api/jobs/:jobId?api_key={{api-key}}","description":"<p>A PATCH request to a job that allows data to be set at specific places within the job. A valid Job ID is required. This is a PATCH command so writing to a location allows you to modify it. It will only overwrite the location written to.</p>\n<p>This request currently only allows you to update data under the following key locations:</p>\n<ul><li><div>metadata</div></li><li><div>name</div></li><li><div>nodes</div></li><li><div>connections</div></li><li><div>photos</div></li><li><div>photo_summary</div></li><li><div>map_styles</div></li><li><div>files</div></li><li><div>traces</div></li></ul>\n\n<p>In the first API example, we set the latitude and longitude properties of a node with an ID of node_1.</p>\n<p>Note: the keys of the JSON payload are paths relative to the job and their data is the data that will be written to that location.</p>\n","urlObject":{"path":["api","jobs",":jobId"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your API key with the braces removed.</p>\n","type":"text/plain"},"key":"api_key","value":"{{api-key}}"}],"variable":[{"description":{"content":"<p>ID of Job.</p>\n","type":"text/plain"},"type":"string","value":"","key":"jobId"}]}},"response":[{"id":"7f8ebe76-619f-4c27-8ba9-5120811ddfcc","name":"PATCH Write Partial Job Data","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n\t\"nodes/node_1/latitude\": 38.9072,\n\t\"nodes/node_1/longitude\": -77.0369,\n    \"name\": \"Job Name\",\n    \"map_styles\": \"Map Style Name\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"katapultpro.com/api/jobs/:jobId?api_key={{api-key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId"],"query":[{"key":"api_key","value":"{{api-key}}","description":"Your Api_key with the braces removed."}],"variable":[{"key":"jobId","value":"-NEHqS0tfoLCECdgOAh-","type":"string","description":"ID of Job."}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"51ba384f-e680-4a79-a827-a74dab753b0e"},{"name":"Update Saved View","id":"e2bd11ba-cce7-4282-8952-abab8912b918","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"My New Name\",\r\n    \"activeItem\": {\"connectionId\": \"-N7K9L7R5JPh7k\", \"sectionId\": \"-N7K9L7R5JPh7k\"},\r\n    \"latitude\": 40.09392294143697,\r\n    \"longitude\": -77.04022348507493,\r\n    \"zoom\": 15,\r\n    \"setAsDefault\": true,\r\n    \"turnOnAllLayers\": true\r\n}","options":{"raw":{"language":"json"}}},"url":"katapultpro.com/api/jobs/:jobId/saved_views/:savedViewId?api_key={{api_key}}","description":"<p>A PATCH request to a job that allows you change the settings of a saved view given its id. You can determine which settings to change by passing them into the body of the request. If you set any of these setting to null (except for name), it will delete them. The settings that you can change are as follows:</p>\n<ul>\n<li>name: This will change the name of given saved view.<ul>\n<li>Note: A saved view has to have a name so null is an invalid value.</li>\n</ul>\n</li>\n<li>latitude: This will change the latitude value of the saved view when it's opened.<ul>\n<li>Note: If this value is included in the patch, a valid longitude value must also be included. Because the latitude and longitude need to exist as a pair, if this value is null, it will set both the latitude and longitude to null.</li>\n</ul>\n</li>\n<li>longitude: This will change the longitude value of the saved view when it's opened.<ul>\n<li>Note: If this value is included in the patch, a valid latitude value must also be included. Because the latitude and longitude need to exist as a pair, if this value is null, it will set both the latitude and longitude to null</li>\n</ul>\n</li>\n<li>zoom: This will change the zoom level of the window when the saved view is opened</li>\n<li>turnOnAllLayers: This will turn on every layer associated with the current job when the view is opened</li>\n<li>setAsDefault: This will set the current view being updated as the default view for the job</li>\n<li>activeItem: This controls the item that will be selected when the saved view is opened. This should be an object with a key(s) that indicate(s) the type of the item that should be selected. Here are the types of items that can be selected and what data they need:<ul>\n<li>Node:<ul>\n<li>Key: nodeId</li>\n<li>Value: \"insert a valid node id (should have a '-' in front)\"</li>\n</ul>\n</li>\n<li>Connection:<ul>\n<li>Key: connectionId</li>\n<li>Value: \"insert a valid connection id (should have a '-' in front)\"</li>\n</ul>\n</li>\n<li>Section Id:<ul>\n<li>Key/Value pair for connection<ul>\n<li>see \"connection\" above</li>\n</ul>\n</li>\n<li>Key/Value pair for section<ul>\n<li>Key: sectionId</li>\n<li>Value: \"insert a valid section id (most of the time, this will probably be midpoint_section)\"</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n<p>Note: When this kind of request is made, it will only update the items that are passed in.</p>\n","urlObject":{"path":["api","jobs",":jobId","saved_views",":savedViewId"],"host":["katapultpro","com"],"query":[{"description":{"content":"<p>Your api key with the braces removed</p>\n","type":"text/plain"},"key":"api_key","value":"{{api_key}}"}],"variable":[{"description":{"content":"<p>The id of the job that the saved view you want to update is associated with</p>\n","type":"text/plain"},"type":"any","value":"-NKTm4oQI1ClJLFQm7px","key":"jobId"},{"description":{"content":"<p>The id of the saved view you want to update</p>\n","type":"text/plain"},"type":"any","value":"-NSMuDfBREI3ekB947EW","key":"savedViewId"}]}},"response":[{"id":"884864c8-fc3b-4b5f-a0d5-7a94ab9f674d","name":"Update Saved View","originalRequest":{"method":"PATCH","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"My New Name\",\r\n    \"activeItem\": {\"connectionId\": \"-N7K9L7R5JPh7k\", \"sectionId\": \"-N7K9L7R5JPh7k\"},\r\n    \"latitude\": 40.09392294143697,\r\n    \"longitude\": -77.04022348507493,\r\n    \"zoom\": 15,\r\n    \"setAsDefault\": true,\r\n    \"turnOnAllLayers\": true\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"katapultpro.com/api/jobs/:jobId/saved_views/:savedViewId?api_key={{api_key}}","host":["katapultpro","com"],"path":["api","jobs",":jobId","saved_views",":savedViewId"],"query":[{"key":"api_key","value":"{{api_key}}","description":"Your api key with the braces removed"}],"variable":[{"key":"jobId","value":"-NKTm4oQI1ClJLFQm7px","description":"The id of the job that the saved view you want to update is associated with"},{"key":"savedViewId","value":"-NSMuDfBREI3ekB947EW","description":"The id of the saved view you want to update"}]}},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"e2bd11ba-cce7-4282-8952-abab8912b918"}],"event":[{"listen":"prerequest","script":{"id":"0d873fb1-94f8-4ace-8045-e296e8b5248b","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"4c580a7d-f758-4c7b-8f10-0fd450c504b5","type":"text/javascript","exec":[""]}}]}