{"info":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","description":"<html><head></head><body><h2 id=\"render-networks-api\">Render Networks API</h2>\n<p>RESTful API providing easy access to customer owned data in the Render Networks platform.</p>\n<p>The API intended to allow customers to build their own integrations and extensions to the Render Networks platform.</p>\n<p>First find the client ID and Secret from the render app, then authenticate with the POST Token.</p>\n<p><a href=\"https://www.rendernetworks.com/\">https://www.rendernetworks.com/</a></p>\n<h2 id=\"getting-started\">Getting Started</h2>\n<p>Using Render API requires</p>\n<p>1. Provisioning API Access credentials (Client ID + Secret) through Render Platform (API Access Page in Project Admin section)</p>\n<p>2. Then, use those credentials to generate an access (session) token for our Auth server. Please refer Code Examples section for example demonstrating how to generate the session token.</p>\n<p>3. Finally, use the access (session) token to make API calls.</p>\n<p>This scheme of using a session token (separate from Client ID + Secret) means that if somehow the API calls are intercepted, the short-lived (+ never reused) session tokens are exposed, not the Client ID + Secret.</p>\n<p>This guide will walk you through setting up your development environment and help in making your first requests the the Render API.</p>\n<h3 id=\"before-you-begin\">Before you Begin</h3>\n<p>In order to write a program that interacts with Render API, you need the following things:</p>\n<p><strong>1. Client ID &amp; Secret:</strong> This can be generated by Organisation Admins who have access to the Render Platform. They need to log in to the Render Platform and generate the credentials in the API Access Management section.</p>\n<p>Obtain an API client_id (username) and client_secret (password) for your project admin.</p>\n<p><strong>2. The Auth Domain:</strong> This is the URL for our identity/authentication provider. If your projects are in the Render PRODUS server (app.produs.rendernetworks.com) and you have used the Project Admin panel there to generate the Client ID &amp; Secret, then</p>\n<p><strong>Auth Server (Domain): auth.produs.rendernetworks.com</strong></p>\n<p>Please note that for both Render UAT and PRODUS servers, it is the same auth domain.</p>\n<p><strong>3. API Endpoint Domain:</strong> This is the URL for our API system. Depending on which Render environment the project is hosted (PRODUS vs UAT), it is one of,</p>\n<p><strong>API Server: api.produs.rendernetworks.com****API Server: api.uat.rendernetworks.com</strong></p>\n<p>if the data is not in the Render UAT Server (app.uat.rendernetworks.com) then using the UAT API server (api.uat.rendernetworks.com) will return the unauthorised response (as expected) as those Client ID &amp; Secret (generated in PRODUS) is not permitted to see data in UAT server.</p>\n<p>Once you have all the details, you can use the examples provided in</p>\n<p>Mainly, there are two steps in calling Render API endpoints.</p>\n<p>Step 1: Obtain API Session Token (JWT) from the auth provider.<br>Step 2: Use the session token to call API endpoints to access data.</p>\n<h1 id=\"pagination\">Pagination</h1>\n<p>The Render API utilises pagination to help manage large datasets efficiently, reduce the amount of data transferred in each request, and ensures that API responses remain manageable for both clients and servers.</p>\n<p>We use the \"page\" and \"page limit\" parameters in our APIs to manage and retrieve large sets of data in smaller, manageable chunks.</p>\n<p>Here is additional information about the parameters:</p>\n<p><strong>Page:</strong> This specifies which subset or \"page\" of data you want to retrieve from a large response. It defaults at 1 for the first page and increments with each subsequent page.</p>\n<p><strong>Page Limit:</strong> Also known as \"items per page\" or \"results per page,\" determines how many items or records are included in each paginated response via the maximum number inputted. If this is not set the response will default to a page limit of 2000.<br><em><strong>Note:</strong></em> <em>The page limit</em> <em><strong>cannot be higher than 2000</strong></em>____<em>, if you place a higher value it will scale the response down to a maximum on 2000 records per page.</em></p>\n<h3 id=\"usage\"><strong>Usage</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-shell\">GET /api/resource?page=1&amp;page_limit=1000\n\n</code></pre>\n<h4 id=\"respose\">Respose</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"data\": [\n        { \"id\": 1, \"name\": \"Item 1\" },\n        { \"id\": 2, \"name\": \"Item 2\" },\n        // ... (up to 1000 items)\n    ],\n    \"page\": 1,\n    \"page_size\": 1000,\n    \"page_limit\": 1000,\n    \"total_results\": 2789\n}\n\n</code></pre>\n<h4 id=\"subsequent-commands-page-2\">Subsequent commands (page 2)</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-shell\">GET /api/resource?page=2&amp;page_limit=1000\n\n</code></pre>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"data\": [\n        { \"id\": 2001, \"name\": \"Item 2001\" },\n        { \"id\": 2002, \"name\": \"Item 2002\" },\n        // ... (up to 1000 items)\n    ],\n    \"page\": 2,\n    \"page_size\": 1000,\n    \"page_limit\": 1000,\n    \"total_results\": 2789\n}\n\n</code></pre>\n<h2 id=\"rate-limiting\">Rate Limiting</h2>\n<h3 id=\"best-practice\">Best Practice</h3>\n<p>The Render Networks API is designed to provide you with access to valuable data and services while ensuring fair usage and maintaining system stability.</p>\n<p>To achieve this balance, the API enforces a default daily quota, and throttling via rate and burst limits.</p>\n<p><strong>Default Quota:</strong></p>\n<p>By default, each API Credential is granted a quota of_<strong>10,000 requests per day</strong>_, allowing ample room for API interaction while staying within the defined rate limits.</p>\n<p><strong>Rate Limit</strong>:</p>\n<p>The rate limit defines the number of requests allowed per second.</p>\n<p>For our API, <em><strong>the rate limit is set at 2 requests per second</strong></em>.</p>\n<p>This limit regulates the flow of requests over a more extended period, preventing excessive usage that could overwhelm the system.</p>\n<p>It encourages responsible API usage while providing consistent service to all users.</p>\n<p><strong>Burst Limit</strong>:</p>\n<p>The burst limit represents the maximum number of concurrent requests that can be made to the API at any given moment.</p>\n<p>In our case, the burst limit is set to 5.</p>\n<p>This means that, at most, <em><strong>5 requests can be processed simultaneously</strong></em>.</p>\n<p>Burst limits are useful for handling short bursts of traffic, ensuring quick responses even during periods of increased activity.</p>\n<p>We encourage users to monitor their API usage and design their applications to handle rate limiting gracefully. Responsible usage ensures that everyone can benefit from the Render Networks API's capabilities.</p>\n<h3 id=\"429-errors\">429 Errors</h3>\n<p>If you surpass your rate limit, the API will return a 429 Too Many Requests error. This indicates that you've sent too many requests within a given timeframe. Here's how to handle this error:</p>\n<p><strong>Implement Retry Logic:</strong> Your application should implement retry logic to handle 429 errors gracefully.</p>\n<p><strong>Monitor Your Usage:</strong> Implement monitoring and logging to track your API usage and identify potential bottlenecks.</p>\n<p><strong>Optimize Your Requests:</strong></p>\n<p>If possible, batch multiple requests into a single API call to reduce the overall number of requests.</p>\n<p>For example, you can call the endpoint instead of calling multiple times.</p>\n<p>Ensure that your application is spacing out requests, to avoid bursts that will trigger the burst rate limiting.</p>\n<p><strong>Contact Support:</strong> If you consistently encounter 429 errors, even after implementing retry logic and optimizing your requests, contact Render Networks' support for assistance.</p>\n<p>By implementing these best practices, you can ensure that your application handles rate limiting effectively and maintains a smooth and reliable interaction with the Render Networks APIs.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Pagination","slug":"pagination"}],"owner":"11528456","collectionId":"85259170-35ba-48bb-8761-e5b8a5a637f0","publishedId":"2sB34ZrQNj","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2025-07-01T14:07:37.000Z"},"item":[{"name":"projects","item":[{"name":"{project_short_name}","item":[{"name":"labels","item":[{"name":"{label_id}","item":[{"name":"tasks","item":[{"name":"Add Label to many Tasks","id":"4c54e5a2-ddb1-4518-8ae2-46fcbe8d735c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"project_task_ids\": []\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"https://api.test.rendernetworks.com/projects/:project_short_name/labels/:label_id/tasks","description":"<p>Associate many tasks to a label within a project.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name","labels",":label_id","tasks"],"host":["api","test","rendernetworks","com"],"query":[],"variable":[{"id":"c5824a5e-7055-4767-9507-d68200a819cc","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"},{"id":"ae36f75f-b929-45ec-afa5-81e775e8ef70","description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"type":"any","value":"pariatur","key":"label_id"}]}},"response":[{"id":"66c312d5-278b-4794-8420-2b0ce8f07524","name":"200 OK","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <token>","description":"Added as a part of security scheme: bearer"}],"body":{"mode":"raw","raw":"{\n  \"project_task_ids\": []\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/labels/:label_id/tasks","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","labels",":label_id","tasks"],"variable":[{"key":"project_short_name","value":""},{"key":"label_id","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Successful Response \n{\n  \"id\": 0,\n  \"name\": \"\",\n  \"type\": \"\",\n  \"due_by_date\": \"\",\n  \"notes\": \"\",\n  \"project_task_ids_added\": [\n    0\n  ]\n}"},{"id":"337d77bc-1efb-4891-8ca0-427bd5b7bf4e","name":"422","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"project_task_ids\": []\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/labels/:label_id/tasks","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","labels",":label_id","tasks"],"variable":[{"key":"project_short_name","value":"BLKISL","description":"(Required) (Required)"},{"key":"label_id","value":"pariatur","description":"(Required) "}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"4c54e5a2-ddb1-4518-8ae2-46fcbe8d735c"},{"name":"Delete Label from many Tasks","id":"ae5f5b07-fece-4d5b-9289-e3e6c2e5527e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://api.test.rendernetworks.com/projects/:project_short_name/labels/:label_id/tasks","description":"<p>Remove one or many tasks from a label within a project.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name","labels",":label_id","tasks"],"host":["api","test","rendernetworks","com"],"query":[],"variable":[{"id":"4cdc8923-792d-4ddd-8a6d-f2f407f9707a","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"},{"id":"a7c6e340-2250-44a9-aaa6-221c1cd9a7d2","description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"type":"any","value":"pariatur","key":"label_id"}]}},"response":[{"id":"81854102-314f-4538-a702-1fd7b62fc2a2","name":"response","originalRequest":{"method":"DELETE","header":[{"description":"Added as a part of security scheme: bearer","key":"Authorization","value":"Bearer <token>"}],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/labels/:label_id/tasks","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","labels",":label_id","tasks"],"variable":[{"key":"project_short_name"},{"key":"label_id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"text","header":[],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"ae5f5b07-fece-4d5b-9289-e3e6c2e5527e"}],"id":"f8e7cf49-c59d-4687-aedf-29c465eaf0e8","_postman_id":"f8e7cf49-c59d-4687-aedf-29c465eaf0e8","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}}},{"name":"Get Label","id":"cb877f76-12ef-4bc1-bcd1-4da82580a5e1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.test.rendernetworks.com/projects/:project_short_name/labels/:label_id","description":"<p>Get details of a specific label.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name","labels",":label_id"],"host":["api","test","rendernetworks","com"],"query":[],"variable":[{"id":"1b218f95-fcd6-4e70-b393-0d696d6f03df","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"},{"id":"e1bc3408-13a2-4c5a-9f45-b0327dcaa880","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"pariatur","key":"label_id"}]}},"response":[{"id":"c276002a-a80d-4a57-bd66-e9ce98ef05ce","name":"200 OK","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer <token>","description":"Added as a part of security scheme: bearer"}],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/labels/:label_id","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","labels",":label_id"],"variable":[{"key":"project_short_name","value":""},{"key":"label_id","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Successful Response \n{\n  \"id\": 0,\n  \"name\": \"\",\n  \"type\": \"\",\n  \"due_by_date\": \"\",\n  \"notes\": \"\"\n}"},{"id":"9f8eccc5-db7c-45cb-9a38-4a21f6054528","name":"422","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/labels/:label_id","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","labels",":label_id"],"variable":[{"key":"project_short_name","value":"BLKISL","description":"(Required) (Required)"},{"key":"label_id","value":"pariatur","description":"(Required) (Required)"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"cb877f76-12ef-4bc1-bcd1-4da82580a5e1"},{"name":"Update Label","id":"5e2ca96c-01ed-421c-9a58-f6e222ebb87f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"A New Name\",\n  \"type\": \"General\",\n  \"notes\": \"I  am putting a new note\",\n  \"due_by_date\": \"2012-12-23\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"https://api.test.rendernetworks.com/projects/:project_short_name/labels/:label_id","description":"<p>Update an existing label within a project.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name","labels",":label_id"],"host":["api","test","rendernetworks","com"],"query":[],"variable":[{"id":"22128e7e-36d4-43d3-a8d5-974f811d34f7","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"},{"id":"0cab886a-ad96-428b-a86e-bd9600c2991e","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"pariatur","key":"label_id"}]}},"response":[{"id":"77a7205e-a728-49f3-be9e-d4ab89067b37","name":"200 Ok","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <token>","description":"Added as a part of security scheme: bearer"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"A New Name\",\n  \"type\": \"General\",\n  \"notes\": \"I  am putting a new note\",\n  \"due_by_date\": \"2012-12-23\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/labels/:label_id","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","labels",":label_id"],"variable":[{"key":"project_short_name","value":""},{"key":"label_id","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Successful Response \n{\n  \"id\": 0,\n  \"name\": \"\",\n  \"type\": \"\",\n  \"due_by_date\": \"\",\n  \"notes\": \"\"\n}"},{"id":"c398da2a-9696-4da2-bce0-2b630d5bce9b","name":"422","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"A New Name\",\n  \"type\": \"General\",\n  \"notes\": \"I  am putting a new note\",\n  \"due_by_date\": \"2012-12-23\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/labels/:label_id","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","labels",":label_id"],"variable":[{"key":"project_short_name","value":"BLKISL","description":"(Required) (Required)"},{"key":"label_id","value":"pariatur","description":"(Required) (Required)"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"5e2ca96c-01ed-421c-9a58-f6e222ebb87f"},{"name":"Delete Label","id":"b6ce04f0-a732-49a2-a30c-336139cb73d2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://api.test.rendernetworks.com/projects/:project_short_name/labels/:label_id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name","labels",":label_id"],"host":["api","test","rendernetworks","com"],"query":[],"variable":[{"id":"dd0be49c-319c-4ce0-879d-c4f55eb5039a","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"},{"id":"638c2926-cdb6-4b4c-a5f7-499751c387c1","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"pariatur","key":"label_id"}]}},"response":[{"id":"716b3437-49d8-44b1-9323-252d002a17ad","name":"200 OK","originalRequest":{"method":"DELETE","header":[{"description":"Added as a part of security scheme: bearer","key":"Authorization","value":"Bearer <token>"}],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/labels/:label_id","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","labels",":label_id"],"variable":[{"key":"project_short_name"},{"key":"label_id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"text","header":[],"cookie":[],"responseTime":null,"body":null},{"id":"54f6353a-d2f1-4271-a8f0-4501a2150cef","name":"422","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/labels/:label_id","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","labels",":label_id"],"variable":[{"key":"project_short_name","value":"BLKISL","description":"(Required) (Required)"},{"key":"label_id","value":"pariatur","description":"(Required) (Required)"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"b6ce04f0-a732-49a2-a30c-336139cb73d2"}],"id":"357f413e-3e80-4749-8483-833c4d3c974d","description":"<p>Here are code example demonstrating how to get labels from a project.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-python\">endpoint = f\"https://{API_ENDPOINT_DOMAIN}/projects/{PROJECT_SHORT_NAME}/labels/{LABEL_ID}\"\n\nheaders = {\"Accept\": CONTENT_TYPE, \"Authorization\": f\"Bearer {session_token}\"}\n\nresponse = requests.get(url=endpoint, headers=headers, timeout=10)\n\n</code></pre>\n","_postman_id":"357f413e-3e80-4749-8483-833c4d3c974d","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}}},{"name":"Get Labels","id":"f00271f3-19d1-4884-8a4d-cde4c276b828","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.test.rendernetworks.com/projects/:project_short_name/labels?page=1&page_limit=500&label_type=General","description":"<p>Retrieve a list of labels from within a project.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name","labels"],"host":["api","test","rendernetworks","com"],"query":[{"description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"key":"page","value":"1"},{"description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"key":"page_limit","value":"500"},{"description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"key":"label_type","value":"General"}],"variable":[{"id":"236a9163-2bd2-4353-bea9-e6326c592b6a","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"}]}},"response":[{"id":"75128d87-666d-487f-9464-ef730e7d24ca","name":"200 OK","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer <token>","description":"Added as a part of security scheme: bearer"}],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/labels?page=1&page_limit=500&label_type=General","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","labels"],"query":[{"key":"page","value":"1","description":"(Required) "},{"key":"page_limit","value":"500","description":"(Required) "},{"key":"label_type","value":"General","description":"(Required) "}],"variable":[{"key":"project_short_name","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Successful Response \n{\n  \"data\": [\n    {\n      \"id\": 0,\n      \"name\": \"\",\n      \"type\": \"\",\n      \"due_by_date\": \"\",\n      \"notes\": \"\"\n    }\n  ],\n  \"page\": 0,\n  \"page_size\": 0,\n  \"page_limit\": 0,\n  \"total_results\": 0\n}"},{"id":"13665a63-a173-46e2-a4c0-b6122f49b6f6","name":"422","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/labels?page=1&page_limit=500&label_type=General","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","labels"],"query":[{"key":"page","value":"1","description":"(Required) "},{"key":"page_limit","value":"500","description":"(Required) "},{"key":"label_type","value":"General","description":"(Required) "}],"variable":[{"key":"project_short_name","value":"BLKISL","description":"(Required) (Required)"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"f00271f3-19d1-4884-8a4d-cde4c276b828"},{"name":"Create Label","id":"0c400e30-ae47-4a42-a792-9904f5789916","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"New label\",\n  \"type\": \"General\",\n  \"notes\": \"New label created in the API\",\n  \"due_by_date\": \"2012-12-23\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"https://api.test.rendernetworks.com/projects/:project_short_name/labels","description":"<p>Create a new label within a project.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name","labels"],"host":["api","test","rendernetworks","com"],"query":[],"variable":[{"id":"af963e80-09d9-4366-bfbd-c8b2007246a0","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"}]}},"response":[{"id":"7afb4e1e-1d82-4e0f-a689-9a1dbf1b3591","name":"200 OK","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <token>","description":"Added as a part of security scheme: bearer"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"New label\",\n  \"type\": \"General\",\n  \"notes\": \"New label created in the API\",\n  \"due_by_date\": \"2012-12-23\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/labels","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","labels"],"variable":[{"key":"project_short_name","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Successful Response \n{\n  \"id\": 0,\n  \"name\": \"\",\n  \"type\": \"\",\n  \"due_by_date\": \"\",\n  \"notes\": \"\"\n}"},{"id":"29e20247-9c63-4375-9dc2-14eb378e7072","name":"422","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"name\": \"New label\",\n  \"type\": \"General\",\n  \"notes\": \"New label created in the API\",\n  \"due_by_date\": \"2012-12-23\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/labels","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","labels"],"variable":[{"key":"project_short_name","value":"BLKISL","description":"(Required) (Required)"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"0c400e30-ae47-4a42-a792-9904f5789916"}],"id":"7bc57723-49b0-4679-9a18-4eabf0fcedec","description":"<p>Use labels to communicate project state as it pertains to 3rd party systems integration. This will include Adding and Removing labels to simplify communication for everyone.</p>\n<h2 id=\"python-example\">Python Example</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-python\">import logging\nimport sys\nimport requests\n# Please refer to \"Getting Started with Render API\" section @ https://developer.rendernetworks.com/\nPROJECT_SHORT_NAME = \"&lt;Project Short Name&gt;\"\nCLIENT_ID = \"&lt;Client ID&gt;\"\nCLIENT_SECRET = \"&lt;Client Secret&gt;\"\nAUTH_DOMAIN = \"&lt;Auth Domain&gt;\"\nAPI_ENDPOINT_DOMAIN = \"&lt;API Endpoint Domain&gt;\"\nCONTENT_TYPE = \"application/json\"\nLABEL_ID = \"&lt;Label ID to find&gt;\"\ndef get_access_token(auth_domain, client_id, client_secret):\n    \"\"\"\n    Generate access token by given client id and secret.\n    The access token is used as bearer token for accessing the backend api endpoints\n    \"\"\"\n    token_provider_endpoint = f\"https://{auth_domain}/oauth2/default/v1/token\"\n    headers = {\"accept\": CONTENT_TYPE, \"cache-control\": \"no-cache\", \"content-type\": \"application/x-www-form-urlencoded\"}\n    data = {\"grant_type\": \"client_credentials\", \"scope\": \"customScope\"}\n    response = requests.post(\n        url=token_provider_endpoint, auth=(client_id, client_secret), headers=headers, data=data, timeout=10\n    )\n    return response.json()[\"access_token\"]\nif __name__ == \"__main__\":\n    logger = logging.getLogger()\n    consoleHandler = logging.StreamHandler(sys.stdout)\n    logger.addHandler(consoleHandler)\n    logger.setLevel(logging.INFO)\n    # Generate session token\n    session_token = get_access_token(AUTH_DOMAIN, CLIENT_ID, CLIENT_SECRET)\n    logger.info(f\"Session token: {session_token}\")\n    headers = {\"Accept\": CONTENT_TYPE, \"Authorization\": f\"Bearer {session_token}\"}\n    base_url = f\"https://{API_ENDPOINT_DOMAIN}/projects/{PROJECT_SHORT_NAME}\"\n    # Get Labels\n    logger.info(\"Getting Labels ................ \")\n    endpoint = f\"{base_url}/labels?page=1&amp;page_limit=500\"\n    response = requests.get(url=endpoint, headers=headers, timeout=10)\n    logger.info(f\"Labels Response: {response.json()}\")\n\n</code></pre>\n<p><a href=\"https://developer.rendernetworks.com/labels\">https://developer.rendernetworks.com/labels</a></p>\n","_postman_id":"7bc57723-49b0-4679-9a18-4eabf0fcedec","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}}},{"name":"tasks","item":[{"name":"{project_task_id}","item":[{"name":"labels","item":[{"name":"Add many Labels to Task","id":"0ce720ec-fad2-4cb8-ac4b-2bd0917fdd83","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"labels\": []\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/labels","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name","tasks",":project_task_id","labels"],"host":["api","test","rendernetworks","com"],"query":[],"variable":[{"id":"28653002-4ecd-4f0b-bc0d-dec57818aa73","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"},{"id":"2d3777e1-80df-443a-9883-8c1e21d0779f","description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"type":"any","value":"pariatur","key":"project_task_id"}]}},"response":[{"id":"86e33953-183d-4253-9c53-db3a2abff89f","name":"200 OK","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <token>","description":"Added as a part of security scheme: bearer"}],"body":{"mode":"raw","raw":"{\n  \"labels\": []\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/labels","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id","labels"],"variable":[{"key":"project_short_name","value":""},{"key":"project_task_id","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Successful Response \n{\n  \"project_task_id\": 0,\n  \"labels_added\": [\n    \"\"\n  ]\n}"},{"id":"714865a5-0dfd-4336-8d5c-a175890dbfcf","name":"422","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"labels\": []\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/labels","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id","labels"],"variable":[{"key":"project_short_name","value":"BLKISL","description":"(Required) (Required)"},{"key":"project_task_id","value":"pariatur","description":"(Required) "}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"0ce720ec-fad2-4cb8-ac4b-2bd0917fdd83"},{"name":"Delete many Labels from Task","id":"d0069a9f-f5a4-4b6b-b6d0-ba1f39911b42","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/labels","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name","tasks",":project_task_id","labels"],"host":["api","test","rendernetworks","com"],"query":[],"variable":[{"id":"c87aafea-af4b-4d68-bf3d-725ebb92c2d3","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"},{"id":"c4897d85-12ae-4c76-aeb0-78f834b4d8ac","description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"type":"any","value":"pariatur","key":"project_task_id"}]}},"response":[{"id":"ac73e15c-9b13-497d-afb9-90f90aeeadb8","name":"200 OK","originalRequest":{"method":"DELETE","header":[{"key":"Authorization","value":"Bearer <token>","description":"Added as a part of security scheme: bearer"}],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/labels","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id","labels"],"variable":[{"key":"project_short_name","value":""},{"key":"project_task_id","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"text","header":[],"cookie":[],"responseTime":null,"body":"// Successful Response "},{"id":"947c3b67-4981-497b-8d87-af759be26fed","name":"422","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/labels","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id","labels"],"variable":[{"key":"project_short_name","value":"BLKISL","description":"(Required) (Required)"},{"key":"project_task_id","value":"pariatur","description":"(Required) "}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"d0069a9f-f5a4-4b6b-b6d0-ba1f39911b42"}],"id":"e5f51d3c-0d46-4675-a28a-f7833b6164e6","_postman_id":"e5f51d3c-0d46-4675-a28a-f7833b6164e6","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}}},{"name":"dependencies","item":[{"name":"{dependency_task_id}","item":[{"name":"Delete Task Dependency","id":"f3fd2925-a8a9-408b-b2b8-1564f7566933","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/dependencies/:dependency_task_id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name","tasks",":project_task_id","dependencies",":dependency_task_id"],"host":["api","test","rendernetworks","com"],"query":[],"variable":[{"id":"829d4dcb-bb6d-4986-8220-6ef9b4c33822","description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"},{"id":"883534c5-e7a7-4333-9bd5-78feed828675","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"pariatur","key":"project_task_id"},{"id":"54f8a181-762a-4a17-8781-0b20d251ae40","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"pariatur","key":"dependency_task_id"}]}},"response":[{"id":"6ec6b221-ed95-41eb-a425-75f1555185c3","name":"200 OK","originalRequest":{"method":"DELETE","header":[{"description":"Added as a part of security scheme: bearer","key":"Authorization","value":"Bearer <token>"}],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/dependencies/:dependency_task_id","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id","dependencies",":dependency_task_id"],"variable":[{"key":"project_short_name"},{"key":"project_task_id"},{"key":"dependency_task_id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"text","header":[],"cookie":[],"responseTime":null,"body":null},{"id":"17c575da-764f-4dc9-8b17-d0a752d8e3fa","name":"422","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/dependencies/:dependency_task_id","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id","dependencies",":dependency_task_id"],"variable":[{"key":"project_short_name","value":"BLKISL","description":"(Required) "},{"key":"project_task_id","value":"pariatur","description":"(Required) (Required)"},{"key":"dependency_task_id","value":"pariatur","description":"(Required) (Required)"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"f3fd2925-a8a9-408b-b2b8-1564f7566933"}],"id":"17391c64-5cd5-45e5-8308-01e7bed08171","_postman_id":"17391c64-5cd5-45e5-8308-01e7bed08171","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}}},{"name":"Get Task Dependencies","id":"841e7885-9b57-4b3e-bc75-55f2716cedbf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/dependencies?page=1&page_limit=500","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name","tasks",":project_task_id","dependencies"],"host":["api","test","rendernetworks","com"],"query":[{"description":{"content":"<p>(Required) The current page number</p>\n","type":"text/plain"},"key":"page","value":"1"},{"description":{"content":"<p>(Required) The number of records to be shown/fetched per page</p>\n","type":"text/plain"},"key":"page_limit","value":"500"}],"variable":[{"id":"c5be2760-19f5-4bad-abbc-feec11c91588","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"},{"id":"e8974643-bc8d-4d45-bbed-47f79f6619a4","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"pariatur","key":"project_task_id"}]}},"response":[{"id":"d6c2ac1a-de8d-4f28-90e9-a54138ae8abb","name":"200 OK","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer <token>","description":"Added as a part of security scheme: bearer"}],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/dependencies?page=1&page_limit=500","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id","dependencies"],"query":[{"key":"page","value":"1","description":"(Required) The current page number"},{"key":"page_limit","value":"500","description":"(Required) The number of records to be shown/fetched per page"}],"variable":[{"key":"project_short_name","value":""},{"key":"project_task_id","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Successful Response \n{\n  \"data\": [\n    {\n      \"project_name\": \"\",\n      \"project_short_name\": \"\",\n      \"project_task_id\": 0,\n      \"status\": \"\",\n      \"task_type\": \"\",\n      \"asset_id\": \"\",\n      \"work_package\": \"\",\n      \"subsector\": \"\",\n      \"street_address\": \"\",\n      \"road_name\": \"\",\n      \"road_number\": \"\",\n      \"labels\": {},\n      \"allocated_to\": \"\",\n      \"released_to\": \"\",\n      \"geometry_type\": \"\",\n      \"geometry\": {},\n      \"original_geometry\": {},\n      \"geometry_changed\": false,\n      \"notes\": \"\",\n      \"created_date\": \"\",\n      \"created_by\": \"\",\n      \"allocated_date\": \"\",\n      \"releasable_date\": \"\",\n      \"released_date\": \"\",\n      \"completed_date\": \"\",\n      \"approved_date\": \"\",\n      \"approved_by\": \"\",\n      \"target_completion_date\": \"\",\n      \"jeopardy_date\": \"\",\n      \"jeopardy_date_cleared\": \"\",\n      \"jeopardy_reason\": \"\",\n      \"forecast_date_released\": \"\",\n      \"forecast_date_completed\": \"\",\n      \"quantity\": 0,\n      \"form_response\": {},\n      \"form_version_id\": \"\",\n      \"units\": [\n        {}\n      ],\n      \"task_metadata\": {},\n      \"link\": {},\n      \"photos\": [\n        {}\n      ]\n    }\n  ],\n  \"page\": 0,\n  \"page_size\": 0,\n  \"page_limit\": 0,\n  \"total_results\": 0\n}"},{"id":"a599cfb7-6a6e-4d0d-a59f-268846b1a2ab","name":"422","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/dependencies?page=1&page_limit=500","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id","dependencies"],"query":[{"key":"page","value":"1","description":"(Required) The current page number"},{"key":"page_limit","value":"500","description":"(Required) The number of records to be shown/fetched per page"}],"variable":[{"key":"project_short_name","value":"BLKISL","description":"(Required) (Required)"},{"key":"project_task_id","value":"pariatur","description":"(Required) (Required)"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"841e7885-9b57-4b3e-bc75-55f2716cedbf"},{"name":"Create Task Dependency","id":"75f2d39f-8d31-4270-98eb-c1d5fad99a44","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"dependency_task_id\": \"1234\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/dependencies","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name","tasks",":project_task_id","dependencies"],"host":["api","test","rendernetworks","com"],"query":[],"variable":[{"id":"ab1e5e4c-f611-4307-bf48-1907d4da95b8","description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"},{"id":"11266622-e092-44a5-89e1-60a3ef3ff618","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"pariatur","key":"project_task_id"}]}},"response":[{"id":"bf213501-f3b3-4094-9f31-d682c3b04a1e","name":"200 OK","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"description":"Added as a part of security scheme: bearer","key":"Authorization","value":"Bearer <token>"}],"body":{"mode":"raw","raw":"{\n  \"dependency_task_id\": \"1234\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/dependencies","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id","dependencies"],"variable":[{"key":"project_short_name"},{"key":"project_task_id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"text","header":[],"cookie":[],"responseTime":null,"body":null},{"id":"3b13eb04-4d0e-4df0-8bc5-bc10599a6525","name":"422","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"dependency_task_id\": \"1234\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/dependencies","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id","dependencies"],"variable":[{"key":"project_short_name","value":"BLKISL","description":"(Required) "},{"key":"project_task_id","value":"pariatur","description":"(Required) (Required)"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"75f2d39f-8d31-4270-98eb-c1d5fad99a44"},{"name":"Delete Task Dependencies","id":"95e59069-d413-4265-a79e-22ea2c00bfa2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/dependencies","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name","tasks",":project_task_id","dependencies"],"host":["api","test","rendernetworks","com"],"query":[],"variable":[{"id":"6fca2894-0f04-4c1b-bba9-ae31fb72fce3","description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"},{"id":"34ed11ca-1a7b-4d6e-b098-8a4e579da8be","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"pariatur","key":"project_task_id"}]}},"response":[{"id":"0e37b0a3-ed25-4a4c-bf25-083a652a4ec1","name":"200 OK","originalRequest":{"method":"DELETE","header":[{"description":"Added as a part of security scheme: bearer","key":"Authorization","value":"Bearer <token>"}],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/dependencies","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id","dependencies"],"variable":[{"key":"project_short_name"},{"key":"project_task_id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"text","header":[],"cookie":[],"responseTime":null,"body":null},{"id":"e8975985-f925-40a4-a3f7-65bbcdf63c4f","name":"422","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/dependencies","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id","dependencies"],"variable":[{"key":"project_short_name","value":"BLKISL","description":"(Required) "},{"key":"project_task_id","value":"pariatur","description":"(Required) (Required)"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"95e59069-d413-4265-a79e-22ea2c00bfa2"}],"id":"45a80df8-e9f1-420d-b516-b42fd048eef9","description":"<img src=\"https://content.pstmn.io/63f2be44-c997-414d-ab2b-744a02966611/aW1hZ2UucG5n\" alt height=\"439\" width=\"815\" />\n\n<h3 id=\"workflow-example-constructing-a-fiber-optic-splice-enclosure\"><strong>Workflow Example: Constructing a Fiber Optic Splice Enclosure</strong></h3>\n<p><strong>Task A: Install the Splice Enclosure Mount</strong></p>\n<p>Secure the enclosure mount to the designated pole or underground location.</p>\n<p><strong>Dependency</strong>: None</p>\n<p><strong>Task B: Splice the Fiber Optic Cables</strong></p>\n<p>Connect and splice the fiber cables within the enclosure according to network design.</p>\n<p><strong>Dependency</strong>: Task A (Enclosure mount installation) must be completed to provide a stable base.</p>\n<p><strong>Task C: Seal and Test the Enclosure</strong></p>\n<p>Close the enclosure, seal it to protect against environmental conditions, and test for signal integrity.</p>\n<p><strong>Dependency</strong>: Task B (Fiber splicing) must be completed to ensure all connections are properly made.</p>\n","_postman_id":"45a80df8-e9f1-420d-b516-b42fd048eef9","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}}},{"name":"dependents","item":[{"name":"{dependent_task_id}","item":[{"name":"Delete Task Dependent","id":"c7ba1bfc-5cf9-4202-8945-a58d97f56f61","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/dependents/:dependent_task_id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name","tasks",":project_task_id","dependents",":dependent_task_id"],"host":["api","test","rendernetworks","com"],"query":[],"variable":[{"id":"b611ed2d-4762-4ad1-a623-474642087c79","description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"},{"id":"48c018f6-a6ea-4096-9bd7-7addbd7eefd8","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"pariatur","key":"project_task_id"},{"id":"6d2e3c09-cced-4c1f-84d1-9e7567b1a89d","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"pariatur","key":"dependent_task_id"}]}},"response":[{"id":"32539bd8-d787-4700-bbb7-1e12525ccd5e","name":"200 OK","originalRequest":{"method":"DELETE","header":[{"description":"Added as a part of security scheme: bearer","key":"Authorization","value":"Bearer <token>"}],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/dependents/:dependent_task_id","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id","dependents",":dependent_task_id"],"variable":[{"key":"project_short_name"},{"key":"project_task_id"},{"key":"dependent_task_id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"text","header":[],"cookie":[],"responseTime":null,"body":null},{"id":"76bd00e4-ea42-4ea3-8bff-0115841289a3","name":"422","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/dependents/:dependent_task_id","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id","dependents",":dependent_task_id"],"variable":[{"key":"project_short_name","value":"BLKISL","description":"(Required) "},{"key":"project_task_id","value":"pariatur","description":"(Required) (Required)"},{"key":"dependent_task_id","value":"pariatur","description":"(Required) (Required)"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"c7ba1bfc-5cf9-4202-8945-a58d97f56f61"}],"id":"0427e52d-3ffc-46ea-903f-7b219a0f0aa0","_postman_id":"0427e52d-3ffc-46ea-903f-7b219a0f0aa0","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}}},{"name":"Get Task Dependents","id":"f6e178a1-8437-47df-8c6b-52247949dc9f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/dependents?page=1&page_limit=500","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name","tasks",":project_task_id","dependents"],"host":["api","test","rendernetworks","com"],"query":[{"description":{"content":"<p>(Required) The current page number</p>\n","type":"text/plain"},"key":"page","value":"1"},{"description":{"content":"<p>(Required) The number of records to be shown/fetched per page</p>\n","type":"text/plain"},"key":"page_limit","value":"500"}],"variable":[{"id":"1b22deff-4aad-4335-a819-0941b38c501d","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"},{"id":"cbf443b6-706c-434a-be5d-e85c0a45ade1","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"pariatur","key":"project_task_id"}]}},"response":[{"id":"f161047a-b091-4a80-8759-ff2598a60296","name":"200 OK","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer <token>","description":"Added as a part of security scheme: bearer"}],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/dependents?page=1&page_limit=500","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id","dependents"],"query":[{"key":"page","value":"1","description":"(Required) The current page number"},{"key":"page_limit","value":"500","description":"(Required) The number of records to be shown/fetched per page"}],"variable":[{"key":"project_short_name","value":""},{"key":"project_task_id","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Successful Response \n{\n  \"data\": [\n    {\n      \"project_name\": \"\",\n      \"project_short_name\": \"\",\n      \"project_task_id\": 0,\n      \"status\": \"\",\n      \"task_type\": \"\",\n      \"asset_id\": \"\",\n      \"work_package\": \"\",\n      \"subsector\": \"\",\n      \"street_address\": \"\",\n      \"road_name\": \"\",\n      \"road_number\": \"\",\n      \"labels\": {},\n      \"allocated_to\": \"\",\n      \"released_to\": \"\",\n      \"geometry_type\": \"\",\n      \"geometry\": {},\n      \"original_geometry\": {},\n      \"geometry_changed\": false,\n      \"notes\": \"\",\n      \"created_date\": \"\",\n      \"created_by\": \"\",\n      \"allocated_date\": \"\",\n      \"releasable_date\": \"\",\n      \"released_date\": \"\",\n      \"completed_date\": \"\",\n      \"approved_date\": \"\",\n      \"approved_by\": \"\",\n      \"target_completion_date\": \"\",\n      \"jeopardy_date\": \"\",\n      \"jeopardy_date_cleared\": \"\",\n      \"jeopardy_reason\": \"\",\n      \"forecast_date_released\": \"\",\n      \"forecast_date_completed\": \"\",\n      \"quantity\": 0,\n      \"form_response\": {},\n      \"form_version_id\": \"\",\n      \"units\": [\n        {}\n      ],\n      \"task_metadata\": {},\n      \"link\": {},\n      \"photos\": [\n        {}\n      ]\n    }\n  ],\n  \"page\": 0,\n  \"page_size\": 0,\n  \"page_limit\": 0,\n  \"total_results\": 0\n}"},{"id":"1c885f81-5c1d-4794-a6df-5573032fb87a","name":"422","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/dependents?page=1&page_limit=500","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id","dependents"],"query":[{"key":"page","value":"1","description":"(Required) The current page number"},{"key":"page_limit","value":"500","description":"(Required) The number of records to be shown/fetched per page"}],"variable":[{"key":"project_short_name","value":"BLKISL","description":"(Required) (Required)"},{"key":"project_task_id","value":"pariatur","description":"(Required) (Required)"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"f6e178a1-8437-47df-8c6b-52247949dc9f"},{"name":"Create Task Dependent","id":"c92b4913-2593-4da4-95f2-1fcc126f4b6c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"dependent_task_id\": \"1234\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/dependents","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name","tasks",":project_task_id","dependents"],"host":["api","test","rendernetworks","com"],"query":[],"variable":[{"id":"faaf6899-c411-49f2-b77e-10042efd5f72","description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"},{"id":"70094855-2836-4da7-a01f-03459a2238d3","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"pariatur","key":"project_task_id"}]}},"response":[{"id":"6a028089-fd20-4da3-848f-07eed35ce3ec","name":"200 OK","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <token>","description":"Added as a part of security scheme: bearer"}],"body":{"mode":"raw","raw":"{\n  \"dependent_task_id\": \"1234\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/dependents","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id","dependents"],"variable":[{"key":"project_short_name","value":""},{"key":"project_task_id","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Successful Response \n{\n  \"dependent\": {\n    \"project_name\": \"\",\n    \"project_short_name\": \"\",\n    \"project_task_id\": 0,\n    \"status\": \"\",\n    \"task_type\": \"\",\n    \"asset_id\": \"\",\n    \"work_package\": \"\",\n    \"subsector\": \"\",\n    \"street_address\": \"\",\n    \"road_name\": \"\",\n    \"road_number\": \"\",\n    \"labels\": {},\n    \"allocated_to\": \"\",\n    \"released_to\": \"\",\n    \"geometry_type\": \"\",\n    \"geometry\": {},\n    \"original_geometry\": {},\n    \"geometry_changed\": false,\n    \"notes\": \"\",\n    \"created_date\": \"\",\n    \"created_by\": \"\",\n    \"allocated_date\": \"\",\n    \"releasable_date\": \"\",\n    \"released_date\": \"\",\n    \"completed_date\": \"\",\n    \"approved_date\": \"\",\n    \"approved_by\": \"\",\n    \"target_completion_date\": \"\",\n    \"jeopardy_date\": \"\",\n    \"jeopardy_date_cleared\": \"\",\n    \"jeopardy_reason\": \"\",\n    \"forecast_date_released\": \"\",\n    \"forecast_date_completed\": \"\",\n    \"quantity\": 0,\n    \"form_response\": {},\n    \"form_version_id\": \"\",\n    \"units\": [\n      {}\n    ],\n    \"task_metadata\": {},\n    \"link\": {},\n    \"photos\": [\n      {}\n    ]\n  }\n}"},{"id":"bd3becc4-711b-4c70-9267-88d0602abad3","name":"422","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"dependent_task_id\": \"1234\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/dependents","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id","dependents"],"variable":[{"key":"project_short_name","value":"BLKISL","description":"(Required) "},{"key":"project_task_id","value":"pariatur","description":"(Required) (Required)"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"c92b4913-2593-4da4-95f2-1fcc126f4b6c"},{"name":"Delete Task Dependents","id":"e4a9f15e-958a-4a66-ac4b-4d26901629bd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/dependents","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name","tasks",":project_task_id","dependents"],"host":["api","test","rendernetworks","com"],"query":[],"variable":[{"id":"35e82549-5f15-46d0-ad44-72f882f6e14e","description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"},{"id":"ee873c1a-d5b7-4212-87b7-d18dd3c47224","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"pariatur","key":"project_task_id"}]}},"response":[{"id":"920e9603-1585-4d22-be63-d24b3a612636","name":"200 OK","originalRequest":{"method":"DELETE","header":[{"description":"Added as a part of security scheme: bearer","key":"Authorization","value":"Bearer <token>"}],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/dependents","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id","dependents"],"variable":[{"key":"project_short_name"},{"key":"project_task_id"}]}},"status":"OK","code":200,"_postman_previewlanguage":"text","header":[],"cookie":[],"responseTime":null,"body":null},{"id":"1fdb8f5e-0ce8-47c7-95a6-8cea82724426","name":"422","originalRequest":{"method":"DELETE","header":[],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/dependents","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id","dependents"],"variable":[{"key":"project_short_name","value":"BLKISL","description":"(Required) "},{"key":"project_task_id","value":"pariatur","description":"(Required) (Required)"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"e4a9f15e-958a-4a66-ac4b-4d26901629bd"}],"id":"d1516e42-ce77-4fb1-9e1e-31085e802c79","_postman_id":"d1516e42-ce77-4fb1-9e1e-31085e802c79","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}}},{"name":"photos","item":[{"name":"Get Task Photos","id":"f4914197-ad9f-4390-987f-adb540445389","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/photos?page=1&page_limit=500","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name","tasks",":project_task_id","photos"],"host":["api","test","rendernetworks","com"],"query":[{"description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"key":"page","value":"1"},{"description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"key":"page_limit","value":"500"}],"variable":[{"id":"ba72abb3-ed41-4dd3-b94f-9a0525597515","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"},{"id":"eb7b2b95-0b2e-4952-b230-755ca75e9ada","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"pariatur","key":"project_task_id"}]}},"response":[{"id":"05d253c0-7b9b-46b9-be7c-e42102b2b09b","name":"200 OK","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer <token>","description":"Added as a part of security scheme: bearer"}],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/photos?page=1&page_limit=500","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id","photos"],"query":[{"key":"page","value":"1","description":"(Required) "},{"key":"page_limit","value":"500","description":"(Required) "}],"variable":[{"key":"project_short_name","value":""},{"key":"project_task_id","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Successful Response \n{\n  \"photos\": {\n    \"data\": [\n      {\n        \"name\": \"\",\n        \"type\": \"\",\n        \"image_upload_status\": \"\",\n        \"timestamp\": \"\",\n        \"location\": {},\n        \"image_link\": \"\",\n        \"metadata\": {}\n      }\n    ],\n    \"page\": 0,\n    \"page_size\": 0,\n    \"page_limit\": 0,\n    \"total_results\": 0\n  }\n}"},{"id":"d871d379-14f2-4a80-a406-9affec71e16b","name":"422","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id/photos?page=1&page_limit=500","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id","photos"],"query":[{"key":"page","value":"1","description":"(Required) "},{"key":"page_limit","value":"500","description":"(Required) "}],"variable":[{"key":"project_short_name","value":"BLKISL","description":"(Required) (Required)"},{"key":"project_task_id","value":"pariatur","description":"(Required) (Required)"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"f4914197-ad9f-4390-987f-adb540445389"}],"id":"cd2c2a7b-e363-48bf-9e72-c72f472ad7db","description":"<p>When calling the endpoints or , you may see some photos attached to the task, while that only presents a few details such as the name and type, you may retrieve the image url and further information from this endpoint.</p>\n<h2 id=\"python-example\">Python Example</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-python\">import logging\nimport sys\nimport requests\n\n\n# Please refer to \"Getting Started with Render API\" section @ https://developer.rendernetworks.com/\nPROJECT_SHORT_NAME = \"&lt;Project Short Name&gt;\"\nCLIENT_ID = \"&lt;Client ID&gt;\"\nCLIENT_SECRET = \"&lt;Client Secret&gt;\"\nAUTH_DOMAIN = \"&lt;Auth Domain&gt;\"\nAPI_ENDPOINT_DOMAIN = \"&lt;API Endpoint Domain&gt;\"\nCONTENT_TYPE = \"application/json\"\nPROJECT_TASK_ID = \"&lt;Project Task ID to update&gt;\"\n\n\ndef get_access_token(auth_domain, client_id, client_secret):\n    \"\"\"\n    Generate access token by given client id and secret.\n    The access token is used as bearer token for accessing the backend api endpoints\n    \"\"\"\n    token_provider_endpoint = f\"https://{auth_domain}/oauth2/default/v1/token\"\n    headers = {\"accept\": CONTENT_TYPE, \"cache-control\": \"no-cache\", \"content-type\": \"application/x-www-form-urlencoded\"}\n    data = {\"grant_type\": \"client_credentials\", \"scope\": \"customScope\"}\n    response = requests.post(\n        url=token_provider_endpoint, auth=(client_id, client_secret), headers=headers, data=data, timeout=10\n    )\n    return response.json()[\"access_token\"]\n\n\nif __name__ == \"__main__\":\n    logger = logging.getLogger()\n    consoleHandler = logging.StreamHandler(sys.stdout)\n    logger.addHandler(consoleHandler)\n    logger.setLevel(logging.INFO)\n\n    # Generate session token\n    session_token = get_access_token(AUTH_DOMAIN, CLIENT_ID, CLIENT_SECRET)\n    logger.info(f\"Session token: {session_token}\")\n\n    headers = {\"Accept\": CONTENT_TYPE, \"Authorization\": f\"Bearer {session_token}\"}\n    base_url = f\"https://{API_ENDPOINT_DOMAIN}/projects/{PROJECT_SHORT_NAME}/tasks/{PROJECT_TASK_ID}\"\n\n    # Get Task Photos\n    logger.info(\"Getting Task Photos ................ \")\n    endpoint = f\"{base_url}/photos?page=1&amp;page_limit=500\"\n    response = requests.get(url=endpoint, headers=headers, timeout=10)\n    logger.info(f\"Task Photo Response: {response.json()}\")\n\n</code></pre>\n<p><a href=\"https://developer.rendernetworks.com/2nyO-get-task-photos\">https://developer.rendernetworks.com/2nyO-get-task-photos</a></p>\n","_postman_id":"cd2c2a7b-e363-48bf-9e72-c72f472ad7db","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}}},{"name":"Get Task","id":"d2fe4518-4fc6-4df4-91e3-7debbc688ed9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name","tasks",":project_task_id"],"host":["api","test","rendernetworks","com"],"query":[],"variable":[{"id":"73269521-6db1-401f-9f40-3cee21dd1437","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"},{"id":"178bbcbd-5633-43a4-a96c-66545c4096b4","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"pariatur","key":"project_task_id"}]}},"response":[{"id":"a0888d12-880c-4aff-b186-7da161cfb148","name":"200 OK","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer <token>","description":"Added as a part of security scheme: bearer"}],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id"],"variable":[{"key":"project_short_name","value":""},{"key":"project_task_id","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Successful Response \n{\n  \"project_name\": \"\",\n  \"project_short_name\": \"\",\n  \"project_task_id\": 0,\n  \"status\": \"\",\n  \"task_type\": \"\",\n  \"asset_id\": \"\",\n  \"work_package\": \"\",\n  \"subsector\": \"\",\n  \"street_address\": \"\",\n  \"road_name\": \"\",\n  \"road_number\": \"\",\n  \"labels\": {},\n  \"allocated_to\": \"\",\n  \"released_to\": \"\",\n  \"geometry_type\": \"\",\n  \"geometry\": {},\n  \"original_geometry\": {},\n  \"geometry_changed\": false,\n  \"notes\": \"\",\n  \"created_date\": \"\",\n  \"created_by\": \"\",\n  \"allocated_date\": \"\",\n  \"releasable_date\": \"\",\n  \"released_date\": \"\",\n  \"completed_date\": \"\",\n  \"approved_date\": \"\",\n  \"approved_by\": \"\",\n  \"target_completion_date\": \"\",\n  \"jeopardy_date\": \"\",\n  \"jeopardy_date_cleared\": \"\",\n  \"jeopardy_reason\": \"\",\n  \"forecast_date_released\": \"\",\n  \"forecast_date_completed\": \"\",\n  \"quantity\": 0,\n  \"form_response\": {},\n  \"form_version_id\": \"\",\n  \"units\": [\n    {}\n  ],\n  \"task_metadata\": {},\n  \"link\": {},\n  \"photos\": [\n    {}\n  ]\n}"},{"id":"fe3a2bb3-88f7-4750-83de-207d1bf820f4","name":"422","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id"],"variable":[{"key":"project_short_name","value":"BLKISL","description":"(Required) (Required)"},{"key":"project_task_id","value":"pariatur","description":"(Required) (Required)"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"d2fe4518-4fc6-4df4-91e3-7debbc688ed9"},{"name":"Update Task","id":"55140f43-6be3-4dbe-a3a0-e105543e3391","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"geometry\": {\n    \"type\": \"point\",\n    \"coordinates\": [\n      -71.564547457,\n      41.178204032\n    ]\n  },\n  \"target_completion_date\": \"2012-03-12\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name","tasks",":project_task_id"],"host":["api","test","rendernetworks","com"],"query":[],"variable":[{"id":"dfb0b8f1-6c52-44fb-9185-8d5756fdfcb2","description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"},{"id":"e0b1557a-0afc-4567-b3d6-3003a8ee3527","description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"type":"any","value":"pariatur","key":"project_task_id"}]}},"response":[{"id":"867f0669-4de7-460f-ae27-af036237e672","name":"200 OK","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <token>","description":"Added as a part of security scheme: bearer"}],"body":{"mode":"raw","raw":"{\n  \"geometry\": {\n    \"type\": \"point\",\n    \"coordinates\": [\n      -71.564547457,\n      41.178204032\n    ]\n  },\n  \"target_completion_date\": \"2012-03-12\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id"],"variable":[{"key":"project_short_name","value":""},{"key":"project_task_id","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Successful Response \n{\n  \"project_name\": \"\",\n  \"project_short_name\": \"\",\n  \"project_task_id\": 0,\n  \"status\": \"\",\n  \"task_type\": \"\",\n  \"asset_id\": \"\",\n  \"work_package\": \"\",\n  \"subsector\": \"\",\n  \"street_address\": \"\",\n  \"road_name\": \"\",\n  \"road_number\": \"\",\n  \"labels\": {},\n  \"allocated_to\": \"\",\n  \"released_to\": \"\",\n  \"geometry_type\": \"\",\n  \"geometry\": {},\n  \"original_geometry\": {},\n  \"geometry_changed\": false,\n  \"notes\": \"\",\n  \"created_date\": \"\",\n  \"created_by\": \"\",\n  \"allocated_date\": \"\",\n  \"releasable_date\": \"\",\n  \"released_date\": \"\",\n  \"completed_date\": \"\",\n  \"approved_date\": \"\",\n  \"approved_by\": \"\",\n  \"target_completion_date\": \"\",\n  \"jeopardy_date\": \"\",\n  \"jeopardy_date_cleared\": \"\",\n  \"jeopardy_reason\": \"\",\n  \"forecast_date_released\": \"\",\n  \"forecast_date_completed\": \"\",\n  \"quantity\": 0,\n  \"form_response\": {},\n  \"form_version_id\": \"\",\n  \"units\": [\n    {}\n  ],\n  \"task_metadata\": {},\n  \"link\": {},\n  \"photos\": [\n    {}\n  ]\n}"},{"id":"56c072d3-d1bb-478d-8e5f-baf1059ac9a8","name":"422","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"geometry\": {\n    \"type\": \"point\",\n    \"coordinates\": [\n      -71.564547457,\n      41.178204032\n    ]\n  },\n  \"target_completion_date\": \"2012-03-12\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/:project_task_id","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks",":project_task_id"],"variable":[{"key":"project_short_name","value":"BLKISL","description":"(Required) "},{"key":"project_task_id","value":"pariatur","description":"(Required) "}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"55140f43-6be3-4dbe-a3a0-e105543e3391"}],"id":"1b4c144d-994d-4ff6-876f-1ae355642976","_postman_id":"1b4c144d-994d-4ff6-876f-1ae355642976","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}}},{"name":"target_completion_date","item":[{"name":"Update Task Target Completion Date","id":"42f1afcd-82e6-47ab-878b-a03c873285c3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"project_task_ids\": [],\n  \"target_completion_date\": null\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/target_completion_date","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name","tasks","target_completion_date"],"host":["api","test","rendernetworks","com"],"query":[],"variable":[{"id":"f0988318-830e-44c6-8a75-ed5b2d5bcaeb","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"}]}},"response":[{"id":"cddc2634-9cd6-470e-be7e-7e192136cc64","name":"200 OK","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <token>","description":"Added as a part of security scheme: bearer"}],"body":{"mode":"raw","raw":"{\n  \"project_task_ids\": [],\n  \"target_completion_date\": null\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/target_completion_date","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks","target_completion_date"],"variable":[{"key":"project_short_name","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Successful Response \n{\n  \"project_task_ids\": [\n    0\n  ],\n  \"target_completion_date\": \"\"\n}"},{"id":"69990362-af96-4d47-836e-f5e586ea7dde","name":"422","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"project_task_ids\": [],\n  \"target_completion_date\": null\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks/target_completion_date","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks","target_completion_date"],"variable":[{"key":"project_short_name","value":"BLKISL","description":"(Required) (Required)"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"42f1afcd-82e6-47ab-878b-a03c873285c3"}],"id":"7493aa2f-26d2-4517-b13f-0ab367f89d29","_postman_id":"7493aa2f-26d2-4517-b13f-0ab367f89d29","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}}},{"name":"Get Tasks","id":"831ef240-b05b-4730-aae9-0f439adb1100","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks?page=1&page_limit=500&status=completed&asbuilt=true","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name","tasks"],"host":["api","test","rendernetworks","com"],"query":[{"description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"key":"page","value":"1"},{"description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"key":"page_limit","value":"500"},{"description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"key":"status","value":"completed"},{"description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"key":"asbuilt","value":"true"}],"variable":[{"id":"c16c4c1e-c9c5-4015-bce2-d084916a9574","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"}]}},"response":[{"id":"2ba053f9-fc98-40b9-8920-256a0c34969e","name":"200 OK","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer <token>","description":"Added as a part of security scheme: bearer"}],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks?page=1&page_limit=500&status=completed&asbuilt=true","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks"],"query":[{"key":"page","value":"1","description":"(Required) "},{"key":"page_limit","value":"500","description":"(Required) "},{"key":"status","value":"completed","description":"(Required) "},{"key":"asbuilt","value":"true","description":"(Required) "}],"variable":[{"key":"project_short_name","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Successful Response \n{\n  \"data\": [\n    {\n      \"project_name\": \"\",\n      \"project_short_name\": \"\",\n      \"project_task_id\": 0,\n      \"status\": \"\",\n      \"task_type\": \"\",\n      \"asset_id\": \"\",\n      \"work_package\": \"\",\n      \"subsector\": \"\",\n      \"street_address\": \"\",\n      \"road_name\": \"\",\n      \"road_number\": \"\",\n      \"labels\": {},\n      \"allocated_to\": \"\",\n      \"released_to\": \"\",\n      \"geometry_type\": \"\",\n      \"geometry\": {},\n      \"original_geometry\": {},\n      \"geometry_changed\": false,\n      \"notes\": \"\",\n      \"created_date\": \"\",\n      \"created_by\": \"\",\n      \"allocated_date\": \"\",\n      \"releasable_date\": \"\",\n      \"released_date\": \"\",\n      \"completed_date\": \"\",\n      \"approved_date\": \"\",\n      \"approved_by\": \"\",\n      \"target_completion_date\": \"\",\n      \"jeopardy_date\": \"\",\n      \"jeopardy_date_cleared\": \"\",\n      \"jeopardy_reason\": \"\",\n      \"forecast_date_released\": \"\",\n      \"forecast_date_completed\": \"\",\n      \"quantity\": 0,\n      \"form_response\": {},\n      \"form_version_id\": \"\",\n      \"units\": [\n        {}\n      ],\n      \"task_metadata\": {},\n      \"link\": {},\n      \"photos\": [\n        {}\n      ]\n    }\n  ],\n  \"page\": 0,\n  \"page_size\": 0,\n  \"page_limit\": 0,\n  \"total_results\": 0\n}"},{"id":"32b07d76-32d3-48bc-bdc6-aef5b2f7561b","name":"422","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks?page=1&page_limit=500&status=completed&asbuilt=true","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks"],"query":[{"key":"page","value":"1","description":"(Required) "},{"key":"page_limit","value":"500","description":"(Required) "},{"key":"status","value":"completed","description":"(Required) "},{"key":"asbuilt","value":"true","description":"(Required) "}],"variable":[{"key":"project_short_name","value":"BLKISL","description":"(Required) (Required)"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"831ef240-b05b-4730-aae9-0f439adb1100"},{"name":"Create Task","id":"b239c5fc-65c2-4514-ba99-bdfe207347e1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"task_type\": \"install_pole\",\n  \"work_package\": \"string\",\n  \"subsector\": \"T1_HUB_0001\",\n  \"task_notes\": \"string\",\n  \"geometry\": {\n    \"type\": \"point\",\n    \"coordinates\": [\n      -71.564547457,\n      41.178204032\n    ]\n  }\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name","tasks"],"host":["api","test","rendernetworks","com"],"query":[],"variable":[{"id":"38516860-e0c0-47ed-bc2f-84cf8d71fd72","description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"}]}},"response":[{"id":"361c78f8-45a7-435d-a71e-184a441bdc5d","name":"200 OK","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer <token>","description":"Added as a part of security scheme: bearer"}],"body":{"mode":"raw","raw":"{\n  \"task_type\": \"install_pole\",\n  \"work_package\": \"string\",\n  \"subsector\": \"T1_HUB_0001\",\n  \"task_notes\": \"string\",\n  \"geometry\": {\n    \"type\": \"point\",\n    \"coordinates\": [\n      -71.564547457,\n      41.178204032\n    ]\n  }\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks"],"variable":[{"key":"project_short_name","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Successful Response \n{\n  \"project_name\": \"\",\n  \"project_short_name\": \"\",\n  \"project_task_id\": 0,\n  \"status\": \"\",\n  \"task_type\": \"\",\n  \"asset_id\": \"\",\n  \"work_package\": \"\",\n  \"subsector\": \"\",\n  \"street_address\": \"\",\n  \"road_name\": \"\",\n  \"road_number\": \"\",\n  \"labels\": {},\n  \"allocated_to\": \"\",\n  \"released_to\": \"\",\n  \"geometry_type\": \"\",\n  \"geometry\": {},\n  \"original_geometry\": {},\n  \"geometry_changed\": false,\n  \"notes\": \"\",\n  \"created_date\": \"\",\n  \"created_by\": \"\",\n  \"allocated_date\": \"\",\n  \"releasable_date\": \"\",\n  \"released_date\": \"\",\n  \"completed_date\": \"\",\n  \"approved_date\": \"\",\n  \"approved_by\": \"\",\n  \"target_completion_date\": \"\",\n  \"jeopardy_date\": \"\",\n  \"jeopardy_date_cleared\": \"\",\n  \"jeopardy_reason\": \"\",\n  \"forecast_date_released\": \"\",\n  \"forecast_date_completed\": \"\",\n  \"quantity\": 0,\n  \"form_response\": {},\n  \"form_version_id\": \"\",\n  \"units\": [\n    {}\n  ],\n  \"task_metadata\": {},\n  \"link\": {},\n  \"photos\": [\n    {}\n  ]\n}"},{"id":"f343174c-c871-4d2e-b515-2d2c8086781d","name":"422","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"task_type\": \"install_pole\",\n  \"work_package\": \"string\",\n  \"subsector\": \"T1_HUB_0001\",\n  \"task_notes\": \"string\",\n  \"geometry\": {\n    \"type\": \"point\",\n    \"coordinates\": [\n      -71.564547457,\n      41.178204032\n    ]\n  }\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/tasks","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","tasks"],"variable":[{"key":"project_short_name","value":"BLKISL","description":"(Required) "}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"b239c5fc-65c2-4514-ba99-bdfe207347e1"}],"id":"85571779-b258-4cbc-8c02-f4ee9bdd6dbc","description":"<p>Task dependencies and dependents are essential to ensuring logical workflows within the Render platform.</p>\n<p>By defining relationships between tasks, they establish a structured sequence of actions, enabling efficient project and construction management while minimizing delays.</p>\n<h3 id=\"task-types\"><strong>Task Types</strong></h3>\n<h4 id=\"engineering-planning-and-governance\"><strong>Engineering, Planning, and Governance</strong></h4>\n<p>These tasks ensure the project complies with regulations and is executed according to approved designs.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Task Type</th>\n<th>Description</th>\n<th>Role in Construction</th>\n<th>Situational Awareness &amp; Financial Relevance</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>change_request_approval</code></td>\n<td>Review and approve requested deviations from original plan (e.g., route changes, materials)</td>\n<td>Ensures planned vs actual build is aligned</td>\n<td>Signals scope change → adjust budgets or PO commitments</td>\n</tr>\n<tr>\n<td><code>permitting</code></td>\n<td>Obtain required municipal or state permits for civil, electrical, or pole access work</td>\n<td>Gatekeeper for physical work</td>\n<td>Delays impact timelines → affects when to release funds</td>\n</tr>\n<tr>\n<td><code>field_observation</code></td>\n<td>Site inspections (QA, pre/post-build photos, compliance checks)</td>\n<td>Quality control and verification</td>\n<td>Allows milestone validation → supports invoice release or progress claims</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"civil--electrical-construction\"><strong>Civil &amp; Electrical Construction</strong></h4>\n<p>Involves groundwork and preparation to support network infrastructure.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Task Type</th>\n<th>Description</th>\n<th>Role in Construction</th>\n<th>Situational Awareness &amp; Financial Relevance</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>electrical_make_ready_work</code></td>\n<td>Adjust power infrastructure (e.g., move/replace poles) for fiber install</td>\n<td>Prepares shared assets (poles)</td>\n<td>Completion needed before aerial tasks → key to unlock funding draw</td>\n</tr>\n<tr>\n<td><code>install_conduit</code></td>\n<td>Place conduit for underground fiber pulls</td>\n<td>Enables protected UG path</td>\n<td>Supports asset capitalization as installed</td>\n</tr>\n<tr>\n<td><code>install_vault</code></td>\n<td>Install below-ground vaults for access and splicing</td>\n<td>Underground access point</td>\n<td>Vault installation tracked for asset tagging</td>\n</tr>\n<tr>\n<td><code>install_pedistal</code></td>\n<td>Surface-level access points for fiber connections</td>\n<td>Critical for access/maintenance</td>\n<td>Inventory update and depreciation tracking</td>\n</tr>\n<tr>\n<td><code>install_anchor</code></td>\n<td>Guy wire anchors to stabilize poles</td>\n<td>Supports aerial span integrity</td>\n<td>Completion confirms pole site stability and readiness</td>\n</tr>\n<tr>\n<td><code>install_cabinet</code></td>\n<td>Install electronic enclosure (e.g., OLT cabinets, splitter cabinets)</td>\n<td>Termination or split points</td>\n<td>High-value asset milestone → capital asset trigger</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"aerial-infrastructure-deployment\"><strong>Aerial Infrastructure Deployment</strong></h4>\n<p>Involves stringing fiber across utility poles.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Task Type</th>\n<th>Description</th>\n<th>Role in Construction</th>\n<th>Situational Awareness &amp; Financial Relevance</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>install_strand</code></td>\n<td>Install support wire between poles</td>\n<td>Supports fiber cable installation</td>\n<td>Prerequisite → confirms aerial path is viable</td>\n</tr>\n<tr>\n<td><code>install_aerial_fiber</code></td>\n<td>Install fiber cable on strand</td>\n<td>Primary medium for signal</td>\n<td>Actual build milestone → triggers material usage</td>\n</tr>\n<tr>\n<td><code>install_aerial_nap_tail</code></td>\n<td>Connect NAPs to aerial fiber</td>\n<td>Final distribution segment to homes</td>\n<td>Allows activation &amp; provisioning → revenue alignment</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"underground-fiber-deployment\"><strong>Underground Fiber Deployment</strong></h4>\n<p>Handles below-ground network fiber installs.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Task Type</th>\n<th>Description</th>\n<th>Role in Construction</th>\n<th>Situational Awareness &amp; Financial Relevance</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>install_underground_fiber</code></td>\n<td>Pull fiber through installed conduit</td>\n<td>Builds primary or distribution path</td>\n<td>Completion enables service zones → triggers build cost recovery</td>\n</tr>\n<tr>\n<td><code>install_ug_nap_tail</code></td>\n<td>Connect underground NAPs to fiber lines</td>\n<td>Final leg to access point</td>\n<td>Connects to premise or cabinet → aligns with customer activation planning</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"distribution-devices-and-splicing\"><strong>Distribution Devices and Splicing</strong></h4>\n<p>Tasks related to connecting and managing network segments.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Task Type</th>\n<th>Description</th>\n<th>Role in Construction</th>\n<th>Situational Awareness &amp; Financial Relevance</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>install_nap_mst</code></td>\n<td>Install NAPs (network access points) or MSTs (multi-service terminals)</td>\n<td>Enables customer connections</td>\n<td>High inventory cost item → trigger for asset capitalization</td>\n</tr>\n<tr>\n<td><code>install_splice_enclosure</code></td>\n<td>Install enclosure for fiber splicing</td>\n<td>Protects junctions from weather or damage</td>\n<td>Affects reliability and QA metrics → part of depreciation schedule</td>\n</tr>\n<tr>\n<td><code>splice_reentry</code></td>\n<td>Reopen and perform work inside existing splice closures</td>\n<td>Maintenance or changes post-acceptance</td>\n<td>Signals post-installation intervention → affects close-out timing</td>\n</tr>\n<tr>\n<td><code>nap_otdr</code></td>\n<td>Optical Time Domain Reflectometer test of fiber runs</td>\n<td>Verifies fiber quality</td>\n<td>Used for acceptance → triggers financial release or billing readiness</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"rectification-change-and-qa-follow-up\"><strong>Rectification, Change, and QA Follow-up</strong></h4>\n<p>Handle corrections and post-deployment issues.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Task Type</th>\n<th>Description</th>\n<th>Role in Construction</th>\n<th>Situational Awareness &amp; Financial Relevance</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>rectification_request</code></td>\n<td>Fix issues found in QA or rejected inspections</td>\n<td>Ensures compliance &amp; quality</td>\n<td>Impacts % completion reporting → delays financial closure</td>\n</tr>\n<tr>\n<td><code>miscellaneous_works</code></td>\n<td>Catch-all for unclassified or custom tasks</td>\n<td>Supports project-specific needs</td>\n<td>May indicate scope creep or custom billing codes</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"task-dependencies\"><strong>Task Dependencies</strong></h3>\n<p>Dependencies represent prerequisite tasks that must be completed before another task can begin.</p>\n<p>For example, if <strong>Task B</strong> depends on <strong>Task A</strong>, <strong>Task B</strong> cannot start until <strong>Task A</strong> is completed.</p>\n<p>A task may have zero, one, or multiple dependencies.</p>\n<p>Tasks with incomplete dependencies are blocked from being released until all prerequisite tasks are completed.</p>\n<h3 id=\"task-dependents\"><strong>Task Dependents</strong></h3>\n<p>Dependents are tasks that cannot proceed until another task is completed.</p>\n<p>For example, <strong>Task C</strong> cannot start until <strong>Task B</strong> is finished.</p>\n<p>A task may have zero, one, or multiple dependent tasks.</p>\n<p>Dependents represent downstream tasks waiting for a specific task to finish.</p>\n<h3 id=\"examples\"><strong>Examples</strong></h3>\n<img src=\"https://content.pstmn.io/01e6973e-96f6-4da7-9245-594eed573af5/UmVuZGVyLXRhc2stZXhhbXBsZS5wbmc=\" />\n\n<h3 id=\"3-step-example-constructing-a-fiber-optic-splice-enclosure\"><strong>3 Step Example: Constructing a Fiber Optic Splice Enclosure</strong></h3>\n<p><strong>Task A: Install the Splice Enclosure Mount</strong></p>\n<p>Secure the enclosure mount to the designated pole or underground location.</p>\n<p><strong>Dependency</strong>: None</p>\n<p><strong>Task B: Splice the Fiber Optic Cables</strong></p>\n<p>Connect and splice the fiber cables within the enclosure according to network design.</p>\n<p><strong>Dependency</strong>: Task A (Enclosure mount installation) must be completed to provide a stable base.</p>\n<p><strong>Task C: Seal and Test the Enclosure</strong></p>\n<p>Close the enclosure, seal it to protect against environmental conditions, and test for signal integrity.</p>\n<p><strong>Dependency</strong>: Task B (Fiber splicing) must be completed to ensure all connections are properly made.</p>\n<h2 id=\"python-example\">Python Example</h2>\n<p><a href=\"https://developer.rendernetworks.com/task-dependencies-and-dependents\">https://developer.rendernetworks.com/task-dependencies-and-dependents</a></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-python\">import logging\nimport sys\nimport requests\n# Please refer to \"Getting Started with Render API\" section @ https://developer.rendernetworks.com/\nPROJECT_SHORT_NAME = \"&lt;Project Short Name&gt;\"\nCLIENT_ID = \"&lt;Client ID&gt;\"\nCLIENT_SECRET = \"&lt;Client Secret&gt;\"\nAUTH_DOMAIN = \"&lt;Auth Domain&gt;\"\nAPI_ENDPOINT_DOMAIN = \"&lt;API Endpoint Domain&gt;\"\nCONTENT_TYPE = \"application/json\"\nPROJECT_TASK_ID = \"&lt;Project Task ID to update&gt;\"\ndef get_access_token(auth_domain, client_id, client_secret):\n    \"\"\"\n    Generate access token by given client id and secret.\n    The access token is used as bearer token for accessing the backend api endpoints\n    \"\"\"\n    token_provider_endpoint = f\"https://{auth_domain}/oauth2/default/v1/token\"\n    headers = {\"accept\": CONTENT_TYPE, \"cache-control\": \"no-cache\", \"content-type\": \"application/x-www-form-urlencoded\"}\n    data = {\"grant_type\": \"client_credentials\", \"scope\": \"customScope\"}\n    response = requests.post(\n        url=token_provider_endpoint, auth=(client_id, client_secret), headers=headers, data=data, timeout=10\n    )\n    return response.json()[\"access_token\"]\nif __name__ == \"__main__\":\n    logger = logging.getLogger()\n    consoleHandler = logging.StreamHandler(sys.stdout)\n    logger.addHandler(consoleHandler)\n    logger.setLevel(logging.INFO)\n    # Generate session token\n    session_token = get_access_token(AUTH_DOMAIN, CLIENT_ID, CLIENT_SECRET)\n    logger.info(f\"Session token: {session_token}\")\n    headers = {\"Accept\": CONTENT_TYPE, \"Authorization\": f\"Bearer {session_token}\"}\n    base_url = f\"https://{API_ENDPOINT_DOMAIN}/projects/{PROJECT_SHORT_NAME}/tasks/{PROJECT_TASK_ID}\"\n    # Get Task Dependencies\n    logger.info(\"Getting Task Dependencies ................ \")\n    task_dependencies_endpoint = f\"{base_url}/dependencies?page=1&amp;page_limit=500\"\n    dependencies_response = requests.get(url=task_dependencies_endpoint, headers=headers, timeout=10)\n    logger.info(f\"Task Dependencies Response: {dependencies_response.json()}\")\n\n</code></pre>\n","_postman_id":"85571779-b258-4cbc-8c02-f4ee9bdd6dbc","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}}},{"name":"task_types","item":[{"name":"{task_type_name}","item":[{"name":"Get Task Type","id":"fefb71e2-a21f-4d2f-adc0-9492e3b25834","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.test.rendernetworks.com/projects/:project_short_name/task_types/:task_type_name","description":"<p>Get specific details of a task type within a project providing scope into endpoint services and contextual form schema defined by task type.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name","task_types",":task_type_name"],"host":["api","test","rendernetworks","com"],"query":[],"variable":[{"id":"539b1234-6333-42bc-b339-dbc0eea9a340","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"},{"id":"f6d512a7-3002-4480-98b4-af5bd1358db4","description":{"content":"<p>(Required) (Required)</p>\n","type":"text/plain"},"type":"any","value":"install_pole","key":"task_type_name"}]}},"response":[{"id":"bdfc70f3-fbb9-4cb4-b11a-4528bcafae7b","name":"200 OK","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer <token>","description":"Added as a part of security scheme: bearer"}],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/task_types/:task_type_name","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","task_types",":task_type_name"],"variable":[{"key":"project_short_name","value":""},{"key":"task_type_name","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Successful Response \n{\n  \"name\": \"\",\n  \"description\": \"\",\n  \"geometry_type\": \"\",\n  \"unit\": \"\",\n  \"form_schema\": {}\n}"},{"id":"4eb9efbe-55ca-4dc7-a258-aa4d03086c35","name":"422","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/task_types/:task_type_name","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","task_types",":task_type_name"],"variable":[{"key":"project_short_name","value":"BLKISL","description":"(Required) (Required)"},{"key":"task_type_name","value":"install_pole","description":"(Required) (Required)"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"fefb71e2-a21f-4d2f-adc0-9492e3b25834"}],"id":"3011500f-2ec1-483a-97d8-3e1b796da95f","description":"<p>Specifed task type within a project providing scope into endpoint services and contextual form schema.</p>\n","_postman_id":"3011500f-2ec1-483a-97d8-3e1b796da95f","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}}},{"name":"Get Task Types","id":"f45fad43-7fc9-4fa8-a13a-68130d4248d7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.test.rendernetworks.com/projects/:project_short_name/task_types?page=1&page_limit=500&form_schema=true","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name","task_types"],"host":["api","test","rendernetworks","com"],"query":[{"description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"key":"page","value":"1"},{"description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"key":"page_limit","value":"500"},{"description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"key":"form_schema","value":"true"}],"variable":[{"id":"3744914c-c577-496d-8730-700047be83bd","description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"}]}},"response":[{"id":"00ad9f71-f45f-4d6f-9242-86a2611d25e9","name":"200 OK","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer <token>","description":"Added as a part of security scheme: bearer"}],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/task_types?page=1&page_limit=500&form_schema=true","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","task_types"],"query":[{"key":"page","value":"1","description":"(Required) "},{"key":"page_limit","value":"500","description":"(Required) "},{"key":"form_schema","value":"true","description":"(Required) "}],"variable":[{"key":"project_short_name","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Successful Response \n{\n  \"data\": [\n    {\n      \"name\": \"\",\n      \"description\": \"\",\n      \"geometry_type\": \"\",\n      \"unit\": \"\",\n      \"form_schema\": {}\n    }\n  ],\n  \"page\": 0,\n  \"page_size\": 0,\n  \"page_limit\": 0,\n  \"total_results\": 0\n}"},{"id":"fd652c41-7165-4a60-a259-3559d06d8da4","name":"422","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name/task_types?page=1&page_limit=500&form_schema=true","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name","task_types"],"query":[{"key":"page","value":"1","description":"(Required) "},{"key":"page_limit","value":"500","description":"(Required) "},{"key":"form_schema","value":"true","description":"(Required) "}],"variable":[{"key":"project_short_name","value":"BLKISL","description":"(Required) "}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"f45fad43-7fc9-4fa8-a13a-68130d4248d7"}],"id":"d6cab086-a7d6-4a84-a2ac-44ec70e897a7","description":"<img src=\"https://content.pstmn.io/879cbf59-7eb9-455c-99b9-eec63a730707/aW1hZ2UucG5n\" alt height=\"428\" width=\"697\" />\n\n<p>Every <strong>Task</strong> has a type - <strong>Task Type</strong>.</p>\n<p>Every <strong>Task Type</strong> prescribes a <strong>Form (Schema)</strong> that the tasks of that type need to use for data collection during task completion. Over time, the Form schema for a task type can change. Thus, Forms are versioned. Thus, for a <strong>Task Type, there can be multiple versions of the Form (schema)</strong>.</p>\n<p>When a <strong>Task</strong> is blueprinted (created), it is assigned a <strong>Task Type</strong>. Which then dictates the <strong>Form (Schema)</strong> that will be used for data collection during the task completion. The latest version of the <strong>Form (Schema)</strong> for that <strong>Task Type</strong> is used.</p>\n<p>The <strong>Form Data</strong> (collected during the completion of tasks) is related to each task along with the <strong>Form Schema version</strong> that was used for that task.</p>\n<p><strong>Example:</strong></p>\n<p>A project has Task Type 'install_fiber' with a Form schema (v1)</p>\n<p>A task (ID 7890) is blueprinted of task type 'install_fiber'</p>\n<p>Task 78910 is completed - thus collecting data according to the From schema v1 of task type 'install_fiber'</p>\n<p>Due to business requirements, modification is made to the Form schema of Task Type 'install_fiber' (thus introducing a new version v2)</p>\n<p>A task (ID 2345) is blueprinted of task type 'install_fiber'</p>\n<p>Task 2345 is completed - thus collecting data according to the From schema v2 of task type 'install_fiber'</p>\n<p>The result is:</p>\n<p>Task ID 7890 has 'Form Data', which follows the v1 of Form schema for task type 'install_fiber'</p>\n<p>Task ID 2345 has 'Form Data', which follows the v2 of Form schema for task type 'install_fiber'</p>\n<p>Thus, in an <strong>AsBuilt Report</strong>, which is essentially a list of completed tasks with associated form data, Form field names (for tasks) can be different based on the task type and the form schema version used for the task.</p>\n<p>In Render Customer API,</p>\n<p>Task Type endpoints provide the <strong>From Schemas</strong> related to each task type.</p>\n<p>Task endpoints provide the <strong>Form Data</strong> (for completed tasks) along with <strong>Task Type</strong> and the <strong>Form Schema version</strong> that was used for data collection during task completion.</p>\n","_postman_id":"d6cab086-a7d6-4a84-a2ac-44ec70e897a7","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}}},{"name":"Get Project","id":"2b6e0c90-5b2d-4130-9038-0578297e00be","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.test.rendernetworks.com/projects/:project_short_name","description":"<p>Get the details of a specified project.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects",":project_short_name"],"host":["api","test","rendernetworks","com"],"query":[],"variable":[{"id":"ea83ff46-b752-403b-b8f5-a6b33a4b7eac","description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"type":"any","value":"BLKISL","key":"project_short_name"}]}},"response":[{"id":"0f4e2367-dcd1-4bb7-9d45-5076a07ed856","name":"200 OK","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer <token>","description":"Added as a part of security scheme: bearer"}],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name"],"variable":[{"key":"project_short_name","value":""}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Successful Response \n{\n  \"name\": \"\",\n  \"short_name\": \"\",\n  \"description\": \"\",\n  \"type\": \"\",\n  \"timezone\": \"\",\n  \"tenant_name\": \"\"\n}"},{"id":"967424c4-cf3d-42c0-aaa3-e1cd7bcfc8ab","name":"422","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.test.rendernetworks.com/projects/:project_short_name","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects",":project_short_name"],"variable":[{"key":"project_short_name","value":"BLKISL","description":"(Required) "}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"2b6e0c90-5b2d-4130-9038-0578297e00be"}],"id":"2d65f101-020e-42d9-aabc-7058188550c5","description":"<h1 id=\"relationships-tasks-task-types-forms\">Relationships: Tasks, Task Types, Forms</h1>\n<img src=\"https://content.pstmn.io/6879e1d9-ac1a-43e2-9995-6f87a6bcfb7f/aW1hZ2UucG5n\" alt height=\"428\" width=\"697\" />\n\n<p>Every <strong>Task</strong> has a type - <strong>Task Type</strong>.</p>\n<p>Every <strong>Task Type</strong> prescribes a <strong>Form (Schema)</strong> that the tasks of that type need to use for data collection during task completion. Over time, the Form schema for a task type can change. Thus, Forms are versioned. Thus, for a <strong>Task Type, there can be multiple versions of the Form (schema)</strong>.</p>\n<p>When a <strong>Task</strong> is blueprinted (created), it is assigned a <strong>Task Type</strong>. Which then dictates the <strong>Form (Schema)</strong> that will be used for data collection during the task completion. The latest version of the <strong>Form (Schema)</strong> for that <strong>Task Type</strong> is used.</p>\n<p>The <strong>Form Data</strong> (collected during the completion of tasks) is related to each task along with the <strong>Form Schema version</strong> that was used for that task.</p>\n<p><strong>Example:</strong>  </p>\n<p>A project has Task Type 'install_fiber' with a Form schema (v1)</p>\n<p>A task (ID 7890) is blueprinted of task type 'install_fiber'</p>\n<p>Task 78910 is completed - thus collecting data according to the From schema v1 of task type 'install_fiber'</p>\n<p>Due to business requirements, modification is made to the Form schema of Task Type 'install_fiber' (thus introducing a new version v2)</p>\n<p>A task (ID 2345) is blueprinted of task type 'install_fiber'</p>\n<p>Task 2345 is completed - thus collecting data according to the From schema v2 of task type 'install_fiber'</p>\n<p>The result is:</p>\n<p>Task ID 7890 has 'Form Data', which follows the v1 of Form schema for task type 'install_fiber'</p>\n<p>Task ID 2345 has 'Form Data', which follows the v2 of Form schema for task type 'install_fiber'</p>\n<p>Thus, in an <strong>AsBuilt Report</strong>, which is essentially a list of completed tasks with associated form data, Form field names (for tasks) can be different based on the task type and the form schema version used for the task.</p>\n<p>In Render Customer API,</p>\n<p>Task Type endpoints provide the <strong>From Schemas</strong> related to each task type.</p>\n<p>Task endpoints provide the <strong>Form Data</strong> (for completed tasks) along with <strong>Task Type</strong> and the <strong>Form Schema version</strong> that was used for data collection during task completion.</p>\n","_postman_id":"2d65f101-020e-42d9-aabc-7058188550c5","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}}},{"name":"Get Projects","id":"6bb993ee-a40c-4a55-88b5-b5d9c0fa8d41","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.test.rendernetworks.com/projects?page=1&page_limit=100","description":"<p>Get a list of all projects scoped to an organization's account. This will reveal the project_short_name's used in endpoint path's in dialogue interacting with a project.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["projects"],"host":["api","test","rendernetworks","com"],"query":[{"description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"key":"page","value":"1"},{"description":{"content":"<p>(Required) </p>\n","type":"text/plain"},"key":"page_limit","value":"100"}],"variable":[]}},"response":[{"id":"9160e9d1-07bf-4c43-8054-c3c5d5c8c970","name":"200 OK","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer <token>","description":"Added as a part of security scheme: bearer"}],"url":{"raw":"https://api.test.rendernetworks.com/projects?page=1&page_limit=100","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects"],"query":[{"key":"page","value":"1","description":"(Required) "},{"key":"page_limit","value":"100","description":"(Required) "}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Successful Response \n{\n  \"data\": [\n    {\n      \"name\": \"\",\n      \"short_name\": \"\",\n      \"description\": \"\",\n      \"type\": \"\",\n      \"timezone\": \"\",\n      \"tenant_name\": \"\"\n    }\n  ],\n  \"page\": 0,\n  \"page_size\": 0,\n  \"page_limit\": 0,\n  \"total_results\": 0\n}"},{"id":"62931a0f-83d7-4813-81cc-171d18323399","name":"422","originalRequest":{"method":"GET","header":[],"url":{"raw":"https://api.test.rendernetworks.com/projects?page=1&page_limit=100","protocol":"https","host":["api","test","rendernetworks","com"],"path":["projects"],"query":[{"key":"page","value":"1","description":"(Required) "},{"key":"page_limit","value":"100","description":"(Required) "}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"// Validation Error \n{\n  \"detail\": [\n    {\n      \"loc\": [\n        {}\n      ],\n      \"msg\": \"\",\n      \"type\": \"\"\n    }\n  ]\n}"}],"_postman_id":"6bb993ee-a40c-4a55-88b5-b5d9c0fa8d41"}],"id":"3d02d028-8100-4d81-8191-5151da6ceb82","description":"<h3 id=\"render-task-types\">Render Task Types</h3>\n<p>In Render Networks’ fiber construction platform, <strong>task types</strong> represent discrete units of work aligned to network build milestones. Understanding each task’s role helps track <strong>construction progress</strong> and coordinate <strong>timely financial operations</strong>, such as capitalizing assets in progress, paying vendor invoices, and managing funding drawdowns.</p>\n<p>Below is a breakdown of the <strong>20 task types</strong>, grouped and explained by <strong>functional category</strong>, followed by how each supports <strong>situational awareness</strong> and <strong>financial support</strong> during a network build:</p>\n<h4 id=\"engineering-planning-and-governance\"><strong>Engineering, Planning, and Governance</strong></h4>\n<p>These tasks ensure the project complies with regulations and is executed according to approved designs.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Task Type</th>\n<th>Description</th>\n<th>Role in Construction</th>\n<th>Situational Awareness &amp; Financial Relevance</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>change_request_approval</code></td>\n<td>Review and approve requested deviations from original plan (e.g., route changes, materials)</td>\n<td>Ensures planned vs actual build is aligned</td>\n<td>Signals scope change → adjust budgets or PO commitments</td>\n</tr>\n<tr>\n<td><code>permitting</code></td>\n<td>Obtain required municipal or state permits for civil, electrical, or pole access work</td>\n<td>Gatekeeper for physical work</td>\n<td>Delays impact timelines → affects when to release funds</td>\n</tr>\n<tr>\n<td><code>field_observation</code></td>\n<td>Site inspections (QA, pre/post-build photos, compliance checks)</td>\n<td>Quality control and verification</td>\n<td>Allows milestone validation → supports invoice release or progress claims</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"civil--electrical-construction\"><strong>Civil &amp; Electrical Construction</strong></h4>\n<p>Involves groundwork and preparation to support network infrastructure.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Task Type</th>\n<th>Description</th>\n<th>Role in Construction</th>\n<th>Situational Awareness &amp; Financial Relevance</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>electrical_make_ready_work</code></td>\n<td>Adjust power infrastructure (e.g., move/replace poles) for fiber install</td>\n<td>Prepares shared assets (poles)</td>\n<td>Completion needed before aerial tasks → key to unlock funding draw</td>\n</tr>\n<tr>\n<td><code>install_conduit</code></td>\n<td>Place conduit for underground fiber pulls</td>\n<td>Enables protected UG path</td>\n<td>Supports asset capitalization as installed</td>\n</tr>\n<tr>\n<td><code>install_vault</code></td>\n<td>Install below-ground vaults for access and splicing</td>\n<td>Underground access point</td>\n<td>Vault installation tracked for asset tagging</td>\n</tr>\n<tr>\n<td><code>install_pedistal</code></td>\n<td>Surface-level access points for fiber connections</td>\n<td>Critical for access/maintenance</td>\n<td>Inventory update and depreciation tracking</td>\n</tr>\n<tr>\n<td><code>install_anchor</code></td>\n<td>Guy wire anchors to stabilize poles</td>\n<td>Supports aerial span integrity</td>\n<td>Completion confirms pole site stability and readiness</td>\n</tr>\n<tr>\n<td><code>install_cabinet</code></td>\n<td>Install electronic enclosure (e.g., OLT cabinets, splitter cabinets)</td>\n<td>Termination or split points</td>\n<td>High-value asset milestone → capital asset trigger</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"aerial-infrastructure-deployment\"><strong>Aerial Infrastructure Deployment</strong></h4>\n<p>Involves stringing fiber across utility poles.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Task Type</th>\n<th>Description</th>\n<th>Role in Construction</th>\n<th>Situational Awareness &amp; Financial Relevance</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>install_strand</code></td>\n<td>Install support wire between poles</td>\n<td>Supports fiber cable installation</td>\n<td>Prerequisite → confirms aerial path is viable</td>\n</tr>\n<tr>\n<td><code>install_aerial_fiber</code></td>\n<td>Install fiber cable on strand</td>\n<td>Primary medium for signal</td>\n<td>Actual build milestone → triggers material usage</td>\n</tr>\n<tr>\n<td><code>install_aerial_nap_tail</code></td>\n<td>Connect NAPs to aerial fiber</td>\n<td>Final distribution segment to homes</td>\n<td>Allows activation &amp; provisioning → revenue alignment</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"underground-fiber-deployment\"><strong>Underground Fiber Deployment</strong></h4>\n<p>Handles below-ground network fiber installs.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Task Type</th>\n<th>Description</th>\n<th>Role in Construction</th>\n<th>Situational Awareness &amp; Financial Relevance</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>install_underground_fiber</code></td>\n<td>Pull fiber through installed conduit</td>\n<td>Builds primary or distribution path</td>\n<td>Completion enables service zones → triggers build cost recovery</td>\n</tr>\n<tr>\n<td><code>install_ug_nap_tail</code></td>\n<td>Connect underground NAPs to fiber lines</td>\n<td>Final leg to access point</td>\n<td>Connects to premise or cabinet → aligns with customer activation planning</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"distribution-devices-and-splicing\"><strong>Distribution Devices and Splicing</strong></h4>\n<p>Tasks related to connecting and managing network segments.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Task Type</th>\n<th>Description</th>\n<th>Role in Construction</th>\n<th>Situational Awareness &amp; Financial Relevance</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>install_nap_mst</code></td>\n<td>Install NAPs (network access points) or MSTs (multi-service terminals)</td>\n<td>Enables customer connections</td>\n<td>High inventory cost item → trigger for asset capitalization</td>\n</tr>\n<tr>\n<td><code>install_splice_enclosure</code></td>\n<td>Install enclosure for fiber splicing</td>\n<td>Protects junctions from weather or damage</td>\n<td>Affects reliability and QA metrics → part of depreciation schedule</td>\n</tr>\n<tr>\n<td><code>splice_reentry</code></td>\n<td>Reopen and perform work inside existing splice closures</td>\n<td>Maintenance or changes post-acceptance</td>\n<td>Signals post-installation intervention → affects close-out timing</td>\n</tr>\n<tr>\n<td><code>nap_otdr</code></td>\n<td>Optical Time Domain Reflectometer test of fiber runs</td>\n<td>Verifies fiber quality</td>\n<td>Used for acceptance → triggers financial release or billing readiness</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"rectification-change-and-qa-follow-up\"><strong>Rectification, Change, and QA Follow-up</strong></h4>\n<p>Handle corrections and post-deployment issues.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Task Type</th>\n<th>Description</th>\n<th>Role in Construction</th>\n<th>Situational Awareness &amp; Financial Relevance</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>rectification_request</code></td>\n<td>Fix issues found in QA or rejected inspections</td>\n<td>Ensures compliance &amp; quality</td>\n<td>Impacts % completion reporting → delays financial closure</td>\n</tr>\n<tr>\n<td><code>miscellaneous_works</code></td>\n<td>Catch-all for unclassified or custom tasks</td>\n<td>Supports project-specific needs</td>\n<td>May indicate scope creep or custom billing codes</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"render-task-type-to-fixed-asset-mapping\">Render Task Type to Fixed Asset Mapping</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Task Type</strong></th>\n<th><strong>Asset Installed</strong></th>\n<th><strong>FA Class</strong></th>\n<th><strong>Typical Useful Life</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>change_request_approval</strong></td>\n<td><em>No new asset</em></td>\n<td>N/A</td>\n<td>N/A</td>\n<td>Approval step only</td>\n</tr>\n<tr>\n<td><strong>electrical_make_ready_work</strong></td>\n<td><strong>Electrical Transformer / Service Pedestal</strong></td>\n<td>Infrastructure</td>\n<td>20 years</td>\n<td>Adds power to energized cabinets or pedestals</td>\n</tr>\n<tr>\n<td><strong>field_observation</strong></td>\n<td><em>No new asset</em></td>\n<td>N/A</td>\n<td>N/A</td>\n<td>Inspections only</td>\n</tr>\n<tr>\n<td><strong>install_aerial_fiber</strong></td>\n<td><strong>Aerial Fiber Cable (144ct, 288ct, etc.)</strong></td>\n<td>Fiber Plant</td>\n<td>20 years</td>\n<td>Cable spans on poles; capitalized as part of fiber plant</td>\n</tr>\n<tr>\n<td><strong>install_aerial_nap_tail</strong></td>\n<td><strong>Aerial NAP Tail Cable Assemblies</strong></td>\n<td>Fiber Plant</td>\n<td>20 years</td>\n<td>Drop‐cable terminations; often low‐volume separate asset class</td>\n</tr>\n<tr>\n<td><strong>install_anchor</strong></td>\n<td><strong>Pole Anchor Assemblies</strong></td>\n<td>Infrastructure</td>\n<td>25 years</td>\n<td>Steel anchors/anchor bolts for guying existing poles</td>\n</tr>\n<tr>\n<td><strong>install_cabinet</strong></td>\n<td><strong>Fiber Distribution Cabinet</strong></td>\n<td>Infrastructure</td>\n<td>15 years</td>\n<td>Outdoor cabinets at huts or pole‐mounted NAPs</td>\n</tr>\n<tr>\n<td><strong>install_conduit</strong></td>\n<td><strong>Underground Conduit (PVC/HDPE)</strong></td>\n<td>Infrastructure</td>\n<td>50 years</td>\n<td>Duct bank installation beneath ground</td>\n</tr>\n<tr>\n<td><strong>install_nap_mst</strong></td>\n<td><strong>Main Service Terminal (MST Cabinet)</strong></td>\n<td>Infrastructure</td>\n<td>15 years</td>\n<td>Centralized NAP where multiple drops aggregate</td>\n</tr>\n<tr>\n<td><strong>install_pedistal</strong></td>\n<td><strong>Pedestal (Fiber Handhole)</strong></td>\n<td>Infrastructure</td>\n<td>30 years</td>\n<td>Plastic/composite enclosures at splice or drop locations</td>\n</tr>\n<tr>\n<td><strong>install_splice_enclosure</strong></td>\n<td><strong>Splice Closure (Fiber Splice Box)</strong></td>\n<td>Infrastructure</td>\n<td>25 years</td>\n<td>Protect splices in aerial or buried splice points</td>\n</tr>\n<tr>\n<td><strong>install_strand</strong></td>\n<td><strong>Messenger Strand Wire</strong></td>\n<td>Infrastructure</td>\n<td>30 years</td>\n<td>Steel strand supporting aerial fiber spans</td>\n</tr>\n<tr>\n<td><strong>install_ug_nap_tail</strong></td>\n<td><strong>Underground Drop Cable Assemblies</strong></td>\n<td>Fiber Plant</td>\n<td>20 years</td>\n<td>Buried tail cable from vault/pedestal to customer premises</td>\n</tr>\n<tr>\n<td><strong>install_underground_fiber</strong></td>\n<td><strong>Buried Fiber Cable (144ct, 288ct, etc.)</strong></td>\n<td>Fiber Plant</td>\n<td>20 years</td>\n<td>Primary cable installed in conduit or direct‐bored trenches</td>\n</tr>\n<tr>\n<td><strong>install_vault</strong></td>\n<td><strong>Underground Vault (Concrete/Polymer)</strong></td>\n<td>Infrastructure</td>\n<td>50 years</td>\n<td>Manholes or vaults for splice enclosures and cable pulls</td>\n</tr>\n<tr>\n<td><strong>miscellaneous_works</strong></td>\n<td><strong>Various Small Tools &amp; Fittings</strong></td>\n<td>Equipment (Tooling)</td>\n<td>5 years</td>\n<td>Specialty tools or specialty hardware kits (capitalize if &gt;$/unit)</td>\n</tr>\n<tr>\n<td><strong>nap_otdr</strong></td>\n<td><strong>OTDR Testing Equipment</strong></td>\n<td>Test Equipment</td>\n<td>3 years</td>\n<td>Optical Time Domain Reflectometer; often a depreciable asset</td>\n</tr>\n<tr>\n<td><strong>permitting</strong></td>\n<td><em>No asset</em></td>\n<td>N/A</td>\n<td>N/A</td>\n<td>Regulatory cost only (expense)</td>\n</tr>\n<tr>\n<td><strong>rectification_request</strong></td>\n<td><em>No asset</em></td>\n<td>N/A</td>\n<td>N/A</td>\n<td>Rework instruction only</td>\n</tr>\n<tr>\n<td><strong>splice_reentry</strong></td>\n<td><em>No asset</em></td>\n<td>N/A</td>\n<td>N/A</td>\n<td>Additional labor / materials (expense)</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"complete-python-example\">Complete Python Example</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-python\">'''\nRender Networks - Get projects, and then get tasks from first project returned\n'''\nimport requests\nimport json\n# Please fill in the below fields with the information you recieved \n# when you signed up for an API account\nAUTH_DOMAIN = &amp;#x27;&lt;YOUR AUTH DOMAIN&gt;&amp;#x27;\nCLIENT_ID = &amp;#x27;&lt;YOUR CLIENT ID&gt;&amp;#x27;\nCLIENT_SECRET = &amp;#x27;&lt;YOUR CLIENT SECRET&gt;&amp;#x27;\nAPI_ENDPOINT_DOMAIN = &amp;#x27;&lt;YOUR API DOMAIN&gt;&amp;#x27;\n# Don't alter anything below this line\ndef get_access_token(AUTH_DOMAIN, CLIENT_ID, CLIENT_SECRET):\n    \"\"\"\n        Generate access token by given client id and secret.\n        The access token is used as bearer token for accessing the backend api endpoints\n    \"\"\"\n    token_uri = f\"{AUTH_DOMAIN}/oauth2/default/v1/token\"\n    headers = {\n        'accept': 'application/json',\n        'cache-control': 'no-cache',\n        'content-type': 'application/x-www-form-urlencoded'\n    }\n    data = {\n        'grant_type': 'client_credentials', \n        'scope': 'customScope',\n    }\n    resp = requests.post(token_uri, auth=(CLIENT_ID, CLIENT_SECRET), headers=headers, data=data)\n    return resp.json()['access_token']\ndef get_projects(access_token, API_ENDPOINT_DOMAIN):\n    \"\"\"\n        Get a list of projects\n    \"\"\"\n    render_url = f\"https://{API_ENDPOINT_DOMAIN}/projects/?page=1&amp;page_limit=100\"\n    headers = {\n       'Accept': 'application/json',\n       'Authorization': f\"Bearer {access_token}\",\n    }\n    return requests.get(render_url, headers=headers)\ndef get_tasks(access_token, API_ENDPOINT_DOMAIN, project_short_name):\n    \"\"\"\n        get task list by given project short name\n    \"\"\"\n    render_url = f\"https://{API_ENDPOINT_DOMAIN}/projects/{project_short_name}/tasks/?page=1&amp;page_limit=100\"\n    headers = {\n       'Accept': 'application/json',\n       'Authorization': f\"Bearer {access_token}\",\n    }\n    return requests.get(render_url, headers=headers)\nif __name__ == '__main__':\n    # Retrieve access token \n    access_token = get_access_token(AUTH_DOMAIN, CLIENT_ID, CLIENT_SECRET)\n    print(f\"{access_token}\\n\")\n    # Get all accessible projects\n    resp = get_projects(access_token, API_ENDPOINT_DOMAIN)\n    print(\"Response Code: \", resp.status_code)\n    print(\"Response Body: \", resp.text)\n    # Get the first project from the list, then retrieve the tasks under project\n    projects = json.loads(resp.text)['data']\n    prj_short_name = projects[0]['short_name']\n    print(\"First Project Short Name: \", prj_short_name)\n    print(json.dumps(projects, indent=4))\n    #Get tasks from first project\n    tasks_resp = get_tasks(access_token, API_ENDPOINT_DOMAIN, prj_short_name)\n    tasks = json.loads(tasks_resp.text)['data']\n    print(\"Response Code: \", tasks_resp.status_code)\n    print(json.dumps(tasks, indent=4))\n\n</code></pre>\n<p><a href=\"https://developer.rendernetworks.com/get-projects-and-tasks\">https://developer.rendernetworks.com/get-projects-and-tasks</a></p>\n","_postman_id":"3d02d028-8100-4d81-8191-5151da6ceb82","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}}},{"name":"ping","item":[{"name":"/","id":"054ed654-87b5-4bb4-8f30-0c1420d1992b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://api.test.rendernetworks.com/ping","description":"<p>Endpoint to test the API connectivity</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}},"urlObject":{"protocol":"https","path":["ping"],"host":["api","test","rendernetworks","com"],"query":[],"variable":[]}},"response":[{"id":"02906970-39b3-4791-9186-1dc7522fd4db","name":"200 OK","originalRequest":{"method":"GET","header":[{"description":"Added as a part of security scheme: bearer","key":"Authorization","value":"Bearer <token>"}],"url":"https://api.test.rendernetworks.com/ping"},"status":"OK","code":200,"_postman_previewlanguage":"text","header":[],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"054ed654-87b5-4bb4-8f30-0c1420d1992b"}],"id":"0399ed53-e7b1-428f-bd6d-dcdd3cff5995","description":"<p>In a <strong>cloud-native environment</strong>, the <code>/ping</code> endpoint is commonly used as a <strong>lightweight health check</strong> for service availability and responsiveness. Here's how it fits into the broader architecture and how to implement and use it effectively.</p>\n<h2 id=\"purpose\">Purpose</h2>\n<p>The <code>/ping</code> endpoint is designed to:</p>\n<ul>\n<li><p>Respond quickly and simply (e.g., 200 OK with \"pong\")</p>\n</li>\n<li><p>Verify that the service is <strong>alive and responding to HTTP requests</strong></p>\n</li>\n<li><p>Act as a health signal for:</p>\n<ul>\n<li><p><strong>Load balancers</strong></p>\n</li>\n<li><p><strong>Orchestrators</strong> (like Kubernetes)</p>\n</li>\n<li><p><strong>Monitoring systems</strong></p>\n</li>\n</ul>\n</li>\n</ul>\n<h3 id=\"expectation\">Expectation</h3>\n<p>A typical <code>/ping</code> endpoint:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-wasm\">GET /ping\n→ 200 OK\n→ Body: \"pong\" (optional)\n\n</code></pre>\n<h3 id=\"kubernetes\">Kubernetes</h3>\n<ul>\n<li><p><strong>Liveness probe</strong>: Restarts the container if <code>/ping</code> doesn't respond</p>\n</li>\n<li><p><strong>Readiness probe</strong>: Determines if traffic can be routed to the container</p>\n</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-yaml\">livenessProbe:\n  httpGet:\n    path: /ping\n    port: 8080\n  initialDelaySeconds: 5\n  periodSeconds: 10\n  timeoutSeconds: 1\n\n</code></pre>\n<h3 id=\"load-balancers\">Load Balancers</h3>\n<p>Set the <strong>health check URL</strong> to <code>/ping</code>. Example:</p>\n<ul>\n<li><p>Protocol: HTTP</p>\n</li>\n<li><p>Path: <code>/ping</code></p>\n</li>\n<li><p>Success codes: <code>200</code></p>\n</li>\n<li><p>Timeout: 5s</p>\n</li>\n<li><p>Interval: 30s</p>\n</li>\n</ul>\n<p>This ensures:</p>\n<ul>\n<li><p>Healthy instances receive traffic</p>\n</li>\n<li><p>Unhealthy ones are pulled from rotation</p>\n</li>\n</ul>\n<h3 id=\"service-meshes\">Service Meshes</h3>\n<p>Service meshes can route and restart services based on health check behavior. <code>/ping</code> is used as a <strong>sidecar check</strong>.</p>\n<h3 id=\"monitoring--alerting\">Monitoring &amp; Alerting</h3>\n<ul>\n<li><p>Latency</p>\n</li>\n<li><p>Availability</p>\n</li>\n<li><p>Error rates</p>\n</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-yaml\">- alert: ServiceDown\n  expr: probe_success{job=\"myservice-ping\"} == 0\n  for: 2m\n  labels:\n    severity: critical\n\n</code></pre>\n<h3 id=\"best-practice-review\">Best Practice Review</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Principle</th>\n<th>Why</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Keep <code>/ping</code> fast and simple</td>\n<td>Reduces false negatives under load</td>\n</tr>\n<tr>\n<td>Use for shallow checks</td>\n<td>Don’t include DB, cache, etc. in <code>/ping</code>; use <code>/healthz</code> for that</td>\n</tr>\n<tr>\n<td>Separate liveness and readiness</td>\n<td>Liveness = self-healing, Readiness = routing control</td>\n</tr>\n<tr>\n<td>Expose <code>/ping</code> only internally</td>\n<td>Avoid exposing it to public APIs unless needed</td>\n</tr>\n</tbody>\n</table>\n</div><p>/ping provides a shallow health check for systems integration.</p>\n","_postman_id":"0399ed53-e7b1-428f-bd6d-dcdd3cff5995","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}}},{"name":"token","item":[{"name":"Token","id":"1bcdc8a7-4eb9-4d8a-bb4b-2790e17b9603","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"{{basicAuthUsername}}"},{"key":"password","value":"{{basicAuthPassword}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded"}],"body":{"mode":"urlencoded","urlencoded":[{"description":"<p>(Required) </p>\n","key":"grant_type","value":"client_credentials"},{"description":"<p>(Required) </p>\n","key":"scope","value":"customScope"}]},"url":"https://rendernetworks-dev-4010329.okta.com/oauth2/default/v1/token","urlObject":{"protocol":"https","path":["oauth2","default","v1","token"],"host":["rendernetworks-dev-4010329","okta","com"],"query":[],"variable":[]}},"response":[{"id":"a8272825-1b3c-4b16-adfa-734f0971dc7b","name":"200 OK","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/x-www-form-urlencoded"},{"description":"Added as a part of security scheme: basic","key":"Authorization","value":"Basic <credentials>"}],"body":{"mode":"urlencoded","urlencoded":[{"description":"(Required) ","key":"grant_type","value":"client_credentials"},{"description":"(Required) ","key":"scope","value":"customScope"}]},"url":"https://rendernetworks-dev-4010329.okta.com/oauth2/default/v1/token"},"status":"OK","code":200,"_postman_previewlanguage":"text","header":[],"cookie":[],"responseTime":null,"body":null}],"_postman_id":"1bcdc8a7-4eb9-4d8a-bb4b-2790e17b9603"}],"id":"9b969bea-34c3-4cff-854b-f09e6d3e17b4","description":"<p>Authenticaing</p>\n<img src=\"https://content.pstmn.io/8f6afea3-b114-40f2-a317-b9d37f48de91/aW1hZ2UucG5n\" width=\"800\" height=\"500\" />\n\n<p><a href=\"https://developer.rendernetworks.com/how-to-request-client-id-and-client-secret\">https://developer.rendernetworks.com/how-to-request-client-id-and-client-secret</a></p>\n<h2 id=\"setup\">Setup</h2>\n<h2 id=\"to-access-the-render-networks-api-you-must-acquire-a-set-of-api-credentials-comprising-a-client-id-and-a-client-secret-from-our-platform-to-generate-these-credentials-an-organization-administrator-of-your-render-account-should-follow-these-steps-within-the-account-admin-section-of-the-render-platform\">To access the Render Networks API, you must acquire a set of API credentials comprising a Client ID and a Client Secret from our platform. To generate these credentials, an Organization Administrator of your Render account should follow these steps within the Account Admin section of the Render platform:</h2>\n<ul>\n<li><p>Navigate to the API Access page </p>\n</li>\n<li><p>Click on the 'Generate' button above the API credentials table</p>\n</li>\n<li><p>Provide a description for the application that requires access to the Render API</p>\n</li>\n<li><p>Choose the desired access level for the credentials: Read-Only or Read/Write</p>\n</li>\n<li><p>Click the 'Generate' button</p>\n</li>\n<li><p>The newly generated API credentials 'Client ID' and 'Client Secret' will be displayed in the API Credentials table.</p>\n</li>\n<li><p>Copy the 'Client ID' and the associated hidden 'Client Secret' using the copy icon to copy the 'Client Secret' to your clipboard. You can subsequently paste these credentials wherever they are required.</p>\n</li>\n</ul>\n<h2 id=\"python-usage\">Python Usage</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-python\">'''\nRender Networks - Generate JWT Example\n'''\nimport requests\n# Please fill in the below fields with the information you recieved \n# when you signed up for an API account\nAUTH_DOMAIN = &amp;#x27;&lt;YOUR AUTH DOMAIN&gt;&amp;#x27;\nCLIENT_ID = &amp;#x27;&lt;YOUR CLIENT ID&gt;&amp;#x27;\nCLIENT_SECRET = &amp;#x27;&lt;YOUR CLIENT SECRET&gt;&amp;#x27;\n# Don't alter anything below this line\ndef get_access_token(custom_domain, client_id, client_secret):\n    token_uri = f\"{custom_domain}/oauth2/default/v1/token\"\n    headers = {\n        'accept': 'application/json',\n        'cache-control': 'no-cache',\n        'content-type': 'application/x-www-form-urlencoded'\n    }\n    data = {\n        'grant_type': 'client_credentials', \n        'scope': 'customScope',\n    }\n    resp = requests.post(token_uri, auth=(client_id, client_secret), headers=headers, data=data)\n    return resp.json()\nif __name__ == '__main__':\n    response = get_access_token(AUTH_DOMAIN, CLIENT_ID, CLIENT_SECRET)\n    print()\n    for key in response:\n        print(f'{key}: {response[key]}\\n')\n\n</code></pre>\n","_postman_id":"9b969bea-34c3-4cff-854b-f09e6d3e17b4","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":true,"source":{"_postman_id":"85259170-35ba-48bb-8761-e5b8a5a637f0","id":"85259170-35ba-48bb-8761-e5b8a5a637f0","name":"render-customer-api","type":"collection"}}}],"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]}},"variable":[{"key":"baseUrl","value":"https://api.test.rendernetworks.com"}]}