{"info":{"_postman_id":"5bc456b8-aae3-4110-812d-6b125b35bbb2","name":"BuiltGrid - Builder Apps","description":"<html><head></head><body><p>The following endpoints connect <strong>construction management or estimating apps</strong> to the BuiltGrid construction software platform and supply chain network. Leveraging our API endpoints, you can create a cohesive and efficient user experience and enable the seamless transfer of data from one platform to another within our extensive supply chain ecosystem. Integration with BuiltGrid streamlines procurement functions like quoting, ordering, chatting and scheduling with tens of thousands of trades and building materials suppliers. Trades and suppliers get the work they want, and builders get to build homes faster.</p>\n<p><a href=\"https://builtgrid.com/wp-content/uploads/2025/05/Partner_Integration_Intro_Quick_Start_Jun2025.pdf\"><b>Download our quick start summary</b></a></p>\n<img src=\"https://content.pstmn.io/0aa94456-698c-466e-8eac-4a6272181ecb/QnVpbHRHcmlkX0FQSV9QaGFzZTFfMjAyNS1QYXJ0bmVyX092ZXJ2aWV3X3Y1LnBuZw==\" alt=\"\">\n\n<h2 id=\"key-procurement-process\">Key procurement process</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Key functions</strong></th>\n<th>In-app features</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><a href=\"https://builtgrid-official.postman.co/workspace/aac16ea4-c018-4a4b-b6e7-aff593aed5bd/folder/32527745-c2d78382-705b-4150-9fd6-a3f5d04f0337?action=share&amp;source=copy-link&amp;creator=32527745&amp;ctx=documentation\">Integrations page</a></td>\n<td>Connect to BuiltGrid account  <br>Sync vendors and items</td>\n</tr>\n<tr>\n<td><a href=\"https://builtgrid-official.postman.co/workspace/aac16ea4-c018-4a4b-b6e7-aff593aed5bd/folder/32527745-5e225534-64a4-4cdc-9115-50b9aa195313?action=share&amp;source=copy-link&amp;creator=32527745&amp;ctx=documentation\">Project/Estimate</a></td>\n<td>Create/update project  <br>Create/update project docs</td>\n</tr>\n<tr>\n<td><a href=\"https://builtgrid-official.postman.co/workspace/aac16ea4-c018-4a4b-b6e7-aff593aed5bd/folder/32527745-38978895-b275-46c2-a5bf-b33d3b54e231?action=share&amp;source=copy-link&amp;creator=32527745&amp;ctx=documentation\">Request for Quote (RFQ)</a></td>\n<td>Send RFQ  <br>RFQ job selection</td>\n</tr>\n<tr>\n<td><a href=\"https://builtgrid-official.postman.co/workspace/aac16ea4-c018-4a4b-b6e7-aff593aed5bd/folder/32527745-dd424612-45e2-42f0-adb1-ae39a1680ff3?action=share&amp;source=copy-link&amp;creator=32527745&amp;ctx=documentation\">Quotes<br></a>While in development or testing mode using staging server, we need to manually submit quotes on your behalf to simulate supplier quote responses. Just send us a request by Slack or email.</td>\n<td>Send quotes and docs  <br>Receive quotes and docs  <br>Or receive quote comparison  <br>(Eg. estimating apps)</td>\n</tr>\n<tr>\n<td><a href=\"https://builtgrid-official.postman.co/workspace/aac16ea4-c018-4a4b-b6e7-aff593aed5bd/folder/32527745-ff11d4e3-b98a-4497-96ac-c4d6b53d587f?action=share&amp;source=copy-link&amp;creator=32527745&amp;ctx=documentation\">Orders</a></td>\n<td>Send order  <br>Receive order  <br>Receive final contract  <br>Receive supplier details</td>\n</tr>\n<tr>\n<td>Integration: Stage #2</td>\n<td>Invoices  <br>Scheduling  <br>Chat  <br>Availability  <br>Payment</td>\n</tr>\n<tr>\n<td>Service regions</td>\n<td>We currently service Australia, with other regions coming soon.</td>\n</tr>\n</tbody>\n</table>\n</div><h1 id=\"getting-started-guide\">Getting started guide</h1>\n<h2 id=\"api-environments\">API Environments</h2>\n<p>There are two environments, including staging and production</p>\n<ul>\n<li><p>Implement proper error handling for all API calls and redirects.</p>\n</li>\n<li><p>Use HTTPS for all production communications to ensure security.</p>\n</li>\n<li><p>Keep client secrets and tokens secure and never expose them to the client-side.</p>\n</li>\n<li><p>The BuiltGrid authorisation server forces token refresh.</p>\n</li>\n<li><p>Consider using OAuth 2.0 libraries specific to your programming language to simplify implementation and improve security.</p>\n</li>\n</ul>\n<h2 id=\"servers\">Servers</h2>\n<p><strong>Staging</strong><br>When you are in development and testing APIs, please ensure server alias is set to \"staging_server\".</p>\n<p><strong>Production</strong><br>Live APIs are served from api.builtgrid.com. We will share separate client ID and client secret for production environment.</p>\n<h2 id=\"branding-and-logos-for-your-app\">Branding and logos for your app</h2>\n<p><strong>Tagline</strong><br>Get 9% project gains from Australia's #1 network of trades and suppliers for home builder procurement.</p>\n<p><strong>Description</strong><br>BuiltGrid is a software platform that streamlines procurement and connects tens of thousands of trades and building materials suppliers with home builders for pricing, quoting, ordering and scheduling in the estimating or construction management app you use daily.</p>\n<p>Please use one of the following logos on your integrations page:</p>\n<p><strong>SVG</strong><br><a href=\"https://builtgrid.com/assets/images/BuiltGrid_Logo_Colour_Wide.svg\">https://builtgrid.com/assets/images/BuiltGrid_Logo_Colour_Wide.svg</a></p>\n<p><strong>PNG</strong><br><a href=\"https://app.builtgrid.com/assets/media/BGD_Logo_Hori_500p.png\">https://app.builtgrid.com/assets/media/BGD_Logo_Hori_500p.png</a></p>\n<p><strong>Create free account</strong><br>If your customer doesn't have a BuiltGrid account, please include a link below tagline \"Create free account\" and link to <a href=\"https://app.builtgrid.com/create_account/\">https://app.builtgrid.com/create_account/?utm_source=[YourPartnerName]</a></p>\n<h2 id=\"testing-and-help\"><strong>Testing and help</strong></h2>\n<p>We provide a dedicated slack channel for your team to communicate with our team directly.</p>\n<p>The API endpoints we have provided will allow you to create a test from start to finish using the ids you insert. Most endpoints require specific ids of prior endpoints to be successful. The responses will highlight key information that is missing or incorrect.</p>\n<h2 id=\"builtgrid-testing-responses\">BuiltGrid testing responses</h2>\n<p>Since BuiltGrid is a two-sided system, there is one instance where you need to request our manual intervention to add quotes in response to a RFQ. This is only applicable in the staging environment.</p>\n<p>Immediately following a RFQ insert for an active project, if you want to check quote comparison or receive quotes, let us know and we will add quotes.</p>\n<p><strong>API inputs</strong></p>\n<p>We implement strict input validation on the API side to disallow unsafe characters such<br>as &lt;, &gt; or as they are commonly used in scripting.</p>\n<p>John Murphy<br><a href=\"https://mailto:developer@builtgrid.com\">developer@builtgrid.com</a><br>+61 412 233 750</p></body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Getting started guide","slug":"getting-started-guide"}],"owner":"32527745","collectionId":"5bc456b8-aae3-4110-812d-6b125b35bbb2","publishedId":"2sAYdeNCKz","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"00AFEF"},"publishDate":"2025-02-25T21:22:24.000Z"},"item":[{"name":"OAuth","item":[{"name":"Create a token","id":"decec624-ae76-43a3-b28e-2108956f8871","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"grant_type\": \"authorization_code\",\n    \"client_id\": \"{{client_id}}\",\n    \"client_secret\": \"{{client_secret}}\",\n    \"auth_code\":\"fa0d21041daf732503d0697eebcd354f97e9baac260461126cd12454837639a9e33c1886f78f11de7f6d8969d4eef5ac9913deeb5114826078361d7fee06794f\",\n    \"redirect_uri\": \"https://test.com/callback\"\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/oauth/token/","description":"<p>Refer above <a href=\"https://builtgrid-4079.postman.co/workspace/aac16ea4-c018-4a4b-b6e7-aff593aed5bd/folder/34510405-196b475b-fda1-4307-b049-d2764079784b?action=share&amp;source=copy-link&amp;creator=32527745&amp;ctx=documentation\">OAuth overview</a>.</p>\n<p>We provide you with a <code>client_id</code> and <code>client_secret</code> to get started in the staging environment. And a different set will be provided for production environment.</p>\n","urlObject":{"path":["api","oauth","token",""],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"decec624-ae76-43a3-b28e-2108956f8871"},{"name":"Refresh tokens","event":[{"listen":"test","script":{"id":"0442af3b-c2c1-41a7-a545-71959712cd92","exec":[""],"type":"text/javascript","packages":{}}}],"id":"fd31628f-7219-4c9d-9002-9572d6604302","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"grant_type\": \"refresh_token\", \n    \"refresh_token\": \"{{refresh_token}}\",\n    \"client_secret\": \"{{client_secret}}\",\n    \"client_id\": \"{{client_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/oauth/token/","description":"<p>Refer above <a href=\"https://builtgrid-4079.postman.co/workspace/aac16ea4-c018-4a4b-b6e7-aff593aed5bd/folder/34510405-196b475b-fda1-4307-b049-d2764079784b?action=share&amp;source=copy-link&amp;creator=32527745&amp;ctx=documentation\">OAuth overview</a>.</p>\n<p>Each endpoint will check the token is current. The <code>access_token</code> expires every 24 hours so generate and store a new <code>access_token</code> and <code>refresh_token</code> using <code>refresh_token</code> endpoint.</p>\n<p>If the user doesn't access the integration for 365 days or more, in other words the access and refresh tokens haven't been renewed in 365 days or more, they will be forced to authenticate again.</p>\n","urlObject":{"path":["api","oauth","token",""],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"fd31628f-7219-4c9d-9002-9572d6604302"},{"name":"Revoke tokens","id":"c811118f-473f-4c2e-895c-410af53d6f6a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{    \n    \"access_token\": \"{{access_token}}\",\n    \"client_secret\": \"{{client_secret}}\",\n    \"client_id\": \"{{client_id}}\"\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/oauth/revoke/","description":"<p>Refer above <a href=\"https://builtgrid-4079.postman.co/workspace/aac16ea4-c018-4a4b-b6e7-aff593aed5bd/folder/34510405-196b475b-fda1-4307-b049-d2764079784b?action=share&amp;source=copy-link&amp;creator=32527745&amp;ctx=documentation\">OAuth overview</a>.</p>\n<p>This endpoint can be used to disconnect users. Revoking the access will force the system to generate a new pair of access and refresh tokens.</p>\n","urlObject":{"path":["api","oauth","revoke",""],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"c811118f-473f-4c2e-895c-410af53d6f6a"}],"id":"c2d78382-705b-4150-9fd6-a3f5d04f0337","description":"<p>Your app's integration page will list BuiltGrid as a partner. Please include our logo, tagline and \"Create free account\" with a link to <a href=\"https://app.builtgrid.com/create_account/\">https://app.builtgrid.com/create_account/?utm_source=[YourPartnerName]</a>. Refer to the branding section above for media and info.</p>\n<h2 id=\"authorisation-and-token-overview\">Authorisation and token overview</h2>\n<img src=\"https://content.pstmn.io/f9cd0391-841d-469c-a4fd-cc68e9e3c27a/T0F1dGhfQ29uc2VudF9QYWdlXzIucG5n\" alt=\"Example%20constent%20page%20(without%20data%20variables)\" width=\"337\" height=\"317\" />\n\n<ol>\n<li><p>Redirect to Consent Page</p>\n<ol>\n<li><p>Implement a function from a \"Connect\" button on your integrations page, redirecting the user to the BuiltGrid authorisation server's consent page. URI format:</p>\n<ul>\n<li><p>[ServerURL]/oauth/login?client_id=CLIENT_ID&amp;redirect_uri=REDIRECT_URI&amp;response_type=code&amp;state=6-digit (random alphanumeric code)</p>\n</li>\n<li><p><strong>Note</strong>: If the user doesn't have a BuiltGrid account, one needs to be created. After the successful login, the user will be redirected to the URI you specified.</p>\n</li>\n<li><p><strong>Important</strong>: The redirect uri needs to be encoded.</p>\n</li>\n</ul>\n</li>\n</ol>\n</li>\n<li><p>The BuiltGrid authorisation server will handle user authentication and authorisation.</p>\n</li>\n<li><p>User Login</p>\n<ul>\n<li>After the user selects to allow data sharing between BuiltGrid and your application, the BuiltGrid authorisation server will present a login form to the user.</li>\n</ul>\n</li>\n<li><p>Redirect with Authorisation Code</p>\n<ul>\n<li><p>After successful login, the BuiltGrid authorisation server redirects to your callback page (<code>redirect_uri</code> you have shared) with the authorisation code.</p>\n</li>\n<li><p>Extract the <code>auth_code</code> from the query parameters.</p>\n</li>\n</ul>\n</li>\n<li><p>Token Request</p>\n<ul>\n<li><p>Make a POST request to the BuiltGrid token endpoint (<code>post_token</code>) with the following parameters:</p>\n<ul>\n<li><p><code>grant_type</code>: \"authorisation_code\"</p>\n</li>\n<li><p><code>client_id</code>: Your application's client ID</p>\n</li>\n<li><p><code>client_secret</code>: Your application's client secret</p>\n</li>\n<li><p><code>auth_code</code>: The authorisation code received in step 3</p>\n</li>\n<li><p><code>redirect_uri</code>: The same redirect URI used in step 3</p>\n</li>\n</ul>\n</li>\n</ul>\n</li>\n<li><p>Token Response Handling</p>\n<ul>\n<li><p>Parse the response from the BuiltGrid authorisation server.</p>\n</li>\n<li><p>Extract the <code>access_token</code> and <code>refresh_token</code> from the response.</p>\n</li>\n</ul>\n</li>\n<li><p>Token Storage</p>\n<ul>\n<li><p>Implement a secure method to store the <code>access_token</code> and <code>refresh_token</code>.</p>\n</li>\n<li><p>Consider using encrypted storage or a secure database.</p>\n</li>\n<li><p>Associate the tokens with the user's session or account.</p>\n</li>\n</ul>\n</li>\n<li><p>Disconnect</p>\n<ol>\n<li>Please use <code>revoke access token</code> endpoint.</li>\n</ol>\n</li>\n</ol>\n","_postman_id":"c2d78382-705b-4150-9fd6-a3f5d04f0337","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"<value>"}]},"isInherited":true,"source":{"_postman_id":"5bc456b8-aae3-4110-812d-6b125b35bbb2","id":"5bc456b8-aae3-4110-812d-6b125b35bbb2","name":"BuiltGrid - Builder Apps","type":"collection"}}},{"name":"Sync","item":[{"name":"Create or update contacts","id":"5b926711-f6e9-40a9-bdd0-0c5d536ea382","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": [\n     {\n        \"contact_account_contact_id\": \"TestingNewEndpoints2\",\n        \"contact_trading_name\": \"TestingNewEndpoints2\",\n        \"contact_business_govt_id\": \"\",\n        \"contact_first_name\": \"TestingNewEndpoints\",        \n        \"contact_last_name\": \"TestingNewEndpoints\",\n        \"contact_user_email\": \"TestingNewEndpoints2@TestingNewEndpoints2.com\",  \n        \"contact_website\": \"https://www.TestingNewEndpoints2.com\",      \n        \"contact_mobile_phone\": \"+5511992750553\",\n        \"contact_favourite\": \"true\"        \n     }\n\n\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/Sync/Contact","description":"<p>Your customer's account contacts are ingested into the BuiltGrid network to normalise, activate, and onboard.</p>\n<p>The endpoint should also trigger after RFQs are saved, specifically for the suppliers included in the RFQ. This will update the user's supplier contact status to \"favourite\" for your user's account. This means the RFQ bypasses the BuiltGrid jobs board and is added to the supplier's quote board without cost to that supplier, which is also important to the builder.</p>\n<p>As you can see from the example output, the following fields are repeated in an array.</p>\n<p>You can create multiple contacts for a supplier adding contacts with same <code>contact_business_govt_id</code>.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property name</th>\n<th>Data type</th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>contact_account_contact_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is your internal ID for your customer's contact record.</td>\n</tr>\n<tr>\n<td>contact_trading_name</td>\n<td>character varying</td>\n<td>Y</td>\n<td>Public business name, not the legal entity name of your customer's contact record.</td>\n</tr>\n<tr>\n<td>contact_business_govt_id</td>\n<td>character varying</td>\n<td></td>\n<td>In Australia, this is the ABN (Australian Business Number) for your customer's contact.</td>\n</tr>\n<tr>\n<td>contact_first_name</td>\n<td>character varying</td>\n<td>Y</td>\n<td>First name of your customer's contact record.</td>\n</tr>\n<tr>\n<td>contact_last_name</td>\n<td>character varying</td>\n<td></td>\n<td>Last name of your customer's contact record.</td>\n</tr>\n<tr>\n<td>contact_user_email</td>\n<td>character varying</td>\n<td>Y</td>\n<td>Email address of your customer's contact record.</td>\n</tr>\n<tr>\n<td>contact_mobile_phone</td>\n<td>character varying</td>\n<td></td>\n<td>The mobile phone number of your customer's contact record.</td>\n</tr>\n<tr>\n<td>contact_favourite</td>\n<td>boolean</td>\n<td></td>\n<td>If you have a flag to indicate the preferred or favourite status of a customer's contact record, please add a value of 'TRUE'. Otherwise, use a value of 'FALSE'.</td>\n</tr>\n<tr>\n<td>contact_website</td>\n<td>character varying</td>\n<td></td>\n<td>Organisation website (domain name) of your customer's contact record.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","Sync","Contact"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"5b926711-f6e9-40a9-bdd0-0c5d536ea382"}],"id":"46d4dd5b-8c3f-43b8-8002-de2a29c2c12c","description":"<p>The <code>create contacts</code> endpoint should triggered to share all supplier contacts after your customer authenticates their BuiltGrid account from your integration page.</p>\n<p>The endpoint can be run at any time after authentication. It is advised that the <code>create contacts</code> endpoint be triggered periodically to share any updates. There are specific times they will be run, as described below.</p>\n","_postman_id":"46d4dd5b-8c3f-43b8-8002-de2a29c2c12c","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"<value>"}]},"isInherited":true,"source":{"_postman_id":"5bc456b8-aae3-4110-812d-6b125b35bbb2","id":"5bc456b8-aae3-4110-812d-6b125b35bbb2","name":"BuiltGrid - Builder Apps","type":"collection"}}},{"name":"Project","item":[{"name":"Create or update a project","id":"856bc30f-b6ab-44ad-8d6e-9048304741e9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": [\n     {\n        \"project_id\": \"JM223\",\n        \"project_status\": \"Contract\",\n        \"project_name\": \"Newbie\",\n        \"project_address_line_1\": \"16 Newbie Aveue\",\n        \"project_address_line_2\": \"\",\n        \"project_address_city\": \"Melbourne\",\n        \"project_address_state\": \"VIC\",\n        \"project_address_postcode\": \"3000\",\n        \"project_address_country\": \"Australia\",\n        \"project_address_latitude\": \"-37.811072256515374\",\n        \"project_address_longitude\": \"144.96707998212543\",\n        \"project_qty_homes\": \"3\",\n        \"project_type\": \"Medium density\",\n        \"project_quality\": \"Mid-range\",\n        \"project_storeys\": \"2\",\n        \"project_description\": \"Newbie project\",\n        \"project_purpose\": \"Customer\",\n        \"project_contract_reference\": \"MBA325344365\",\n        \"project_contract_period\": \"240\",\n        \"project_start_date\": \"2025-04-11\",\n        \"project_completion_date\": \"2026-01-15\"    \n     }\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"https://api-sandbox.builtgrid.com/api/project/CreateUpdateProject","description":"<p>When a user sets up an estimate or project/job, they accept a connection to the BuiltGrid network, which they can select or unselect. Once saved and updated, you will use our endpoints to sync the following data.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Property name</strong></th>\n<th><strong>Data type</strong></th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>project_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique project_id your system has set.</td>\n</tr>\n<tr>\n<td>project_status</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the project_status that has been set by the user in your system. Accepted values: <strong>Estimate</strong>, <strong>Contract</strong>, <strong>On Hold</strong>, <strong>Not Proceeding</strong> or <strong>Completed</strong>. Please translate to our values.</td>\n</tr>\n<tr>\n<td>project_name</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the project_name set by the user in your system.</td>\n</tr>\n<tr>\n<td>project_address_line_1</td>\n<td>character varying</td>\n<td>Y</td>\n<td>Address fields are mandatory as we need to set geo coordinates.</td>\n</tr>\n<tr>\n<td>project_address_line_2</td>\n<td>character varying</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>project_address_city</td>\n<td>character varying</td>\n<td>Y</td>\n<td></td>\n</tr>\n<tr>\n<td>project_address_state</td>\n<td>character varying</td>\n<td>Y</td>\n<td></td>\n</tr>\n<tr>\n<td>project_address_postcode</td>\n<td>character varying</td>\n<td>Y</td>\n<td></td>\n</tr>\n<tr>\n<td>project_address_country</td>\n<td>character varying</td>\n<td>Y</td>\n<td></td>\n</tr>\n<tr>\n<td>project_address_latitude</td>\n<td>character varying</td>\n<td></td>\n<td>Latitude data is preferred if you calculate this information in your system.</td>\n</tr>\n<tr>\n<td>project_address_longitude</td>\n<td>character varying</td>\n<td></td>\n<td>Longitude data is preferred if you calculate this information in your system.</td>\n</tr>\n<tr>\n<td>project_qty_homes</td>\n<td>integer</td>\n<td></td>\n<td>The number of homes/dwellings in a project. The default is 1.</td>\n</tr>\n<tr>\n<td>project_type</td>\n<td>character varying</td>\n<td></td>\n<td>This is the type of project. Accepted values: <strong>Renovation</strong>, <strong>Addition</strong>, <strong>Detached</strong>, <strong>Medium density</strong>, <strong>High density</strong> or <strong>Commercial</strong>. Please translate to our values.</td>\n</tr>\n<tr>\n<td>project_quality</td>\n<td>character varying</td>\n<td></td>\n<td>The quality of the project. Our values are <strong>Base</strong> (Standard product quality, features, finish, skill level or workmanship), <strong>Mid-range</strong> (Mid-range product quality, features, finish, skill level or workmanship), <strong>Premium</strong> (High product quality, features, finish, skill level or workmanship) and <strong>Luxury</strong> (Highest or custom product quality, features, finish, skill level or workmanship, renovation, addition, detached, medium density, high density and commercial).</td>\n</tr>\n<tr>\n<td>project_storeys</td>\n<td>integer</td>\n<td></td>\n<td>This is the number of storeys of the project.</td>\n</tr>\n<tr>\n<td>project_description</td>\n<td>character varying</td>\n<td></td>\n<td>This is the text content describing the project.</td>\n</tr>\n<tr>\n<td>project_purpose</td>\n<td>character varying</td>\n<td></td>\n<td>This is the purpose for which the project is being built. Our values include Customer, Spec home.</td>\n</tr>\n<tr>\n<td>project_contract_reference</td>\n<td>character varying</td>\n<td></td>\n<td>If the project is contracted, this is the contract reference provided by the MBA, HIA or other official organisation.</td>\n</tr>\n<tr>\n<td>project_contract_period</td>\n<td>character varying</td>\n<td></td>\n<td>The number of days the project is expected to take to build.</td>\n</tr>\n<tr>\n<td>project_start_date</td>\n<td>timestamp without time zone</td>\n<td></td>\n<td>The date the project is expected to begin.</td>\n</tr>\n<tr>\n<td>project_completion_date</td>\n<td>timestamp without time zone</td>\n<td></td>\n<td>The date the project is expected to be completed.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["api","project","CreateUpdateProject"],"host":["api-sandbox","builtgrid","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"856bc30f-b6ab-44ad-8d6e-9048304741e9"},{"name":"Create or update a project document","id":"efb26666-9963-42b9-9a8b-f52435dbbf5f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": [\n        {\n            \"project_id\": \"TestingNewEndpoints2\",\n            \"project_doc_id\": \"TestingNewEndpoints2\",\n            \"project_doc_name\": \"sample_pdf\",\n            \"project_doc_file_extension\": \"application/pdf\",\n            \"project_doc_url\": \"https://pdfobject.com/pdf/sample.pdf\",\n            \"project_doc_folder_name\": \"Estimates\"\n        }\n       \n    ]\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/project/document","description":"<h3 id=\"docs\">Docs</h3>\n<p>When docs are added or updated for a project, the endpoint triggers and makes the latest versions available for applicable trades and suppliers on the BuiltGrid network.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property name</th>\n<th>Date type</th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>project_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique project_id set by your system and associated with the document.</td>\n</tr>\n<tr>\n<td>project_doc_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique project_doc_id set by your system.</td>\n</tr>\n<tr>\n<td>project_doc_name</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the project_doc_name set by the user for the document in your system. Maximum character length is 255.</td>\n</tr>\n<tr>\n<td>project_doc_file_extension</td>\n<td>character varying</td>\n<td>Y</td>\n<td>The 3-4 character file extension refers to a file type. The following document types can be uploaded, up to 50Mb: application/pdf  <br />image/jpeg  <br />image/jpg  <br />image/png  <br />application/vnd.ms-excel  <br />application/vnd.openxmlformats-officedocument.spreadsheetml.sheet  <br />application/msword  <br />application/vnd.openxmlformats-officedocument.wordprocessingml.document  <br />application/acad  <br />application/dxf  <br />application/octet-stream (Revit files)  <br />application/x-dwf  <br />application/x-step  <br />application/vnd.sketchup.skp  <br />application/octet-stream (ArchiCAD files)  <br />application/x-bentley-dgn  <br />application/x-3dm (Rhino files)</td>\n</tr>\n<tr>\n<td>project_doc_url</td>\n<td>character varying</td>\n<td>Y</td>\n<td>Provide a url that will allow us to access the file. It must be a URL (sign_download_url) that allows BuiltGrid server to access the file.</td>\n</tr>\n<tr>\n<td>project_doc_folder_name</td>\n<td>character varying</td>\n<td></td>\n<td>This is the folder name the user may use to organise project files.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["api","project","document"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"efb26666-9963-42b9-9a8b-f52435dbbf5f"},{"name":"Retrieve project status","id":"fe68eae8-d996-4ae0-84de-9ed87b214fad","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{base_url}}/api/project/CheckProject?project_id=TestingNewEndpoints","description":"<p>This is an optional endpoint used to check if a project exists on the BuiltGrid server before opening your RFQ page.</p>\n<p>It only requires your project_id, the unique project_id set by your system.</p>\n","urlObject":{"path":["api","project","CheckProject"],"host":["{{base_url}}"],"query":[{"key":"project_id","value":"TestingNewEndpoints"}],"variable":[]}},"response":[],"_postman_id":"fe68eae8-d996-4ae0-84de-9ed87b214fad"},{"name":"Retrieve document status","id":"9cbafc6f-2af4-43eb-a33d-458483d6121e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{base_url}}/api/project/CheckProjectDocument?project_id=TestingNewEndpoints","description":"<p>This is an optional endpoint used to check if a project exists on the BuiltGrid server before opening your RFQ page.</p>\n<p>It only requires your project_id, the unique project_id set by your system.</p>\n","urlObject":{"path":["api","project","CheckProjectDocument"],"host":["{{base_url}}"],"query":[{"key":"project_id","value":"TestingNewEndpoints"}],"variable":[]}},"response":[],"_postman_id":"9cbafc6f-2af4-43eb-a33d-458483d6121e"},{"name":"Check Project Doc is created on BGD","id":"d9eb8630-898a-467d-b25d-6ad2fe4ef38d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{base_url}}/api/project/CheckProjectDocumentCreated?project_id=TestingNewEndpoints","description":"<p>This is an optional endpoint used to check if a project exists on the BuiltGrid server before opening your RFQ page.</p>\n<p>It only requires your project_id, the unique project_id set by your system.</p>\n","urlObject":{"path":["api","project","CheckProjectDocumentCreated"],"host":["{{base_url}}"],"query":[{"key":"project_id","value":"TestingNewEndpoints"}],"variable":[]}},"response":[],"_postman_id":"d9eb8630-898a-467d-b25d-6ad2fe4ef38d"}],"id":"5e225534-64a4-4cdc-9115-50b9aa195313","description":"<p>When a user sets up a contracted project/job or estimate, a connection to the 'BuiltGrid network' is established. The user may disconnect it. Once the 'BuiltGrid network' is connected at the project level, it will be added as an invited supplier to every RFQ associated with the project. The user can optionally remove it from the RFQ invited suppliers.</p>\n<img src=\"https://content.pstmn.io/362b5e25-0f60-44d4-a10a-419d8c3e74da/QnVpbHRHcmlkX0FQSV9QaGFzZTFfMjAyNC1QYXJ0bmVyX1Byb2plY3QucG5n\" alt=\"Generic%20example%20of%20what%20a%20connection%20to%20BuiltGrid%20may%20look%20like%20in%20your%20app.\" />","_postman_id":"5e225534-64a4-4cdc-9115-50b9aa195313","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"<value>"}]},"isInherited":true,"source":{"_postman_id":"5bc456b8-aae3-4110-812d-6b125b35bbb2","id":"5bc456b8-aae3-4110-812d-6b125b35bbb2","name":"BuiltGrid - Builder Apps","type":"collection"}}},{"name":"RFQ (Request for quote)","item":[{"name":"Create or update a request for quote","id":"4a7461e1-25b2-4981-9c20-5fb89c5a8e59","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": [\n        {\n            \"rfq_id\": \"RFQ-TestingNewEndpoints2\",\n            \"project_id\": \"TestingNewEndpoints2\",\n            \"rfq_title\": \"Electrician\",\n            \"rfq_cost_code_name\": \"\",\n            \"rfq_supplier_id\": \"TestingNewEndpoints2\",\n            \"rfq_response_date\": \"2024-07-15\",\n            \"rfq_description\": \"RFQ for TestingNewEndpoints2\",\n            \"item\": [\n                {\n                    \"item_id\": \"44884477-1\",\n                    \"item_name\": \"Electrician\",\n                    \"item_quantity\": \"2\",\n                    \"item_uom\": \"qty\",\n                    \"item_cost_exc\": \"1000.00\",\n                    \"item_tax\": \"10.00\",\n                    \"item_cost_inc\": \"1100.00\",\n                    \"item_cost_subtotal_exc\": \"2000.00\",\n                    \"item_cost_subtotal_inc\": \"2200.00\",\n                    \"item_comment\": \"Comment - rough-in inclusions\"\n                },\n                {\n                    \"item_id\": \"44884477-2\",\n                    \"item_name\": \"Plumber Fit-off\",\n                    \"item_quantity\": \"3\",\n                    \"item_uom\": \"qty\",\n                    \"item_cost_exc\": \"2500.00\",\n                    \"item_tax\": \"10.00\",\n                    \"item_cost_inc\": \"2750.00\",\n                    \"item_cost_subtotal_exc\": \"4500.00\",\n                    \"item_cost_subtotal_inc\": \"5250.00\",\n                    \"item_comment\": \"Comment - fitoff inclusions\"\n                }\n            ]\n        }\n    ]\n}\n","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/rfq/createupdaterfq","description":"<p>When the BuiltGrid network is connected to the project and associated with an RFQ, it should automatically be included as an invited supplier. You can allow it to be removed by the user. RFQ</p>\n<p>The RFQ (Request for Quote) posts data to BuiltGrid and, once ingested, is shared with the supplier network for quoting. It works in tandem with the <code>GetJobSuggestions</code> endpoint.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property name</th>\n<th>Date type</th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>rfq_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique RFQ/cost item ID set by your system.</td>\n</tr>\n<tr>\n<td>project_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique project_id set by your system.</td>\n</tr>\n<tr>\n<td>rfq_job_ids</td>\n<td>character varying</td>\n<td>Y</td>\n<td>Use the job ids associated with job names selected by the user following get_rfq_job endpoint. Separate ids with commas.</td>\n</tr>\n<tr>\n<td>rfq_response_date</td>\n<td>timestamp with time zone</td>\n<td></td>\n<td>The expected response date set by the user in your system.</td>\n</tr>\n<tr>\n<td>rfq_description</td>\n<td>character varying</td>\n<td></td>\n<td>The summary description of the RFQ which is shared to trades and suppliers quoting the job.</td>\n</tr>\n<tr>\n<td>supplier_ids</td>\n<td>character varying</td>\n<td></td>\n<td>Include unique supplier IDs added to the RFQ by user, separating IDs with commas.</td>\n</tr>\n<tr>\n<td>rfq_item_id</td>\n<td>character varying</td>\n<td>Item array</td>\n<td>All item fields are part of an array. The item ID or SKU (Stock Keeping Unit) as set by the user in your system.</td>\n</tr>\n<tr>\n<td>rfq_item_name</td>\n<td>character varying</td>\n<td>Item array</td>\n<td>The characters used in item name, as set by the user in your system.</td>\n</tr>\n<tr>\n<td>rfq_item_quantity</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The quantity of items, as set by the user in your system. Typically the results of a take off process.</td>\n</tr>\n<tr>\n<td>rfq_item_uom</td>\n<td>character varying</td>\n<td>Item array</td>\n<td>The UOM (Unit of Measure) of items, as set by the user in your system. Eg. Each, LM, M2, M3, etc...</td>\n</tr>\n<tr>\n<td>rfq_item_cost</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The items cost in dollar terms excluding tax, as set by the user in your system.</td>\n</tr>\n<tr>\n<td>rfq_item_cost_subtotal</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The subtotal is the quantity multiplied by the cost in dollar terms, as set by the user in your system.</td>\n</tr>\n<tr>\n<td>rfq_item_comment</td>\n<td>text</td>\n<td>Item array</td>\n<td>The item-specific comments, as set by the user in your system.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Success</strong>: Boolean value of TRUE.<br /><strong>Failure</strong>: Project not found. Post /api/Project/CreateUpdate, and query endpoint again.</p>\n<h3 id=\"rfq-status\">RFQ Status</h3>\n<p>While the RFQ status is set to 'Pending' at BuiltGrid, the RFQ can be updated using the above endpoint. Check status using <a href=\"https://builtgrid-4079.postman.co/workspace/aac16ea4-c018-4a4b-b6e7-aff593aed5bd/request/34510405-4012df27-d3b9-4ef6-9899-4ea8dcba1118?action=share&amp;source=copy-link&amp;creator=32527745&amp;ctx=documentation\">GetRFQStatus</a> endpoint. Any other status, besides 'Pending' means the RFQ has already been shared with trades and suppliers and cannot be amended. You may want to consider a 'Save Draft' option on your RFQ page to bypass saving RFQ and job suggestions, and allow a user to return to the RFQ.</p>\n<h3 id=\"contacts\">Contacts</h3>\n<p>When there are suppliers invited into RFQ. Trigger <code>create_contact</code> endpoint after RFQ save for the invited suppliers. This will update the user's supplier contact status to \"favourite\" for your user's account. This means the RFQ bypasses the BuiltGrid jobs board and is added to the supplier's quote board <strong>without cost to that supplier</strong>. This is important to the builder so they are inclusive in their quoting process.</p>\n","urlObject":{"path":["api","rfq","createupdaterfq"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"4a7461e1-25b2-4981-9c20-5fb89c5a8e59"},{"name":"Create or update a request for quote V2","id":"5911076f-a339-421f-a5ad-f097048657cf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": [\n        {\n            \"rfq_id\": \"RFQ-TestingNewEndpoints2\",\n            \"project_id\": \"TestingNewEndpoints2\",\n            \"rfq_title\": \"Electrician\",\n            \"rfq_cost_code_name\": \"\",\n            \"rfq_supplier_id\": \"TestingNewEndpoints2\",\n            \"rfq_response_date\": \"2024-07-15\",\n            \"rfq_description\": \"RFQ for TestingNewEndpoints2\",\n            \"item\": [\n                {\n                    \"item_id\": \"44884477-1\",\n                    \"item_name\": \"Electrician\",\n                    \"item_quantity\": \"2\",\n                    \"item_uom\": \"qty\",\n                    \"item_cost_exc\": \"1000.00\",\n                    \"item_tax\": \"10.00\",\n                    \"item_cost_inc\": \"1100.00\",\n                    \"item_cost_subtotal_exc\": \"2000.00\",\n                    \"item_cost_subtotal_inc\": \"2200.00\",\n                    \"item_comment\": \"Comment - rough-in inclusions\"\n                },\n                {\n                    \"item_id\": \"44884477-2\",\n                    \"item_name\": \"Plumber Fit-off\",\n                    \"item_quantity\": \"3\",\n                    \"item_uom\": \"qty\",\n                    \"item_cost_exc\": \"2500.00\",\n                    \"item_tax\": \"10.00\",\n                    \"item_cost_inc\": \"2750.00\",\n                    \"item_cost_subtotal_exc\": \"4500.00\",\n                    \"item_cost_subtotal_inc\": \"5250.00\",\n                    \"item_comment\": \"Comment - fitoff inclusions\"\n                }\n            ]\n        }\n    ]\n}\n","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/rfq/createupdaterfqv2","description":"<p>This endpoint operates in a similar way to the \"Create or update a request for quote\" endpoint. Unlike the previous version, it is not necessary to call the <code>GetJobSuggestions</code> endpoint separately, suggestions are now automatically generated in V2 based on the provided RFQ items.  </p>\n<p>When the BuiltGrid network is connected to the project and associated with an RFQ, it should automatically be included as an invited supplier. You can allow it to be removed by the user. RFQ</p>\n<p>The RFQ (Request for Quote) posts data to BuiltGrid and, once ingested, is shared with the supplier network for quoting. It works in tandem with the <code>GetJobSuggestions</code> endpoint.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property name</th>\n<th>Date type</th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>rfq_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique RFQ/cost item ID set by your system.</td>\n</tr>\n<tr>\n<td>project_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique project_id set by your system.</td>\n</tr>\n<tr>\n<td>rfq_job_ids</td>\n<td>character varying</td>\n<td>Y</td>\n<td>Use the job ids associated with job names selected by the user following get_rfq_job endpoint. Separate ids with commas.</td>\n</tr>\n<tr>\n<td>rfq_response_date</td>\n<td>timestamp with time zone</td>\n<td></td>\n<td>The expected response date set by the user in your system.</td>\n</tr>\n<tr>\n<td>rfq_description</td>\n<td>character varying</td>\n<td></td>\n<td>The summary description of the RFQ which is shared to trades and suppliers quoting the job.</td>\n</tr>\n<tr>\n<td>supplier_ids</td>\n<td>character varying</td>\n<td></td>\n<td>Include unique supplier IDs added to the RFQ by user, separating IDs with commas.</td>\n</tr>\n<tr>\n<td>rfq_item_id</td>\n<td>character varying</td>\n<td>Item array</td>\n<td>All item fields are part of an array. The item ID or SKU (Stock Keeping Unit) as set by the user in your system.</td>\n</tr>\n<tr>\n<td>rfq_item_name</td>\n<td>character varying</td>\n<td>Item array</td>\n<td>The characters used in item name, as set by the user in your system.</td>\n</tr>\n<tr>\n<td>rfq_item_quantity</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The quantity of items, as set by the user in your system. Typically the results of a take off process.</td>\n</tr>\n<tr>\n<td>rfq_item_uom</td>\n<td>character varying</td>\n<td>Item array</td>\n<td>The UOM (Unit of Measure) of items, as set by the user in your system. Eg. Each, LM, M2, M3, etc...</td>\n</tr>\n<tr>\n<td>rfq_item_cost</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The items cost in dollar terms excluding tax, as set by the user in your system.</td>\n</tr>\n<tr>\n<td>rfq_item_cost_subtotal</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The subtotal is the quantity multiplied by the cost in dollar terms, as set by the user in your system.</td>\n</tr>\n<tr>\n<td>rfq_item_comment</td>\n<td>text</td>\n<td>Item array</td>\n<td>The item-specific comments, as set by the user in your system.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Success</strong>: Boolean value of TRUE.<br /><strong>Failure</strong>: Project not found. Post /api/Project/CreateUpdate, and query endpoint again.</p>\n<h3 id=\"rfq-status\">RFQ Status</h3>\n<p>While the RFQ status is set to 'Pending' at BuiltGrid, the RFQ can be updated using the above endpoint. Check status using <a href=\"https://builtgrid-4079.postman.co/workspace/aac16ea4-c018-4a4b-b6e7-aff593aed5bd/request/34510405-4012df27-d3b9-4ef6-9899-4ea8dcba1118?action=share&amp;source=copy-link&amp;creator=32527745&amp;ctx=documentation\">GetRFQStatus</a> endpoint. Any other status, besides 'Pending' means the RFQ has already been shared with trades and suppliers and cannot be amended. You may want to consider a 'Save Draft' option on your RFQ page to bypass saving RFQ and job suggestions, and allow a user to return to the RFQ.</p>\n<h3 id=\"contacts\">Contacts</h3>\n<p>When there are suppliers invited into RFQ. Trigger <code>create_contact</code> endpoint after RFQ save for the invited suppliers. This will update the user's supplier contact status to \"favourite\" for your user's account. This means the RFQ bypasses the BuiltGrid jobs board and is added to the supplier's quote board <strong>without cost to that supplier</strong>. This is important to the builder so they are inclusive in their quoting process.</p>\n","urlObject":{"path":["api","rfq","createupdaterfqv2"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"5911076f-a339-421f-a5ad-f097048657cf"},{"name":"Retrieve RFQ status","id":"c3f6df6b-d36a-43ba-8d7e-8f4690eedf9e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/rfq/GetRFQStatus?bgd_rfq_id=ed04a467-b2f7-4f40-b09c-fc71d80f1779","description":"<p>Refer <code>GetJobSuggestions</code> for an overview of job suggestion endpoints.</p>\n<h3 id=\"rfq-statuses-at-builtgrid\">RFQ statuses at BuiltGrid</h3>\n<p><strong>Pending</strong>: This status applies anytime before a user saves job selections. In this state, an RFQ can be updated. Any other status won't permit RFQ updates.</p>\n<p><strong>Update</strong>: You have posted an RFQ update.</p>\n<p><strong>Updated</strong>: BuiltGrid has updated internal records after your RFQ update.</p>\n<p><strong>Created</strong>: The RFQ and job selections have been saved and listed on the job board, available to trades and suppliers to quote.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property name</th>\n<th>Data type</th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bgd_rfq_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>RFQ endpoint response includes this value.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Success</strong>: RFQ status</p>\n<p><strong>Failure</strong>: bgd_rfq_id not found</p>\n","urlObject":{"path":["api","rfq","GetRFQStatus"],"host":["{{base_url}}"],"query":[{"key":"bgd_rfq_id","value":"ed04a467-b2f7-4f40-b09c-fc71d80f1779"}],"variable":[]}},"response":[],"_postman_id":"c3f6df6b-d36a-43ba-8d7e-8f4690eedf9e"},{"name":"Retrieve job suggestions from RFQ content","id":"007cfc77-395a-4601-9ade-4bd2dc1e75cc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/rfq/GetRFQSuggestions?bgd_rfq_id=ed04a467-b2f7-4f40-b09c-fc71d80f1779","description":"<h3 id=\"overview\">Overview</h3>\n<p>After the user saves an RFQ, it is essential to trigger this endpoint to receive user confirmation of the jobs most closely matched to the RFQ. This is the only task BuiltGrid requires of your user. It is important because the user will multi-select jobs from our supply chain job structure. Doing this achieves the best responses from trades and suppliers. Here's how we suggest you implement the job selection...</p>\n<h3 id=\"request-for-quote-rfq\">Request for Quote (RFQ)</h3>\n<p>Please trigger the <code>GetJobSuggestions</code> when a user save RFQ. This endpoint retrieves BuiltGrid job suggestions based on RFQ content from 600+ jobs in the supply chain job structure. We suggest the following user experience...</p>\n<h3 id=\"ui\">UI</h3>\n<p>We suggest you build a modal to place the job IDs from the <code>GetJobSuggestions</code> endpoint JSON response into a multi-select modal in the order of the json endpoint response.</p>\n<img src=\"https://content.pstmn.io/3853d7ca-8271-4432-9654-02ea0e553f0f/QnVpbHRHcmlkX0FQSV9QaGFzZTFfMjAyNC1SRlFfSm9ic192My5wbmc=\" alt=\"EXAMPLE%20A:%20User%20job%20selection%20modal\" width=\"250\" height=\"306\" />\n\n<p><strong>Maximum rows in UI modal</strong>: Please allow up to 20 rows. 90% of responses will be less than five.</p>\n<p>In the above example, the jobs selected by the user are saved using <code>StoreJobSuggestions</code> endpoint which should be triggered as part of the modal save process.</p>\n<p><strong>No job selections in endpoint response?</strong> Although this will be a rare occurrence, we suggest adding an additional modal to allow the user to input a term(s) as a text string.</p>\n<img src=\"https://content.pstmn.io/74e65ad9-5eae-4236-b357-ed6898dc871c/QnVpbHRHcmlkX0FQSV9QaGFzZTFfMjAyNF9SRlFfSm9ic19GYWxsYmFjay5wbmc=\" alt=\"EXAMPLE%20B:%20User%20job%20input\" width=\"260\" height=\"222\" />\n\n<p>After the user saves job term(s), add text string to <code>InputGetJobSuggestion</code> endpoint as a parameter. Use the JSON list of job IDs in the endpoint response in the modal shown in example A.</p>\n<p>RFQ statuses can be checked with <a href=\"https://go.postman.co/workspace/aac16ea4-c018-4a4b-b6e7-aff593aed5bd/documentation/34510405-9b310950-f9e7-4c38-8d68-f5f2fe554cf4?entity=request-4012df27-d3b9-4ef6-9899-4ea8dcba1118\">GetRFQStatus</a> endpoint.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property name</th>\n<th>Data type</th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bgd_rfq_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>RFQ endpoint response includes this value.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Success</strong>: Boolean value of TRUE</p>\n<p><strong>Failure</strong>: bgd_rfq_id not found</p>\n<h3 id=\"api-response-example\">API response example</h3>\n<p>Here's a breakdown of the endpoint JSON response</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property name</th>\n<th>Data type</th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bgd_job_id</td>\n<td>character varying</td>\n<td></td>\n<td>Job ids from BuiltGrid industry job structure that are suggestions generated from rfq title and items.</td>\n</tr>\n<tr>\n<td>job_name</td>\n<td>character varying</td>\n<td></td>\n<td>The job name associated with the above job id.</td>\n</tr>\n</tbody>\n</table>\n</div><pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"results\": [\n        {\n            \"data\": [\n                {\n                    \"bgd_job_id\": 500,\n                    \"job_name\": \"Formwork\"\n                },\n                {\n                    \"bgd_job_id\": 501,\n                    \"job_name\": \"Reinforcing Steel\"\n                },\n                {\n                    \"bgd_job_id\": 503,\n                    \"job_name\": \"Concrete Pumping\"\n                },\n            ]\n        }\n    ]\n}\n\n</code></pre>\n","urlObject":{"path":["api","rfq","GetRFQSuggestions"],"host":["{{base_url}}"],"query":[{"key":"bgd_rfq_id","value":"ed04a467-b2f7-4f40-b09c-fc71d80f1779"}],"variable":[]}},"response":[],"_postman_id":"007cfc77-395a-4601-9ade-4bd2dc1e75cc"},{"name":"Retrieve job suggestions from user input","id":"aae696e2-c6d8-412a-ab34-b148ca6c65e2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/rfq/InputGetJobSuggestion?bgd_rfq_id=b7cdd6d7-1689-4b88-aed9-9d5c3a9910f5&job_search=Electrician","description":"<p>Refer <code>GetJobSuggestions</code> for an overview of job suggestion endpoints.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property name</th>\n<th>Data type</th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bgd_rfq_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>RFQ endpoint response includes this value.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Success</strong>: Boolean value of TRUE</p>\n<p><strong>Failure</strong>: bgd_rfq_id not found</p>\n<h3 id=\"api-response-example\">API response example</h3>\n<p>Here's a breakdown of the endpoint JSON response</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property name</th>\n<th>Data type</th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bgd_job_id</td>\n<td>character varying</td>\n<td></td>\n<td>Job ids from BuiltGrid industry job structure that are suggestions generated from rfq title and items.</td>\n</tr>\n<tr>\n<td>job_name</td>\n<td>character varying</td>\n<td></td>\n<td>The job name associated with the above job id.</td>\n</tr>\n</tbody>\n</table>\n</div><pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"results\": [\n        {\n            \"data\": [\n                {\n                    \"bgd_job_id\": 500,\n                    \"job_name\": \"Formwork\"\n                },\n                {\n                    \"bgd_job_id\": 501,\n                    \"job_name\": \"Reinforcing Steel\"\n                },\n                {\n                    \"bgd_job_id\": 503,\n                    \"job_name\": \"Concrete Pumping\"\n                },\n            ]\n        }\n    ]\n}\n\n</code></pre>\n","urlObject":{"path":["api","rfq","InputGetJobSuggestion"],"host":["{{base_url}}"],"query":[{"key":"bgd_rfq_id","value":"b7cdd6d7-1689-4b88-aed9-9d5c3a9910f5"},{"key":"job_search","value":"Electrician"}],"variable":[]}},"response":[],"_postman_id":"aae696e2-c6d8-412a-ab34-b148ca6c65e2"},{"name":"Create job suggestions in RFQ","id":"f56fe10d-98f6-44ca-9205-54542dfc3566","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": [\n        {\n            \"bgd_rfq_id\": \"e345780b-a275-4c8a-82f5-fdf03ec2b608\",\n            \"selected_bgd_job_id\": \"445,298,59,60\"             \n        }\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/rfq/StoreRFQSuggestions","description":"<p>This endpoint will save user job selections to an RFQ at BuiltGrid.</p>\n<p>Refer <code>GetJobSuggestions</code> for an overview of job suggestion endpoints.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property name</th>\n<th>Data type</th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>rfq_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique RFQ ID set by your system.</td>\n</tr>\n<tr>\n<td>selected_bgd_job_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>Please add each job id selected by user, separated by comma.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>IMPORTANT</strong>: Only use this endpoint once per RFQ id.</p>\n<p><strong>Success</strong>: Boolean value of TRUE</p>\n<p><strong>Failure</strong>: Failure: Errors include \"RFQ not found\", \"No Job ID\" or \"RFQ already has Job IDs.\" The multi-select checklist UI component in your app should be mandatory so Job IDs are always selected, including where the user has chosen to skip.</p>\n","urlObject":{"path":["api","rfq","StoreRFQSuggestions"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"f56fe10d-98f6-44ca-9205-54542dfc3566"}],"id":"38978895-b275-46c2-a5bf-b33d3b54e231","description":"<p>The RFQ (Request for Quote) posts data to BuiltGrid and is shared with the supplier network to generate quotes for your user's projects/jobs. Please read about the job ID cycle which is associated with RFQs in the <code>GetJobSuggestions</code> section.</p>\n<p><strong>Note</strong>: If you don't have users making BuiltGrid job selections in your app, you can skip the endpoints related to job suggestions.</p>\n","_postman_id":"38978895-b275-46c2-a5bf-b33d3b54e231","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"<value>"}]},"isInherited":true,"source":{"_postman_id":"5bc456b8-aae3-4110-812d-6b125b35bbb2","id":"5bc456b8-aae3-4110-812d-6b125b35bbb2","name":"BuiltGrid - Builder Apps","type":"collection"}}},{"name":"Quote","item":[{"name":"Create or update a quote","id":"1e584f70-e075-4d51-9976-cf8c1959f370","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": [\n        {\n            \"quote_id\": \"Quote-TestingNewEndpoints\", \n            \"rfq_id\": \"RFQ-TestingNewEndpoints\",\n            \"supplier_id\": \"TestingNewEndpoints2\",\n            \"supplier_trading_name\": \"TestingNewEndpoints2\",\n            \"quote_date\": \"2024-08-21\",\n            \"quote_reference\": \"quote_viaapi\",\n            \"total_cost_exc\": \"5400.00\",\n            \"total_tax\": \"540.00\",\n            \"total_cost_inc\": \"5400.00\",\n            \"delivery_included\": \"true\",\n            \"terms\": \"Added via API\",\n            \"comment\": \"Added via API\",\n            \"quote_expiry_date\": \"2024-08-21\",\n            \"warranty\": \"Added via API\",\n            \"service_features\": \"Added via API\",\n            \"value_proposition\": \"Added via API\",\n            \"exclusions\": \"Added via API\",\n            \"source\": \"source\",\n            \"environmental_benefit\": \"environmental_benefit\",\n            \"payment_type_account\": \"payment_type_account\",\n            \"payment_type_payments\": \"payment_type_payments\",\n            \"payments_stage1\": \"payments_stage1\",\n            \"payments_stage1_percent\": \"10\",\n            \"payments_stage1_days\": \"payments_stage1_days\",\n            \"payments_stage1_event\": \"payments_stage1_event\",\n            \"payments_stage2\": \"payments_stage2\",\n            \"payments_stage2_percent\": \"10\",\n            \"payments_stage2_days\": \"payments_stage2_days\",\n            \"payments_stage2_event\": \"payments_stage2_event\",\n            \"payments_stage3\": \"payments_stage3\",\n            \"payments_stage3_percent\": \"10\",\n            \"payments_stage3_days\": \"payments_stage3_days\",\n            \"payments_stage3_event\": \"payments_stage3_event\",\n            \"payments_stage4\": \"payments_stage4\",\n            \"payments_stage4_percent\": \"10\",\n            \"payments_stage4_days\": \"payments_stage4_days\",\n            \"payments_stage4_event\": \"payments_stage4_event\",\n            \"item\":[{\n                \"quote_item_id\": \"200\",\n                \"quote_item_name\": \"Item Name\",\n                \"quote_item_quantity\": \"200\",\n                \"quote_item_uom\": \"m2\",\n                \"quote_item_cost_exc\": \"1200.00\",\n                \"quote_item_tax\": \"1200.00\",\n                \"quote_item_cost_subtotal_exc\": \"1200.00\",\n                \"quote_item_cost_subtotal_inc\": \"1320.00\",\n                \"quote_item_cost_inc\": \"1500.00\",\n                \"quote_item_comment\": \"Comment\"\n            },\n            {\n                \"quote_item_id\": \"300\",\n                \"quote_item_name\": \"Item Name\",\n                \"quote_item_quantity\": \"300\",\n                \"quote_item_uom\": \"m2\",\n                \"quote_item_cost_exc\": \"1300.00\",\n                \"quote_item_tax\": \"1300.00\",\n                \"quote_item_cost_subtotal_exc\": \"1350.00\",\n                \"quote_item_cost_subtotal_inc\": \"1320.00\",\n                \"quote_item_cost_inc\": \"1000\",\n                \"quote_item_comment\": \"Comment\"\n            }\n            ]\n        }\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/quote/createupdatequote","description":"<p>This endpoint shares quote data from your system with the BuiltGrid system.</p>\n<p><code>post_create_update_quote</code> field definitions are as follows:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property name</th>\n<th>Date type</th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>quote_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique quote ID set by your system.</td>\n</tr>\n<tr>\n<td>rfq_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique RFQ ID set by your system.</td>\n</tr>\n<tr>\n<td>supplier_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique supplier_id set by your system.</td>\n</tr>\n<tr>\n<td>supplier_trading_name</td>\n<td>character varying</td>\n<td></td>\n<td>This is the supplier business name as set by customer in your system.</td>\n</tr>\n<tr>\n<td>quote_date</td>\n<td>timestamp with time zone</td>\n<td>Y</td>\n<td>The creation date of the quote as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>quote_reference</td>\n<td>character varying</td>\n<td>Y</td>\n<td>The id of the quote as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>total_cost_exc</td>\n<td>numeric</td>\n<td>Y</td>\n<td>The grand total of all items subtotals excluding tax in dollar terms, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>total_tax</td>\n<td>numeric</td>\n<td>Y</td>\n<td>The grand total of all items subtotals tax amount in dollar terms, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>total_cost_inc</td>\n<td>numeric</td>\n<td>Y</td>\n<td>The grand total of all items subtotals including tax in dollar terms, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>delivery_included</td>\n<td>character varying</td>\n<td></td>\n<td>A flag to indicate if the quote includes or excludes delivery fee. Typically true or false as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>terms</td>\n<td>character varying</td>\n<td></td>\n<td>The summary payment terms associated with the quote as set by the supplier in their system. Limited to 25 characters.</td>\n</tr>\n<tr>\n<td>comment</td>\n<td>text</td>\n<td></td>\n<td>The summary comment of the quote as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>quote_expiry_date</td>\n<td>time stamp with time zone</td>\n<td></td>\n<td>The expiry date of the quote as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>warranty</td>\n<td>character varying</td>\n<td></td>\n<td>Optional field describing job warranty benefits and conditions.</td>\n</tr>\n<tr>\n<td>service_features</td>\n<td>character varying</td>\n<td></td>\n<td>Optional field describing unique job features which may include selection centre, mobile selection, shopfront, displays, samples, design, take-off.</td>\n</tr>\n<tr>\n<td>value_proposition</td>\n<td>character varying</td>\n<td></td>\n<td>Optional field describing unique market positioning of the supplier submitting the quote.</td>\n</tr>\n<tr>\n<td>exclusions</td>\n<td>character varying</td>\n<td></td>\n<td>Optional field describing any exclusions the supplier wishes to state.</td>\n</tr>\n<tr>\n<td>source</td>\n<td>character varying</td>\n<td></td>\n<td>Optional field describing the source of the materials in the quote. Choices are \"Local\" or \"Imported\".</td>\n</tr>\n<tr>\n<td>environmental_benefit</td>\n<td>character varying</td>\n<td></td>\n<td>Optional field describing environmental benefit in terms of a number - tonnes</td>\n</tr>\n<tr>\n<td>payment_type_account</td>\n<td>character varying</td>\n<td></td>\n<td>State whether the payment would be on a credit account. Stated as TRUE or FALSE.</td>\n</tr>\n<tr>\n<td>payment_type_payments</td>\n<td>character varying</td>\n<td></td>\n<td>State whether the payment would be made in an alternative to credit, like EFT, cash, etc.. Stated as TRUE or FALSE.</td>\n</tr>\n<tr>\n<td>payments_stage1_event</td>\n<td>character varying</td>\n<td></td>\n<td>This is the first payment descriptor, using one of the following: Deposit, Payment or Balance.</td>\n</tr>\n<tr>\n<td>payments_stage1</td>\n<td>numeric</td>\n<td></td>\n<td>First payment expressed as a percentage, from 0.00% to 100.00%.</td>\n</tr>\n<tr>\n<td>payments_stage1_percent</td>\n<td>character varying</td>\n<td></td>\n<td>Number of days from event (next field) the payment is due.</td>\n</tr>\n<tr>\n<td>payments_stage1_days</td>\n<td>character varying</td>\n<td></td>\n<td>The event that triggers numbers of days payment is due, with the following choices: Before job starts, After delivery of goods, After job start, After agreed job milestone, After job finish.</td>\n</tr>\n<tr>\n<td>payments_stage2</td>\n<td>character varying</td>\n<td></td>\n<td>This is the second payment descriptor, using one of the following: Deposit, Payment or Balance.</td>\n</tr>\n<tr>\n<td>payments_stage2_percent</td>\n<td>numeric</td>\n<td></td>\n<td>Second payment expressed as a percentage, from 0.00% to 100.00%.</td>\n</tr>\n<tr>\n<td>payments_stage2_days</td>\n<td>character varying</td>\n<td></td>\n<td>Number of days from event (next field) the payment is due.</td>\n</tr>\n<tr>\n<td>payments_stage2_event</td>\n<td>character varying</td>\n<td></td>\n<td>The event that triggers numbers of days payment is due, with the following choices: Before job starts, After delivery of goods, After job start, After agreed job milestone, After job finish.</td>\n</tr>\n<tr>\n<td>payments_stage3</td>\n<td>character varying</td>\n<td></td>\n<td>This is the third payment descriptor, using one of the following: Deposit, Payment or Balance.</td>\n</tr>\n<tr>\n<td>payments_stage3_percent</td>\n<td>numeric</td>\n<td></td>\n<td>Third payment expressed as a percentage, from 0.00% to 100.00%.</td>\n</tr>\n<tr>\n<td>payments_stage3_days</td>\n<td>character varying</td>\n<td></td>\n<td>Number of days from event (next field) the payment is due.</td>\n</tr>\n<tr>\n<td>payments_stage3_event</td>\n<td>character varying</td>\n<td></td>\n<td>The event that triggers numbers of days payment is due, with the following choices: Before job starts, After delivery of goods, After job start, After agreed job milestone, After job finish.</td>\n</tr>\n<tr>\n<td>payments_stage4</td>\n<td>character varying</td>\n<td></td>\n<td>This is the fourth payment descriptor, using one of the following: Deposit, Payment or Balance.</td>\n</tr>\n<tr>\n<td>payments_stage4_percent</td>\n<td>numeric</td>\n<td></td>\n<td>Fourth payment expressed as a percentage, from 0.00% to 100.00%.</td>\n</tr>\n<tr>\n<td>payments_stage4_days</td>\n<td>character varying</td>\n<td></td>\n<td>Number of days from event (next field) the payment is due.</td>\n</tr>\n<tr>\n<td>payments_stage4_event</td>\n<td>character varying</td>\n<td></td>\n<td>The event that triggers numbers of days payment is due, with the following choices: Before job starts, After delivery of goods, After job start, After agreed job milestone, After job finish.</td>\n</tr>\n<tr>\n<td>quote_item_id</td>\n<td>character varying</td>\n<td>Item array</td>\n<td>All item fields are part of an array. The item ID or SKU (Stock Keeping Unit) as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>quote_item_name</td>\n<td>character varying</td>\n<td>Item array</td>\n<td>The characters used in item name, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>quote_item_quantity</td>\n<td>integer</td>\n<td>Item array</td>\n<td>The quantity of items, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>quote_item_uom</td>\n<td>character varying</td>\n<td>Item array</td>\n<td>The UOM (Unit of Measure) of items, as set by the supplier in their system. Eg. Each, LM, M2, M3, etc...</td>\n</tr>\n<tr>\n<td>quote_item_cost_exc</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The item cost excluding tax in dollar terms, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>quote_item_tax</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The item tax amount in dollar terms, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>quote_item_cost_inc</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The item cost including tax in dollar terms, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>quote_item_cost_subtotal_exc</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The subtotal is the quantity multiplied by the cost excluding tax in dollar terms, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>quote_item_cost_subtotal_inc</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The subtotal is the quantity multiplied by the cost including tax in dollar terms, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>quote_item_comment</td>\n<td>text</td>\n<td>Item array</td>\n<td>The item-specific comments, as set by the supplier in their system.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Success</strong>: Boolean value of TRUE.<br /><strong>Failure</strong>: POST: quote_id not found.</p>\n","urlObject":{"path":["api","quote","createupdatequote"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"1e584f70-e075-4d51-9976-cf8c1959f370"},{"name":"Create or update a quote V2","id":"0e44ecbd-91ea-4bf1-826a-9b9b3e29d63f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": [\n        {\n            \"quote_id\": \"Quote-TestingNewEndpoints\", \n            \"rfq_id\": \"RFQ-TestingNewEndpoints\",\n            \"supplier_id\": \"TestingNewEndpoints2\",\n            \"supplier_trading_name\": \"TestingNewEndpoints2\",\n            \"quote_date\": \"2024-08-21\",\n            \"quote_reference\": \"quote_viaapi\",\n            \"total_cost_exc\": \"5400.00\",\n            \"total_tax\": \"540.00\",\n            \"total_cost_inc\": \"5400.00\",\n            \"delivery_included\": \"true\",\n            \"terms\": \"Added via API\",\n            \"comment\": \"Added via API\",\n            \"quote_expiry_date\": \"2024-08-21\",\n            \"warranty\": \"Added via API\",\n            \"service_features\": \"Added via API\",\n            \"value_proposition\": \"Added via API\",\n            \"exclusions\": \"Added via API\",\n            \"source\": \"source\",\n            \"environmental_benefit\": \"environmental_benefit\",\n            \"payment_type_account\": \"payment_type_account\",\n            \"payment_type_payments\": \"payment_type_payments\",\n            \"payments_stage1\": \"payments_stage1\",\n            \"payments_stage1_percent\": \"10\",\n            \"payments_stage1_days\": \"payments_stage1_days\",\n            \"payments_stage1_event\": \"payments_stage1_event\",\n            \"payments_stage2\": \"payments_stage2\",\n            \"payments_stage2_percent\": \"10\",\n            \"payments_stage2_days\": \"payments_stage2_days\",\n            \"payments_stage2_event\": \"payments_stage2_event\",\n            \"payments_stage3\": \"payments_stage3\",\n            \"payments_stage3_percent\": \"10\",\n            \"payments_stage3_days\": \"payments_stage3_days\",\n            \"payments_stage3_event\": \"payments_stage3_event\",\n            \"payments_stage4\": \"payments_stage4\",\n            \"payments_stage4_percent\": \"10\",\n            \"payments_stage4_days\": \"payments_stage4_days\",\n            \"payments_stage4_event\": \"payments_stage4_event\",\n            \"item\":[{\n                \"quote_item_id\": \"200\",\n                \"quote_item_name\": \"Item Name\",\n                \"quote_item_quantity\": \"200\",\n                \"quote_item_uom\": \"m2\",\n                \"quote_item_cost_exc\": \"1200.00\",\n                \"quote_item_tax\": \"1200.00\",\n                \"quote_item_cost_subtotal_exc\": \"1200.00\",\n                \"quote_item_cost_subtotal_inc\": \"1320.00\",\n                \"quote_item_cost_inc\": \"1500.00\",\n                \"quote_item_comment\": \"Comment\"\n            },\n            {\n                \"quote_item_id\": \"300\",\n                \"quote_item_name\": \"Item Name\",\n                \"quote_item_quantity\": \"300\",\n                \"quote_item_uom\": \"m2\",\n                \"quote_item_cost_exc\": \"1300.00\",\n                \"quote_item_tax\": \"1300.00\",\n                \"quote_item_cost_subtotal_exc\": \"1350.00\",\n                \"quote_item_cost_subtotal_inc\": \"1320.00\",\n                \"quote_item_cost_inc\": \"1000\",\n                \"quote_item_comment\": \"Comment\"\n            }\n            ]\n        }\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/quote/createupdatequotev2","description":"<p>This endpoint is intended for creating a quote in BGD when the associated RFQ was created (or updated) via the <code>Create or update a request for quote V2</code> endpoint.</p>\n<p>This endpoint shares quote data from your system with the BuiltGrid system.</p>\n<p><code>post_create_update_quote</code> field definitions are as follows:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property name</th>\n<th>Date type</th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>quote_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique quote ID set by your system.</td>\n</tr>\n<tr>\n<td>rfq_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique RFQ ID set by your system.</td>\n</tr>\n<tr>\n<td>supplier_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique supplier_id set by your system.</td>\n</tr>\n<tr>\n<td>supplier_trading_name</td>\n<td>character varying</td>\n<td></td>\n<td>This is the supplier business name as set by customer in your system.</td>\n</tr>\n<tr>\n<td>quote_date</td>\n<td>timestamp with time zone</td>\n<td>Y</td>\n<td>The creation date of the quote as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>quote_reference</td>\n<td>character varying</td>\n<td>Y</td>\n<td>The id of the quote as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>total_cost_exc</td>\n<td>numeric</td>\n<td>Y</td>\n<td>The grand total of all items subtotals excluding tax in dollar terms, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>total_tax</td>\n<td>numeric</td>\n<td>Y</td>\n<td>The grand total of all items subtotals tax amount in dollar terms, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>total_cost_inc</td>\n<td>numeric</td>\n<td>Y</td>\n<td>The grand total of all items subtotals including tax in dollar terms, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>delivery_included</td>\n<td>character varying</td>\n<td></td>\n<td>A flag to indicate if the quote includes or excludes delivery fee. Typically true or false as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>terms</td>\n<td>character varying</td>\n<td></td>\n<td>The summary payment terms associated with the quote as set by the supplier in their system. Limited to 25 characters.</td>\n</tr>\n<tr>\n<td>comment</td>\n<td>text</td>\n<td></td>\n<td>The summary comment of the quote as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>quote_expiry_date</td>\n<td>time stamp with time zone</td>\n<td></td>\n<td>The expiry date of the quote as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>warranty</td>\n<td>character varying</td>\n<td></td>\n<td>Optional field describing job warranty benefits and conditions.</td>\n</tr>\n<tr>\n<td>service_features</td>\n<td>character varying</td>\n<td></td>\n<td>Optional field describing unique job features which may include selection centre, mobile selection, shopfront, displays, samples, design, take-off.</td>\n</tr>\n<tr>\n<td>value_proposition</td>\n<td>character varying</td>\n<td></td>\n<td>Optional field describing unique market positioning of the supplier submitting the quote.</td>\n</tr>\n<tr>\n<td>exclusions</td>\n<td>character varying</td>\n<td></td>\n<td>Optional field describing any exclusions the supplier wishes to state.</td>\n</tr>\n<tr>\n<td>source</td>\n<td>character varying</td>\n<td></td>\n<td>Optional field describing the source of the materials in the quote. Choices are \"Local\" or \"Imported\".</td>\n</tr>\n<tr>\n<td>environmental_benefit</td>\n<td>character varying</td>\n<td></td>\n<td>Optional field describing environmental benefit in terms of a number - tonnes</td>\n</tr>\n<tr>\n<td>payment_type_account</td>\n<td>character varying</td>\n<td></td>\n<td>State whether the payment would be on a credit account. Stated as TRUE or FALSE.</td>\n</tr>\n<tr>\n<td>payment_type_payments</td>\n<td>character varying</td>\n<td></td>\n<td>State whether the payment would be made in an alternative to credit, like EFT, cash, etc.. Stated as TRUE or FALSE.</td>\n</tr>\n<tr>\n<td>payments_stage1_event</td>\n<td>character varying</td>\n<td></td>\n<td>This is the first payment descriptor, using one of the following: Deposit, Payment or Balance.</td>\n</tr>\n<tr>\n<td>payments_stage1</td>\n<td>numeric</td>\n<td></td>\n<td>First payment expressed as a percentage, from 0.00% to 100.00%.</td>\n</tr>\n<tr>\n<td>payments_stage1_percent</td>\n<td>character varying</td>\n<td></td>\n<td>Number of days from event (next field) the payment is due.</td>\n</tr>\n<tr>\n<td>payments_stage1_days</td>\n<td>character varying</td>\n<td></td>\n<td>The event that triggers numbers of days payment is due, with the following choices: Before job starts, After delivery of goods, After job start, After agreed job milestone, After job finish.</td>\n</tr>\n<tr>\n<td>payments_stage2</td>\n<td>character varying</td>\n<td></td>\n<td>This is the second payment descriptor, using one of the following: Deposit, Payment or Balance.</td>\n</tr>\n<tr>\n<td>payments_stage2_percent</td>\n<td>numeric</td>\n<td></td>\n<td>Second payment expressed as a percentage, from 0.00% to 100.00%.</td>\n</tr>\n<tr>\n<td>payments_stage2_days</td>\n<td>character varying</td>\n<td></td>\n<td>Number of days from event (next field) the payment is due.</td>\n</tr>\n<tr>\n<td>payments_stage2_event</td>\n<td>character varying</td>\n<td></td>\n<td>The event that triggers numbers of days payment is due, with the following choices: Before job starts, After delivery of goods, After job start, After agreed job milestone, After job finish.</td>\n</tr>\n<tr>\n<td>payments_stage3</td>\n<td>character varying</td>\n<td></td>\n<td>This is the third payment descriptor, using one of the following: Deposit, Payment or Balance.</td>\n</tr>\n<tr>\n<td>payments_stage3_percent</td>\n<td>numeric</td>\n<td></td>\n<td>Third payment expressed as a percentage, from 0.00% to 100.00%.</td>\n</tr>\n<tr>\n<td>payments_stage3_days</td>\n<td>character varying</td>\n<td></td>\n<td>Number of days from event (next field) the payment is due.</td>\n</tr>\n<tr>\n<td>payments_stage3_event</td>\n<td>character varying</td>\n<td></td>\n<td>The event that triggers numbers of days payment is due, with the following choices: Before job starts, After delivery of goods, After job start, After agreed job milestone, After job finish.</td>\n</tr>\n<tr>\n<td>payments_stage4</td>\n<td>character varying</td>\n<td></td>\n<td>This is the fourth payment descriptor, using one of the following: Deposit, Payment or Balance.</td>\n</tr>\n<tr>\n<td>payments_stage4_percent</td>\n<td>numeric</td>\n<td></td>\n<td>Fourth payment expressed as a percentage, from 0.00% to 100.00%.</td>\n</tr>\n<tr>\n<td>payments_stage4_days</td>\n<td>character varying</td>\n<td></td>\n<td>Number of days from event (next field) the payment is due.</td>\n</tr>\n<tr>\n<td>payments_stage4_event</td>\n<td>character varying</td>\n<td></td>\n<td>The event that triggers numbers of days payment is due, with the following choices: Before job starts, After delivery of goods, After job start, After agreed job milestone, After job finish.</td>\n</tr>\n<tr>\n<td>quote_item_id</td>\n<td>character varying</td>\n<td>Item array</td>\n<td>All item fields are part of an array. The item ID or SKU (Stock Keeping Unit) as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>quote_item_name</td>\n<td>character varying</td>\n<td>Item array</td>\n<td>The characters used in item name, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>quote_item_quantity</td>\n<td>integer</td>\n<td>Item array</td>\n<td>The quantity of items, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>quote_item_uom</td>\n<td>character varying</td>\n<td>Item array</td>\n<td>The UOM (Unit of Measure) of items, as set by the supplier in their system. Eg. Each, LM, M2, M3, etc...</td>\n</tr>\n<tr>\n<td>quote_item_cost_exc</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The item cost excluding tax in dollar terms, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>quote_item_tax</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The item tax amount in dollar terms, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>quote_item_cost_inc</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The item cost including tax in dollar terms, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>quote_item_cost_subtotal_exc</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The subtotal is the quantity multiplied by the cost excluding tax in dollar terms, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>quote_item_cost_subtotal_inc</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The subtotal is the quantity multiplied by the cost including tax in dollar terms, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>quote_item_comment</td>\n<td>text</td>\n<td>Item array</td>\n<td>The item-specific comments, as set by the supplier in their system.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Success</strong>: Boolean value of TRUE.<br /><strong>Failure</strong>: POST: quote_id not found.</p>\n","urlObject":{"path":["api","quote","createupdatequotev2"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"0e44ecbd-91ea-4bf1-826a-9b9b3e29d63f"},{"name":"Create or update a quote document","id":"d8ff169f-5c2e-46cf-9378-3bf4d2b51951","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[{"key":"api-key","value":"a3a950f2-f8bb-4216-9c7f-7be422ad87c1"}],"body":{"mode":"raw","raw":"{\n    \"data\": [\n        {\n            \"quote_doc_id\": \"Doc-TestingNewEndpoints\",\n            \"quote_id\": \"Quote-TestingNewEndpoints\",\n            \"quote_doc_name\": \"sample.pdf\",\n            \"quote_doc_type\": \"Quote\",\n            \"quote_doc_url\": \"https://pdfobject.com/pdf/sample.pdf\",\n            \"quote_doc_extension\": \"application/pdf\"\n        }\n\n                \n    ]\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/quote/document","description":"<p>This endpoint shares quote docs from your system with the BuiltGrid system, linked by quote_id.</p>\n<p><code>quote_document</code> field definitions are as follows:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property name</th>\n<th>Date type</th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>quote_doc_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique quote_doc_id set by your system and associated with the document.</td>\n</tr>\n<tr>\n<td>quote_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique quote_id set by your system and associated with the document.</td>\n</tr>\n<tr>\n<td>quote_doc_name</td>\n<td>character varying</td>\n<td></td>\n<td>This is the quote_doc_name set by the supplier for the document in your system. Maximum character length is 255.</td>\n</tr>\n<tr>\n<td>quote_doc_type</td>\n<td>character varying</td>\n<td></td>\n<td>This is the quote_doc_type set by your system. This could be a 'quote' or 'supporting' document.</td>\n</tr>\n<tr>\n<td>quote_doc_url</td>\n<td>character varying</td>\n<td></td>\n<td>Provide a url that provides partner access to the file.</td>\n</tr>\n<tr>\n<td>quote_doc_extension</td>\n<td>character varying</td>\n<td></td>\n<td>The 3-4 character file extension refers to a file type. The following document types can be uploaded, up to 50Mb:  <br />application/pdf  <br />image/jpeg  <br />image/jpg  <br />image/png  <br />application/vnd.ms-excel  <br />application/vnd.openxmlformats-officedocument.spreadsheetml.sheet  <br />application/msword  <br />application/vnd.openxmlformats-officedocument.wordprocessingml.document</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Success</strong>: Boolean value of TRUE.<br /><strong>Failure</strong>: quote_id not found.</p>\n","urlObject":{"path":["api","quote","document"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"d8ff169f-5c2e-46cf-9378-3bf4d2b51951"},{"name":"Retrieve quote using your system quote ID","id":"4cc758cf-a163-4958-ba84-71fe9c291006","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/quote/GetQuoteByID?bgd_rfq_id=ed04a467-b2f7-4f40-b09c-fc71d80f1779&quote_id=Quote-TestingNewEndpoints","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property name</th>\n<th>Data type</th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>quote_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique quote ID set by your system.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Success</strong>: Boolean value of TRUE</p>\n<p><strong>Failure</strong>: quote_id not found</p>\n<h3 id=\"api-response-example\">API response example</h3>\n<p>Here's a breakdown of the endpoint JSON response.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"results\": [\n        {\n            \"response\": [\n                {\n                    \"quote_id\": \"Quote-TestingNewEndpoints\",\n                    \"rfq_id\": \"ed04a467-b2f7-4f40-b09c-fc71d80f1779\",\n                    \"supplier_trading_name\": \"TestingNewEndpoints2\",\n                    \"total_cost_exc\": \"4,909.09\",\n                    \"total_tax\": \"490.91\",\n                    \"total_cost_inc\": \"5,400.00\",\n                    \"gst\": \"Including GST\",\n                    \"delivery_included\": true,\n                    \"quote_reference\": \"quote_viaapi\",\n                    \"account\": true,\n                    \"payments\": true,\n                    \"warranty\": \"Added via API\",\n                    \"services\": \"Added via API\",\n                    \"value_proposition\": \"Added via API\",\n                    \"exclusions\": \"Added via API\",\n                    \"source\": \"source\",\n                    \"comment\": \"comment\",\n                    \"stage1\": \"payments_stage1\",\n                    \"stage1_percent\": \"10\",\n                    \"stage1_days\": \"payments_stage1_days\",\n                    \"stage1_event\": \"payments_stage1_event\",\n                    \"stage2\": \"payments_stage2\",\n                    \"stage2_percent\": \"10\",\n                    \"stage2_days\": \"payments_stage2_days\",\n                    \"stage2_event\": \"payments_stage2_event\",\n                    \"stage3\": \"payments_stage3\",\n                    \"stage3_percent\": \"10\",\n                    \"stage3_days\": \"payments_stage3_days\",\n                    \"stage3_event\": \"payments_stage3_event\",\n                    \"stage4\": \"payments_stage4\",\n                    \"stage4_percent\": \"10\",\n                    \"stage4_days\": \"payments_stage4_days\",\n                    \"stage4_event\": \"payments_stage4_event\",\n                    \"created_at\": \"2025-02-26T20:21:14.000Z\"\n                }\n            ]\n        }\n    ]\n}\n\n</code></pre>\n","urlObject":{"path":["api","quote","GetQuoteByID"],"host":["{{base_url}}"],"query":[{"key":"bgd_rfq_id","value":"ed04a467-b2f7-4f40-b09c-fc71d80f1779"},{"key":"quote_id","value":"Quote-TestingNewEndpoints"}],"variable":[]}},"response":[],"_postman_id":"4cc758cf-a163-4958-ba84-71fe9c291006"},{"name":"Retrieve quote using BuiltGrid RFQ ID","id":"b3f5e0ac-a718-4589-9669-f01634508790","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/quote/GetQuoteByRFQ?bgd_rfq_id=ed04a467-b2f7-4f40-b09c-fc71d80f1779","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property name</th>\n<th>Data type</th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bgd_rfq_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the value shared in the RFQ endpoint response.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Success</strong>: Boolean value of TRUE</p>\n<p><strong>Failure</strong>: bgd_rfq_id not found</p>\n<h3 id=\"api-response-example\">API response example</h3>\n<p>Here's a breakdown of the endpoint JSON response.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"results\": [\n        {\n            \"response\": [\n                {\n                    \"quote_id\": \"Quote-TestingNewEndpoints\",\n                    \"rfq_id\": \"ed04a467-b2f7-4f40-b09c-fc71d80f1779\",\n                    \"supplier_trading_name\": \"TestingNewEndpoints2\",\n                    \"total_cost_exc\": \"4,909.09\",\n                    \"total_tax\": \"490.91\",\n                    \"total_cost_inc\": \"5,400.00\",\n                    \"gst\": \"Including GST\",\n                    \"delivery_included\": true,\n                    \"quote_reference\": \"quote_viaapi\",\n                    \"account\": true,\n                    \"payments\": true,\n                    \"warranty\": \"Added via API\",\n                    \"services\": \"Added via API\",\n                    \"value_proposition\": \"Added via API\",\n                    \"exclusions\": \"Added via API\",\n                    \"source\": \"source\",\n                    \"comment\": \"comment\",\n                    \"stage1\": \"payments_stage1\",\n                    \"stage1_percent\": \"10\",\n                    \"stage1_days\": \"payments_stage1_days\",\n                    \"stage1_event\": \"payments_stage1_event\",\n                    \"stage2\": \"payments_stage2\",\n                    \"stage2_percent\": \"10\",\n                    \"stage2_days\": \"payments_stage2_days\",\n                    \"stage2_event\": \"payments_stage2_event\",\n                    \"stage3\": \"payments_stage3\",\n                    \"stage3_percent\": \"10\",\n                    \"stage3_days\": \"payments_stage3_days\",\n                    \"stage3_event\": \"payments_stage3_event\",\n                    \"stage4\": \"payments_stage4\",\n                    \"stage4_percent\": \"10\",\n                    \"stage4_days\": \"payments_stage4_days\",\n                    \"stage4_event\": \"payments_stage4_event\",\n                    \"created_at\": \"2025-02-26T20:21:14.000Z\"\n                }\n            ]\n        }\n    ]\n}\n\n</code></pre>\n","urlObject":{"path":["api","quote","GetQuoteByRFQ"],"host":["{{base_url}}"],"query":[{"key":"bgd_rfq_id","value":"ed04a467-b2f7-4f40-b09c-fc71d80f1779"}],"variable":[]}},"response":[],"_postman_id":"b3f5e0ac-a718-4589-9669-f01634508790"},{"name":"Retrieve quote document using your system quote ID","id":"51a001ec-1e43-40b0-8a18-c740ee147fe2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/quote/GetQuoteDocByID?bgd_rfq_id=ed04a467-b2f7-4f40-b09c-fc71d80f1779&quote_id=Quote-TestingNewEndpoints","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property name</th>\n<th>Data type</th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>quote_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique quote ID set by your system.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Success</strong>: Boolean value of TRUE</p>\n<p><strong>Failure</strong>: quote_id not found</p>\n<h3 id=\"api-response-example\">API response example</h3>\n<p>Here's a breakdown of the endpoint JSON response. When testing, please replace domain with staging IP address. We need to create quotes for you to test this element to simulate supplier quote responses. Just send us a request by Slack or email.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"results\": [\n        {\n            \"response\": [\n                {\n                    \"quote_id\": \"Quote-TestingNewEndpoints\",\n                    \"RFQ_id\": \"RFQ-TestingNewEndpoints\",\n                    \"quote_doc_id\": \"Doc-TestingNewEndpoints\",\n                    \"doc_name\": \"sample.pdf\",\n                    \"doc_type\": \"Quote\",\n                    \"doc_link\": \"https://webappdocs.sgp1.digitaloceanspaces.com/project_docs/quotes/42f95304-37c7-4b98-9d24-c792200349b5/sample.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&amp;X-Amz-Credential=DO00NVV4DQ8CWHNQKKD4/20250226/us-east-1/s3/aws4_request&amp;X-Amz-Date=20250226T202605Z&amp;X-Amz-Expires=172800&amp;X-Amz-Signature=d4e98dea613b6d64770bdef95cb21e6a603b7fe514d32d1307bb719d1775cf3f&amp;X-Amz-SignedHeaders=host&amp;x-amz-checksum-mode=ENABLED&amp;x-id=GetObject\"\n                }\n            ]\n        }\n    ]\n}\n\n\n</code></pre>\n","urlObject":{"path":["api","quote","GetQuoteDocByID"],"host":["{{base_url}}"],"query":[{"key":"bgd_rfq_id","value":"ed04a467-b2f7-4f40-b09c-fc71d80f1779"},{"key":"quote_id","value":"Quote-TestingNewEndpoints"}],"variable":[]}},"response":[],"_postman_id":"51a001ec-1e43-40b0-8a18-c740ee147fe2"},{"name":"Retrieve quote document using BuiltGrid RFQ ID","id":"f511a4e2-4ede-4e97-9284-c62c0db50ed9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/quote/GetQuoteDocByRFQ?bgd_rfq_id=ed04a467-b2f7-4f40-b09c-fc71d80f1779&quote_id=Quote-TestingNewEndpoints","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property name</th>\n<th>Data type</th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bgd_rfq_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the value shared in RFQ endpoint response.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Success</strong>: Boolean value of TRUE</p>\n<p><strong>Failure</strong>: bgd_rfq_id not found</p>\n<h3 id=\"api-response-example\">API response example</h3>\n<p>Here's a breakdown of the endpoint JSON response.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"results\": [\n        {\n            \"response\": [\n                {\n                    \"quote_id\": \"Quote-TestingNewEndpoints\",\n                    \"RFQ_id\": \"RFQ-TestingNewEndpoints\",\n                    \"quote_doc_id\": \"Doc-TestingNewEndpoints\",\n                    \"doc_name\": \"sample.pdf\",\n                    \"doc_type\": \"Quote\",\n                    \"doc_link\": \"https://webappdocs.sgp1.digitaloceanspaces.com/project_docs/quotes/42f95304-37c7-4b98-9d24-c792200349b5/sample.pdf?X-Amz-Algorithm=AWS4-HMAC-SHA256&amp;X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&amp;X-Amz-Credential=DO00NVV4DQ8CWHNQKKD4/20250226/us-east-1/s3/aws4_request&amp;X-Amz-Date=20250226T202605Z&amp;X-Amz-Expires=172800&amp;X-Amz-Signature=d4e98dea613b6d64770bdef95cb21e6a603b7fe514d32d1307bb719d1775cf3f&amp;X-Amz-SignedHeaders=host&amp;x-amz-checksum-mode=ENABLED&amp;x-id=GetObject\"\n                }\n            ]\n        }\n    ]\n}\n\n</code></pre>\n","urlObject":{"path":["api","quote","GetQuoteDocByRFQ"],"host":["{{base_url}}"],"query":[{"key":"bgd_rfq_id","value":"ed04a467-b2f7-4f40-b09c-fc71d80f1779"},{"key":"quote_id","value":"Quote-TestingNewEndpoints"}],"variable":[]}},"response":[],"_postman_id":"f511a4e2-4ede-4e97-9284-c62c0db50ed9"},{"name":"Retrieve quote document status using your system quote ID","id":"c8f166d4-9888-4dc6-a71a-e71d6afcb448","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/quote/GetQuoteDocStatusByID?bgd_rfq_id=ed04a467-b2f7-4f40-b09c-fc71d80f1779&quote_id=Quote-TestingNewEndpoints","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property name</th>\n<th>Data type</th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>quote_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique quote ID set by your system.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Success</strong>: Boolean value of TRUE</p>\n<p><strong>Failure</strong>: quote_id not found</p>\n<h3 id=\"api-response-example\">API response example</h3>\n<p>Here's a breakdown of the endpoint JSON response.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"results\": [\n        {\n            \"response\": [\n                {\n                    \"quote_id\": \"Quote-TestingNewEndpoints\",\n                    \"quote_doc_id\": \"Doc-TestingNewEndpoints\",\n                    \"quote_doc_name\": \"sample.pdf\",\n                    \"quote_doc_type\": \"Quote\",\n                    \"quote_doc_url\": \"https://pdfobject.com/pdf/sample.pdf\",\n                    \"quote_doc_extension\": \"application/pdf\",\n                    \"status\": \"Created\"\n                }\n            ]\n        }\n    ]\n}\n\n</code></pre>\n","urlObject":{"path":["api","quote","GetQuoteDocStatusByID"],"host":["{{base_url}}"],"query":[{"key":"bgd_rfq_id","value":"ed04a467-b2f7-4f40-b09c-fc71d80f1779"},{"key":"quote_id","value":"Quote-TestingNewEndpoints"}],"variable":[]}},"response":[],"_postman_id":"c8f166d4-9888-4dc6-a71a-e71d6afcb448"}],"id":"dd424612-45e2-42f0-adb1-ae39a1680ff3","description":"<p>Quotes and supporting documents are shared between builder construction management apps and BuiltGrid. Additional information is included with each of the following endpoints.</p>\n","_postman_id":"dd424612-45e2-42f0-adb1-ae39a1680ff3","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"<value>"}]},"isInherited":true,"source":{"_postman_id":"5bc456b8-aae3-4110-812d-6b125b35bbb2","id":"5bc456b8-aae3-4110-812d-6b125b35bbb2","name":"BuiltGrid - Builder Apps","type":"collection"}}},{"name":"Quote comparison","item":[{"name":"Retrieve quote comparison using BuiltGrid RFQ ID","id":"411f9db9-7da0-4518-84d2-b4f88b4d5e20","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/quotecomparison/GetQuoteComparison?bgd_rfq_id=890bbbbf-1b95-4bd7-a466-2d9b0b00be93","description":"<p>As you can see below, only one data point is required. If there is at least one quote available associated with the requested RFQ ID, the endpoint response will include a quote comparison link.</p>\n<p><strong>Note</strong>: Base URL in production is <a href=\"https://app.builtgrid.com/api/oauth/login?client_id=21643872-9b85-4e5a-aac3-f68b3169312f&amp;response_type=code&amp;redirect_uri=https%3A%2F%2Fmydindo.co%2Foauth%2Fbuiltgrid&amp;state=01e6670c-e40e-42b0-9c01-206de6419a83\">https://app.builtgrid.com/</a> </p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property name</th>\n<th>Data type</th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bgd_rfq_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the value shared in RFQ endpoint response.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Success</strong>: URL to view quote comparison</p>\n<p><strong>Failure</strong>: bgd_rfq_id not found</p>\n<h3 id=\"api-response-example\">API response example</h3>\n<p>Here's a breakdown of the endpoint JSON response.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"results\": [\n        {\n            \"response\": \"URL\"\n        }\n    ]\n}\n\n</code></pre>\n","urlObject":{"path":["api","quotecomparison","GetQuoteComparison"],"host":["{{base_url}}"],"query":[{"key":"bgd_rfq_id","value":"890bbbbf-1b95-4bd7-a466-2d9b0b00be93"}],"variable":[]}},"response":[],"_postman_id":"411f9db9-7da0-4518-84d2-b4f88b4d5e20"},{"name":"Retrieve quote comparison using Project ID","id":"18214cbb-5dc3-454a-970e-d8bc9fdb1ee0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/quotecomparison/GetQuoteComparisonByProject?project_id=890bbbbf-1b95-4bd7-a466-2d9b0b00be93","description":"<p>Base url is <a href=\"https://app.builtgrid.com/\">https://app.builtgrid.com/</a></p>\n<p>As you can see below, only one data point is required. If there is at least one quote available associated with the requested RFQ ID, the endpoint response will nclude a quote comparison link.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property name</th>\n<th>Data type</th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>project_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>Partner App project's ID</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Success</strong>: URL to view quote comparisons available in the project with RFQ BGD ID</p>\n<p><strong>Failure</strong>: Project not found</p>\n<h3 id=\"api-response-example\">API response example</h3>\n<p>Here's a breakdown of the endpoint JSON response.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n{\n    \"data\": [\n        {\n            \"results\": [\n                {\n                    \"rfq_bgd_id\": \"1d281c6c-3486-4b9d-ac1e-406967e39864\",\n                    \"quote_comparison\": \"builder/quote_comparison/b81c3d19-4d4d-42f9-926a-2ed45225223a\"\n                },\n                {\n                    \"rfq_bgd_id\": \"744269df-ec8f-47f4-bee8-9426ff71a04b\",\n                    \"quote_comparison\": \"Waiting suppliers to send quotes\"\n                },\n                {\n                    \"rfq_bgd_id\": \"f18e7a96-aa59-41e5-845f-741edc9a7bf0\",\n                    \"quote_comparison\": \"builder/quote_comparison/90c99ade-ca7b-465a-9f9f-0ba0b69e72c6\"\n                }\n            ]\n        }\n    ]\n}\n\n</code></pre>\n","urlObject":{"path":["api","quotecomparison","GetQuoteComparisonByProject"],"host":["{{base_url}}"],"query":[{"key":"project_id","value":"890bbbbf-1b95-4bd7-a466-2d9b0b00be93"}],"variable":[]}},"response":[],"_postman_id":"18214cbb-5dc3-454a-970e-d8bc9fdb1ee0"}],"id":"9138756d-9324-4e8f-9968-684ca4802b73","description":"<p>This is an optional endpoint and relevant if you don't have quote and order functions in your app (eg. Estimating app). This endpoint will respond with a quote comparison page link. On this page, your user can review a side-by-side quote comparison including pricing, terms, quote links, etc.. Your builder customer can order and schedule from the comparison page.</p>\n<h4 id=\"quote-simulation\">Quote simulation</h4>\n<p>While in development or testing mode using staging server, we need to manually submit quotes on your behalf to simulate supplier quote responses. Send us a request by Slack or email.</p>\n","_postman_id":"9138756d-9324-4e8f-9968-684ca4802b73","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"<value>"}]},"isInherited":true,"source":{"_postman_id":"5bc456b8-aae3-4110-812d-6b125b35bbb2","id":"5bc456b8-aae3-4110-812d-6b125b35bbb2","name":"BuiltGrid - Builder Apps","type":"collection"}}},{"name":"Order","item":[{"name":"Create or update a purchase order","id":"da755c6b-cbf6-4cc6-b100-bcea36fa5ad8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": [\n        {\n            \"order_id\": \"Order-TestingNewEndpoints\",\n            \"quote_id\": \"Quote-TestingNewEndpoints\",\n            \"rfq_id\": \"RFQ-TestingNewEndpoints\",\n            \"supplier_id\": \"TestingNewEndpoints2\",\n            \"supplier_trading_name\": \"ContactForTest\",\n            \"order_required_date\": \"2024-09-10\",\n            \"order_date\": \"2024-09-10\",\n            \"order_reference\": \"2024-07-15\",\n            \"total_cost_exc\": \"10000\",\n            \"total_tax\": \"102\",\n            \"total_cost_inc\": \"112\",\n            \"delivery_included\": \"true\",\n            \"terms\": \"Terms\",\n            \"comment\": \"Comment\",            \n            \"item\":[{\n                \"order_item_id\": \"200\",\n                \"order_item_name\": \"Item Name\",\n                \"order_item_quantity\": \"200\",\n                \"order_item_uom\": \"m2\",\n                \"order_item_cost_exc\": \"1200.00\",\n                \"order_item_tax\": \"1200.00\",\n                \"order_item_cost_inc\": \"1500.00\",\n                \"order_item_cost_subtotal_exc\": \"1320.00\",\n                \"order_item_cost_subtotal_inc\": \"1320.00\",                \n                \"order_item_comment\": \"Comment\"\n            },\n            {\n                \"order_item_id\": \"300\",\n                \"order_item_name\": \"Item Name 1\",\n                \"order_item_quantity\": \"300\",\n                \"order_item_uom\": \"m2\",\n                \"order_item_cost_exc\": \"1300.00\",\n                \"order_item_tax\": \"1300.00\",\n                \"order_item_cost_inc\": \"1500.00\",\n                \"order_item_cost_subtotal_exc\": \"1350.00\",\n                \"order_item_cost_subtotal_inc\": \"120.00\",                \n                \"order_item_comment\": \"Comment\"\n            }\n\n            ]\n        }\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/order/createupdateorder","description":"<p>If the purchase order is generated in your system for an RFQ associated with BuiltGrid, this endpoint posts the data to BuiltGrid for sharing with the applicable supplier for agreement and signing.</p>\n<p>This process includes an agreed scheduled date for delivery or onsite services.</p>\n<p><code>post_po_create_update</code> field definitions are as follows:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property name</th>\n<th>Date type</th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>order_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique order ID set by your system.</td>\n</tr>\n<tr>\n<td>quote_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique quote ID set by your system.</td>\n</tr>\n<tr>\n<td>rfq_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique RFQ ID set by your system.</td>\n</tr>\n<tr>\n<td>supplier_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique supplier_id set by your system.</td>\n</tr>\n<tr>\n<td>supplier_trading_name</td>\n<td>character varying</td>\n<td></td>\n<td>This is the supplier business name as set by customer in your system.</td>\n</tr>\n<tr>\n<td>order_date</td>\n<td>timestamp with time zone</td>\n<td>Y</td>\n<td>The creation date of the PO as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>order_reference</td>\n<td>character varying</td>\n<td>Y</td>\n<td>The id of the PO as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>total_cost_exc</td>\n<td>numeric</td>\n<td>Y</td>\n<td>The grand total of all items subtotals excluding tax in dollar terms, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>total_tax</td>\n<td>numeric</td>\n<td>Y</td>\n<td>The grand total of all items subtotals tax amount in dollar terms, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>total_cost_inc</td>\n<td>numeric</td>\n<td>Y</td>\n<td>The grand total of all items subtotals including tax in dollar terms, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>delivery_included</td>\n<td>boolean</td>\n<td></td>\n<td>A flag to indicate if the quote includes or excludes delivery fee. Typically true or false as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>terms</td>\n<td>character varying</td>\n<td></td>\n<td>The summary payment terms associated with the quote as set by the supplier in their system. Limited to 25 characteres.</td>\n</tr>\n<tr>\n<td>comment</td>\n<td>character varying</td>\n<td></td>\n<td>The summary comment of the quote as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>order_item_id</td>\n<td>character varying</td>\n<td>Item array</td>\n<td>All item fields are part of an array. The item ID or SKU (Stock Keeping Unit) as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>order_item_name</td>\n<td>character varying</td>\n<td>Item array</td>\n<td>The characters used in item name, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>order_item_quantity</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The quantity of items, as set by the supplier in their system. Up to four decimal points.</td>\n</tr>\n<tr>\n<td>order_item_uom</td>\n<td>character varying</td>\n<td>Item array</td>\n<td>The UOM (Unit of Measure) of items, as set by the supplier in their system. Eg. Each, LM, M2, M3, etc...</td>\n</tr>\n<tr>\n<td>order_item_cost_exc</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The item cost excluding tax in dollar terms, as set by the supplier in their system. Up to four decimal points.</td>\n</tr>\n<tr>\n<td>order_item_tax</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The item tax amount in dollar terms, as set by the supplier in their system. Up to four decimal points.</td>\n</tr>\n<tr>\n<td>order_item_cost_inc</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The item cost including tax in dollar terms, as set by the supplier in their system. Up to four decimal points.</td>\n</tr>\n<tr>\n<td>order_item_cost_subtotal_exc</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The subtotal is the quantity multiplied by the cost excluding tax in dollar terms, as set by the supplier in their system. Up to four decimal points.</td>\n</tr>\n<tr>\n<td>order_item_cost_subtotal_inc</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The subtotal is the quantity multiplied by the cost including tax in dollar terms, as set by the supplier in their system. Up to four decimal points.</td>\n</tr>\n<tr>\n<td>order_item_comment</td>\n<td>text</td>\n<td></td>\n<td>The item-specific comments, as set by the supplier in their system.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Success</strong>: Boolean value of TRUE.<br /><strong>Failure</strong>: bgd_rfq_id not found.</p>\n","urlObject":{"path":["api","order","createupdateorder"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"da755c6b-cbf6-4cc6-b100-bcea36fa5ad8"},{"name":"Create or update a purchase order V2","id":"d663c465-f299-4c64-9d57-e352fcf6cf2a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"data\": [\n        {\n            \"order_id\": \"Order-TestingNewEndpoints\",\n            \"quote_id\": \"Quote-TestingNewEndpoints\",\n            \"rfq_id\": \"RFQ-TestingNewEndpoints\",\n            \"supplier_id\": \"TestingNewEndpoints2\",\n            \"supplier_trading_name\": \"ContactForTest\",\n            \"order_required_date\": \"2024-09-10\",\n            \"order_date\": \"2024-09-10\",\n            \"order_reference\": \"2024-07-15\",\n            \"total_cost_exc\": \"10000\",\n            \"total_tax\": \"102\",\n            \"total_cost_inc\": \"112\",\n            \"delivery_included\": \"true\",\n            \"terms\": \"Terms\",\n            \"comment\": \"Comment\",            \n            \"item\":[{\n                \"order_item_id\": \"200\",\n                \"order_item_name\": \"Item Name\",\n                \"order_item_quantity\": \"200\",\n                \"order_item_uom\": \"m2\",\n                \"order_item_cost_exc\": \"1200.00\",\n                \"order_item_tax\": \"1200.00\",\n                \"order_item_cost_inc\": \"1500.00\",\n                \"order_item_cost_subtotal_exc\": \"1320.00\",\n                \"order_item_cost_subtotal_inc\": \"1320.00\",                \n                \"order_item_comment\": \"Comment\"\n            },\n            {\n                \"order_item_id\": \"300\",\n                \"order_item_name\": \"Item Name 1\",\n                \"order_item_quantity\": \"300\",\n                \"order_item_uom\": \"m2\",\n                \"order_item_cost_exc\": \"1300.00\",\n                \"order_item_tax\": \"1300.00\",\n                \"order_item_cost_inc\": \"1500.00\",\n                \"order_item_cost_subtotal_exc\": \"1350.00\",\n                \"order_item_cost_subtotal_inc\": \"120.00\",                \n                \"order_item_comment\": \"Comment\"\n            }\n\n            ]\n        }\n    ]\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/order/createupdateorderv2","description":"<p>This endpoint is intended for creating a quote in BGD when the associated RFQ was created (or updated) via the <code>Create or update a request for quote V2</code> endpoint.</p>\n<p>If the purchase order is generated in your system for an RFQ associated with BuiltGrid, this endpoint posts the data to BuiltGrid for sharing with the applicable supplier for agreement and signing.</p>\n<p>This process includes an agreed scheduled date for delivery or onsite services.</p>\n<p><code>post_po_create_update</code> field definitions are as follows:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property name</th>\n<th>Date type</th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>order_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique order ID set by your system.</td>\n</tr>\n<tr>\n<td>quote_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique quote ID set by your system.</td>\n</tr>\n<tr>\n<td>rfq_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique RFQ ID set by your system.</td>\n</tr>\n<tr>\n<td>supplier_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the unique supplier_id set by your system.</td>\n</tr>\n<tr>\n<td>supplier_trading_name</td>\n<td>character varying</td>\n<td></td>\n<td>This is the supplier business name as set by customer in your system.</td>\n</tr>\n<tr>\n<td>order_date</td>\n<td>timestamp with time zone</td>\n<td>Y</td>\n<td>The creation date of the PO as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>order_reference</td>\n<td>character varying</td>\n<td>Y</td>\n<td>The id of the PO as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>total_cost_exc</td>\n<td>numeric</td>\n<td>Y</td>\n<td>The grand total of all items subtotals excluding tax in dollar terms, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>total_tax</td>\n<td>numeric</td>\n<td>Y</td>\n<td>The grand total of all items subtotals tax amount in dollar terms, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>total_cost_inc</td>\n<td>numeric</td>\n<td>Y</td>\n<td>The grand total of all items subtotals including tax in dollar terms, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>delivery_included</td>\n<td>boolean</td>\n<td></td>\n<td>A flag to indicate if the quote includes or excludes delivery fee. Typically true or false as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>terms</td>\n<td>character varying</td>\n<td></td>\n<td>The summary payment terms associated with the quote as set by the supplier in their system. Limited to 25 characteres.</td>\n</tr>\n<tr>\n<td>comment</td>\n<td>character varying</td>\n<td></td>\n<td>The summary comment of the quote as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>order_item_id</td>\n<td>character varying</td>\n<td>Item array</td>\n<td>All item fields are part of an array. The item ID or SKU (Stock Keeping Unit) as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>order_item_name</td>\n<td>character varying</td>\n<td>Item array</td>\n<td>The characters used in item name, as set by the supplier in their system.</td>\n</tr>\n<tr>\n<td>order_item_quantity</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The quantity of items, as set by the supplier in their system. Up to four decimal points.</td>\n</tr>\n<tr>\n<td>order_item_uom</td>\n<td>character varying</td>\n<td>Item array</td>\n<td>The UOM (Unit of Measure) of items, as set by the supplier in their system. Eg. Each, LM, M2, M3, etc...</td>\n</tr>\n<tr>\n<td>order_item_cost_exc</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The item cost excluding tax in dollar terms, as set by the supplier in their system. Up to four decimal points.</td>\n</tr>\n<tr>\n<td>order_item_tax</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The item tax amount in dollar terms, as set by the supplier in their system. Up to four decimal points.</td>\n</tr>\n<tr>\n<td>order_item_cost_inc</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The item cost including tax in dollar terms, as set by the supplier in their system. Up to four decimal points.</td>\n</tr>\n<tr>\n<td>order_item_cost_subtotal_exc</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The subtotal is the quantity multiplied by the cost excluding tax in dollar terms, as set by the supplier in their system. Up to four decimal points.</td>\n</tr>\n<tr>\n<td>order_item_cost_subtotal_inc</td>\n<td>numeric</td>\n<td>Item array</td>\n<td>The subtotal is the quantity multiplied by the cost including tax in dollar terms, as set by the supplier in their system. Up to four decimal points.</td>\n</tr>\n<tr>\n<td>order_item_comment</td>\n<td>text</td>\n<td></td>\n<td>The item-specific comments, as set by the supplier in their system.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Success</strong>: Boolean value of TRUE.<br /><strong>Failure</strong>: bgd_rfq_id not found.</p>\n","urlObject":{"path":["api","order","createupdateorderv2"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"d663c465-f299-4c64-9d57-e352fcf6cf2a"},{"name":"Retrieve order contract using BuiltGrid RFQ ID","id":"143dc546-453e-4c14-8ed4-6eb7213cbed1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{access_token}}"}]},"isInherited":false},"method":"GET","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/api/order/GetOrderByRFQ?bgd_rfq_id=ed04a467-b2f7-4f40-b09c-fc71d80f1779","description":"<p>Once a purchase order is signed, we will use your webhook to trigger the <code>GetOrderByRFQ</code> endpoint.</p>\n<p>This endpoint shares the final purchase order contract, a URL to a PDF. The PDF wraps all of the purchasing activity into one file, like an audit trail that includes:</p>\n<ul>\n<li><p>Organisational and legal details of the contracting parties</p>\n</li>\n<li><p>Original RFQ and job scope</p>\n</li>\n<li><p>Quotes and supporting documents</p>\n</li>\n<li><p>Order, estimated schedule and payment terms</p>\n</li>\n<li><p>Signatures of the parties</p>\n</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property name</th>\n<th>Data type</th>\n<th><strong>Mandatory</strong></th>\n<th><strong>Definition</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bgd_rfq_id</td>\n<td>character varying</td>\n<td>Y</td>\n<td>This is the value shared in RFQ endpoint response.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Success</strong>: BuiltGrid contract URL</p>\n<p><strong>Failure</strong>: bgd_rfq_id not found</p>\n<h3 id=\"api-response-example\">API response example</h3>\n<p>Here's a breakdown of the endpoint JSON response.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"results\": [\n        {\n            \"order_id\": \"Order-TestingNewEndpoints\",\n            \"quote_id\": \"Quote-TestingNewEndpoints\",\n            \"rfq_id\": \"RFQ-TestingNewEndpoints\",\n            \"supplier_id\": \"TestingNewEndpoints2\",\n            \"supplier_trading_name\": \"TestingNewEndpoints2\",\n            \"order_reference\": \"BGDPO12864456\",\n            \"total_cost_exc\": \"4,909.09\",\n            \"total_tax\": \"490.91\",\n            \"total_cost_inc\": \"5,400.00\",\n            \"delivery_included\": true,\n            \"comment\": null,\n            \"order_required_date\": \"2024-09-09T14:00:00.000Z\",\n            \"order_supplier_signature_url\": \"Order is Under Offer\"\n        }\n    ]\n}\n\n</code></pre>\n","urlObject":{"path":["api","order","GetOrderByRFQ"],"host":["{{base_url}}"],"query":[{"key":"bgd_rfq_id","value":"ed04a467-b2f7-4f40-b09c-fc71d80f1779"}],"variable":[]}},"response":[],"_postman_id":"143dc546-453e-4c14-8ed4-6eb7213cbed1"}],"id":"ff11d4e3-b98a-4497-96ac-c4d6b53d587f","description":"<p>Orders are managed in two ways, depending on the order source.</p>\n<h3 id=\"1-orders-sent-by-your-system\">1. Orders sent by your system</h3>\n<p>The purchase order is generated in your system for an RFQ associated with BuiltGrid. The <code>createupdateorder</code> endpoint posts the data to BuiltGrid for sharing with the applicable supplier for agreement and signing. Once signed we will use your webhook to trigger the <code>GetOrderByRFQ</code> endpoint which includes the BuiltGrid contract.</p>\n<h3 id=\"2-signed-order-contracts-generated-by-builtgrid\">2. Signed order contracts generated by BuiltGrid</h3>\n<p>Purchase orders are reviewed and signed by the supplier on the BuiltGrid platform. Once signed we will use your webhook to trigger the <code>GetOrderByRFQ</code> endpoint which includes the final BuiltGrid purchase order contract - a URL to a PDF that wraps all of the purchasing activity into one file, like an audit trail. There''s more detail in the endpoint description.</p>\n","_postman_id":"ff11d4e3-b98a-4497-96ac-c4d6b53d587f","auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"<value>"}]},"isInherited":true,"source":{"_postman_id":"5bc456b8-aae3-4110-812d-6b125b35bbb2","id":"5bc456b8-aae3-4110-812d-6b125b35bbb2","name":"BuiltGrid - Builder Apps","type":"collection"}}}],"auth":{"type":"apikey","apikey":{"basicConfig":[{"key":"key","value":"X-API-Key"},{"key":"value","value":"<value>"}]}},"event":[{"listen":"prerequest","script":{"id":"ffc567ed-1837-4dc0-bd3b-6afed6ea6591","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"31c0b094-0f9e-4f9e-998a-ddccbcac34ba","type":"text/javascript","exec":[""]}}]}