{"info":{"_postman_id":"f1016dde-ae0a-47ad-87e2-f6d23c2e57df","name":"Coalesce Catalog API","description":"<html><head></head><body><p>Coalesce Catalog is a data catalog designed for mass adoption across the whole company.</p>\n<p>This Catalog API lets you interact, extend and enhance your data on Catalog.</p>\n<p>This documentation will help you get up and running with Catalog's <a href=\"https://graphql.org/\">GraphQL API</a></p>\n<h3 id=\"authorization\">Authorization</h3>\n<p>All GraphQL <code>queries</code> and <code>mutations</code> require a valid Catalog <code>API token</code></p>\n<p>Include your token as an <code>Authorization</code> header on all API <code>queries</code> and <code>mutations</code></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\"Authorization\": \"Token &lt;API_TOKEN&gt;\"}\n\n</code></pre>\n<p>Please contact our support (Slack or <a href=\"https://mailto:catalog-support@coalesce.io\">catalog-support@coalesce.io</a>) to get your <code>API Token</code> .</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"27121545","collectionId":"f1016dde-ae0a-47ad-87e2-f6d23c2e57df","publishedId":"2sB34eGgpB","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2025-07-08T11:31:43.000Z"},"item":[{"name":"Instructions","item":[{"name":"Run this Catalog API collection with Postman (recommended)","item":[],"id":"433b7791-bb14-48b1-b2aa-ca729141e5c6","description":"<p>We strongly advise you to try the Catalog API Postman collection by selecting the <code>Run in Postman</code> button located at the top right corner of this documentation.</p>\n<ul>\n<li>Afterward, you can run it using either the <code>Postman for Web</code> or <code>Postman</code> desktop application.</li>\n</ul>\n<img src=\"https://content.pstmn.io/70fbeac6-9d6e-4b8c-89c0-ff1fcaf9b0b3/U2NyZWVuc2hvdCAyMDI0LTAxLTAzIGF0IDE1LjM1LjU4LnBuZw==\" alt=\"Catalog%20API%20collection%20with%20Postman%20application\" />\n\n<ul>\n<li>Examples will be provided alongside every GraphQL query or mutation to enhance your comprehension.</li>\n<li>The provided examples are executable, and all you need to do is replace your API Token within the <code>Authorization</code> header (located in the <code>Headers</code> tab).</li>\n<li>The format of the query or mutation body is well-organized.</li>\n<li>Under these examples, you will find a comprehensive list of all available <code>fields</code> of each query</li>\n</ul>\n<p><em>Importing the</em> Catalog <em>API collection into your Postman workspace will create a dedicated collection that won't receive automatic updates. If any changes are made, you'll need to reimport the collection to obtain the latest version.</em></p>\n<h3 id=\"attach-a-tag-to-your-assets-example\">Attach a tag to your assets (example)</h3>\n<ul>\n<li>Here we will try to add a <code>finance</code> tag to all tables with names containing <code>finance</code></li>\n<li>First, we will need to call <code>getTables</code> with <code>scope.nameContains</code> = <code>finance</code></li>\n<li>Then we call <code>attachTags</code> to add the <code>finance</code> tag to tables</li>\n</ul>\n<h4 id=\"please-refer-this-example-code\"><a href=\"https://gist.github.com/aydumoulin/e65b76274674173e5dfac458d1c88c48\"><b>Please refer this example code</b></a></h4>\n","_postman_id":"433b7791-bb14-48b1-b2aa-ca729141e5c6"},{"name":"Scopes","item":[],"id":"db856e3f-93d9-4604-9811-aea65fbaf48f","description":"<p>Catalog API’s getter endpoint (graphQL queries) are using <strong>scopes</strong> to narrow down and filter query results.</p>\n<p>Those scopes are additive, meaning you can combine those and get results matching all scopes conditions altogether.</p>\n","_postman_id":"db856e3f-93d9-4604-9811-aea65fbaf48f"},{"name":"Sorting","item":[],"id":"e7d5de3d-bbdd-46ae-8b51-4008b7e1da02","description":"<p>Catalog API’s getter endpoints are coming with a sorting system. It is composed of an array of rules to order the set of results you will receive.</p>\n<p>Those rules are working the same way an SQL <strong>ORDER BY</strong> would: rules are taken sequentially, the first one will apply and the next one will be used in case of ties.</p>\n<p>Each rules contains:</p>\n<ul>\n<li>a <code>sortingKey</code> which refers to one fo the resource’s field (<code>id</code>, <code>name</code>, etc) it’s required and specific to each resources. See the endpoints to get the list of sorting keys you can use.</li>\n<li><code>direction</code> defining whether you want to order records in ascending (<code>ASC</code> default value) or descending order (<code>DESC</code>)</li>\n<li><code>nullsPriority</code> defines where you want results with null values for the <code>sortingKey</code>: either at the end: (<code>LAST</code> default value) or start (<code>FIRST</code>)</li>\n</ul>\n","_postman_id":"e7d5de3d-bbdd-46ae-8b51-4008b7e1da02"},{"name":"Dates","item":[],"id":"095b7f0a-0c60-430c-9a37-eb459760aa90","description":"<p>All dates provided to our queries and mutation Input are expected to follow the <strong>ISO 8601</strong> format:</p>\n<ul>\n<li>datetime: <code>yyyy-MM-dd HH:mm:ss</code> (ex: <code>2023-08-04T16:52:47</code>)</li>\n<li>date only: <code>yyyy-MM-dd</code> (ex: <code>2023-08-04</code>)</li>\n</ul>\n","_postman_id":"095b7f0a-0c60-430c-9a37-eb459760aa90"}],"id":"e804db1a-b901-4a44-8c54-25635e27e170","description":"<p>Here are some guidelines to use this documentation.</p>\n","_postman_id":"e804db1a-b901-4a44-8c54-25635e27e170"},{"name":"Dashboards","item":[{"name":"Get Dashboards","id":"78bfa245-57d6-4663-98b4-3324b5a13154","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query {\n  getDashboards {\n    totalCount\n    data {\n      id\n      name\n    }\n  }\n}\n","variables":""}},"url":"https://api.castordoc.com/public/graphql?op=getDashboards","description":"<h3 id=\"description\">Description</h3>\n<p>Get all dashboards, with optional scoping, sorting, and pagination.</p>\n<ul>\n<li><p>the <code>scope</code> will help you to filter/narrow down your result</p>\n</li>\n<li><p>the <code>sorting</code> will help you sort out the result in the order you want</p>\n</li>\n<li><p>the <code>pagination</code> will help you navigate through the result when there are too many records</p>\n</li>\n</ul>\n<h4 id=\"query-inputs\">Query inputs</h4>\n<ul>\n<li><code>scope</code> (optional): scope the dashboard by source, dashboard IDs, folder path or substring of dashboard name</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>property</strong></th>\n<th><strong>required</strong></th>\n<th><strong>type</strong></th>\n<th><strong>description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>ids</code></td>\n<td>no</td>\n<td><code>uuid</code> array</td>\n<td>Scope by multiple dashboard IDs</td>\n</tr>\n<tr>\n<td><code>nameContains</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>Scope by a substring of the dashboard name, case insensitive</td>\n</tr>\n<tr>\n<td><code>folderPath</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>Scope by the dashboard folder path, start from the root folder</td>\n</tr>\n<tr>\n<td><code>sourceId</code></td>\n<td>no</td>\n<td><code>uuid</code></td>\n<td>Scope by the source ID</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><code>sorting</code> (optional): an array of <code>sorting</code> objects</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>property</strong></th>\n<th><strong>required</strong></th>\n<th><strong>type</strong></th>\n<th><strong>value</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>sortingKey</code></td>\n<td>yes</td>\n<td><code>enum</code></td>\n<td><code>name</code>  <br /><code>popularity</code></td>\n</tr>\n<tr>\n<td><code>direction</code></td>\n<td>no</td>\n<td><code>enum</code></td>\n<td><code>ASC</code> (default value)  <br /><code>DESC</code></td>\n</tr>\n<tr>\n<td><code>nullsPriority</code></td>\n<td>no</td>\n<td><code>enum</code></td>\n<td><code>LAST</code> (default value)  <br /><code>FIRST</code></td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><code>pagination</code> (optional)</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>property</strong></th>\n<th><strong>required</strong></th>\n<th><strong>type</strong></th>\n<th><strong>description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>nbPerPage</code></td>\n<td>yes</td>\n<td><code>number</code></td>\n<td>Number of entities to return per page</td>\n</tr>\n<tr>\n<td><code>page</code></td>\n<td>yes</td>\n<td><code>number</code></td>\n<td>Fetch entities at this page, start at page 0</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"getDashboards"}],"variable":[]}},"response":[{"id":"e61bdcb8-64cc-4127-bf9b-5bc535409718","name":"Get Dashboards with all informations","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getDashboards","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getDashboards"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"11959"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Sat, 06 May 2023 23:20:24 GMT"},{"key":"X-Request-Id","value":"b64226f7-3ddb-4d75-906f-b2eef2166912"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getDashboards\": {\n            \"totalCount\": 15,\n            \"data\": [\n                {\n                    \"id\": \"1b34a992-4d39-4479-9d0f-ec629393c59c\",\n                    \"name\": \"Affinity\",\n                    \"slug\": \"an-explore-affinity\",\n                    \"popularity\": 200000,\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"\",\n                    \"externalDescription\": null,\n                    \"externalDescriptionSource\": null,\n                    \"folderPath\": \"__VIZ_MODEL__/1) eCommerce with Event Data\",\n                    \"folderUrl\": null,\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [],\n                    \"source\": {\n                        \"id\": \"524fdff7-b4fa-4f32-a47e-7cfc95847def\",\n                        \"name\": \"Looker\",\n                        \"technology\": \"LOOKER\"\n                    }\n                },\n                {\n                    \"id\": \"1b34a992-4d39-4479-9d0f-ec629393c59b\",\n                    \"name\": \"Order Items\",\n                    \"slug\": \"an-explore-order-items\",\n                    \"popularity\": 200000,\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"\",\n                    \"externalDescription\": null,\n                    \"externalDescriptionSource\": null,\n                    \"folderPath\": \"__VIZ_MODEL__/1) eCommerce with Event Data\",\n                    \"folderUrl\": null,\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [],\n                    \"source\": {\n                        \"id\": \"524fdff7-b4fa-4f32-a47e-7cfc95847def\",\n                        \"name\": \"Looker\",\n                        \"technology\": \"LOOKER\"\n                    }\n                },\n                {\n                    \"id\": \"8be27aa5-9be5-4f47-9eca-34b09725a108\",\n                    \"name\": \"Battery Deliveries\",\n                    \"slug\": \"8-dashboard-Battery-Deliveries\",\n                    \"popularity\": 860000,\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"Battery Deliveries Dashboard\",\n                    \"externalDescription\": null,\n                    \"externalDescriptionSource\": null,\n                    \"folderPath\": \"/operations/deliveries\",\n                    \"folderUrl\": null,\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [\n                        {\n                            \"tag\": {\n                                \"id\": \"834b855c-a638-4c9c-9a31-fc06e7a7616d\",\n                                \"label\": \"finance\"\n                            }\n                        }\n                    ],\n                    \"ownerEntities\": [],\n                    \"source\": {\n                        \"id\": \"524fdff7-b4fa-4f32-a47e-7cfc95847def\",\n                        \"name\": \"Looker\",\n                        \"technology\": \"LOOKER\"\n                    }\n                },\n                {\n                    \"id\": \"add006d4-e213-45e8-a4e2-df416b27e046\",\n                    \"name\": \"Monthly Revenue\",\n                    \"slug\": \"6-dashboard-Monthly-Revenue\",\n                    \"popularity\": 960000,\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"Monthly Recurring Revenue, commonly abbreviated as “MRR” is all of your recurring revenue normalized into a monthly amount. It's a metric usually used among subscription and SaaS companies.\\nIt's a way to average your various pricing plans and billing periods into a single, consistent number that you can track the trend of over time.\\nHow to calculate MRR\\nThe MRR calculationis pretty simple. You need to multiply your average revenue per account by the total number of customers for that month.\\nMRR formula\\nMRR = number of customers * average billed amount\\nSo 10 customers paying you an average of $100 per month would mean an MRR of $1,000.\\n10 customers & $100/mo = $1,000 MRR\\nHow to calculate net new MRR\\nAs your subscription business grows, it will become important to track not only your top-level MRR but also what factors make up the change in your MRR over previous months.\\nIf you added $1,000 in new MRR, you'd want to know where that came from, right?\\nLucky for you, that also is relatively easy using three elements that make up what we'll call “ Net New MRR”\\nNew MRR - Additional MRR from new customers\\nExpansion MRR - Additional MRR from existing customers (also known as an “upgrade”)\\nChurned MRR - MRR lost from cancellations or downgrades\\nHere’s the calculation for net new MRR\\nNew New MRR Formula\\nNet New MRR = New MRR + Expansion MRR - Churned MRR\\nIf you churn more MRR than you get from New or Expansion MRR, you end up losing MRR that month…which would make you sad.\\nVery, very sad.\\nAlso, if you’re reporting on MRR to higher ups, investors or to your team, breaking down your net new MRR can provide a lot of extra context for the numbers.\\nBE HONEST\\nHow well do you know your business?\\nTrack and analyze MRR, churn, and other crucial SaaS metrics.\\nTry Baremetrics Free\\nHow to analyze MRR\\nWhile on the surface MRR is a very straightforward metric, it's actually very nuanced and can give you a crucial picture of how your subscription business is growing (or not).\\nBut how do you get to that nuanced data and reporting? What should you look for? What points to potential trouble? And how do you grow MRR so you can in turn grow your startup? Let's take a look!\\nMany of these tips make use of features built directly in to Baremetrics , easily surfacing the insights covered here. But the data points themselves are likely accessible to you no matter what reporting software you use…it just may take quite a bit more digging.\\nTypes of MRR\\nAs mentioned earlier in the guide, there are five types of MRR:\\nNew MRR - MRR from new customers\\nExpansion MRR- MRR from existing customers (upgrades)\\nReactivation MRR - MRR from previous customers\\nContraction MRR - Lost MRR from existing customers (downgrades)\\nChurned MRR - Lost MRR from canceled customers\\nThe reason knowing those types is important is that it gives you direct insight in to the “why”. You get to see exactly why your MRR went up or down in a given month.\\nSeeing the “why” in chart form is very helpful.\\nThere's a lot of information here, but if we scroll down to see the MRR in more detail, it’s a lot easier to understand.\\nAnd if you want to dig even deeper, we also give you a graph of your monthly growth, which shows your net gains and losses in MRR each month with exact numbers.\\nRelated Tables\\nSalesforce.users\\nDatamart.dm_customer\\nDatamart.fct_profit\\nRelated Dashboards\\nActive User Segmentation Dashboard\\nSalesforce Conversion Dashboard\\nRevenue Dashboard\\nRelated Terms\\nCustomer\\nRevenue\",\n                    \"externalDescription\": null,\n                    \"externalDescriptionSource\": null,\n                    \"folderPath\": \"/finance/revenue\",\n                    \"folderUrl\": null,\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [\n                        {\n                            \"tag\": {\n                                \"id\": \"834b855c-a638-4c9c-9a31-fc06e7a7616d\",\n                                \"label\": \"finance\"\n                            }\n                        }\n                    ],\n                    \"ownerEntities\": [\n                        {\n                            \"user\": {\n                                \"email\": \"louis@timber.dev\",\n                                \"fullName\": \"Louis Smith\"\n                            }\n                        },\n                        {\n                            \"user\": {\n                                \"email\": \"analysts_team@timber.dev\",\n                                \"fullName\": \"Analysts Team #data-analysts\"\n                            }\n                        },\n                        {\n                            \"user\": {\n                                \"email\": \"finance_team@timber.dev\",\n                                \"fullName\": \"Finance Team #financial\"\n                            }\n                        }\n                    ],\n                    \"source\": {\n                        \"id\": \"524fdff7-b4fa-4f32-a47e-7cfc95847def\",\n                        \"name\": \"Looker\",\n                        \"technology\": \"LOOKER\"\n                    }\n                },\n                {\n                    \"id\": \"b4896247-ea21-4084-a2f2-4480d7775d17\",\n                    \"name\": \"Preorders\",\n                    \"slug\": \"7-dashboard-Preorders\",\n                    \"popularity\": 340000,\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": null,\n                    \"externalDescription\": \"External Preorders\",\n                    \"externalDescriptionSource\": \"VISUALIZATION\",\n                    \"folderPath\": \"/finance/sales\",\n                    \"folderUrl\": null,\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [\n                        {\n                            \"tag\": {\n                                \"id\": \"834b855c-a638-4c9c-9a31-fc06e7a7616d\",\n                                \"label\": \"finance\"\n                            }\n                        }\n                    ],\n                    \"ownerEntities\": [\n                        {\n                            \"user\": {\n                                \"email\": \"finance_team@timber.dev\",\n                                \"fullName\": \"Finance Team #financial\"\n                            }\n                        }\n                    ],\n                    \"source\": {\n                        \"id\": \"524fdff7-b4fa-4f32-a47e-7cfc95847def\",\n                        \"name\": \"Looker\",\n                        \"technology\": \"LOOKER\"\n                    }\n                },\n                {\n                    \"id\": \"078a7c51-efe1-4a78-a472-c075e7d0d8d5\",\n                    \"name\": \"Software Upgrades\",\n                    \"slug\": \"5-dashboard-Software-Upgrades\",\n                    \"popularity\": 550000,\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"Software Upgrades\",\n                    \"externalDescription\": \"External Software Upgrades\",\n                    \"externalDescriptionSource\": \"CASTOR\",\n                    \"folderPath\": \"/tech\",\n                    \"folderUrl\": null,\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [\n                        {\n                            \"tag\": {\n                                \"id\": \"834b855c-a638-4c9c-9a31-fc06e7a7616d\",\n                                \"label\": \"finance\"\n                            }\n                        },\n                        {\n                            \"tag\": {\n                                \"id\": \"dd40c632-7f4d-4e99-a55d-0b98ce45f590\",\n                                \"label\": \"marketing\"\n                            }\n                        },\n                        {\n                            \"tag\": {\n                                \"id\": \"17fe0aa2-0bc9-422c-8b12-c8e6ffe713e4\",\n                                \"label\": \"customer\"\n                            }\n                        },\n                        {\n                            \"tag\": {\n                                \"id\": \"5c5b0b16-9f7f-4547-878d-3310a9f5a307\",\n                                \"label\": \"explorer\"\n                            }\n                        }\n                    ],\n                    \"ownerEntities\": [\n                        {\n                            \"user\": {\n                                \"email\": \"analysts_team@timber.dev\",\n                                \"fullName\": \"Analysts Team #data-analysts\"\n                            }\n                        }\n                    ],\n                    \"source\": {\n                        \"id\": \"524fdff7-b4fa-4f32-a47e-7cfc95847def\",\n                        \"name\": \"Looker\",\n                        \"technology\": \"LOOKER\"\n                    }\n                },\n                {\n                    \"id\": \"20afd581-5672-4b49-b549-69c70e605700\",\n                    \"name\": \"Affinity Tableau Timber\",\n                    \"slug\": \"an-data-source-affinity-for-timber\",\n                    \"popularity\": 200000,\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"\",\n                    \"externalDescription\": null,\n                    \"externalDescriptionSource\": null,\n                    \"folderPath\": \"__VIZ_MODEL__/1) eCommerce with Event Data\",\n                    \"folderUrl\": null,\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [],\n                    \"source\": {\n                        \"id\": \"09dae248-b2ec-4c41-8f86-f7dd02c8b77e\",\n                        \"name\": \"Tableau\",\n                        \"technology\": \"TABLEAU\"\n                    }\n                },\n                {\n                    \"id\": \"ba5821bb-c88f-4897-83bd-97de33b0a05f\",\n                    \"name\": \"Last accounts\",\n                    \"slug\": \"tableau-dashboard-accounts\",\n                    \"popularity\": 740000,\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"Accounts created in the past 30 days\",\n                    \"externalDescription\": null,\n                    \"externalDescriptionSource\": null,\n                    \"folderPath\": \"/growth/accounts\",\n                    \"folderUrl\": null,\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [\n                        {\n                            \"user\": {\n                                \"email\": \"analysts_team@timber.dev\",\n                                \"fullName\": \"Analysts Team #data-analysts\"\n                            }\n                        }\n                    ],\n                    \"source\": {\n                        \"id\": \"09dae248-b2ec-4c41-8f86-f7dd02c8b77e\",\n                        \"name\": \"Tableau\",\n                        \"technology\": \"TABLEAU\"\n                    }\n                },\n                {\n                    \"id\": \"46e83651-94b6-48ae-8dd9-95fe20cd87a2\",\n                    \"name\": \"Last users\",\n                    \"slug\": \"tableau-dashboard-users\",\n                    \"popularity\": 540000,\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"Users created in the past 30 days\",\n                    \"externalDescription\": null,\n                    \"externalDescriptionSource\": null,\n                    \"folderPath\": \"/growth/users\",\n                    \"folderUrl\": null,\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [],\n                    \"source\": {\n                        \"id\": \"09dae248-b2ec-4c41-8f86-f7dd02c8b77e\",\n                        \"name\": \"Tableau\",\n                        \"technology\": \"TABLEAU\"\n                    }\n                },\n                {\n                    \"id\": \"955d9c87-4755-4cb0-a338-0ba257742ff5\",\n                    \"name\": \"Quality Grid\",\n                    \"slug\": \"quality-grid-8b6b6dea\",\n                    \"popularity\": 200000,\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"\",\n                    \"externalDescription\": null,\n                    \"externalDescriptionSource\": null,\n                    \"folderPath\": \"__VIZ_MODEL__/Buyer - Customer & Seller Support\",\n                    \"folderUrl\": null,\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [],\n                    \"source\": {\n                        \"id\": \"eed5c019-b0c9-4289-a9d1-77a93db74a49\",\n                        \"name\": \"Qlik Sense\",\n                        \"technology\": \"QLIK_SENSE\"\n                    }\n                },\n                {\n                    \"id\": \"9399a60e-2f01-409d-9a51-c8daad8312bc\",\n                    \"name\": \"QVD_DIM_CALENDAR_OFFICIAL\",\n                    \"slug\": \"qvd-dim-calendar-offi-ebfa57a2\",\n                    \"popularity\": 200000,\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"\",\n                    \"externalDescription\": null,\n                    \"externalDescriptionSource\": null,\n                    \"folderPath\": \"__VIZ_MODEL__/[QVD Script] Data Platform\",\n                    \"folderUrl\": null,\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [],\n                    \"source\": {\n                        \"id\": \"eed5c019-b0c9-4289-a9d1-77a93db74a49\",\n                        \"name\": \"Qlik Sense\",\n                        \"technology\": \"QLIK_SENSE\"\n                    }\n                },\n                {\n                    \"id\": \"a4300994-07ef-496e-8099-d886ba03ba0e\",\n                    \"name\": \"Orders\",\n                    \"slug\": \"orders-pb-timber-f04b064d\",\n                    \"popularity\": 800000,\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"All dimensions and metrics about Orders\",\n                    \"externalDescription\": null,\n                    \"externalDescriptionSource\": null,\n                    \"folderPath\": \"__VIZ_MODEL__\",\n                    \"folderUrl\": null,\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [\n                        {\n                            \"user\": {\n                                \"email\": \"louis@timber.dev\",\n                                \"fullName\": \"Louis Smith\"\n                            }\n                        }\n                    ],\n                    \"source\": {\n                        \"id\": \"fdbe9163-213a-491d-9d08-34145b01e7b6\",\n                        \"name\": \"PowerBi\",\n                        \"technology\": \"POWERBI\"\n                    }\n                },\n                {\n                    \"id\": \"cb5ef340-fc3f-4099-9bbe-31baeb5b4380\",\n                    \"name\": \"Item\",\n                    \"slug\": \"item-pb-timber-df45eb86\",\n                    \"popularity\": 1000000,\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"All dimensions and metrics about Items contained in Orders\",\n                    \"externalDescription\": null,\n                    \"externalDescriptionSource\": null,\n                    \"folderPath\": \"__VIZ_MODEL__\",\n                    \"folderUrl\": null,\n                    \"verifiedBy\": {\n                        \"fullName\": \"Hélio Harris\",\n                        \"email\": \"helio@timber.dev\"\n                    },\n                    \"tagEntities\": [\n                        {\n                            \"tag\": {\n                                \"id\": \"227b8153-2322-467f-baef-dcf2deb21ba3\",\n                                \"label\": \"BI Team\"\n                            }\n                        }\n                    ],\n                    \"ownerEntities\": [\n                        {\n                            \"user\": {\n                                \"email\": \"analysts_team@timber.dev\",\n                                \"fullName\": \"Analysts Team #data-analysts\"\n                            }\n                        }\n                    ],\n                    \"source\": {\n                        \"id\": \"fdbe9163-213a-491d-9d08-34145b01e7b6\",\n                        \"name\": \"PowerBi\",\n                        \"technology\": \"POWERBI\"\n                    }\n                },\n                {\n                    \"id\": \"63d1f362-ad83-4cca-b071-3a8913901838\",\n                    \"name\": \"Deliveries\",\n                    \"slug\": \"deliveries-sig-timber-8b6b5dea\",\n                    \"popularity\": 800000,\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"All dimensions and metrics about Deliveries\",\n                    \"externalDescription\": null,\n                    \"externalDescriptionSource\": null,\n                    \"folderPath\": \"__VIZ_MODEL__\",\n                    \"folderUrl\": null,\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [\n                        {\n                            \"user\": {\n                                \"email\": \"louis@timber.dev\",\n                                \"fullName\": \"Louis Smith\"\n                            }\n                        }\n                    ],\n                    \"source\": {\n                        \"id\": \"d9861e02-3a5f-4bff-899c-54dd45b45702\",\n                        \"name\": \"Sigma\",\n                        \"technology\": \"SIGMA\"\n                    }\n                },\n                {\n                    \"id\": \"e265efe5-3c1c-43f2-a1c6-bf044cbdf196\",\n                    \"name\": \"Package\",\n                    \"slug\": \"package-sig-timber-8b6b5dea\",\n                    \"popularity\": 1000000,\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"All dimensions and metrics about Items contained in Deliveries\",\n                    \"externalDescription\": null,\n                    \"externalDescriptionSource\": null,\n                    \"folderPath\": \"__VIZ_MODEL__\",\n                    \"folderUrl\": null,\n                    \"verifiedBy\": {\n                        \"fullName\": \"Hélio Harris\",\n                        \"email\": \"helio@timber.dev\"\n                    },\n                    \"tagEntities\": [\n                        {\n                            \"tag\": {\n                                \"id\": \"227b8153-2322-467f-baef-dcf2deb21ba3\",\n                                \"label\": \"BI Team\"\n                            }\n                        }\n                    ],\n                    \"ownerEntities\": [\n                        {\n                            \"user\": {\n                                \"email\": \"analysts_team@timber.dev\",\n                                \"fullName\": \"Analysts Team #data-analysts\"\n                            }\n                        }\n                    ],\n                    \"source\": {\n                        \"id\": \"d9861e02-3a5f-4bff-899c-54dd45b45702\",\n                        \"name\": \"Sigma\",\n                        \"technology\": \"SIGMA\"\n                    }\n                }\n            ]\n        }\n    }\n}"},{"id":"2a9f3e3d-6acd-42f7-9dfa-f2852231283b","name":"Get Dashboards with sorting and pagination","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getDashboards","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getDashboards"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"755"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Sat, 06 May 2023 23:21:26 GMT"},{"key":"X-Request-Id","value":"84d9c450-7044-47d5-8754-741e5d56711b"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getDashboards\": {\n            \"page\": 0,\n            \"nbPerPage\": 10,\n            \"totalCount\": 15,\n            \"data\": [\n                {\n                    \"id\": \"1b34a992-4d39-4479-9d0f-ec629393c59c\",\n                    \"name\": \"Affinity\"\n                },\n                {\n                    \"id\": \"20afd581-5672-4b49-b549-69c70e605700\",\n                    \"name\": \"Affinity Tableau Timber\"\n                },\n                {\n                    \"id\": \"8be27aa5-9be5-4f47-9eca-34b09725a108\",\n                    \"name\": \"Battery Deliveries\"\n                },\n                {\n                    \"id\": \"63d1f362-ad83-4cca-b071-3a8913901838\",\n                    \"name\": \"Deliveries\"\n                },\n                {\n                    \"id\": \"cb5ef340-fc3f-4099-9bbe-31baeb5b4380\",\n                    \"name\": \"Item\"\n                },\n                {\n                    \"id\": \"ba5821bb-c88f-4897-83bd-97de33b0a05f\",\n                    \"name\": \"Last accounts\"\n                },\n                {\n                    \"id\": \"46e83651-94b6-48ae-8dd9-95fe20cd87a2\",\n                    \"name\": \"Last users\"\n                },\n                {\n                    \"id\": \"add006d4-e213-45e8-a4e2-df416b27e046\",\n                    \"name\": \"Monthly Revenue\"\n                },\n                {\n                    \"id\": \"1b34a992-4d39-4479-9d0f-ec629393c59b\",\n                    \"name\": \"Order Items\"\n                },\n                {\n                    \"id\": \"a4300994-07ef-496e-8099-d886ba03ba0e\",\n                    \"name\": \"Orders\"\n                }\n            ]\n        }\n    }\n}"},{"id":"41909107-3452-427d-8fb7-b9ce24a11bbb","name":"Get Dashboards with a specific name","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getDashboards","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getDashboards"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"247"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Sat, 06 May 2023 23:22:47 GMT"},{"key":"X-Request-Id","value":"bf9d7972-d12b-4ec3-9eb8-bc2b55a46c19"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getDashboards\": {\n            \"totalCount\": 3,\n            \"data\": [\n                {\n                    \"id\": \"1b34a992-4d39-4479-9d0f-ec629393c59b\",\n                    \"name\": \"Order Items\"\n                },\n                {\n                    \"id\": \"b4896247-ea21-4084-a2f2-4480d7775d17\",\n                    \"name\": \"Preorders\"\n                },\n                {\n                    \"id\": \"a4300994-07ef-496e-8099-d886ba03ba0e\",\n                    \"name\": \"Orders\"\n                }\n            ]\n        }\n    }\n}"},{"id":"6e73d4b4-f447-4152-bc91-6209d234c3a7","name":"Get Dashboards with a specific folderPath","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getDashboards","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getDashboards"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"251"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Sat, 06 May 2023 23:26:19 GMT"},{"key":"X-Request-Id","value":"fc6b5f61-0f39-4136-ac42-fe029a77881d"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getDashboards\": {\n            \"totalCount\": 2,\n            \"data\": [\n                {\n                    \"id\": \"add006d4-e213-45e8-a4e2-df416b27e046\",\n                    \"name\": \"Monthly Revenue\",\n                    \"folderPath\": \"/finance/revenue\"\n                },\n                {\n                    \"id\": \"b4896247-ea21-4084-a2f2-4480d7775d17\",\n                    \"name\": \"Preorders\",\n                    \"folderPath\": \"/finance/sales\"\n                }\n            ]\n        }\n    }\n}"},{"id":"0e7fbd46-ba9a-46f4-b20b-8ce2f035fdaf","name":"Get Dashboards from dashboard Ids","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getDashboards","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getDashboards"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"191"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Sat, 06 May 2023 23:31:11 GMT"},{"key":"X-Request-Id","value":"d972d58f-f4f1-4c36-8a28-c17f1ee3ebda"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getDashboards\": {\n            \"totalCount\": 2,\n            \"data\": [\n                {\n                    \"id\": \"1b34a992-4d39-4479-9d0f-ec629393c59c\",\n                    \"name\": \"Affinity\"\n                },\n                {\n                    \"id\": \"8be27aa5-9be5-4f47-9eca-34b09725a108\",\n                    \"name\": \"Battery Deliveries\"\n                }\n            ]\n        }\n    }\n}"},{"id":"097787f5-991c-47b7-8d33-d19740ef7372","name":"Get Dashboards from sourceId","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getDashboards","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getDashboards"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"1025"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Sat, 06 May 2023 23:28:12 GMT"},{"key":"X-Request-Id","value":"638395d9-42fd-4e8d-8bf6-184917d418b8"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getDashboards\": {\n            \"totalCount\": 6,\n            \"data\": [\n                {\n                    \"id\": \"1b34a992-4d39-4479-9d0f-ec629393c59c\",\n                    \"name\": \"Affinity\",\n                    \"source\": {\n                        \"id\": \"524fdff7-b4fa-4f32-a47e-7cfc95847def\",\n                        \"name\": \"Looker\",\n                        \"technology\": \"LOOKER\"\n                    }\n                },\n                {\n                    \"id\": \"1b34a992-4d39-4479-9d0f-ec629393c59b\",\n                    \"name\": \"Order Items\",\n                    \"source\": {\n                        \"id\": \"524fdff7-b4fa-4f32-a47e-7cfc95847def\",\n                        \"name\": \"Looker\",\n                        \"technology\": \"LOOKER\"\n                    }\n                },\n                {\n                    \"id\": \"8be27aa5-9be5-4f47-9eca-34b09725a108\",\n                    \"name\": \"Battery Deliveries\",\n                    \"source\": {\n                        \"id\": \"524fdff7-b4fa-4f32-a47e-7cfc95847def\",\n                        \"name\": \"Looker\",\n                        \"technology\": \"LOOKER\"\n                    }\n                },\n                {\n                    \"id\": \"add006d4-e213-45e8-a4e2-df416b27e046\",\n                    \"name\": \"Monthly Revenue\",\n                    \"source\": {\n                        \"id\": \"524fdff7-b4fa-4f32-a47e-7cfc95847def\",\n                        \"name\": \"Looker\",\n                        \"technology\": \"LOOKER\"\n                    }\n                },\n                {\n                    \"id\": \"b4896247-ea21-4084-a2f2-4480d7775d17\",\n                    \"name\": \"Preorders\",\n                    \"source\": {\n                        \"id\": \"524fdff7-b4fa-4f32-a47e-7cfc95847def\",\n                        \"name\": \"Looker\",\n                        \"technology\": \"LOOKER\"\n                    }\n                },\n                {\n                    \"id\": \"078a7c51-efe1-4a78-a472-c075e7d0d8d5\",\n                    \"name\": \"Software Upgrades\",\n                    \"source\": {\n                        \"id\": \"524fdff7-b4fa-4f32-a47e-7cfc95847def\",\n                        \"name\": \"Looker\",\n                        \"technology\": \"LOOKER\"\n                    }\n                }\n            ]\n        }\n    }\n}"}],"_postman_id":"78bfa245-57d6-4663-98b4-3324b5a13154"}],"id":"84cbd1e6-d256-43e6-9c26-39bd7a3db9d0","description":"<p>This will allow you to interact with your dashboards in Catalog: <code>Dashboards</code>, <code>Tiles</code>, <code>Viz models</code></p>\n","_postman_id":"84cbd1e6-d256-43e6-9c26-39bd7a3db9d0"},{"name":"Terms (Knowledge)","item":[{"name":"Get Terms","id":"502593cd-8300-4951-868d-8633fc804897","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query {\n  getTerms {\n    totalCount\n    data {\n      id\n      name\n    }\n  }\n}\n","variables":""}},"url":"https://api.castordoc.com/public/graphql?op=getTerms","description":"<h3 id=\"description\">Description</h3>\n<p>Get all terms, with optional scoping, sorting and pagination</p>\n<ul>\n<li><p>the <code>scope</code> will help you to filter/narrow down your result</p>\n</li>\n<li><p>the <code>sorting</code> will help you sort out the result in the order you want</p>\n</li>\n<li><p>the <code>pagination</code> will help you navigate through the result when there are too many records</p>\n</li>\n</ul>\n<p>All tags will be retrieved, including tags on soft deleted and hidden entities. This means tags on:</p>\n<ul>\n<li><p>soft deleted columns, tables, dashboards, terms and any other kind of assets</p>\n</li>\n<li><p>hidden assets: databases, schemas, etc</p>\n</li>\n</ul>\n<h4 id=\"query-inputs\">Query inputs</h4>\n<ul>\n<li><code>scope</code> (optional): scope the tag by tag IDs or substring of its label</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>property</strong></th>\n<th><strong>required</strong></th>\n<th><strong>type</strong></th>\n<th><strong>description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>ids</code></td>\n<td>no</td>\n<td><code>uuid</code> array</td>\n<td>Scope by multiple term IDs</td>\n</tr>\n<tr>\n<td><code>nameContains</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>Scope by a substring of the term name, case insensitive</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><code>sorting</code> (optional): an array of <code>sorting</code> objects</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>property</strong></th>\n<th><strong>required</strong></th>\n<th><strong>type</strong></th>\n<th><strong>value</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>sortingKey</code></td>\n<td>yes</td>\n<td><code>enum</code></td>\n<td><code>name</code></td>\n</tr>\n<tr>\n<td><code>direction</code></td>\n<td>no</td>\n<td><code>enum</code></td>\n<td><code>ASC</code> (default value)  <br /><code>DESC</code></td>\n</tr>\n<tr>\n<td><code>nullsPriority</code></td>\n<td>no</td>\n<td><code>enum</code></td>\n<td><code>LAST</code> (default value)  <br /><code>FIRST</code></td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><code>pagination</code> (optional)</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>property</strong></th>\n<th><strong>required</strong></th>\n<th><strong>type</strong></th>\n<th><strong>description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>nbPerPage</code></td>\n<td>yes</td>\n<td><code>number</code></td>\n<td>Number of entities to return per page</td>\n</tr>\n<tr>\n<td><code>page</code></td>\n<td>yes</td>\n<td><code>number</code></td>\n<td>Fetch entities at this page, start at page 0</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"getTerms"}],"variable":[]}},"response":[{"id":"ba6cca7b-8367-48f8-85f7-ce65fd6bb7db","name":"Get Terms with all information","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getTerms","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getTerms"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"21193"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Sat, 06 May 2023 23:43:57 GMT"},{"key":"X-Request-Id","value":"03c5ee77-1e8e-4ada-9b92-d12ae6069bf4"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getTerms\": {\n            \"page\": null,\n            \"nbPerPage\": 0,\n            \"totalCount\": 19,\n            \"data\": [\n                {\n                    \"id\": \"24d44dab-02b4-49ae-812e-41ff63706796\",\n                    \"name\": \"❓FAQ\",\n                    \"slug\": \"-15b75168\",\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"Most frequently asked questions, add as sub-pages answers to frequent questions from your users\",\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [],\n                    \"parentTerm\": null,\n                    \"childrenTerms\": [\n                        {\n                            \"id\": \"4b0a4a9c-5590-422f-9c15-9c85606b8a7a\",\n                            \"name\": \"[Example] How to request data access?\"\n                        },\n                        {\n                            \"id\": \"66e8e684-5e91-4081-ae35-9773b8f79564\",\n                            \"name\": \"How to use Catalog?\"\n                        }\n                    ]\n                },\n                {\n                    \"id\": \"4b0a4a9c-5590-422f-9c15-9c85606b8a7a\",\n                    \"name\": \"[Example] How to request data access?\",\n                    \"slug\": \"-b323a76c\",\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"You can add here your company's process to request access to tables and dashboards\",\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [],\n                    \"parentTerm\": {\n                        \"id\": \"24d44dab-02b4-49ae-812e-41ff63706796\",\n                        \"name\": \"❓FAQ\"\n                    },\n                    \"childrenTerms\": []\n                },\n                {\n                    \"id\": \"66e8e684-5e91-4081-ae35-9773b8f79564\",\n                    \"name\": \"How to use Catalog?\",\n                    \"slug\": \"-36ee4523\",\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"You can find here Catalog's User Documentation\",\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [],\n                    \"parentTerm\": {\n                        \"id\": \"24d44dab-02b4-49ae-812e-41ff63706796\",\n                        \"name\": \"❓FAQ\"\n                    },\n                    \"childrenTerms\": []\n                },\n                {\n                    \"id\": \"e788c0af-5388-4737-9685-6b38f565692b\",\n                    \"name\": \"🏷 Domains\",\n                    \"slug\": \"-ad115041\",\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"Find a list of your company domains, such marketing or finance\",\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [],\n                    \"parentTerm\": null,\n                    \"childrenTerms\": [\n                        {\n                            \"id\": \"f53d520d-5de6-4170-8798-8961e64009d8\",\n                            \"name\": \"[Example] Finance\"\n                        },\n                        {\n                            \"id\": \"ca90a8ca-7fc1-4907-8c70-ea83c8012674\",\n                            \"name\": \"[Example] Product\"\n                        },\n                        {\n                            \"id\": \"e2e8bdb1-24a6-4dba-8603-13ef5cf41c1d\",\n                            \"name\": \"[Example] Marketing\"\n                        }\n                    ]\n                },\n                {\n                    \"id\": \"f53d520d-5de6-4170-8798-8961e64009d8\",\n                    \"name\": \"[Example] Finance\",\n                    \"slug\": \"-f7861daf\",\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"[Template] On this page you can: Assign as owner the company finance lead Pin top dashboards and Tables under the \\\"Pinned Assets\\\" section Create subpages for relevant concepts to describe\",\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [],\n                    \"parentTerm\": {\n                        \"id\": \"e788c0af-5388-4737-9685-6b38f565692b\",\n                        \"name\": \"🏷 Domains\"\n                    },\n                    \"childrenTerms\": []\n                },\n                {\n                    \"id\": \"ca90a8ca-7fc1-4907-8c70-ea83c8012674\",\n                    \"name\": \"[Example] Product\",\n                    \"slug\": \"-5edeb178\",\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"To search for content use this preselected search\",\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [],\n                    \"parentTerm\": {\n                        \"id\": \"e788c0af-5388-4737-9685-6b38f565692b\",\n                        \"name\": \"🏷 Domains\"\n                    },\n                    \"childrenTerms\": []\n                },\n                {\n                    \"id\": \"e2e8bdb1-24a6-4dba-8603-13ef5cf41c1d\",\n                    \"name\": \"[Example] Marketing\",\n                    \"slug\": \"-2e9601d7\",\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"[Template] On this page you can: Assign as owner the company marketing lead Pin top dashboards and Tables under the \\\"Pinned Assets\\\" section Create subpages for relevant concepts to describe\",\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [],\n                    \"parentTerm\": {\n                        \"id\": \"e788c0af-5388-4737-9685-6b38f565692b\",\n                        \"name\": \"🏷 Domains\"\n                    },\n                    \"childrenTerms\": [\n                        {\n                            \"id\": \"926d5aa0-8267-4130-a1f5-66873d2f9570\",\n                            \"name\": \"[Example] Content Marketing\"\n                        },\n                        {\n                            \"id\": \"628de1ac-e9c4-4133-98f1-cf86b424e6a6\",\n                            \"name\": \"[Example] Paid Marketing\"\n                        }\n                    ]\n                },\n                {\n                    \"id\": \"926d5aa0-8267-4130-a1f5-66873d2f9570\",\n                    \"name\": \"[Example] Content Marketing\",\n                    \"slug\": \"-83cc1adc\",\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": null,\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [],\n                    \"parentTerm\": {\n                        \"id\": \"e2e8bdb1-24a6-4dba-8603-13ef5cf41c1d\",\n                        \"name\": \"[Example] Marketing\"\n                    },\n                    \"childrenTerms\": []\n                },\n                {\n                    \"id\": \"628de1ac-e9c4-4133-98f1-cf86b424e6a6\",\n                    \"name\": \"[Example] Paid Marketing\",\n                    \"slug\": \"-3082ac5c\",\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": null,\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [],\n                    \"parentTerm\": {\n                        \"id\": \"e2e8bdb1-24a6-4dba-8603-13ef5cf41c1d\",\n                        \"name\": \"[Example] Marketing\"\n                    },\n                    \"childrenTerms\": []\n                },\n                {\n                    \"id\": \"73b81965-3ef1-4871-b26a-0b8ffc8bf169\",\n                    \"name\": \"📊 Metrics\",\n                    \"slug\": \"-1d376348\",\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"Define your top metrics here. You can link tables from Snowflake: user. Dashboards from your BI tool: Monthly Revenue. Or even columns from specific tables: https://staging.castordoc.com/data/tables/c-table-account/columns?column=annual_revenue.\",\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [],\n                    \"parentTerm\": null,\n                    \"childrenTerms\": [\n                        {\n                            \"id\": \"40399270-8973-42c2-afc8-073fe4b487a7\",\n                            \"name\": \"[Example] Active Users\"\n                        },\n                        {\n                            \"id\": \"6dd300e1-98d2-447b-99ef-97740446efce\",\n                            \"name\": \"[Example] Churn Rate\"\n                        },\n                        {\n                            \"id\": \"6cd8722c-e361-4b7a-8fb5-f90e824f4c56\",\n                            \"name\": \"[Example] MRR\"\n                        }\n                    ]\n                },\n                {\n                    \"id\": \"40399270-8973-42c2-afc8-073fe4b487a7\",\n                    \"name\": \"[Example] Active Users\",\n                    \"slug\": \"-a3301a7f\",\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"Active users is a measurement metric that is commonly used to measure the level of engagement a particular product or object, by quantifying the number of active interactions from visitors within a relevant range of time (daily, weekly and monthly). The metric has many uses in both commerce and academia, such as on social networking services, online games, or mobile apps. Although having extensive uses in digital behavioural learning, prediction and reporting, it also has impacts on the privacy and security, and ethical factors should be considered thoroughly. Like any metric, active users may have limitations and criticisms. Active Users is relatively new or neologistic in nature, that became important with the rise of the commercialised internet, with uses in communication and social-networking. It measures how many users visit or interact with the product or service over a given interval or period. This metric is commonly assessed per month as monthly active users (MAU), per week as weekly active users (WAU), per day as daily active users (DAU) or peak concurrent users (PCU).\",\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [\n                        {\n                            \"tag\": {\n                                \"id\": \"17fe0aa2-0bc9-422c-8b12-c8e6ffe713e4\",\n                                \"label\": \"customer\"\n                            }\n                        },\n                        {\n                            \"tag\": {\n                                \"id\": \"834b855c-a638-4c9c-9a31-fc06e7a7616d\",\n                                \"label\": \"finance\"\n                            }\n                        }\n                    ],\n                    \"ownerEntities\": [\n                        {\n                            \"user\": {\n                                \"fullName\": \"Louis Smith\",\n                                \"email\": \"louis@timber.dev\"\n                            }\n                        }\n                    ],\n                    \"parentTerm\": {\n                        \"id\": \"73b81965-3ef1-4871-b26a-0b8ffc8bf169\",\n                        \"name\": \"📊 Metrics\"\n                    },\n                    \"childrenTerms\": []\n                },\n                {\n                    \"id\": \"6dd300e1-98d2-447b-99ef-97740446efce\",\n                    \"name\": \"[Example] Churn Rate\",\n                    \"slug\": \"-aa34d681\",\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"Customer churn is when a customer decides to stop using products or services from a company. Churn rate is the percent of subscribers that have canceled within a certain period. Calculation of a monthly customer churn rate is the number of customers who churned in the month divided by the total number of customers in the month. For example, if you had 100 customers at the beginning of the month and during month 5 of them canceled their subscriptions, customer churn rate is 5% (5/100). Here is a simple formula for calculating customer churn: Let’s say there is a subscriptions table in the following format: id - customer id subscription_start - subscription date subscription_end - cancellation date If customers have a NULL value for their subscription_end, it means they haven’t canceled! In this example, we’ll calculate churn for the month of January 2018. To start, use WITH to createenrollmenttable that contains a group of customers that are active in January. Then create another table that contains is_canceled status for each of these customers. This will be 1 if they cancel in January and 0 otherwise. The last step is to do the math to calculate the churn for January 2018 by dividing the number of users who canceled during January, and number of people that are active at the beginning of the month. WITH enrollment AS (SELECT * FROM subscriptions WHERE subscription_start < ' 2018 -01 -01 ' AND ( (subscription_end >= ' 2018 -01 -01 ') OR (subscription_end IS NULL)) ),status AS (SELECT CASE WHEN (subscription_end > ' 2018 -01 -31 ') OR (subscription_end IS NULL) THEN 0 ELSE 1 END as is_canceled, CASE WHEN (subscription_start < ' 2018 -01 -01 ') AND ( (subscription_end >= ' 2018 -01 -01 ') OR (subscription_end IS NULL) ) THEN 1 ELSE 0 END as is_active FROM enrollment )SELECT 1.0 * SUM(is_canceled)/SUM(is_active) AS churn_rate FROM status;\",\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [\n                        {\n                            \"user\": {\n                                \"fullName\": \"Finance Team #financial\",\n                                \"email\": \"finance_team@timber.dev\"\n                            }\n                        }\n                    ],\n                    \"parentTerm\": {\n                        \"id\": \"73b81965-3ef1-4871-b26a-0b8ffc8bf169\",\n                        \"name\": \"📊 Metrics\"\n                    },\n                    \"childrenTerms\": []\n                },\n                {\n                    \"id\": \"6cd8722c-e361-4b7a-8fb5-f90e824f4c56\",\n                    \"name\": \"[Example] MRR\",\n                    \"slug\": \"mrr-72450\",\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"Monthly Recurring Revenue, commonly abbreviated as “MRR” is all of your recurring revenue normalized into a monthly amount. It's a metric usually used among subscription and SaaS companies.\\n    It's a way to average your various pricing plans and billing periods into a single, consistent number that you can track the trend of over time.\\n    How to calculate MRR\\n    The MRR calculationis pretty simple. You need to multiply your average revenue per account by the total number of customers for that month.\\n    MRR formula\\n    MRR = number of customers * average billed amount\\n    So 10 customers paying you an average of $100 per month would mean an MRR of $1,000.\\n    10 customers & $100/mo = $1,000 MRR\\n    How to calculate net new MRR\\n    As your subscription business grows, it will become important to track not only your top-level MRR but also what factors make up the change in your MRR over previous months.\\n    If you added $1,000 in new MRR, you'd want to know where that came from, right?\\n    Lucky for you, that also is relatively easy using three elements that make up what we'll call “ Net New MRR”\\n    New MRR - Additional MRR from new customers\\n    Expansion MRR - Additional MRR from existing customers (also known as an “upgrade”)\\n    Churned MRR - MRR lost from cancellations or downgrades\\n    Here’s the calculation for net new MRR\\n    New New MRR Formula\\n    Net New MRR = New MRR + Expansion MRR - Churned MRR\\n    If you churn more MRR than you get from New or Expansion MRR, you end up losing MRR that month…which would make you sad.\\n    Very, very sad.\\n    Also, if you’re reporting on MRR to higher ups, investors or to your team, breaking down your net new MRR can provide a lot of extra context for the numbers.\\n    BE HONEST\\n    How well do you know your business?\\n    Track and analyze MRR, churn, and other crucial SaaS metrics.\\n    Try Baremetrics Free\\n    How to analyze MRR\\n    While on the surface MRR is a very straightforward metric, it's actually very nuanced and can give you a crucial picture of how your subscription business is growing (or not).\\n    But how do you get to that nuanced data and reporting? What should you look for? What points to potential trouble? And how do you grow MRR so you can in turn grow your startup? Let's take a look!\\n    Many of these tips make use of features built directly in to Baremetrics , easily surfacing the insights covered here. But the data points themselves are likely accessible to you no matter what reporting software you use…it just may take quite a bit more digging.\\n    Types of MRR\\n    As mentioned earlier in the guide, there are five types of MRR:\\n    New MRR - MRR from new customers\\n    Expansion MRR- MRR from existing customers (upgrades)\\n    Reactivation MRR - MRR from previous customers\\n    Contraction MRR - Lost MRR from existing customers (downgrades)\\n    Churned MRR - Lost MRR from canceled customers\\n    The reason knowing those types is important is that it gives you direct insight in to the “why”. You get to see exactly why your MRR went up or down in a given month.\\n    Seeing the “why” in chart form is very helpful.\\n    There's a lot of information here, but if we scroll down to see the MRR in more detail, it’s a lot easier to understand.\\n    And if you want to dig even deeper, we also give you a graph of your monthly growth, which shows your net gains and losses in MRR each month with exact numbers.\\n    Related Tables\\n    Salesforce.users\\n    Datamart.dm_customer\\n    Datamart.fct_profit\\n    Related Dashboards\\n    Active User Segmentation Dashboard\\n    Salesforce Conversion Dashboard\\n    Revenue Dashboard\\n    Related Terms\\n    Customer\\n    Revenue\",\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [\n                        {\n                            \"tag\": {\n                                \"id\": \"17fe0aa2-0bc9-422c-8b12-c8e6ffe713e4\",\n                                \"label\": \"customer\"\n                            }\n                        },\n                        {\n                            \"tag\": {\n                                \"id\": \"5c5b0b16-9f7f-4547-878d-3310a9f5a307\",\n                                \"label\": \"explorer\"\n                            }\n                        }\n                    ],\n                    \"ownerEntities\": [\n                        {\n                            \"user\": {\n                                \"fullName\": \"Finance Team #financial\",\n                                \"email\": \"finance_team@timber.dev\"\n                            }\n                        }\n                    ],\n                    \"parentTerm\": {\n                        \"id\": \"73b81965-3ef1-4871-b26a-0b8ffc8bf169\",\n                        \"name\": \"📊 Metrics\"\n                    },\n                    \"childrenTerms\": []\n                },\n                {\n                    \"id\": \"94bd596d-5949-4351-beb8-965bbf4f80b2\",\n                    \"name\": \"📓 Glossary\",\n                    \"slug\": \"-4113a6a6\",\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"List all acronyms used on a daily basis\",\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [],\n                    \"parentTerm\": null,\n                    \"childrenTerms\": [\n                        {\n                            \"id\": \"1d2b2bf8-2fd8-4c96-8788-85cea3bdefa7\",\n                            \"name\": \"[Example] QBR\"\n                        },\n                        {\n                            \"id\": \"6ac5b5a9-fa60-4cba-91db-fc27c4df239f\",\n                            \"name\": \"[Example] SLI\"\n                        },\n                        {\n                            \"id\": \"1e84b8bb-e152-414a-a9f9-655f0cf42af4\",\n                            \"name\": \"[Example] SLO\"\n                        }\n                    ]\n                },\n                {\n                    \"id\": \"1d2b2bf8-2fd8-4c96-8788-85cea3bdefa7\",\n                    \"name\": \"[Example] QBR\",\n                    \"slug\": \"-faf26d02\",\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"Quarterly Business Review Review defined objectives and progress.\",\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [],\n                    \"parentTerm\": {\n                        \"id\": \"94bd596d-5949-4351-beb8-965bbf4f80b2\",\n                        \"name\": \"📓 Glossary\"\n                    },\n                    \"childrenTerms\": []\n                },\n                {\n                    \"id\": \"6ac5b5a9-fa60-4cba-91db-fc27c4df239f\",\n                    \"name\": \"[Example] SLI\",\n                    \"slug\": \"-8a1e9166\",\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"Service level indicator\",\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [],\n                    \"parentTerm\": {\n                        \"id\": \"94bd596d-5949-4351-beb8-965bbf4f80b2\",\n                        \"name\": \"📓 Glossary\"\n                    },\n                    \"childrenTerms\": []\n                },\n                {\n                    \"id\": \"1e84b8bb-e152-414a-a9f9-655f0cf42af4\",\n                    \"name\": \"[Example] SLO\",\n                    \"slug\": \"-17f6aafb\",\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"Service Level Objective\",\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [],\n                    \"parentTerm\": {\n                        \"id\": \"94bd596d-5949-4351-beb8-965bbf4f80b2\",\n                        \"name\": \"📓 Glossary\"\n                    },\n                    \"childrenTerms\": []\n                },\n                {\n                    \"id\": \"c0f7d689-fbfb-42a8-af34-7a26a4257db1\",\n                    \"name\": \"📚 Policies\",\n                    \"slug\": \"-a6d2e1de\",\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"Find here your company data policies, about roles and responsibilities of data users\",\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [],\n                    \"parentTerm\": null,\n                    \"childrenTerms\": [\n                        {\n                            \"id\": \"96ed7b99-8124-4d47-833a-b1014cc795cc\",\n                            \"name\": \"[Example] Data Management Policy\"\n                        }\n                    ]\n                },\n                {\n                    \"id\": \"96ed7b99-8124-4d47-833a-b1014cc795cc\",\n                    \"name\": \"[Example] Data Management Policy\",\n                    \"slug\": \"-db30cba6\",\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"Policy Owner: Arnaud de Turckheim Effective Date: 07-Dec-2021 1. Purpose To ensure that information is classified, protected, retained and securely disposed of in accordance with its importance to the organization. 2. Scope All Acme data, information and information systems. 3. Policy Acme classifies data and information systems in accordance with legal requirements, sensitivity, and business criticality in order to ensure that information is given the appropriate level of protection. Data owners are responsible for identifying any additional requirements for specific data or exceptions to standard handling requirements. Information systems and applications shall be classified according to the highest classification 4. Data Classification To help Acme and its employees easily understand requirements associated with different kinds of information, the company has created three classes of data. Confidential Highly sensitive data requiring the highest levels of protection; access is restricted to specific employees or departments, and these records can only be passed to others with approval from the data owner, or a company executive. Example include: ● Customer Data ● Personally identifiable information (PII) ● Company financial and banking data ● Salary, compensation and payroll information ● Strategic plans ● Incident reports ● Risk assessment reports ● Technical vulnerability reports ● Authentication credentials ● Secrets and private keys ● Source code ● Litigation data Restricted Acme proprietary information requiring thorough protection; access is restricted to employees with a “need-to-know” based on business requirements. This data can only be distributed outside the company with approval. This is default for all company information unless stated otherwise. Examples include: ● Internal policies ● Legal documents ● Meeting minutes and internal presentations ● Contracts ● Internal reports ● Slack messages ● Emails Public Documents intended for public consumption which can be freely distributed outside Acme. Examples include: ● Marketing materials ● Product descriptions ● Release notes ● External facing policies 5. Labeling Confidential data should be labeled “confidential” whenever paper copies are produced for distribution. 6. Data Handling Confidential Data Handling Confidential data is subject to the following protection and handling requirements: ● Access for non-preapproved-roles requires documented approval from the data owner ● Access is restricted to specific employees, roles and/or departments ● Confidential systems shall not allow unauthenticated or anonymous access ● Confidential Customer Data shall not be used or stored in non-production systems/environments ● Confidential data shall be encrypted in transit over public networks ● Mobile device hard drives containing confidential data, including laptops, shall be encrypted ● Mobile devices storing or accessing confidential data shall be protected by a log-on password or passcode and shall be configured to lock the screen after five (5) minutes of non-use ● Backups shall be encrypted ● Confidential data shall not be stored on personal phones or devices or removable media including USB drives, CD’s, or DVD’s ● Paper records shall be labeled “confidential” and securely stored and disposed ● Hard drives and mobile devices used to store confidential information must be securely wiped prior to disposal or physically destroyed ● Transfer of confidential data to people or entities outside the company shall only be done in accordance with a legal contract or arrangement, and the explicit written permission of management or the data owner Restricted Data Handling Restricted data is subject to the following protection and handling requirements: ● Access is restricted to users with a need-to-know based on business requirements ● Restricted systems shall not allow unauthenticated or anonymous access ● Transfer of restricted data to people or entities outside the company or authorized users shall require management approval and shall only be done in accordance with a legal contract or arrangement, or the permission of the data owner ● Paper records shall be securely stored and disposed ● Hard drives and mobile devices used to store restricted information must be securely wiped prior to disposal or physically destroyed Public Data Handling No special protection or handling controls are required for public data. Public data may be freely distributed. 7. Data Retention Acme shall retain data as long as the company has a need for its use, or to meet regulatory or contractual requirements. Once data is no longer needed, it shall be securely disposed of or archived. Data owners, in consultation with legal counsel, may determine retention periods for their data. Retention periods shall be documented in the Data Retention Matrix in Appendix B to this policy. 8. Data & Device Disposal Data classified as restricted or confidential shall be securely deleted when no longer needed. Acme shall assess the data and disposal practices of third-party vendors in accordance with the Third-Party Management Policy. Only third-parties who meet Catalog requirements for secure data disposal shall be used for store and process restricted or confidential data. Acme shall ensure that all restricted and confidential data is securely deleted from company devices prior to, or at the time of disposal. 9. Annual Data Review Management shall review data retention requirements during the annual review of this policy. Data shall be disposed of in accordance with this policy. 10. Legal Requirements Under certain circumstances, Acme may become subject to legal proceedings requiring retention of data associated with legal holds, lawsuits, or other matters as stipulated by Catalog legal counsel. Such records and information are exempt from any other requirements specified within this Data Management Policy and are to be retained in accordance with requirements identified by the Legal department. All such holds and special retention requirements are subject to annual review with Acme legal counsel to evaluate continuing requirements and scope. 11. Policy Compliance Acme will measure and verify compliance to this policy through various methods, including but not limited to, business tool reports, and both internal and external audits.\",\n                    \"verifiedBy\": null,\n                    \"tagEntities\": [],\n                    \"ownerEntities\": [],\n                    \"parentTerm\": {\n                        \"id\": \"c0f7d689-fbfb-42a8-af34-7a26a4257db1\",\n                        \"name\": \"📚 Policies\"\n                    },\n                    \"childrenTerms\": []\n                }\n            ]\n        }\n    }\n}"},{"id":"5d34b0b1-1ebb-4fd7-a211-0d2ab58a8bd7","name":"Get Terms with sorting and pagination","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getTerms","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getTerms"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"862"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Sat, 06 May 2023 23:45:02 GMT"},{"key":"X-Request-Id","value":"e556fcde-a0dc-46fe-80e8-8d8290f98f73"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getTerms\": {\n            \"page\": 0,\n            \"nbPerPage\": 10,\n            \"totalCount\": 19,\n            \"data\": [\n                {\n                    \"id\": \"66e8e684-5e91-4081-ae35-9773b8f79564\",\n                    \"name\": \"How to use Catalog?\"\n                },\n                {\n                    \"id\": \"40399270-8973-42c2-afc8-073fe4b487a7\",\n                    \"name\": \"[Example] Active Users\"\n                },\n                {\n                    \"id\": \"6dd300e1-98d2-447b-99ef-97740446efce\",\n                    \"name\": \"[Example] Churn Rate\"\n                },\n                {\n                    \"id\": \"926d5aa0-8267-4130-a1f5-66873d2f9570\",\n                    \"name\": \"[Example] Content Marketing\"\n                },\n                {\n                    \"id\": \"96ed7b99-8124-4d47-833a-b1014cc795cc\",\n                    \"name\": \"[Example] Data Management Policy\"\n                },\n                {\n                    \"id\": \"f53d520d-5de6-4170-8798-8961e64009d8\",\n                    \"name\": \"[Example] Finance\"\n                },\n                {\n                    \"id\": \"4b0a4a9c-5590-422f-9c15-9c85606b8a7a\",\n                    \"name\": \"[Example] How to request data access?\"\n                },\n                {\n                    \"id\": \"6cd8722c-e361-4b7a-8fb5-f90e824f4c56\",\n                    \"name\": \"[Example] MRR\"\n                },\n                {\n                    \"id\": \"e2e8bdb1-24a6-4dba-8603-13ef5cf41c1d\",\n                    \"name\": \"[Example] Marketing\"\n                },\n                {\n                    \"id\": \"628de1ac-e9c4-4133-98f1-cf86b424e6a6\",\n                    \"name\": \"[Example] Paid Marketing\"\n                }\n            ]\n        }\n    }\n}"},{"id":"508218d5-0871-4381-a1f5-b4e91f150646","name":"Get Terms with a specific name","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getTerms","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getTerms"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"121"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Sat, 06 May 2023 23:46:04 GMT"},{"key":"X-Request-Id","value":"d9bba992-5b2c-46a4-8721-a74d4602a9d4"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getTerms\": {\n            \"totalCount\": 1,\n            \"data\": [\n                {\n                    \"id\": \"f53d520d-5de6-4170-8798-8961e64009d8\",\n                    \"name\": \"[Example] Finance\"\n                }\n            ]\n        }\n    }\n}"},{"id":"146c496a-be36-4eae-b079-f01d18ff1a7c","name":"Get Terms from term Ids","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getTerms","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getTerms"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"203"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Sat, 06 May 2023 23:47:14 GMT"},{"key":"X-Request-Id","value":"c051f9ac-e83d-4869-98c3-da746dca0c6a"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getTerms\": {\n            \"totalCount\": 2,\n            \"data\": [\n                {\n                    \"id\": \"24d44dab-02b4-49ae-812e-41ff63706796\",\n                    \"name\": \"❓FAQ\"\n                },\n                {\n                    \"id\": \"4b0a4a9c-5590-422f-9c15-9c85606b8a7a\",\n                    \"name\": \"[Example] How to request data access?\"\n                }\n            ]\n        }\n    }\n}"}],"_postman_id":"502593cd-8300-4951-868d-8633fc804897"},{"name":"Create Term","id":"0af3deb7-447e-4bb2-8f2b-eb7873b70dbf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($description: String!, $name: String!, $linkedTagId: String, $parentTermId: String) {\n\tcreateTerm(data: {\n\t  description: $description,\n\t  name: $name,\n      linkedTagId: $linkedTagId,\n      parentTermId: $parentTermId,\n\t }) {\n\t   id,\n\t   name\n\t }\n}","variables":"{\n    \"description\": \"# title\\n\\nexplanation\\n\\n> detail\",\n    \"name\": \"qustion and answer\"\n}"}},"url":"https://api.castordoc.com/public/graphql?op=createTerm","description":"<h2 id=\"description\">Description</h2>\n<p>Create a term either at root level (linkedTagId is null) or as children of a given term</p>\n<ul>\n<li><p>name is mandatory</p>\n</li>\n<li><p>description is mandatory and should be provided as markdown</p>\n</li>\n<li><p>linkedTagId will override any linked term on the given tag</p>\n</li>\n</ul>\n<h3 id=\"input\">Input</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>field</th>\n<th>type</th>\n<th>optional</th>\n<th>remark</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>description</td>\n<td>string</td>\n<td><strong>no</strong></td>\n<td>markdown supported</td>\n</tr>\n<tr>\n<td>linkedTagId</td>\n<td>uuid</td>\n<td>yes</td>\n<td>must point to an existing tag</td>\n</tr>\n<tr>\n<td>name</td>\n<td>string</td>\n<td><strong>no</strong></td>\n<td></td>\n</tr>\n<tr>\n<td>parentTermId</td>\n<td>uuid</td>\n<td>yes</td>\n<td>cannot create dependency loops</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"output\">Output</h3>\n<p>Returns a Term: use fields described at the top of the section</p>\n","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"createTerm"}],"variable":[]}},"response":[],"_postman_id":"0af3deb7-447e-4bb2-8f2b-eb7873b70dbf"},{"name":"Update Term","id":"19535f02-9ace-4665-9059-c161d64a1115","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation (\n    $description: String, \n    $name: String, \n    $id: String!\n    $linkedTagId: String, \n    $parentTermId: String\n) {\n\tupdateTerm(data: {\n\t  description: $description,\n\t  name: $name,\n      id: $id,\n      linkedTagId: $linkedTagId,\n      parentTermId: $parentTermId,\n\t }) {\n\t   id,\n\t   name\n\t }\n}","variables":"{\n    \"id\": \"3b4e1c9e-a951-4dc4-84a4-1e30a0b036be\",\n    \"description\": \"# title\\n\\nexplanation\\n\\n> detail\",\n    \"name\": \"qustion and answer\"\n}"}},"url":"https://api.castordoc.com/public/graphql?op=updateTerm","description":"<h3 id=\"description\">Description</h3>\n<p>Update an existing term, id of a valid term is necessary, all other fields are optional</p>\n<ul>\n<li>description is in markdown</li>\n<li>linkedTagId will override any linked term on the given tag</li>\n</ul>\n<h3 id=\"fields\">Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>field</th>\n<th>type</th>\n<th>optional</th>\n<th>remark</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>description</td>\n<td>string</td>\n<td>yes</td>\n<td>markdown supported</td>\n</tr>\n<tr>\n<td>id</td>\n<td>uuid</td>\n<td><strong>no</strong></td>\n<td>id of the term</td>\n</tr>\n<tr>\n<td>linkedTagId</td>\n<td>uuid</td>\n<td>yes</td>\n<td>must point to an existing tag</td>\n</tr>\n<tr>\n<td>name</td>\n<td>string</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td>parentTermId</td>\n<td>uuid</td>\n<td>yes</td>\n<td>cannot create dependency loops</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"output\">Output</h3>\n<p>Returns a Term: use fields and relationships specified at the top of this section </p>\n","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"updateTerm"}],"variable":[]}},"response":[],"_postman_id":"19535f02-9ace-4665-9059-c161d64a1115"},{"name":"Delete Term","id":"ae8081de-1d3c-44c1-ac63-eec1fc1031dc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($id: String!) {\n\tdeleteTerm(data: { id: $id })\n}","variables":"{\n    \"id\": \"3b4e1c9e-a951-4dc4-84a4-1e30a0b036be\",\n    \"description\": \"# title\\n\\nexplanation\\n\\n> detail\",\n    \"name\": \"qustion and answer\"\n}"}},"url":"https://api.castordoc.com/public/graphql?op=deleteTerm","description":"<h3 id=\"description\">Description</h3>\n<p>Delete a term, this operation cannot be reversed</p>\n<p>Requires the id of a valid term</p>\n<h3 id=\"fields\">Fields</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>field</th>\n<th>type</th>\n<th>optional</th>\n<th>remark</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>uuid</td>\n<td><strong>no</strong></td>\n<td>id of the term</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"output\">Output</h3>\n<p>boolean: true if deleted, false if not found</p>\n","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"deleteTerm"}],"variable":[]}},"response":[],"_postman_id":"ae8081de-1d3c-44c1-ac63-eec1fc1031dc"}],"id":"556ac497-6bf3-4385-b4b1-483331ca2af0","description":"<p>This will allow you to interact with your <code>Knowledge pages</code> in Catalog</p>\n<p>You can get terms, create a term, update a term and delete a term</p>\n<h2 id=\"term\">Term</h2>\n<h3 id=\"fields\">Fields</h3>\n<p>This will return a <code>Term</code> object with the following fields</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>field</th>\n<th>type</th>\n<th>nullable</th>\n<th>remark</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>uuid</td>\n<td>no</td>\n<td>unique identifier</td>\n</tr>\n<tr>\n<td>deprecatedAt</td>\n<td>Date</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td>depthLevel</td>\n<td>number</td>\n<td>no</td>\n<td>starts at 0 for root terms</td>\n</tr>\n<tr>\n<td>descriptionRaw</td>\n<td>text</td>\n<td>yes</td>\n<td>text conversion of descriptionStateLexical</td>\n</tr>\n<tr>\n<td>descriptionStateLexical</td>\n<td>JSON</td>\n<td>yes</td>\n<td>lexical state of the description</td>\n</tr>\n<tr>\n<td>externalDescriptionSource</td>\n<td>enum</td>\n<td>yes</td>\n<td>values <code>CASTOR</code> or <code>KNOWLEDGE</code></td>\n</tr>\n<tr>\n<td>externalDescription</td>\n<td>text</td>\n<td>yes</td>\n<td>external description source and content are either both NULL or both non NULL</td>\n</tr>\n<tr>\n<td>externalId</td>\n<td>text</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td>icon</td>\n<td>text</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td>name</td>\n<td>text</td>\n<td>yes</td>\n<td>displayed name of the term</td>\n</tr>\n<tr>\n<td>slug</td>\n<td>text</td>\n<td>no</td>\n<td>unique human readable identifier</td>\n</tr>\n<tr>\n<td>url</td>\n<td>text</td>\n<td>yes</td>\n<td>must be a valid URL</td>\n</tr>\n<tr>\n<td>createdAt</td>\n<td>Date</td>\n<td>no</td>\n<td></td>\n</tr>\n<tr>\n<td>deletedAt</td>\n<td>Date</td>\n<td>yes</td>\n<td>if not NULL the term is soft deleted</td>\n</tr>\n<tr>\n<td>lastEditedAt</td>\n<td>Date</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td>updatedAt</td>\n<td>Date</td>\n<td>no</td>\n<td></td>\n</tr>\n<tr>\n<td>description</td>\n<td>text</td>\n<td>no</td>\n<td>either descriptionRaw or externalDescription</td>\n</tr>\n<tr>\n<td>isDeprecated</td>\n<td>boolean</td>\n<td>no</td>\n<td></td>\n</tr>\n<tr>\n<td>isVerified</td>\n<td>boolean</td>\n<td>no</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"relations\">Relations</h3>\n<blockquote>\n<p>Only supported for getMany and update </p>\n</blockquote>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>relation</th>\n<th>type</th>\n<th>nullable</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>childrenTerms</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>Term[]</td>\n<td>no</td>\n<td></td>\n</tr>\n<tr>\n<td>entityEditors</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>EntityEditor[]</td>\n<td>no</td>\n<td></td>\n</tr>\n<tr>\n<td>entityEditors.sourceUser</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>SourceUser</td>\n<td>yes</td>\n<td></td>\n</tr>\n<tr>\n<td>entityEditors.sourceUser.unifiedUser</td>\n<td>UnifiedUser</td>\n<td>yes</td>\n</tr>\n<tr>\n<td>linkedTag</td>\n<td>Tag</td>\n<td>yes</td>\n</tr>\n<tr>\n<td>ownerEntities</td>\n<td>OwnerEntity[]</td>\n<td>no</td>\n</tr>\n<tr>\n<td>ownerEntities.unifiedUser</td>\n<td>UnifiedUser</td>\n<td>no</td>\n</tr>\n<tr>\n<td>ownerEntities.user</td>\n<td>User</td>\n<td>yes</td>\n</tr>\n<tr>\n<td>parentTerm</td>\n<td>Term</td>\n<td>yes</td>\n</tr>\n<tr>\n<td>teamOwnerEntities</td>\n<td>TeamOwnerEntity[]</td>\n<td>no</td>\n</tr>\n<tr>\n<td>teamOwnerEntities.team</td>\n<td>Team</td>\n<td>no</td>\n</tr>\n<tr>\n<td>tagEntities</td>\n<td>TagEntity[]</td>\n<td>no</td>\n</tr>\n<tr>\n<td>tagEntities.tag</td>\n<td>Tag</td>\n<td>no</td>\n</tr>\n<tr>\n<td>verifiedBy</td>\n<td>User</td>\n<td>yes</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"556ac497-6bf3-4385-b4b1-483331ca2af0"},{"name":"Tags","item":[{"name":"Get Tags","id":"e3c25ecf-813e-45ee-906e-404e82a45f06","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query {\n  getTags {\n    totalCount\n    data {\n      id\n      label\n    }\n  }\n}\n","variables":""}},"url":"https://api.castordoc.com/public/graphql?op=getTags","description":"<h3 id=\"description\">Description</h3>\n<p>Get all tags, with optional scoping, sorting and pagination</p>\n<ul>\n<li>the <code>scope</code> will help you to filter/narrow down your result</li>\n<li>the <code>sorting</code> will help you sort out the result in the order you want</li>\n<li>the <code>pagination</code> will help you navigate through the result when there are too many records</li>\n</ul>\n<p>All tags will be retrieved, including tags on soft deleted and hidden entities. This means tags on:</p>\n<ul>\n<li>soft deleted columns, tables, dashboards, terms and any other kind of assets</li>\n<li>hidden assets: databases, schemas, etc</li>\n</ul>\n<h4 id=\"query-inputs\">Query inputs</h4>\n<ul>\n<li><code>scope</code> (optional): scope the tag by tag IDs or substring of its label</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>property</strong></th>\n<th><strong>required</strong></th>\n<th><strong>type</strong></th>\n<th><strong>description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>ids</code></td>\n<td>no</td>\n<td><code>uuid</code> array</td>\n<td>Scope by multiple tag IDs</td>\n</tr>\n<tr>\n<td><code>labelContains</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>Scope by a substring of the tag label, case insensitive</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><code>sorting</code> (optional): an array of <code>sorting</code> objects</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>property</strong></th>\n<th><strong>required</strong></th>\n<th><strong>type</strong></th>\n<th><strong>value</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>sortingKey</code></td>\n<td>yes</td>\n<td><code>enum</code></td>\n<td><code>label</code></td>\n</tr>\n<tr>\n<td><code>direction</code></td>\n<td>no</td>\n<td><code>enum</code></td>\n<td><code>ASC</code> (default value)  <br /><code>DESC</code></td>\n</tr>\n<tr>\n<td><code>nullsPriority</code></td>\n<td>no</td>\n<td><code>enum</code></td>\n<td><code>LAST</code> (default value)  <br /><code>FIRST</code></td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><code>pagination</code> (optional)</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>property</strong></th>\n<th><strong>required</strong></th>\n<th><strong>type</strong></th>\n<th><strong>description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>nbPerPage</code></td>\n<td>yes</td>\n<td><code>number</code></td>\n<td>Number of entities to return per page</td>\n</tr>\n<tr>\n<td><code>page</code></td>\n<td>yes</td>\n<td><code>number</code></td>\n<td>Fetch entities at this page, start at page 0</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"getTags"}],"variable":[]}},"response":[{"id":"58d858bf-0ccb-48b1-9d2e-c70045614027","name":"Get Tags with sorting and pagination","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getTags","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getTags"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"599"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Sat, 06 May 2023 23:49:49 GMT"},{"key":"X-Request-Id","value":"7a3767fe-9f5f-49ca-9923-51975e8564cb"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getTags\": {\n            \"page\": 0,\n            \"nbPerPage\": 10,\n            \"totalCount\": 8,\n            \"data\": [\n                {\n                    \"id\": \"227b8153-2322-467f-baef-dcf2deb21ba3\",\n                    \"label\": \"BI Team\"\n                },\n                {\n                    \"id\": \"12c36484-0794-4602-8e61-36734c38bd42\",\n                    \"label\": \"campaign #3\"\n                },\n                {\n                    \"id\": \"41cba36b-007c-424e-a38e-e4ca4cf6e938\",\n                    \"label\": \"criticality:4-low\"\n                },\n                {\n                    \"id\": \"17fe0aa2-0bc9-422c-8b12-c8e6ffe713e4\",\n                    \"label\": \"customer\"\n                },\n                {\n                    \"id\": \"5c5b0b16-9f7f-4547-878d-3310a9f5a307\",\n                    \"label\": \"explorer\"\n                },\n                {\n                    \"id\": \"834b855c-a638-4c9c-9a31-fc06e7a7616d\",\n                    \"label\": \"finance\"\n                },\n                {\n                    \"id\": \"dd40c632-7f4d-4e99-a55d-0b98ce45f590\",\n                    \"label\": \"marketing\"\n                },\n                {\n                    \"id\": \"0fe3f6bb-9248-43a0-80c0-50a89c5930b7\",\n                    \"label\": \"sales\"\n                }\n            ]\n        }\n    }\n}"},{"id":"9a93d7a5-b95b-4afc-8f3a-7ee645e34764","name":"Get Tags with a specific label","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getTags","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getTags"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"111"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Sat, 06 May 2023 23:50:49 GMT"},{"key":"X-Request-Id","value":"c08478e9-5110-4321-983e-9ac82c43bb2f"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getTags\": {\n            \"totalCount\": 1,\n            \"data\": [\n                {\n                    \"id\": \"834b855c-a638-4c9c-9a31-fc06e7a7616d\",\n                    \"label\": \"finance\"\n                }\n            ]\n        }\n    }\n}"},{"id":"02e7af38-789d-4b47-9721-18f31885b806","name":"Get Tags from tag Ids","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getTags","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getTags"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"176"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Sat, 06 May 2023 23:51:33 GMT"},{"key":"X-Request-Id","value":"6bb5055e-87ee-464c-9d9c-440a1b74e04b"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getTags\": {\n            \"totalCount\": 2,\n            \"data\": [\n                {\n                    \"id\": \"227b8153-2322-467f-baef-dcf2deb21ba3\",\n                    \"label\": \"BI Team\"\n                },\n                {\n                    \"id\": \"17fe0aa2-0bc9-422c-8b12-c8e6ffe713e4\",\n                    \"label\": \"customer\"\n                }\n            ]\n        }\n    }\n}"}],"_postman_id":"e3c25ecf-813e-45ee-906e-404e82a45f06"},{"name":"Attach tags to entities","id":"499e2985-3a8f-464d-a9a6-78701d088e0e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($tags: [BaseTagEntityInput!]!) {\n  attachTags(data: $tags)\n}\n","variables":"{\n  \"tags\": [{\n    \"label\": \"finance\",\n    \"entityId\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n    \"entityType\": \"TABLE\"\n  }, {\n    \"label\": \"finance\",\n    \"entityId\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n    \"entityType\": \"DASHBOARD\"\n  }, {\n    \"label\": \"business\",\n    \"entityId\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n    \"entityType\": \"TERM\"\n  }, {\n    \"label\": \"finance\",\n    \"entityId\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\",\n    \"entityType\": \"COLUMN\"\n  }]\n}"}},"url":"https://api.castordoc.com/public/graphql?op=attachTags","description":"<h3 id=\"description\">Description</h3>\n<blockquote>\n<p>Attach tags to entities by using their tag labels, and <strong>create a new tag if it does not already exist</strong>. </p>\n</blockquote>\n<p>With this <code>mutation</code> you can add multiple tags to multiple entities of different types ( <code>Dashboard</code> / <code>Table</code> / <code>Term</code> / <code>Column</code>) as you want</p>\n<p><strong>Please check the</strong> <strong><code>Introductions</code></strong> <strong>section &gt;</strong> <strong><code>Attach a tag to your assets (example)</code></strong> <strong>to have an example of how to use this mutation</strong></p>\n<h4 id=\"mutation-input\">Mutation input</h4>\n<ul>\n<li><code>data</code> (required)<ul>\n<li><code>data</code> is a <code>TagEntityInput</code> array with a maximum of <code>500</code> elements</li>\n<li><code>TagEntityInput</code> contains: the tag <code>label</code>, the <code>entityId</code> and <code>entityType</code></li>\n</ul>\n</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>property</strong></th>\n<th><strong>required</strong></th>\n<th><strong>type</strong></th>\n<th><strong>description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>label</code></td>\n<td>yes</td>\n<td><code>string</code></td>\n<td>The label of the tag</td>\n</tr>\n<tr>\n<td><code>entityId</code></td>\n<td>yes</td>\n<td><code>uuid</code></td>\n<td>The id of the tagged entity</td>\n</tr>\n<tr>\n<td><code>entityType</code></td>\n<td>yes</td>\n<td><code>enum</code></td>\n<td>The type of the tagged entity, it could be either  <br /><code>DASHBOARD</code>  <br /><code>TABLE</code>  <br /><code>TERM   COLUMN</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"attachTags"}],"variable":[]}},"response":[{"id":"8b5e511e-c19d-4c1b-8117-808489f5972a","name":"Attach tags to multiple entities","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=attachTags","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"attachTags"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"29"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Sat, 06 May 2023 23:55:10 GMT"},{"key":"X-Request-Id","value":"291ca75b-c15a-489e-a182-1e3693b9041d"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"attachTags\": true\n    }\n}"}],"_postman_id":"499e2985-3a8f-464d-a9a6-78701d088e0e"},{"name":"Detach tags from entities","id":"016bf918-b579-4f4d-8aad-3554951337d0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation {\n  detachTags(\n    data: [\n      {\n        label: \"finance\"\n        entityId: \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n        entityType: TABLE\n      }\n      {\n        label: \"finance\"\n        entityId: \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n        entityType: DASHBOARD\n      }\n      {\n        label: \"business\"\n        entityId: \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n        entityType: TERM\n      }\n    ]\n  )\n}\n","variables":""}},"url":"https://api.castordoc.com/public/graphql?op=detachTags","description":"<h3 id=\"description\">Description</h3>\n<blockquote>\n<p>Detach tags to from entities by using their tag labels, and <strong>delete the tag if there are no entities attached to it anymore</strong>. </p>\n</blockquote>\n<p>With this <code>mutation</code> you can remove multiple tags from multiple entities of different types ( <code>Dashboard</code> / <code>Table</code> / <code>Term</code>) as you want</p>\n<h4 id=\"mutation-input\">Mutation input</h4>\n<ul>\n<li><code>data</code> (required)<ul>\n<li><code>data</code> is a <code>TagEntityInput</code> array with a maximum of <code>500</code> elements</li>\n<li><code>TagEntityInput</code> contains: the tag <code>label</code>, the <code>entityId</code> and <code>entityType</code></li>\n</ul>\n</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>property</strong></th>\n<th><strong>required</strong></th>\n<th><strong>type</strong></th>\n<th><strong>description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>label</code></td>\n<td>yes</td>\n<td><code>string</code></td>\n<td>The label of the tag</td>\n</tr>\n<tr>\n<td><code>entityId</code></td>\n<td>yes</td>\n<td><code>uuid</code></td>\n<td>The id of the tagged entity</td>\n</tr>\n<tr>\n<td><code>entityType</code></td>\n<td>yes</td>\n<td><code>enum</code></td>\n<td>The type of the tagged entity, it could be either  <br /><code>DASHBOARD</code>  <br /><code>TABLE</code>  <br /><code>TERM</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"detachTags"}],"variable":[]}},"response":[{"id":"91f57ff1-9b56-4bb6-958e-a5489b8abb69","name":"Detach tags from multiple entities","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=detachTags","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"detachTags"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"29"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Sat, 06 May 2023 23:56:46 GMT"},{"key":"X-Request-Id","value":"06febe55-8f85-4174-91e6-feeb8b53dd56"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"detachTags\": true\n    }\n}"}],"_postman_id":"016bf918-b579-4f4d-8aad-3554951337d0"}],"id":"49dfd707-82fb-4298-908c-45be83351ee1","description":"<p>This will allow you to interact with your <code>Tags</code> in Catalog</p>\n","_postman_id":"49dfd707-82fb-4298-908c-45be83351ee1"},{"name":"Data Quality","item":[{"name":"Get Quality Tests","id":"95f59501-1fa5-4787-85e2-831fff56fe2f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"query ($tableId: String) {\n  getDataQualities(scope: { tableId: $tableId }) {\n    data {\n      id\n      name\n      externalId\n      column {\n        id\n        name\n      }\n      table {\n        id\n        name\n      }\n    }\n  }\n}","variables":"{\n    \"tableId\": \"446a07e6-5c71-4404-a737-f8b503492679\"\n}"}},"url":"https://api.castordoc.com/public/graphql?op=getDataQualities","description":"<h3 id=\"description\"><strong>Description</strong></h3>\n<p>Get all Quality Checks, with optional scoping, sorting and pagination</p>\n<ul>\n<li>the <code>scope</code> will help you to filter/narrow down your result</li>\n<li>the <code>pagination</code> will help you navigate through the result when there are too many records</li>\n</ul>\n<h3 id=\"query-inputs\"><strong>Query inputs</strong></h3>\n<ul>\n<li><code>scope</code> (optional): scope the tag by tag IDs or substring of its label</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>tableId</code></td>\n<td>no</td>\n<td><code>uuid</code></td>\n<td>Scope by associated table's <code>ID</code></td>\n</tr>\n<tr>\n<td><code>withDeleted</code></td>\n<td>no</td>\n<td><code>boolean</code></td>\n<td>When <code>true</code>, this will also return tests on soft deleted tables and columns.  <br />  <br /><code>false</code> by default</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><code>pagination</code> (optional)</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>nbPerPage</code></td>\n<td>yes</td>\n<td><code>number</code></td>\n<td>Number of entities to return per page (100 by default and capped to 500 items)</td>\n</tr>\n<tr>\n<td><code>page</code></td>\n<td>tes</td>\n<td><code>number</code></td>\n<td>Fetch entities at this page, start at page 0</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"getDataQualities"}],"variable":[]}},"response":[{"id":"03ede743-a96b-49ca-b8ab-ac509d549c84","name":"Get including Checks on deleted assets","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getDataQualities","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getDataQualities"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"getDataQualities\": {\n      \"data\": [{\n        \"id\": \"7588d5b4-2601-4164-8a5e-ed4123e0f99b\",\n        \"name\": \"User age check\",\n        \"externalId\": \"user_age_check\",\n        \"column\": {\n          \"name\": \"age\"\n        },\n        \"table\": {\n          \"id\": \"235d2b34-e624-4871-bf83-86f29b56f8b7\",\n          \"name\": \"user\"\n        }\n      }, {\n        \"id\": \"8520394b-229e-4299-a846-7515306834af\",\n        \"name\": \"User conformity check\",\n        \"externalId\": \"user_conformity_check\",\n        \"column\": null,\n        \"table\": {\n          \"id\": \"235d2b34-e624-4871-bf83-86f29b56f8b7\",\n          \"name\": \"user\"\n        }\n      }]\n    }\n  }\n}"}],"_postman_id":"95f59501-1fa5-4787-85e2-831fff56fe2f"},{"name":"Upsert Quality Tests","id":"2458c35c-6df7-4b50-a4ad-854dfdb8c3fd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation ($tableId: String!, $qualityChecks: [BaseQualityCheckInput!]!) {\n  upsertDataQualities(data: { tableId: $tableId, qualityChecks: $qualityChecks }) {\n    id\n    name\n    status\n  }\n}","variables":"{\n  \"data\": {\n    \"upsertDataQualities\": [\n      {\n        \"id\": \"a2666f84-6d59-4618-8a3f-575275ece76c\",\n        \"name\": \"August report ID\",\n        \"status\": \"ALERT\"\n      },\n      {\n        \"id\": \"5edd8b12-7c2a-429e-8601-8e360d6605d9\",\n        \"name\": \"August report AMOUNT\",\n        \"status\": \"SUCCESS\"\n      }\n    ]\n  }\n}"}},"url":"https://api.castordoc.com/public/graphql?op=upsertDataQualities","description":"<h3 id=\"description\"><strong>Description</strong></h3>\n<p>With this <code>mutation</code> you can add or update multiple quality checks on a single table.</p>\n<p>Quality checks are unique per <code>tableId</code> and <code>externalId</code> combination.</p>\n<p>Thus, for a given <code>tableId</code> and <code>externalId</code> pair, we only keep the latest test run.</p>\n<p>This means that for the provided checks, if the <code>runAt</code> value is set after the existing one, the new value will replace it. If however one test exists on those keys and has a <code>runAt</code> after the one you’re trying to insert, it will not be added.</p>\n<h3 id=\"mutation-input\"><strong>Mutation input</strong></h3>\n<p><code>data</code> (required) is composed of:</p>\n<ul>\n<li><code>tableId</code> the id of the table to associate the quality tests to</li>\n<li><code>qualityChecks</code> an array of quality check inputs containing the following fields:</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>property</strong></th>\n<th><strong>required</strong></th>\n<th><strong>type</strong></th>\n<th><strong>description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>externalId</code></td>\n<td>yes</td>\n<td><code>string</code></td>\n<td>The quality check’s technical identifier. You are responsible for providing unique ids for each of your quality checks.</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>yes</td>\n<td><code>string</code></td>\n<td>The name you want to give to the quality check.</td>\n</tr>\n<tr>\n<td><code>runAt</code></td>\n<td>yes</td>\n<td><code>Date</code></td>\n<td>The time at which the quality check ran.  <br />  <br />(see how we deal with date format <a href=\"https://apidocs.castordoc.com/#1b47db0f-8c70-4bfc-a4dc-437d18c71b43\">here</a>)</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td>yes</td>\n<td><code>enum</code></td>\n<td>The status provided by the quality check among:  <br />- <code>SUCCESS</code>  <br />- <code>WARNING</code>  <br />- <code>ALERT</code></td>\n</tr>\n<tr>\n<td><code>columnId</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>The <code>id</code> of the column targeted by this test if there is one.  <br />  <br />You can retrieve column ids from the column relationship on the <code>getTables</code> endpoint.</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>An optional description you can provide for the quality test</td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>Optional url to the quality test</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"upsertDataQualities"}],"variable":[]}},"response":[{"id":"d8b93739-7a38-46be-bd88-1b117e5c7182","name":"Upsert Quality Checks","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=upsertDataQualities","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"upsertDataQualities"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"upsertDataQualities\": [\n      {\n        \"id\": \"a2666f84-6d59-4618-8a3f-575275ece76c\",\n        \"name\": \"August report ID\",\n        \"status\": \"ALERT\"\n      },\n      {\n        \"id\": \"5edd8b12-7c2a-429e-8601-8e360d6605d9\",\n        \"name\": \"August report AMOUNT\",\n        \"status\": \"SUCCESS\"\n      }\n    ]\n  }\n}"}],"_postman_id":"2458c35c-6df7-4b50-a4ad-854dfdb8c3fd"},{"name":"Remove Quality Checks","id":"d376041c-b6f4-4baa-90e5-1b8cbeabc440","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation ($checks: [QualityCheckInput!]!) {\n  removeDataQualities(data: { qualityChecks: $checks }) \n}","variables":"{\n  \"checks\": [{\n    \"externalId\": \"user_age_check\",\n    \"tableId\": \"235d2b34-e624-4871-bf83-86f29b56f8b7\"\n  }]\n}"}},"url":"https://api.castordoc.com/public/graphql?op=removeDataQualities","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"removeDataQualities"}],"variable":[]}},"response":[{"id":"9db60d5a-a443-4dfb-a205-0c6a17b45191","name":"Remove Quality Checks","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=removeDataQualities","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"removeDataQualities"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"removeDataQualities\": true\n  }\n}"}],"_postman_id":"d376041c-b6f4-4baa-90e5-1b8cbeabc440"}],"id":"4c0cfc52-d8fa-46d9-8061-828ee6f1616e","description":"<p>This will allow you to interact with your table’s <code>Quality Tests</code> in Catalog</p>\n","_postman_id":"4c0cfc52-d8fa-46d9-8061-828ee6f1616e"},{"name":"Sources","item":[{"name":"Get Sources","id":"3951c13e-5cd5-424d-a39c-d1224777f040","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query {\n  getSources {\n    nbPerPage\n    page\n    totalCount\n    greatestId\n\n    data {\n        id\n        name\n        origin\n        type\n        technology\n    }\n  }\n}","variables":""}},"url":"https://api.castordoc.com/public/graphql?op=getSources","description":"<h3 id=\"description\">Description</h3>\n<p>Get all sources, with optional scoping, sorting and pagination</p>\n<ul>\n<li><p>the <code>scope</code> will help you to filter/narrow down your result</p>\n</li>\n<li><p>the <code>pagination</code> will help you navigate through the result when there are too many records</p>\n</li>\n</ul>\n<h3 id=\"query-inputs\"><strong>Query inputs</strong></h3>\n<ul>\n<li><code>scope</code> (<strong>optional</strong>): scope the sources by origin, technology, type or whether to include sources that have been soft deleted (scopes can be combined and are additives)</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>origin</code></td>\n<td>no</td>\n<td><code>enum</code></td>\n<td>Scope source results by their origin:  <br />- <code>API</code> will restrict results to sources created through this API  <br />- <code>EXTRACTION</code> will restrict results to sources created through Catalog’s extraction system</td>\n</tr>\n<tr>\n<td><code>technology</code></td>\n<td>no</td>\n<td><code>enum</code></td>\n<td>Restrict source results by their technology (see the full list of allowed technology below)</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>no</td>\n<td><code>enum</code></td>\n<td>Restrict source results by their type:  <br />- <code>COMMUNICATION</code>  <br />- <code>QUALITY</code>  <br />- <code>TRANSFORMATION</code>  <br />- <code>VISUALIZATION</code>  <br />- <code>WAREHOUSE</code></td>\n</tr>\n<tr>\n<td><code>withDeleted</code></td>\n<td>no</td>\n<td><code>boolean</code></td>\n<td>Whether you want to include <strong>soft deleted records</strong> in the result.  <br />  <br />By default soft deleted entries will <strong>not be included</strong>.</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>Here is the full list of authorized source technologies:</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>AMAZON_ATHENA\nANOMALO\nBIGQUERY\nCOALESCE\nCOALESCE_QUALITY\nCOGNOS\nCONFLUENCE\nDATABRICKS\nDBT\nDBT_TEST\nDELTALAKE\nDOMO\nDOMO_DATA\nDREMIO\nDRUID\nDYNAMODB\nEXASOL\nFIREBOLT\nFIVETRAN\nGENERIC_VISUALIZATION\nGENERIC_WAREHOUSE\nGLUE\nGREAT_EXPECTATIONS\nHIVE\nKAFKA\nKEBOOLA\nLOOKER\nLOOKER_STUDIO\nMARIADB\nMETABASE\nMIXPANEL\nMODE\nMONTE_CARLO\nMS_TEAMS\nMYSQL\nNOTION\nORACLE\nPERISCOPE\nPOSTGRES\nPOWERBI\nPRESTODB\nQLIK_SENSE\nREDASH\nREDSHIFT\nS3\nSALESFORCE\nSALESFORCE_REPORTING\nSIGMA\nSIFFLET\nSISENSE\nSLACK\nSNAPLOGIC\nSNOWFLAKE\nSODA\nSQLSERVER\nSSRS\nSTRATEGY\nSUPERSET\nSYNAPSE\nTABLEAU\nTERADATA\nTHOUGHTSPOT\nTRINO\nVERTICA\nZOHO\n\n</code></pre><ul>\n<li><code>pagination</code> (<strong>optional</strong> and default to 100 first items)</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>nbPerPage</code></td>\n<td>yes</td>\n<td><code>number</code></td>\n<td>Number of entities to return per page (capped to 500 items)</td>\n</tr>\n<tr>\n<td><code>page</code></td>\n<td>yes</td>\n<td><code>number</code></td>\n<td>Fetch entities at this page, start at page 0</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"getSources"}],"variable":[]}},"response":[{"id":"82d4c650-b028-4573-ac6a-ffbc2406d9bd","name":"Get Sources","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getSources","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getSources"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getSources\": {\n            \"nbPerPage\": 100,\n            \"page\": 0,\n            \"totalCount\": 1,\n            \"greatestId\": null,\n            \"data\": [\n                {\n                    \"id\": \"357c66fd-9364-4e9a-bd6a-6c8d1af45579\",\n                    \"name\": \"Homemade Warehouse\",\n                    \"origin\": \"API\",\n                    \"type\": \"WAREHOUSE\",\n                    \"technology\": \"GENERIC_WAREHOUSE\"\n                }\n            ]\n        }\n    }\n}"}],"_postman_id":"3951c13e-5cd5-424d-a39c-d1224777f040"},{"name":"Create Source","id":"6bb7c0ef-1844-47d0-87b1-e136f6b87712","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation {\n  createSource(data: { name: \"Homemade Warehouse\" }) {\n    id\n    name\n    technology\n    origin\n    type\n  }\n}","variables":""}},"url":"https://api.castordoc.com/public/graphql?op=createSource","description":"<p><strong>Restricted Access</strong></p>\n<p><code>This endpoint access is restricted. Please reach out to your point of contact at Catalog if you are interested.</code></p>\n<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>mutation</code> will allow you to create a single custom warehouse source to administrate through this API.</p>\n<p>This comes with some restrictions:</p>\n<ul>\n<li>The created source will have a few fields with enforced values:<ul>\n<li><code>origin</code> to <code>API</code></li>\n<li><code>type</code> to <code>WAREHOUSE</code></li>\n<li><code>technology</code> to <code>GENERIC_WAREHOUSE</code></li>\n</ul>\n</li>\n<li>You will only be allowed a single source from this API (use the <a href=\"https://apidocs.castordoc.com/#b4eec960-6410-48cd-9932-92f512908b65\">Update Source</a> endpoint to edit or delete it)</li>\n</ul>\n<h3 id=\"mutation-input\"><strong>Mutation input</strong></h3>\n<p><code>data</code> (required) is composed of:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>yes</td>\n<td><code>string</code></td>\n<td>The name you want to give to the new source</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"createSource"}],"variable":[]}},"response":[{"id":"2d5046e2-ba3f-4e49-a953-29aef9aa0c14","name":"Create Source","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=createSource","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"createSource"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"createSource\": {\n      \"id\": \"187b129c-2b1b-4dba-bda8-372d523efac1\",\n      \"name\": \"Homemade Warehouse\",\n      \"technology\": \"GENERIC_WAREHOUSE\",\n      \"origin\": \"API\",\n      \"type\": \"WAREHOUSE\"\n    }\n  }\n}"}],"_postman_id":"6bb7c0ef-1844-47d0-87b1-e136f6b87712"},{"name":"Update Source","id":"fe928cd9-dbb9-4cbe-8380-98d9f7001901","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($source: UpdateSourceInput!) {\n  updateSource(data: $source) {\n    id\n    name\n    technology\n    origin\n    type\n  }\n}","variables":"{\n  \"source\": {\n    \"id\": \"187b129c-2b1b-4dba-bda8-372d523efac1\",\n    \"name\": \"New Homemade Warehouse\"\n  }\n}"}},"url":"https://api.castordoc.com/public/graphql?op=updateSource","description":"<p><strong>Restricted Access</strong></p>\n<p><code>This endpoint access is restricted. Please reach out to your point of contact at Catalog if you are interested.</code></p>\n<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>mutation</code> will allow you to update the API source you created.</p>\n<p>Note that in order not to mess with data ingested by Catalog, only the source created from the API will be editable.</p>\n<h3 id=\"mutation-input\"><strong>Mutation input</strong></h3>\n<p><code>data</code> (required) is composed of:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>yes</td>\n<td><code>uuid</code></td>\n<td>The id of the target source to edit</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>The new name you want to give to the source</td>\n</tr>\n<tr>\n<td><code>deletedAt</code></td>\n<td>no</td>\n<td><code>date</code></td>\n<td>The moment at which this source was deleted.  <br />  <br />Set this field to <strong>soft delete</strong> the source.  <br />  <br />See how we deal with Date formats <a href=\"https://apidocs.castordoc.com/#1b47db0f-8c70-4bfc-a4dc-437d18c71b43\">here</a></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"updateSource"}],"variable":[]}},"response":[{"id":"86ce2cb0-987b-4e0a-95e2-f3b5b00ab478","name":"Updating Source Name","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=updateSource","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"updateSource"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"updateSource\": {\n      \"id\": \"187b129c-2b1b-4dba-bda8-372d523efac1\",\n      \"name\": \"New Homemade Warehouse\",\n      \"technology\": \"GENERIC_WAREHOUSE\",\n      \"origin\": \"API\",\n      \"type\": \"WAREHOUSE\",\n      \"deletedAt\": null\n    }\n  }\n}"},{"id":"964619d1-6923-4796-ba73-c343caa9cc9c","name":"Soft Deleting Source","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=updateSource","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"updateSource"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"updateSource\": {\n      \"id\": \"187b129c-2b1b-4dba-bda8-372d523efac1\",\n      \"name\": \"New Homemade Warehouse\",\n      \"technology\": \"GENERIC_WAREHOUSE\",\n      \"origin\": \"API\",\n      \"type\": \"WAREHOUSE\",\n      \"deletedAt\": 1692316800000\n    }\n  }\n}"}],"_postman_id":"fe928cd9-dbb9-4cbe-8380-98d9f7001901"}],"id":"d2a8551e-5145-4d71-ad96-ca6d7e99fc88","description":"<p>This will allow you to interact with your data and visualization sources</p>\n","_postman_id":"d2a8551e-5145-4d71-ad96-ca6d7e99fc88"},{"name":"Databases","item":[{"name":"Get Databases","id":"3f77893d-9a34-4a39-bd8a-311ff969e2a4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query {\n  getDatabases {\n    data {\n      id\n      name\n    }\n  }\n}","variables":""}},"url":"https://api.castordoc.com/public/graphql?op=getDatabases","description":"<h3 id=\"description\"><strong>Description</strong></h3>\n<p>Get all databases, with optional scoping, sorting and pagination</p>\n<ul>\n<li>the <code>scope</code> will help you to filter/narrow down your result</li>\n<li>the <code>pagination</code> will help you navigate through the result when there are too many records</li>\n</ul>\n<h3 id=\"query-inputs\"><strong>Query inputs</strong></h3>\n<ul>\n<li><code>scope</code> (<strong>optional</strong>): scope the databases by the warehouses they are associated to, their names and whether you want to include soft deleted and hidden records (scopes can be combined and are additives):</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>sourceIds</code></td>\n<td>no</td>\n<td><code>uuid[]</code></td>\n<td>Scope databases to only retrieve the ones belonging to a warehouse having its id in the provided list</td>\n</tr>\n<tr>\n<td><code>nameContains</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>Filter databases results by whether their name contains the provided string (case insensitive)</td>\n</tr>\n<tr>\n<td><code>withHidden</code></td>\n<td>no</td>\n<td><code>boolean</code></td>\n<td>Whether you want to include hidden records in the result.  <br />  <br />By default hidden databases will not be included (nor will be databases belonging to hidden warehouses)</td>\n</tr>\n<tr>\n<td><code>withDeleted</code></td>\n<td>no</td>\n<td><code>boolean</code></td>\n<td>Whether you want to include soft deleted records in the result. By default soft deleted databases will not be included (nor will be databases belonging to deleted warehouses)</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><code>pagination</code> (<strong>optional</strong> and default to 100 first items)</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>nbPerPage</td>\n<td>yes</td>\n<td>number</td>\n<td>Number of entities to return per page (capped to 500 items)</td>\n</tr>\n<tr>\n<td>page</td>\n<td>yes</td>\n<td>number</td>\n<td>Fetch entities at this page, start at page 0</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"getDatabases"}],"variable":[]}},"response":[{"id":"061f5937-820e-428f-998f-d008f4d0f60d","name":"Get Databases From SourceId","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getDatabases","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getDatabases"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getDatabases\": {\n            \"data\": [\n                {\n                    \"id\": \"1023fd2e-af55-4fa3-b6e1-cd15fe720723\",\n                    \"name\": \"Model A\"\n                },\n                {\n                    \"id\": \"cbbf21b7-4be8-4972-845f-fee2a0daa176\",\n                    \"name\": \"Model B\"\n                }\n            ]\n        }\n    }\n}"}],"_postman_id":"3f77893d-9a34-4a39-bd8a-311ff969e2a4"},{"name":"Create Databases","id":"43f852f4-b7a3-4f9b-a3bf-47cc236a5cc6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation($databases: [CreateDatabaseInput!]!) {\n  createDatabases(data: $databases) {\n    externalId\n    description\n    deletedAt\n    id\n    isHidden\n    name\n  }\n}","variables":"{\n  \"databases\": [{\n      \"externalId\": \"model_b\",\n      \"sourceId\": \"357c66fd-9364-4e9a-bd6a-6c8d1af45579\",\n      \"name\": \"Model B\"\n    }, {\n        \"externalId\": \"model_a\",\n        \"sourceId\": \"357c66fd-9364-4e9a-bd6a-6c8d1af45579\",\n        \"name\": \"Model A\"\n    }]\n}"}},"url":"https://api.castordoc.com/public/graphql?op=createDatabases","description":"<p><strong>Restricted Access</strong></p>\n<p><code>This endpoint access is restricted. Please reach out to your point of contact at Catalog if you are interested.</code></p>\n<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>mutation</code> will allow you to create batches of databases to administrate through this API.</p>\n<p>Note that in order not to conflict with Catalog’s extraction system, you will only be able to create databases on warehouses created from this API.</p>\n<p>You will also need to craft and provide custom external ids used as technical identifiers.</p>\n<h3 id=\"mutation-input\"><strong>Mutation input</strong></h3>\n<p><code>data</code> (required) is composed of an <strong>array</strong> of database inputs containing the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>yes</td>\n<td>string</td>\n<td>The name you want to give to the new database (unique per source)</td>\n</tr>\n<tr>\n<td><code>externalId</code></td>\n<td>yes</td>\n<td><code>string</code></td>\n<td>The custom technical id of the database.  <br />  <br />You are responsible of crafting and providing those ids.</td>\n</tr>\n<tr>\n<td><code>sourceId</code></td>\n<td>yes</td>\n<td><code>uuid</code></td>\n<td>The warehouse’s id to link the database to.  <br />  <br />You can use the <a href=\"https://apidocs.castordoc.com/#72da951f-a662-4806-8e1f-faa6b452206c\">getSources</a> endpoint to fetch the desired warehouse.  <br />  <br />Note that you will only be able to provide API originated warehouse ids here</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>A short description of this database purpose</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"createDatabases"}],"variable":[]}},"response":[{"id":"60acc28d-7602-482a-a8a1-31cce1258865","name":"Create Databases","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=createDatabases","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"createDatabases"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"createDatabases\": [\n            {\n                \"externalId\": \"model_b\",\n                \"description\": null,\n                \"deletedAt\": null,\n                \"id\": \"cbbf21b7-4be8-4972-845f-fee2a0daa176\",\n                \"isHidden\": false,\n                \"name\": \"Model B\"\n            },\n            {\n                \"externalId\": \"model_a\",\n                \"description\": null,\n                \"deletedAt\": null,\n                \"id\": \"1023fd2e-af55-4fa3-b6e1-cd15fe720723\",\n                \"isHidden\": false,\n                \"name\": \"Model A\"\n            }\n        ]\n    }\n}"}],"_postman_id":"43f852f4-b7a3-4f9b-a3bf-47cc236a5cc6"},{"name":"Update Databases","id":"c75fc697-0450-4275-a64b-32d57ea3cedb","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($databases: [UpdateDatabaseInput!]!) {\n  updateDatabases(data: $databases) {\n    externalId\n    description\n    deletedAt\n    id\n    isHidden\n    name\n  }\n}","variables":"{\n  \"databases\": [{\n    \"id\": \"1023fd2e-af55-4fa3-b6e1-cd15fe720723\",\n    \"name\": \"Model X\"\n  }]\n}"}},"url":"https://api.castordoc.com/public/graphql?op=updateDatabases","description":"<p><strong>Restricted Access</strong></p>\n<p><code>This endpoint access is restricted. Please reach out to your point of contact at Catalog if you are interested.</code></p>\n<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>mutation</code> will allow you to batch update the databases you created.</p>\n<p>Note that in order not to mess with data ingested by Catalog, only the databases belonging to sources created from the API will be editable.</p>\n<h3 id=\"mutation-input\"><strong>Mutation input</strong></h3>\n<p><code>data</code> (required) is composed of an <strong>array</strong> of database inputs containing the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td>yes</td>\n<td>uuid</td>\n<td>The id of the target database to edit</td>\n</tr>\n<tr>\n<td>name</td>\n<td>no</td>\n<td>string</td>\n<td>The new name you want to give to the database</td>\n</tr>\n<tr>\n<td>externalId</td>\n<td>no</td>\n<td>string</td>\n<td>The new external id you want to give to the database</td>\n</tr>\n<tr>\n<td>deletedAt</td>\n<td>no</td>\n<td>date</td>\n<td>The moment at which this database was deleted.  <br />  <br />Set this field to soft delete the database. See how we deal with Date formats <a href=\"https://apidocs.castordoc.com/#1b47db0f-8c70-4bfc-a4dc-437d18c71b43\">here</a></td>\n</tr>\n<tr>\n<td>isHidden</td>\n<td>no</td>\n<td>string</td>\n<td>Whether this database is to be hidden from users in Catalog</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"updateDatabases"}],"variable":[]}},"response":[{"id":"4a4be3ca-d6b3-408e-8042-1ee15d426a3f","name":"Updating Database Fields","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=updateDatabases","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"updateDatabases"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"updateDatabases\": [\n      {\n        \"externalId\": \"model_b_latest\",\n        \"description\": null,\n        \"deletedAt\": null,\n        \"id\": \"cbbf21b7-4be8-4972-845f-fee2a0daa176\",\n        \"isHidden\": false,\n        \"name\": \"Model B\"\n      },\n      {\n        \"externalId\": \"model_a\",\n        \"description\": null,\n        \"deletedAt\": null,\n        \"id\": \"1023fd2e-af55-4fa3-b6e1-cd15fe720723\",\n        \"isHidden\": false,\n        \"name\": \"Model X\"\n      }\n    ]\n  }\n}"},{"id":"6b4f6d73-867e-4479-92f1-5507cb4abca6","name":"Soft Deleting Databases","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=updateDatabases","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"updateDatabases"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"updateDatabases\": [\n            {\n                \"externalId\": \"model_a\",\n                \"description\": null,\n                \"deletedAt\": 1692835200000,\n                \"id\": \"1023fd2e-af55-4fa3-b6e1-cd15fe720723\",\n                \"isHidden\": false,\n                \"name\": \"Model X\"\n            },\n            {\n                \"externalId\": \"model_b_latest\",\n                \"description\": null,\n                \"deletedAt\": 1692835200000,\n                \"id\": \"cbbf21b7-4be8-4972-845f-fee2a0daa176\",\n                \"isHidden\": false,\n                \"name\": \"Model B\"\n            }\n        ]\n    }\n}"}],"_postman_id":"c75fc697-0450-4275-a64b-32d57ea3cedb"}],"id":"fafe5f77-b8ae-4592-8df5-9c9234ec7950","description":"<p>This will allow you to interact with the databases among your warehouses</p>\n","_postman_id":"fafe5f77-b8ae-4592-8df5-9c9234ec7950"},{"name":"Schemas","item":[{"name":"Get Schemas","id":"bb68135f-cda7-48e4-82ff-e7d5d8ed9023","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query {\n  getSchemas {\n    data {\n      id\n      name\n      externalId\n    }\n  }\n}","variables":""}},"url":"https://api.castordoc.com/public/graphql?op=getSchemas","description":"<h3 id=\"description\"><strong>Description</strong></h3>\n<p>Get all schemas, with optional scoping, sorting and pagination</p>\n<ul>\n<li>the <code>scope</code> will help you to filter/narrow down your result</li>\n<li>the <code>pagination</code> will help you navigate through the result when there are too many records</li>\n</ul>\n<h3 id=\"query-inputs\"><strong>Query inputs</strong></h3>\n<ul>\n<li><code>scope</code> (optional): scope the schemas by the warehouses and databases they are associated to, their names and whether you want to include soft deleted and hidden records (scopes can be combined and are additives)</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>sourceIds</code></td>\n<td>no</td>\n<td><code>uuid[]</code></td>\n<td>Scope schemas to only retrieve the ones belonging to a warehouse having its id in the provided list</td>\n</tr>\n<tr>\n<td><code>databaseIds</code></td>\n<td>no</td>\n<td><code>uuid[]</code></td>\n<td>Scope schemas to only retrieve the ones belonging to a database having its id in the provided list</td>\n</tr>\n<tr>\n<td><code>nameContains</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>Filter schemas results by whether their name contains the provided string (case insensitive)</td>\n</tr>\n<tr>\n<td><code>withHidden</code></td>\n<td>no</td>\n<td><code>boolean</code></td>\n<td>Whether you want to include <strong>hidden records</strong> in the result.  <br />  <br />By default hidden schemas will <strong>not be included</strong> (nor will be schemas belonging to hidden databases and warehouses)</td>\n</tr>\n<tr>\n<td><code>withDeleted</code></td>\n<td>no</td>\n<td><code>boolean</code></td>\n<td>Whether you want to include <strong>soft deleted records</strong> in the result.  <br />  <br />By default soft deleted schemas will <strong>not be included</strong> (nor will be schemas belonging to deleted databases and warehouses)</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><code>pagination</code> (optional and default to 100 first items)</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>nbPerPage</td>\n<td>yes</td>\n<td>number</td>\n<td>Number of entities to return per page (capped to 500 items)</td>\n</tr>\n<tr>\n<td>page</td>\n<td>yes</td>\n<td>number</td>\n<td>Fetch entities at this page, start at page 0</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"getSchemas"}],"variable":[]}},"response":[{"id":"dc215e69-813f-4437-901e-5ce69d3a4fd6","name":"Get Schemas From Source","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getSchemas","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getSchemas"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getSchemas\": {\n            \"data\": [\n                {\n                    \"id\": \"059b5e99-ee86-4aae-8e23-0f3083fb6439\",\n                    \"name\": \"Model A.latest\",\n                    \"externalId\": \"model_a_latest\"\n                },\n                {\n                    \"id\": \"4aa0c135-84e5-4284-b487-afd0a92d6b1b\",\n                    \"name\": \"Model A.0\",\n                    \"externalId\": \"model_a_v0\"\n                },\n                {\n                    \"id\": \"fd39c3c1-f67e-488d-8999-9001b163276e\",\n                    \"name\": \"Model A.1\",\n                    \"externalId\": \"model_a_v1\"\n                }\n            ]\n        }\n    }\n}"}],"_postman_id":"bb68135f-cda7-48e4-82ff-e7d5d8ed9023"},{"name":"Create Schemas","id":"a45afc5c-199a-4129-b3a1-6c30839a28ae","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($schemas: [CreateSchemaInput!]!) {\n  createSchemas(data: $schemas) {\n    externalId\n    description\n    deletedAt\n    id\n    isHidden\n    name\n  }\n}","variables":"{\n  \"schemas\": [{\n      \"externalId\": \"model_a_v0\",\n      \"name\": \"Model A.0\",\n      \"databaseId\": \"1023fd2e-af55-4fa3-b6e1-cd15fe720723\"\n  },{\n      \"externalId\": \"model_a_v1\",\n      \"name\": \"Model A.1\",\n      \"databaseId\": \"1023fd2e-af55-4fa3-b6e1-cd15fe720723\"\n  },{\n      \"externalId\": \"model_b_latest\",\n      \"name\": \"Model B.latest\",\n      \"databaseId\": \"cbbf21b7-4be8-4972-845f-fee2a0daa176\"\n    }]\n}"}},"url":"https://api.castordoc.com/public/graphql?op=createSchemas","description":"<p><em>This endpoint have restricted access. Please reach out to your point of contact at Catalog if you are interested.</em></p>\n<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>mutation</code> will allow you to create batches of schemas to administrate through this API.</p>\n<p>Note that in order not to conflict with Catalog’s extraction system, you will only be able to create schemas on databases and warehouses created through this API.</p>\n<p>You will also need to craft and provide custom external ids used as technical identifiers.</p>\n<h3 id=\"mutation-input\"><strong>Mutation input</strong></h3>\n<p><code>data</code> (<strong>required</strong>) is composed of an <strong>array</strong> of schema inputs containing the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>yes</td>\n<td><code>string</code></td>\n<td>The name you want to give to the new schema (unique per database)</td>\n</tr>\n<tr>\n<td><code>externalId</code></td>\n<td>yes</td>\n<td><code>string</code></td>\n<td>The custom technical id of the schema.  <br />  <br />You are responsible of crafting and providing those ids</td>\n</tr>\n<tr>\n<td><code>databaseId</code></td>\n<td>yes</td>\n<td><code>uuid</code></td>\n<td>The database’s id to link the schema to.  <br />  <br />You can use the <a href=\"https://apidocs.castordoc.com/#d2e1fe74-011e-4d35-80b8-a67c9b209826\">getDatabases</a> endpoint to fetch the desired databases.  <br />  <br />Note that you will only be able to provide API originated database ids here</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>A short description of this schema’s purpose</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"createSchemas"}],"variable":[]}},"response":[{"id":"f55ad3cf-baca-43ae-95d8-e72976453f6d","name":"Create Schemas","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=createSchemas","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"createSchemas"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"createSchemas\": [\n      {\n        \"externalId\": \"model_a_v0\",\n        \"description\": null,\n        \"deletedAt\": null,\n        \"id\": \"d7a2e3a9-0870-47cb-8680-26397d92bc1d\",\n        \"isHidden\": false,\n        \"name\": \"Model A.0\"\n      },\n      {\n        \"externalId\": \"model_a_v1\",\n        \"description\": null,\n        \"deletedAt\": null,\n        \"id\": \"4eac0ffa-c07c-4e89-8608-3aed26086bf2\",\n        \"isHidden\": false,\n        \"name\": \"Model A.1\"\n      },\n      {\n        \"externalId\": \"model_b_latest\",\n        \"description\": null,\n        \"deletedAt\": null,\n        \"id\": \"c3df2883-09de-42ed-9af4-e3c3dc81de8c\",\n        \"isHidden\": false,\n        \"name\": \"Model B.latest\"\n      }\n    ]\n  }\n}"}],"_postman_id":"a45afc5c-199a-4129-b3a1-6c30839a28ae"},{"name":"Update Schemas","id":"22c36e1e-0481-4067-bcab-c2c8ad295e9e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($schemas: [UpdateSchemaInput!]!) {\n  updateSchemas(data: $schemas) {\n    externalId\n    description\n    deletedAt\n    id\n    isHidden\n    name\n  }\n}","variables":"{\n  \"schemas\": [{\n    \"id\": \"059b5e99-ee86-4aae-8e23-0f3083fb6439\",\n    \"name\": \"Model A.latest\"\n  }, {\n    \"id\": \"4aa0c135-84e5-4284-b487-afd0a92d6b1b\",\n    \"deletedAt\": \"2023-08-18T00:00:01\"\n  }]\n}"}},"url":"https://api.castordoc.com/public/graphql?op=updateSchemas","description":"<p><em>This endpoint have restricted access. Please reach out to your point of contact at Catalog if you are interested.</em></p>\n<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>mutation</code> will allow you to batch update the schemas you created.</p>\n<p>Note that in order not to mess with data ingested by Catalog, only the schemas belonging to sources and databases created from this API will be editable.</p>\n<h3 id=\"mutation-input\"><strong>Mutation input</strong></h3>\n<p><code>data</code> (<strong>required</strong>) is composed of an <strong>array</strong> of schema inputs containing the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>yes</td>\n<td><code>uuid</code></td>\n<td>The id of the target schema to edit</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>The new name you want to give to the schema</td>\n</tr>\n<tr>\n<td><code>externalId</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>The new external id you want to give to the schema</td>\n</tr>\n<tr>\n<td><code>deletedAt</code></td>\n<td>no</td>\n<td><code>date</code></td>\n<td>The moment at which this schema was deleted.  <br />  <br />Set this field to soft delete the schema. See how we deal with Date formats <a href=\"https://apidocs.castordoc.com/#1b47db0f-8c70-4bfc-a4dc-437d18c71b43\">here</a>.</td>\n</tr>\n<tr>\n<td><code>isHidden</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>Whether this schema is to be hidden from users in Catalog</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"updateSchemas"}],"variable":[]}},"response":[{"id":"d23df0cb-7876-4432-b9e4-884293a9a6fd","name":"Update Schema Fields","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=updateSchemas","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"updateSchemas"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"updateSchemas\": [\n            {\n                \"externalId\": \"model_a_latest\",\n                \"description\": null,\n                \"deletedAt\": null,\n                \"id\": \"059b5e99-ee86-4aae-8e23-0f3083fb6439\",\n                \"isHidden\": false,\n                \"name\": \"Model A.latest\"\n            },\n            {\n                \"externalId\": \"model_a_v0\",\n                \"description\": \"Model A first version\",\n                \"deletedAt\": null,\n                \"id\": \"4aa0c135-84e5-4284-b487-afd0a92d6b1b\",\n                \"isHidden\": false,\n                \"name\": \"Model A.0\"\n            }\n        ]\n    }\n}"},{"id":"02ac16f2-f3bc-4a93-be0d-d230b0dbbdd0","name":"Soft Deleting Schemas","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=updateSchemas","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"updateSchemas"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"updateSchemas\": [\n            {\n                \"externalId\": \"model_a_latest\",\n                \"description\": null,\n                \"deletedAt\": 1692316800000,\n                \"id\": \"059b5e99-ee86-4aae-8e23-0f3083fb6439\",\n                \"isHidden\": false,\n                \"name\": \"Model A.latest\"\n            },\n            {\n                \"externalId\": \"model_a_v0\",\n                \"description\": \"Model A first version\",\n                \"deletedAt\": 1692316800000,\n                \"id\": \"4aa0c135-84e5-4284-b487-afd0a92d6b1b\",\n                \"isHidden\": false,\n                \"name\": \"Model A.0\"\n            }\n        ]\n    }\n}"}],"_postman_id":"22c36e1e-0481-4067-bcab-c2c8ad295e9e"}],"id":"278318ff-1807-4eb1-9fac-edd422f82fdd","description":"<p>This will allow you to interact with the schemas among your databases</p>\n","_postman_id":"278318ff-1807-4eb1-9fac-edd422f82fdd"},{"name":"Tables","item":[{"name":"Get Tables","id":"88b9b72a-c00c-425b-9f9d-7ed8c43309e3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query {\n  getTables {\n    totalCount\n    data {\n      id\n      name\n    }\n  }\n}\n","variables":""}},"url":"https://api.castordoc.com/public/graphql?op=getTables","description":"<h3 id=\"description\">Description</h3>\n<p>Get all tables, with optional scoping, sorting and pagination</p>\n<ul>\n<li><p>the <code>scope</code> will help you to filter/narrow down your result</p>\n</li>\n<li><p>the <code>sorting</code> will help you sort out the result in the order you want</p>\n</li>\n<li><p>the <code>pagination</code> will help you navigate through the result when there are too many records</p>\n</li>\n</ul>\n<h4 id=\"query-inputs\">Query inputs</h4>\n<ul>\n<li><code>scope</code> (optional) can be combined and are additives:</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>property</strong></th>\n<th><strong>required</strong></th>\n<th><strong>type</strong></th>\n<th><strong>description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>ids</code></td>\n<td>no</td>\n<td><code>uuid</code> array</td>\n<td>Scope by multiple table IDs</td>\n</tr>\n<tr>\n<td><code>nameContains</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>Scope by a substring of the table name, case insensitive</td>\n</tr>\n<tr>\n<td><code>pathContains</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>Scope by a substring of the table path, case insensitive</td>\n</tr>\n<tr>\n<td><code>schemaId</code></td>\n<td>no</td>\n<td><code>uuid</code></td>\n<td>Scope by the schema ID</td>\n</tr>\n<tr>\n<td><code>databaseId</code></td>\n<td>no</td>\n<td><code>uuid</code></td>\n<td>Scope by the database ID</td>\n</tr>\n<tr>\n<td><code>warehouseId</code></td>\n<td>no</td>\n<td><code>uuid</code></td>\n<td>Scope by the warehouse ID</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><code>sorting</code> (optional): an array of <code>sorting</code> objects</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>property</strong></th>\n<th><strong>required</strong></th>\n<th><strong>type</strong></th>\n<th><strong>value</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>sortingKey</code></td>\n<td>yes</td>\n<td><code>enum</code></td>\n<td><code>name</code>  <br /><code>popularity schemaName</code></td>\n</tr>\n<tr>\n<td><code>direction</code></td>\n<td>no</td>\n<td><code>enum</code></td>\n<td><code>ASC</code> (default value)  <br /><code>DESC</code></td>\n</tr>\n<tr>\n<td><code>nullsPriority</code></td>\n<td>no</td>\n<td><code>enum</code></td>\n<td><code>LAST</code> (default value)  <br /><code>FIRST</code></td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><code>pagination</code> (optional)</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>property</strong></th>\n<th><strong>required</strong></th>\n<th><strong>type</strong></th>\n<th><strong>description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>nbPerPage</code></td>\n<td>yes</td>\n<td><code>number</code></td>\n<td>Number of entities to return per page</td>\n</tr>\n<tr>\n<td><code>page</code></td>\n<td>yes</td>\n<td><code>number</code></td>\n<td>Fetch entities at this page, start at page 0</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"getTables"}],"variable":[]}},"response":[{"id":"f1175b72-47d9-4b44-b072-68ec34d88c15","name":"Get Tables with all informations","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getTables","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getTables"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"32797"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Sat, 06 May 2023 23:33:14 GMT"},{"key":"X-Request-Id","value":"0524a114-9131-4f5e-b644-560ba8304e1a"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getTables\": {\n            \"page\": null,\n            \"nbPerPage\": 3,\n            \"totalCount\": 44,\n            \"data\": [\n                {\n                    \"id\": \"42bf7abd-10d3-43e3-b594-7ccda7b1f02c\",\n                    \"name\": \"account\",\n                    \"slug\": \"c-table-account\",\n                    \"popularity\": 60000,\n                    \"tableType\": \"TABLE\",\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"Represents an individual account, which is an organization or person involved with your business (such as customers, competitors, and partners).\",\n                    \"externalDescription\": null,\n                    \"externalDescriptionSource\": null,\n                    \"ownerEntities\": [\n                        {\n                            \"user\": {\n                                \"email\": \"louis@timber.dev\",\n                                \"fullName\": \"Louis Smith\"\n                            }\n                        },\n                        {\n                            \"user\": {\n                                \"email\": \"assia@timber.dev\",\n                                \"fullName\": \"Assia Johnson\"\n                            }\n                        },\n                        {\n                            \"user\": {\n                                \"email\": \"finance_team@timber.dev\",\n                                \"fullName\": \"Finance Team #financial\"\n                            }\n                        }\n                    ],\n                    \"numberOfQueries\": 8900,\n                    \"verifiedBy\": null,\n                    \"isFromDbt\": null,\n                    \"tagEntities\": [\n                        {\n                            \"tag\": {\n                                \"id\": \"834b855c-a638-4c9c-9a31-fc06e7a7616d\",\n                                \"label\": \"finance\"\n                            }\n                        },\n                        {\n                            \"tag\": {\n                                \"id\": \"0fe3f6bb-9248-43a0-80c0-50a89c5930b7\",\n                                \"label\": \"sales\"\n                            }\n                        }\n                    ],\n                    \"schema\": {\n                        \"id\": \"0069ad2e-d2c7-4b79-9b21-fa72c492489d\",\n                        \"name\": \"salesforce\",\n                        \"database\": {\n                            \"id\": \"d9742905-c030-481b-883d-37b31f74b191\",\n                            \"name\": \"datamart\",\n                            \"warehouse\": {\n                                \"id\": \"324fdff7-b4fa-4f32-a47e-7cfc95847dec\",\n                                \"name\": \"Snowflake\"\n                            }\n                        }\n                    }\n                },\n                {\n                    \"id\": \"27f924f6-b702-4f0a-b254-deb1c201929d\",\n                    \"name\": \"user\",\n                    \"slug\": \"d-table-user\",\n                    \"popularity\": 950000,\n                    \"tableType\": \"TABLE\",\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"Each row represents a user in your organization.\\nActive users is a measurement metric that is commonly used to measure the level of engagement a particular product or object, by quantifying the number of active interactions from visitors within a relevant range of time (daily, weekly and monthly). The metric has many uses in both commerce and academia, such as on social networking services, online games, or mobile apps. Although having extensive uses in digital behavioural learning, prediction and reporting, it also has impacts on the privacy and security, and ethical factors should be considered thoroughly. Like any metric, active users may have limitations and criticisms. Active Users is relatively new or neologistic in nature, that became important with the rise of the commercialised internet, with uses in communication and social-networking. It measures how many users visit or interact with the product or service over a given interval or period. This metric is commonly assessed per month as monthly active users (MAU), per week as weekly active users (WAU), per day as daily active users (DAU) or peak concurrent users (PCU).\\nSELECT Db_Name(Database_id),\\n    String_Agg(Login_Name + ' (' + Convert(VARCHAR(8), No_Sessions) + ')', ', ')\\n    FROM\\n      (\\n      SELECT database_id, login_name, Count(*) AS No_Sessions\\n        FROM sys.dm_exec_connections AS A\\n          INNER JOIN sys.dm_exec_sessions AS B\\n            ON A.session_id = B.session_id\\n        GROUP BY login_name, database_id\\n      ) AS f(Database_id, Login_Name, No_Sessions)\\n    GROUP BY Database_id;\",\n                    \"externalDescription\": \"Active users is a measurement metric that is commonly used to measure the **level of engagement** a particular product or object, by quantifying the **number of active interactions** from visitors within a relevant range of time (`daily`, `weekly` and `monthly`). The metric has many uses in both commerce and academia, such as on social networking services, online games, or mobile apps. Although having extensive uses in digital behavioural learning, prediction and reporting, it also has impacts on the privacy and security, and ethical factors should be considered thoroughly. Like any metric, active users may have limitations and criticisms. Active Users is relatively new or neologistic in nature, that became important with the rise of the commercialised internet, with uses in communication and social-networking. It measures how many users visit or interact with the product or service over a given interval or period.\\n    This metric is commonly assessed:\\n  - per month as monthly active users (MAU)\\n  - per week as weekly active users (WAU)\\n  - per day as daily active users (DAU)\\n  - peak concurrent users (PCU)\\n    \",\n                    \"externalDescriptionSource\": \"DATABASE\",\n                    \"ownerEntities\": [\n                        {\n                            \"user\": {\n                                \"email\": \"sales_team@timber.dev\",\n                                \"fullName\": \"Sales Team #sales\"\n                            }\n                        },\n                        {\n                            \"user\": {\n                                \"email\": \"engineer_team@timber.dev\",\n                                \"fullName\": \"Engineer Team #dev\"\n                            }\n                        }\n                    ],\n                    \"numberOfQueries\": 15600,\n                    \"verifiedBy\": null,\n                    \"isFromDbt\": true,\n                    \"tagEntities\": [\n                        {\n                            \"tag\": {\n                                \"id\": \"834b855c-a638-4c9c-9a31-fc06e7a7616d\",\n                                \"label\": \"finance\"\n                            }\n                        },\n                        {\n                            \"tag\": {\n                                \"id\": \"0fe3f6bb-9248-43a0-80c0-50a89c5930b7\",\n                                \"label\": \"sales\"\n                            }\n                        },\n                        {\n                            \"tag\": {\n                                \"id\": \"12c36484-0794-4602-8e61-36734c38bd42\",\n                                \"label\": \"campaign #3\"\n                            }\n                        },\n                        {\n                            \"tag\": {\n                                \"id\": \"41cba36b-007c-424e-a38e-e4ca4cf6e938\",\n                                \"label\": \"criticality:4-low\"\n                            }\n                        }\n                    ],\n                    \"schema\": {\n                        \"id\": \"0069ad2e-d2c7-4b79-9b21-fa72c492489d\",\n                        \"name\": \"salesforce\",\n                        \"database\": {\n                            \"id\": \"d9742905-c030-481b-883d-37b31f74b191\",\n                            \"name\": \"datamart\",\n                            \"warehouse\": {\n                                \"id\": \"324fdff7-b4fa-4f32-a47e-7cfc95847dec\",\n                                \"name\": \"Snowflake\"\n                            }\n                        }\n                    }\n                },\n                {\n                    \"id\": \"2e27d5e4-0662-47b1-a0af-91e04774dcdd\",\n                    \"name\": \"opportunity\",\n                    \"slug\": \"d-table-opportunity\",\n                    \"popularity\": 900000,\n                    \"tableType\": \"VIEW\",\n                    \"isDeprecated\": false,\n                    \"descriptionRaw\": \"Represents an opportunity, which is a sale or pending deal.\",\n                    \"externalDescription\": \"Represents an opportunity:\\n- [x] sale\\n- [x] pending deal\\n- [ ] offer\\n\",\n                    \"externalDescriptionSource\": \"DBT\",\n                    \"ownerEntities\": [\n                        {\n                            \"user\": {\n                                \"email\": \"finance_team@timber.dev\",\n                                \"fullName\": \"Finance Team #financial\"\n                            }\n                        }\n                    ],\n                    \"numberOfQueries\": 9000,\n                    \"verifiedBy\": null,\n                    \"isFromDbt\": null,\n                    \"tagEntities\": [\n                        {\n                            \"tag\": {\n                                \"id\": \"834b855c-a638-4c9c-9a31-fc06e7a7616d\",\n                                \"label\": \"finance\"\n                            }\n                        }\n                    ],\n                    \"schema\": {\n                        \"id\": \"0069ad2e-d2c7-4b79-9b21-fa72c492489d\",\n                        \"name\": \"salesforce\",\n                        \"database\": {\n                            \"id\": \"d9742905-c030-481b-883d-37b31f74b191\",\n                            \"name\": \"datamart\",\n                            \"warehouse\": {\n                                \"id\": \"324fdff7-b4fa-4f32-a47e-7cfc95847dec\",\n                                \"name\": \"Snowflake\"\n                            }\n                        }\n                    }\n                }\n            ]\n        }\n    }\n}"},{"id":"2f25162e-5e88-433c-b99e-b27bb034729c","name":"Get Tables with sorting and pagination","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getTables","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getTables"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"839"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Sat, 06 May 2023 23:34:10 GMT"},{"key":"X-Request-Id","value":"2cfd42e5-5498-4a75-a6a9-4ce4090e765a"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getTables\": {\n            \"page\": 0,\n            \"nbPerPage\": 10,\n            \"totalCount\": 44,\n            \"data\": [\n                {\n                    \"id\": \"42bf7abd-10d3-43e3-b594-7ccda7b1f02c\",\n                    \"name\": \"account\"\n                },\n                {\n                    \"id\": \"3852b774-b93f-4ea6-bcca-71825e486bf6\",\n                    \"name\": \"dm_customers\"\n                },\n                {\n                    \"id\": \"20c9cb03-46ed-4972-aa42-48d1c24481ee\",\n                    \"name\": \"dm_entity_blocking_tickets\"\n                },\n                {\n                    \"id\": \"5dbb2ac4-6664-4a77-b336-41c0069791e3\",\n                    \"name\": \"dm_zendesk_pivoted_fields\"\n                },\n                {\n                    \"id\": \"cd3b52ff-a06d-45f3-ad54-f36fe01cfddc\",\n                    \"name\": \"dm_zendesk_tickets_entities\"\n                },\n                {\n                    \"id\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\",\n                    \"name\": \"fct_acquisition_events\"\n                },\n                {\n                    \"id\": \"d0f88096-1223-4c17-9ca0-62cc2cda6cbf\",\n                    \"name\": \"fct_entities_mrr_finance\"\n                },\n                {\n                    \"id\": \"fed5fbd6-2410-4f54-a0f4-4f4d9724da52\",\n                    \"name\": \"fct_entities_mrr_reg\"\n                },\n                {\n                    \"id\": \"f74fb7c4-ab1f-4afb-973b-6ab7e7c6cc9d\",\n                    \"name\": \"fct_export_bo\"\n                },\n                {\n                    \"id\": \"76a1809e-ab20-473d-8ef2-c3bf33c1bad1\",\n                    \"name\": \"fct_facebook_ads_ads_insights\"\n                }\n            ]\n        }\n    }\n}"},{"id":"0f1214da-21eb-42f6-ba67-0d417cae6c96","name":"Get Tables with a specific name","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getTables","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getTables"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"432"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Sat, 06 May 2023 23:35:25 GMT"},{"key":"X-Request-Id","value":"9d72ddb4-71a2-4160-9ba0-1ab7e896f1fd"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getTables\": {\n            \"totalCount\": 6,\n            \"data\": [\n                {\n                    \"id\": \"27f924f6-b702-4f0a-b254-deb1c201929d\",\n                    \"name\": \"user\"\n                },\n                {\n                    \"id\": \"f2866ffa-8187-4c3a-865f-fef263c5c9d8\",\n                    \"name\": \"user_role\"\n                },\n                {\n                    \"id\": \"9ba15417-4ada-46e2-b8e3-e2ca82520b91\",\n                    \"name\": \"user_agg\"\n                },\n                {\n                    \"id\": \"58a00821-69a7-4f18-9f83-5435ad3407b4\",\n                    \"name\": \"user_agg_20\"\n                },\n                {\n                    \"id\": \"06cdbf9c-119c-42d1-90a2-9790c38b016a\",\n                    \"name\": \"user_agg_21\"\n                },\n                {\n                    \"id\": \"d03f3278-0f9a-40b1-bbe6-f8e7c0d14046\",\n                    \"name\": \"user\"\n                }\n            ]\n        }\n    }\n}"},{"id":"a5a39d6b-cad7-44c0-bd5b-24c428298226","name":"Get Tables from databaseId","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getTables","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getTables"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"1552"},{"key":"Content-Type","value":"application/json"},{"key":"Date","value":"Sat, 06 May 2023 23:36:14 GMT"},{"key":"X-Request-Id","value":"03c8b912-085b-4579-9a5f-79d409e7bd97"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getTables\": {\n            \"totalCount\": 7,\n            \"data\": [\n                {\n                    \"id\": \"42bf7abd-10d3-43e3-b594-7ccda7b1f02c\",\n                    \"name\": \"account\",\n                    \"schema\": {\n                        \"id\": \"0069ad2e-d2c7-4b79-9b21-fa72c492489d\",\n                        \"name\": \"salesforce\",\n                        \"database\": {\n                            \"id\": \"d9742905-c030-481b-883d-37b31f74b191\",\n                            \"name\": \"datamart\"\n                        }\n                    }\n                },\n                {\n                    \"id\": \"27f924f6-b702-4f0a-b254-deb1c201929d\",\n                    \"name\": \"user\",\n                    \"schema\": {\n                        \"id\": \"0069ad2e-d2c7-4b79-9b21-fa72c492489d\",\n                        \"name\": \"salesforce\",\n                        \"database\": {\n                            \"id\": \"d9742905-c030-481b-883d-37b31f74b191\",\n                            \"name\": \"datamart\"\n                        }\n                    }\n                },\n                {\n                    \"id\": \"2e27d5e4-0662-47b1-a0af-91e04774dcdd\",\n                    \"name\": \"opportunity\",\n                    \"schema\": {\n                        \"id\": \"0069ad2e-d2c7-4b79-9b21-fa72c492489d\",\n                        \"name\": \"salesforce\",\n                        \"database\": {\n                            \"id\": \"d9742905-c030-481b-883d-37b31f74b191\",\n                            \"name\": \"datamart\"\n                        }\n                    }\n                },\n                {\n                    \"id\": \"f2866ffa-8187-4c3a-865f-fef263c5c9d8\",\n                    \"name\": \"user_role\",\n                    \"schema\": {\n                        \"id\": \"0069ad2e-d2c7-4b79-9b21-fa72c492489d\",\n                        \"name\": \"salesforce\",\n                        \"database\": {\n                            \"id\": \"d9742905-c030-481b-883d-37b31f74b191\",\n                            \"name\": \"datamart\"\n                        }\n                    }\n                },\n                {\n                    \"id\": \"9ba15417-4ada-46e2-b8e3-e2ca82520b91\",\n                    \"name\": \"user_agg\",\n                    \"schema\": {\n                        \"id\": \"0069ad2e-d2c7-4b79-9b21-fa72c492489d\",\n                        \"name\": \"salesforce\",\n                        \"database\": {\n                            \"id\": \"d9742905-c030-481b-883d-37b31f74b191\",\n                            \"name\": \"datamart\"\n                        }\n                    }\n                },\n                {\n                    \"id\": \"58a00821-69a7-4f18-9f83-5435ad3407b4\",\n                    \"name\": \"user_agg_20\",\n                    \"schema\": {\n                        \"id\": \"0069ad2e-d2c7-4b79-9b21-fa72c492489d\",\n                        \"name\": \"salesforce\",\n                        \"database\": {\n                            \"id\": \"d9742905-c030-481b-883d-37b31f74b191\",\n                            \"name\": \"datamart\"\n                        }\n                    }\n                },\n                {\n                    \"id\": \"06cdbf9c-119c-42d1-90a2-9790c38b016a\",\n                    \"name\": \"user_agg_21\",\n                    \"schema\": {\n                        \"id\": \"0069ad2e-d2c7-4b79-9b21-fa72c492489d\",\n                        \"name\": \"salesforce\",\n                        \"database\": {\n                            \"id\": \"d9742905-c030-481b-883d-37b31f74b191\",\n                            \"name\": \"datamart\"\n                        }\n                    }\n                }\n            ]\n        }\n    }\n}"}],"_postman_id":"88b9b72a-c00c-425b-9f9d-7ed8c43309e3"},{"name":"Create Tables","id":"cf6384d0-9379-479c-949f-501fdb2e28e2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation ($tables: [CreateTableInput!]!) {\n  createTables(data: $tables) {\n    externalId\n    description\n    deletedAt\n    id\n    name\n  }\n}","variables":"{\n  \"tables\": [{\n    \"externalId\": \"model_a_v0_input\",\n    \"name\": \"Model A.0 input\",\n    \"popularity\": 900000.0,\n    \"schemaId\": \"4aa0c135-84e5-4284-b487-afd0a92d6b1b\"\n  },{\n    \"externalId\": \"model_a_v0_output\",\n    \"name\": \"Model A.0 output\",\n    \"popularity\": 600000.0,\n    \"schemaId\": \"4aa0c135-84e5-4284-b487-afd0a92d6b1b\"\n  }, {\n    \"externalId\": \"model_a_v1_input\",\n    \"name\": \"Model A.1 input\",\n    \"popularity\": 400000.0,\n    \"schemaId\": \"fd39c3c1-f67e-488d-8999-9001b163276e\"\n  }, {\n    \"externalId\": \"model_a_v1_transform\",\n    \"name\": \"Model A.1 transform\",\n    \"popularity\": 500000.0,\n    \"schemaId\": \"fd39c3c1-f67e-488d-8999-9001b163276e\"\n  }, {\n    \"externalId\": \"model_a_v1_output\",\n    \"name\": \"Model A.1 output\",\n    \"popularity\": 200000.0,\n    \"schemaId\": \"fd39c3c1-f67e-488d-8999-9001b163276e\"\n  }, {\n    \"externalId\": \"model_b_latest_input\",\n    \"name\": \"Model B.latest input\",\n    \"popularity\": 100000.0,\n    \"schemaId\": \"059b5e99-ee86-4aae-8e23-0f3083fb6439\"\n  }]\n}"}},"url":"https://api.castordoc.com/public/graphql?op=createTables","description":"<p><strong>Restricted Access</strong></p>\n<p><code>This endpoint access is restricted. Please reach out to your point of contact at Catalog if you are interested.</code></p>\n<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>mutation</code> will allow you to create batches of tables to administrate through this API.</p>\n<p>Note that in order not to conflict with Catalog’s extraction system, you will only be able to create tables on schemas, databases and warehouses created through this API.</p>\n<p>You will also need to craft and provide custom external ids used as technical identifiers.</p>\n<h3 id=\"mutation-input\"><strong>Mutation input</strong></h3>\n<p><code>data</code> (required) is composed of an <strong>array</strong> of table inputs containing the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>yes</td>\n<td><code>string</code></td>\n<td>The name you want to give to the new table (unique per schema)</td>\n</tr>\n<tr>\n<td><code>externalId</code></td>\n<td>yes</td>\n<td><code>string</code></td>\n<td>The custom technical id of the schema.  <br />  <br />You are responsible of crafting and providing those ids</td>\n</tr>\n<tr>\n<td><code>schemaId</code></td>\n<td>yes</td>\n<td><code>uuid</code></td>\n<td>The schema’s id to link the table to.  <br />  <br />You can use the <a href=\"https://apidocs.castordoc.com/#6a7bf908-829d-47bf-a44d-1d9033d5a8ab\">getSchemas</a> endpoint to fetch the desired schemas.  <br />  <br />Note that you will only be able to provide API originated schema ids here</td>\n</tr>\n<tr>\n<td><code>externalDescription</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>A short description of this table’s purpose</td>\n</tr>\n<tr>\n<td><code>lastRefreshedAt</code></td>\n<td>no</td>\n<td><code>Date</code></td>\n<td>The last time you’ve fetched this table’s details.  <br />  <br />Check how we deal with Dates <a href=\"https://apidocs.castordoc.com/#1b47db0f-8c70-4bfc-a4dc-437d18c71b43\">here</a>.</td>\n</tr>\n<tr>\n<td><code>numberOfQueries</code></td>\n<td>no</td>\n<td><code>number</code></td>\n<td>The number of queries related to this table</td>\n</tr>\n<tr>\n<td><code>popularity</code></td>\n<td>no</td>\n<td><code>number</code></td>\n<td>The table popularity rated out of 1,000,000</td>\n</tr>\n<tr>\n<td><code>tableSize</code></td>\n<td>no</td>\n<td><code>number</code></td>\n<td>The size of the table (in megabytes)</td>\n</tr>\n<tr>\n<td><code>tableType</code></td>\n<td>no</td>\n<td><code>enum</code></td>\n<td>The table’s type among: - <code>EXTERNAL</code>  <br />- <code>TABLE</code>  <br />- <code>TOPIC</code>  <br />- <code>VIEW</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"createTables"}],"variable":[]}},"response":[{"id":"2c64b237-1c15-4a9d-bfe4-b74fd7183554","name":"Create Tables","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=createTables","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"createTables"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"createTables\": [\n            {\n                \"externalId\": \"model_a_v0_input\",\n                \"description\": \"\",\n                \"deletedAt\": null,\n                \"id\": \"3f2ab623-2bdc-4314-926c-c5eafae2313a\",\n                \"name\": \"Model A.0 input\"\n            },\n            {\n                \"externalId\": \"model_a_v0_output\",\n                \"description\": \"\",\n                \"deletedAt\": null,\n                \"id\": \"7c09405c-88f4-4ec6-90a8-b1db736f10a9\",\n                \"name\": \"Model A.0 output\"\n            },\n            {\n                \"externalId\": \"model_a_v1_input\",\n                \"description\": \"\",\n                \"deletedAt\": null,\n                \"id\": \"6ea2cf79-5412-42ce-8373-69485292818b\",\n                \"name\": \"Model A.1 input\"\n            },\n            {\n                \"externalId\": \"model_a_v1_transform\",\n                \"description\": \"\",\n                \"deletedAt\": null,\n                \"id\": \"77deca65-8074-4163-88a6-7c97ae2c4abc\",\n                \"name\": \"Model A.1 transform\"\n            },\n            {\n                \"externalId\": \"model_a_v1_output\",\n                \"description\": \"\",\n                \"deletedAt\": null,\n                \"id\": \"8bd9f5d5-e1c6-4182-8ccb-f32a6909b84d\",\n                \"name\": \"Model A.1 output\"\n            },\n            {\n                \"externalId\": \"model_b_latest_input\",\n                \"description\": \"\",\n                \"deletedAt\": null,\n                \"id\": \"d35e4f22-02d9-4975-b428-7c37a2f2abc6\",\n                \"name\": \"Model B.latest input\"\n            }\n        ]\n    }\n}"}],"_postman_id":"cf6384d0-9379-479c-949f-501fdb2e28e2"},{"name":"Update Tables","id":"70f61850-5347-414a-add5-a4fc6fce42dc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($tables: [UpdateTableInput!]!) {\n  updateTables(data: $tables) {\n    externalId\n    description\n    deletedAt\n    id\n    name\n    popularity\n  }\n}","variables":"{\n  \"tables\": [{\n    \"id\": \"3f2ab623-2bdc-4314-926c-c5eafae2313a\",\n    \"popularity\": 34567\n  }, {\n    \"id\": \"77deca65-8074-4163-88a6-7c97ae2c4abc\",\n    \"externalDescription\": \"Something about Model A.1 transform\"\n  }]\n}"}},"url":"https://api.castordoc.com/public/graphql?op=updateTables","description":"<p><strong>Restricted Access</strong></p>\n<p><code>This endpoint access is restricted. Please reach out to your point of contact at Catalog if you are interested.</code></p>\n<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>mutation</code> will allow you to batch update the tables you created.</p>\n<p>Note that in order not to mess with data ingested by Catalog, only the tables belonging to schemas, databases and sources created from this API will be editable.</p>\n<h3 id=\"mutation-input\"><strong>Mutation input</strong></h3>\n<p><code>data</code> (required) is composed of an <strong>array</strong> of table inputs containing the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>yes</td>\n<td><code>uuid</code></td>\n<td>The id of the target table to edit</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>The new name you want to give to the table (unique per schema)</td>\n</tr>\n<tr>\n<td><code>externalId</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>The new external id you want to give to the table</td>\n</tr>\n<tr>\n<td><code>externalDescription</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>A short description of this table’s purpose</td>\n</tr>\n<tr>\n<td><code>lastRefreshedAt</code></td>\n<td>no</td>\n<td><code>Date</code></td>\n<td>The last time you’ve fetched this table’s details.</td>\n</tr>\n<tr>\n<td><code>numberOfQueries</code></td>\n<td>no</td>\n<td><code>number</code></td>\n<td>The number of queries related to this table</td>\n</tr>\n<tr>\n<td><code>popularity</code></td>\n<td>no</td>\n<td><code>number</code></td>\n<td>The table popularity rated out of 1000000</td>\n</tr>\n<tr>\n<td><code>tableSize</code></td>\n<td>no</td>\n<td><code>number</code></td>\n<td>The size of the table (in megabytes)</td>\n</tr>\n<tr>\n<td><code>tableType</code></td>\n<td>no</td>\n<td><code>enum</code></td>\n<td>The table’s type among:  <br />- <code>EXTERNAL</code>  <br />- <code>TABLE</code>  <br />- <code>TOPIC</code>  <br />- <code>VIEW</code></td>\n</tr>\n<tr>\n<td><code>deletedAt</code></td>\n<td>no</td>\n<td><code>date</code></td>\n<td>The moment at which this table was deleted.  <br />  <br />Set this field to soft delete the schema.  <br />  <br />See how we deal with Date formats <a href=\"https://apidocs.castordoc.com/#1b47db0f-8c70-4bfc-a4dc-437d18c71b43\">here</a></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"updateTables"}],"variable":[]}},"response":[{"id":"31348288-28ce-4bec-9f9c-cea0633b013f","name":"Update Table Fields","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=updateTables","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"updateTables"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"updateTables\": [\n            {\n                \"externalId\": \"model_a_v0_input\",\n                \"description\": \"\",\n                \"deletedAt\": null,\n                \"id\": \"3f2ab623-2bdc-4314-926c-c5eafae2313a\",\n                \"name\": \"Model A.0 input\",\n                \"popularity\": 34567\n            },\n            {\n                \"externalId\": \"model_a_v1_transform\",\n                \"description\": \"Something about Model A.1 transform\",\n                \"deletedAt\": null,\n                \"id\": \"77deca65-8074-4163-88a6-7c97ae2c4abc\",\n                \"name\": \"Model A.1 transform\",\n                \"popularity\": 500000\n            }\n        ]\n    }\n}"},{"id":"ca29b89d-431b-4477-b608-3d472fb1859b","name":"Soft Delete Tables","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=updateTables","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"updateTables"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"updateTables\": [\n            {\n                \"externalId\": \"model_a_v0_input\",\n                \"description\": \"\",\n                \"deletedAt\": 1692835200000,\n                \"id\": \"3f2ab623-2bdc-4314-926c-c5eafae2313a\",\n                \"name\": \"Model A.0 input\",\n                \"popularity\": 34567\n            },\n            {\n                \"externalId\": \"model_a_v1_transform\",\n                \"description\": \"Something about Model A.1 transform\",\n                \"deletedAt\": 1692835200000,\n                \"id\": \"77deca65-8074-4163-88a6-7c97ae2c4abc\",\n                \"name\": \"Model A.1 transform\",\n                \"popularity\": 500000\n            }\n        ]\n    }\n}"}],"_postman_id":"70f61850-5347-414a-add5-a4fc6fce42dc"},{"name":"Update Table Descriptions","id":"93b521fc-0cf4-40ec-9d43-b06feefcc847","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"https://api.castordoc.com/public/graphql?op=updateTableDescriptions","description":"<p><strong>Restricted Access</strong></p>\n<p><code>This endpoint access is restricted. Please reach out to your point of contact at Catalog if you are interested.</code></p>\n<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>mutation</code> will allow you to batch update the external descriptions of any table (not only those you created). The external description you push will not interact with the manual description entered in Catalog but might overwrite the external description provided by your source of data (e.g. warehoue or dbt)</p>\n<h3 id=\"mutation-input\"><strong>Mutation input</strong></h3>\n<p><code>data</code> (required) is composed of an <strong>array</strong> of table inputs containing the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>yes</td>\n<td><code>uuid</code></td>\n<td>The id of the target table to edit</td>\n</tr>\n<tr>\n<td><code>externalDescription</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>A short description of this table’s purpose  <br />  <br />can be <code>null</code> to reset but cannot be an empty string</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"updateTableDescriptions"}],"variable":[]}},"response":[{"id":"f0d43c02-0f15-4405-8536-d45b08b186e2","name":"Update Table Descriptions","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=updateTableDescriptions","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"updateTableDescriptions"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"updateTableDescriptions\": [\n            {\n                \"externalDescription\": \"base table for ARR in EU region\",\n                \"externalDescriptionSource\": \"API\",\n                \"id\": \"3f2ab623-2bdc-4314-926c-c5eafae2313a\"\n            },\n            {\n                \"externalDescription\": \"breakdown by week of ARR and by country in EU region\",\n                \"externalDescriptionSource\": \"API\",\n                \"id\": \"77deca65-8074-4163-88a6-7c97ae2c4abc\"\n            }\n        ]\n    }\n}"},{"id":"92cd9361-1079-4350-9ce3-69efd9131287","name":"Remove Table Descriptions","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=updateTableDescriptions","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"updateTableDescriptions"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"updateTableDescriptions\": [\n            {\n                \"externalDescription\": null,\n                \"externalDescriptionSource\": null,\n                \"id\": \"3f2ab623-2bdc-4314-926c-c5eafae2313a\"\n            }\n       ]\n    }\n}"}],"_postman_id":"93b521fc-0cf4-40ec-9d43-b06feefcc847"}],"id":"1fa21893-7090-4a86-b7b3-9066eb2826d0","description":"<p>This will allow you to interact with your <code>Tables</code> in Catalog</p>\n","_postman_id":"1fa21893-7090-4a86-b7b3-9066eb2826d0"},{"name":"Columns","item":[{"name":"Get Columns","id":"57b4dde4-1fff-4df3-8ad7-839dc2ba3a3f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query {\n  getColumns {\n    data {\n      id\n      name\n      dataType\n      description\n      externalId\n      sourceOrder\n      isNullable}\n  }\n}","variables":""}},"url":"https://api.castordoc.com/public/graphql?op=getColumns","description":"<h3 id=\"description\"><strong>Description</strong></h3>\n<p>Get all columns, with optional scoping, sorting and pagination</p>\n<ul>\n<li><p>the <code>scope</code> will help you to filter/narrow down your result</p>\n</li>\n<li><p>the <code>sorting</code> will help you sort out the result in the order you want</p>\n</li>\n<li><p>the <code>pagination</code> will help you navigate through the result when there are too many records</p>\n</li>\n</ul>\n<h3 id=\"query-inputs\"><strong>Query inputs</strong></h3>\n<ul>\n<li><code>scope</code> (<strong>optional</strong>): scope the columns by the warehouses and tables they are associated to, their names, descriptions, ids, whether or not the column is a primary key and whether you want to include soft deleted and hidden records (scopes can be combined and are additives)</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>ids</code></td>\n<td>no</td>\n<td><code>uuid[]</code></td>\n<td>Scope columns to only retrieve the ones with an id belonging to the provided list</td>\n</tr>\n<tr>\n<td><code>sourceId</code></td>\n<td>no</td>\n<td><code>uuid</code></td>\n<td>Scope columns to only retrieve the ones belonging to the provided warehouse’s id</td>\n</tr>\n<tr>\n<td><code>databaseId</code></td>\n<td>no</td>\n<td><code>uuid</code></td>\n<td>Scope columns to only retrieve the ones belonging to the provided database's id</td>\n</tr>\n<tr>\n<td><code>tableId</code></td>\n<td>no</td>\n<td><code>uuid</code></td>\n<td>Scope columns to only retrieve the ones belonging to the provided table’s id</td>\n</tr>\n<tr>\n<td><code>tableIds</code></td>\n<td>no</td>\n<td><code>uuid[]</code></td>\n<td>Scope columns to only retrieve the ones belonging to the provided tables ids list</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>Filter columns by whether their name strictly equals the provided string (case insensitive)</td>\n</tr>\n<tr>\n<td><code>nameContains</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>Filter columns by whether their name contains the provided string (case insensitive)</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>Filter columns by whether their description strictly equals the provided string (case insensitive)</td>\n</tr>\n<tr>\n<td><code>isPrimaryKey</code></td>\n<td>no</td>\n<td><code>boolean</code></td>\n<td>Filter columns to only keep the primary key ones when true is provided and exclude those with false</td>\n</tr>\n<tr>\n<td><code>withHidden</code></td>\n<td>no</td>\n<td><code>boolean</code></td>\n<td>Whether you want to include hidden records in the result.  <br />  <br />By default hidden columns will not be included (nor will be columns belonging to hidden entities)</td>\n</tr>\n<tr>\n<td><code>withDeleted</code></td>\n<td>no</td>\n<td><code>boolean</code></td>\n<td>Whether you want to include soft deleted records in the result.  <br />  <br />By default soft deleted columns will not be included (nor will be columns belonging to deleted entities)</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><code>sorting</code> (<strong>optional</strong>): an array of sorting objects</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>value</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>sortingKey</code></td>\n<td>yes</td>\n<td><code>enum</code></td>\n<td>Available keys:  <br />- <code>name</code>  <br />- <code>sourceOrder</code> (custom specific order manually provided by on API)  <br />- <code>tableName</code>  <br />- <code>tablePopularity</code></td>\n</tr>\n<tr>\n<td><code>direction</code></td>\n<td>no</td>\n<td><code>enum</code></td>\n<td><code>ASC</code> (default value) <code>DESC</code></td>\n</tr>\n<tr>\n<td><code>nullsPriority</code></td>\n<td>no</td>\n<td><code>enum</code></td>\n<td>This defines where you want results with null values on the sortingKey:  <br />- <code>LAST</code> (default value)  <br />- <code>FIRST</code></td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><code>pagination</code> (<strong>optional</strong> and default to 100 first items)</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>nbPerPage</code></td>\n<td>yes</td>\n<td><code>number</code></td>\n<td>Number of entities to return per page (capped to 500 items)</td>\n</tr>\n<tr>\n<td><code>page</code></td>\n<td>yes</td>\n<td><code>number</code></td>\n<td>Fetch entities at this page, start at page 0</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"query-output\">Query Output</h3>\n<p>This query returns <code>column</code> objects with the following queryable fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>description</th>\n<th>type</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>Unique <code>uuid</code> acting as primary key</td>\n<td><code>uuid</code></td>\n</tr>\n<tr>\n<td><code>dataType</code></td>\n<td>The data type for this column:  <br />- <code>ARRAY</code>  <br />- <code>BINARY</code>  <br />- <code>BOOLEAN</code>  <br />- <code>DATE</code>  <br />- <code>DECIMAL</code>  <br />- <code>FLOAT</code>  <br />- <code>GEOGRAPHY</code>  <br />- <code>INTEGER</code>  <br />- <code>INTERVAL</code>  <br />- <code>OBJECT</code>  <br />- <code>STRING</code>  <br />- <code>TEXT</code>  <br />- <code>TIME</code>  <br />- <code>TIMESTAMP</code></td>\n<td><code>string</code></td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td>The column custom description or the <code>externaDescripion</code> if empty</td>\n<td><code>string</code></td>\n</tr>\n<tr>\n<td><code>externalDescription</code></td>\n<td>The documentation from the source for this column</td>\n<td><code>string</code></td>\n</tr>\n<tr>\n<td><code>externalDescriptionSource</code></td>\n<td>The source of the documentation for this column:  <br />- <code>API</code>  <br />- <code>DBT</code>  <br />- <code>DATABASE</code>  <br />- <code>CASTOR</code>  <br />- <code>LOOKER</code></td>\n<td><code>enum</code></td>\n</tr>\n<tr>\n<td><code>externalId</code></td>\n<td>The technical column identifier from the warehouse internal structure</td>\n<td><code>string</code></td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>The column name</td>\n<td><code>string</code></td>\n</tr>\n<tr>\n<td><code>sourceOrder</code></td>\n<td>The order in which column will appear when listed</td>\n<td><code>number</code></td>\n</tr>\n<tr>\n<td><code>isNullable</code></td>\n<td>Whether or not this column is nullable</td>\n<td><code>boolean</code></td>\n</tr>\n<tr>\n<td><code>isPii</code></td>\n<td>Whether or not this column is PII related</td>\n<td><code>boolean</code></td>\n</tr>\n<tr>\n<td><code>isPrimaryKey</code></td>\n<td>Whether or not this column is a primary key</td>\n<td><code>boolean</code></td>\n</tr>\n<tr>\n<td><code>tableId</code></td>\n<td>The table’s id this column belongs to</td>\n<td><code>uuid</code></td>\n</tr>\n<tr>\n<td><code>createdAt</code></td>\n<td>This column’s creation time</td>\n<td><code>date</code></td>\n</tr>\n<tr>\n<td><code>deletedAt</code></td>\n<td>This column’s deletion time</td>\n<td><code>date</code></td>\n</tr>\n<tr>\n<td><code>updatedAt</code></td>\n<td>This column’s last update time</td>\n<td><code>date</code></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"getColumns"}],"variable":[]}},"response":[{"id":"a8ed8882-7dae-4e3c-b37d-e4eb45069260","name":"Get Columns on Source","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getColumns","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getColumns"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getColumns\": {\n            \"data\": [\n                {\n                    \"id\": \"321897a9-41fb-4ae1-b1c4-bd48e84e0910\",\n                    \"name\": \"username\",\n                    \"dataType\": \"STRING\",\n                    \"description\": \"The user's name\",\n                    \"externalId\": \"model_a_v1_transform_username\",\n                    \"sourceOrder\": 7,\n                    \"isNullable\": false\n                }\n            ]\n        }\n    }\n}"},{"id":"36c20357-8750-4251-ae6c-e4c715d4abcd","name":"Get Columns With Deleted Records","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getColumns","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getColumns"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getColumns\": {\n            \"data\": [\n                {\n                    \"id\": \"321897a9-41fb-4ae1-b1c4-bd48e84e0910\",\n                    \"name\": \"username\",\n                    \"dataType\": \"STRING\",\n                    \"description\": \"The user's name\",\n                    \"externalId\": \"model_a_v1_transform_username\",\n                    \"sourceOrder\": 7,\n                    \"isNullable\": false\n                },\n                {\n                    \"id\": \"8c6cc559-6e87-47d9-b75e-d25fdf8d234e\",\n                    \"name\": \"id\",\n                    \"dataType\": \"STRING\",\n                    \"description\": \"The user's id\",\n                    \"externalId\": \"model_a_v0_input_id\",\n                    \"sourceOrder\": 1,\n                    \"isNullable\": false\n                },\n                {\n                    \"id\": \"8c6cc559-6e87-47d9-b75e-d25fdf8d234e\",\n                    \"name\": \"user_age\",\n                    \"dataType\": \"INTEGER\",\n                    \"description\": \"The user's age\",\n                    \"externalId\": \"model_a_v1_input_user_age\",\n                    \"sourceOrder\": 14,\n                    \"isNullable\": true\n                }\n            ]\n        }\n    }\n}"}],"_postman_id":"57b4dde4-1fff-4df3-8ad7-839dc2ba3a3f"},{"name":"Create Columns","id":"1ef44126-8516-499c-bd3d-7c7ee8fd9210","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($columns: [CreateColumnInput!]!) {\n  createColumns(data: $columns) {\n    tableId\n    description\n    deletedAt\n    id\n    name\n    isPii\n    isPrimaryKey\n    isNullable\n    dataType\n  }\n}","variables":"{\n  \"columns\": [{\n    \"externalId\": \"model_a_v0_input_id\",\n    \"name\": \"id\",\n    \"dataType\": \"uuid\",\n    \"isPii\": false,\n    \"isNullable\": false,\n    \"tableId\": \"3f2ab623-2bdc-4314-926c-c5eafae2313a\"\n  }, {\n    \"externalId\": \"model_a_v1_input_user_age\",\n    \"name\": \"user_age\",\n    \"dataType\": \"string\",\n    \"isPii\": true,\n    \"isNullable\": true,\n    \"tableId\": \"6ea2cf79-5412-42ce-8373-69485292818b\"\n  }, {\n    \"externalId\": \"model_a_v1_transform_username\",\n    \"name\": \"username\",\n    \"dataType\": \"string\",\n    \"isPii\": true,\n    \"isNullable\": false,\n    \"tableId\": \"77deca65-8074-4163-88a6-7c97ae2c4abc\"\n  }]\n}"}},"url":"https://api.castordoc.com/public/graphql?op=createColumns","description":"<p><strong>Restricted Access</strong></p>\n<p><code>This endpoint access is restricted. Please reach out to your point of contact at Catalog if you are interested.</code></p>\n<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>mutation</code> will allow you to create batches of columns to administrate through this API.</p>\n<p>Note that in order not to conflict with Catalog’s extraction system, you will only be able to create columns on tables (and thus warehouses) created through this API.</p>\n<p>You will also need to craft and provide custom external ids used as technical identifiers.</p>\n<h3 id=\"mutation-input\"><strong>Mutation input</strong></h3>\n<p><code>data</code> (required) is composed of an <strong>array</strong> of column inputs containing the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>name</code></td>\n<td>yes</td>\n<td><code>string</code></td>\n<td>The name you want to give to the new column (unique per database)</td>\n</tr>\n<tr>\n<td><code>externalId</code></td>\n<td>yes</td>\n<td><code>string</code></td>\n<td>The custom technical id of the columns. You are responsible of crafting and providing those ids</td>\n</tr>\n<tr>\n<td><code>tableId</code></td>\n<td>yes</td>\n<td><code>uuid</code></td>\n<td>The table’s id to link this column to.  <br />  <br />You can use the <a href=\"https://apidocs.castordoc.com/#f1b575d4-a1a6-42e9-89d6-0257c265edd2\">getTables</a> endpoint to fetch the desired tables.  <br />  <br />Note that you will only be able to provide API originated table ids here</td>\n</tr>\n<tr>\n<td><code>dataType</code></td>\n<td>yes</td>\n<td><code>string</code></td>\n<td>The data type for this column:  <br />- <code>ARRAY</code>  <br />- <code>BINARY</code>  <br />- <code>BOOLEAN</code>  <br />- <code>DATE</code>  <br />- <code>DECIMAL</code>  <br />- <code>FLOAT</code>  <br />- <code>GEOGRAPHY</code>  <br />- <code>INTEGER</code>  <br />- <code>INTERVAL</code>  <br />- <code>OBJECT</code>  <br />- <code>STRING</code>  <br />- <code>TEXT</code>  <br />- <code>TIME</code>  <br />- <code>TIMESTAMP</code></td>\n</tr>\n<tr>\n<td><code>isNullable</code></td>\n<td>yes</td>\n<td><code>boolean</code></td>\n<td>Whether or not this column is nullable</td>\n</tr>\n<tr>\n<td><code>externalDescription</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>A short description of this column’s purpose</td>\n</tr>\n<tr>\n<td><code>isPii</code></td>\n<td>no</td>\n<td><code>boolean</code></td>\n<td>Whether this column holds personal identifiable informations (default to false)</td>\n</tr>\n<tr>\n<td><code>isPrimaryKey</code></td>\n<td>no</td>\n<td><code>boolean</code></td>\n<td>Whether this column is a primary key (default to false)</td>\n</tr>\n<tr>\n<td><code>sourceOrder</code></td>\n<td>no</td>\n<td><code>number</code></td>\n<td>The order you want to give to your columns (those will end up ordered through this field if provided)</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"createColumns"}],"variable":[]}},"response":[{"id":"aa1b7065-f4bb-42b9-950b-b6050e1585b3","name":"Create Columns","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=createColumns","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"createColumns"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"createColumns\": [\n            {\n                \"tableId\": \"3f2ab623-2bdc-4314-926c-c5eafae2313a\",\n                \"description\": \"\",\n                \"deletedAt\": null,\n                \"id\": \"8c6cc559-6e87-47d9-b75e-d25fdf8d234e\",\n                \"name\": \"id\",\n                \"isPii\": false,\n                \"isPrimaryKey\": false,\n                \"isNullable\": false,\n                \"dataType\": \"uuid\"\n            },\n            {\n                \"tableId\": \"6ea2cf79-5412-42ce-8373-69485292818b\",\n                \"description\": \"\",\n                \"deletedAt\": null,\n                \"id\": \"d69ec840-4458-4309-bfb4-d3d7245d021e\",\n                \"name\": \"user_age\",\n                \"isPii\": true,\n                \"isPrimaryKey\": false,\n                \"isNullable\": true,\n                \"dataType\": \"string\"\n            },\n            {\n                \"tableId\": \"77deca65-8074-4163-88a6-7c97ae2c4abc\",\n                \"description\": \"\",\n                \"deletedAt\": null,\n                \"id\": \"321897a9-41fb-4ae1-b1c4-bd48e84e0910\",\n                \"name\": \"username\",\n                \"isPii\": true,\n                \"isPrimaryKey\": false,\n                \"isNullable\": false,\n                \"dataType\": \"string\"\n            }\n        ]\n    }\n}"}],"_postman_id":"1ef44126-8516-499c-bd3d-7c7ee8fd9210"},{"name":"Update Columns","id":"1e2aa25b-3ca5-41d6-884e-171a0d8e2d74","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($columns: [UpdateColumnInput!]!) {\n  updateColumns(data: $columns) {\n    tableId\n    description\n    deletedAt\n    id\n    name\n    isPii\n    isPrimaryKey\n    isNullable\n    dataType\n  }\n}","variables":"{\n  \"columns\": [\n        {\n          \"id\": \"321897a9-41fb-4ae1-b1c4-bd48e84e0910\",\n          \"externalDescription\": \"Model A V1 username\"\n        },\n        {\n          \"id\": \"8c6cc559-6e87-47d9-b75e-d25fdf8d234e\",\n          \"isNullable\": false\n        },\n        {\n          \"id\": \"d69ec840-4458-4309-bfb4-d3d7245d021e\",\n          \"isPii\": true,\n          \"dataType\": \"INTEGER\"\n        }\n      ]\n}"}},"url":"https://api.castordoc.com/public/graphql?op=updateColumns","description":"<p><strong>Restricted Access</strong></p>\n<p><code>This endpoint access is restricted. Please reach out to your point of contact at Catalog if you are interested.</code></p>\n<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>mutation</code> will allow you to batch update the columns you created.</p>\n<p>Note that in order not to mess with data ingested by Catalog, only the columns belonging to sources and databases created from this API will be editable.</p>\n<h3 id=\"mutation-input\"><strong>Mutation input</strong></h3>\n<p><code>data</code> (required) is composed of an <strong>array</strong> of column inputs containing the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>yes</td>\n<td><code>uuid</code></td>\n<td>The id of the target column to edit</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>The new name you want to give to the column</td>\n</tr>\n<tr>\n<td><code>externalId</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>The new external id you want to give to the column</td>\n</tr>\n<tr>\n<td><code>dataType</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>The new data type for this column  <br />- <code>ARRAY</code>  <br />- <code>BINARY</code>  <br />- <code>BOOLEAN</code>  <br />- <code>DATE</code>  <br />- <code>DECIMAL</code>  <br />- <code>FLOAT</code>  <br />- <code>GEOGRAPHY</code>  <br />- <code>INTEGER</code>  <br />- <code>INTERVAL</code>  <br />- <code>OBJECT</code>  <br />- <code>STRING</code>  <br />- <code>TEXT</code>  <br />- <code>TIME</code>  <br />- <code>TIMESTAMP</code></td>\n</tr>\n<tr>\n<td><code>isNullable</code></td>\n<td>no</td>\n<td><code>boolean</code></td>\n<td>Whether or not this column is nullable</td>\n</tr>\n<tr>\n<td><code>externalDescription</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>A short description of this column’s purpose</td>\n</tr>\n<tr>\n<td><code>isPii</code></td>\n<td>no</td>\n<td><code>boolean</code></td>\n<td>Whether this column holds personal identifiable informations (default to false)</td>\n</tr>\n<tr>\n<td><code>isPrimaryKey</code></td>\n<td>no</td>\n<td><code>boolean</code></td>\n<td>Whether this column is a primary key (default to false)</td>\n</tr>\n<tr>\n<td><code>sourceOrder</code></td>\n<td>no</td>\n<td><code>number</code></td>\n<td>The order you want to give to your columns (those will end up ordered through this field if provided)</td>\n</tr>\n<tr>\n<td><code>deletedAt</code></td>\n<td>no</td>\n<td><code>date</code></td>\n<td>The moment at which this column was deleted.  <br />  <br />Set this field to soft delete the column. See how we deal with Date formats <a href=\"https://apidocs.castordoc.com/#1b47db0f-8c70-4bfc-a4dc-437d18c71b43\">here</a></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"updateColumns"}],"variable":[]}},"response":[{"id":"9a5a80a8-2de8-44e2-8dbf-d0297c50e4db","name":"Update Columns","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=updateColumns","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"updateColumns"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"updateColumns\": [\n            {\n                \"tableId\": \"3f2ab623-2bdc-4314-926c-c5eafae2313a\",\n                \"description\": \"\",\n                \"deletedAt\": null,\n                \"id\": \"8c6cc559-6e87-47d9-b75e-d25fdf8d234e\",\n                \"name\": \"id\",\n                \"isPii\": false,\n                \"isPrimaryKey\": false,\n                \"isNullable\": false,\n                \"dataType\": \"uuid\"\n            },\n            {\n                \"tableId\": \"77deca65-8074-4163-88a6-7c97ae2c4abc\",\n                \"description\": \"Model A V1 username\",\n                \"deletedAt\": null,\n                \"id\": \"321897a9-41fb-4ae1-b1c4-bd48e84e0910\",\n                \"name\": \"username\",\n                \"isPii\": true,\n                \"isPrimaryKey\": false,\n                \"isNullable\": false,\n                \"dataType\": \"string\"\n            },\n            {\n                \"tableId\": \"6ea2cf79-5412-42ce-8373-69485292818b\",\n                \"description\": \"\",\n                \"deletedAt\": null,\n                \"id\": \"d69ec840-4458-4309-bfb4-d3d7245d021e\",\n                \"name\": \"user_age\",\n                \"isPii\": true,\n                \"isPrimaryKey\": false,\n                \"isNullable\": true,\n                \"dataType\": \"INTEGER\"\n            }\n        ]\n    }\n}"},{"id":"45b2b714-b479-45e5-aa0d-73f69e9c533b","name":"Soft Delete Columns","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=updateColumns","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"updateColumns"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"updateColumns\": [\n            {\n                \"tableId\": \"77deca65-8074-4163-88a6-7c97ae2c4abc\",\n                \"description\": \"Model A V1 username\",\n                \"deletedAt\": 1661299200000,\n                \"id\": \"321897a9-41fb-4ae1-b1c4-bd48e84e0910\",\n                \"name\": \"username\",\n                \"isPii\": true,\n                \"isPrimaryKey\": false,\n                \"isNullable\": false,\n                \"dataType\": \"string\"\n            },\n            {\n                \"tableId\": \"3f2ab623-2bdc-4314-926c-c5eafae2313a\",\n                \"description\": \"\",\n                \"deletedAt\": 1689897600000,\n                \"id\": \"8c6cc559-6e87-47d9-b75e-d25fdf8d234e\",\n                \"name\": \"id\",\n                \"isPii\": false,\n                \"isPrimaryKey\": false,\n                \"isNullable\": false,\n                \"dataType\": \"uuid\"\n            },\n            {\n                \"tableId\": \"6ea2cf79-5412-42ce-8373-69485292818b\",\n                \"description\": \"\",\n                \"deletedAt\": 1681257600000,\n                \"id\": \"d69ec840-4458-4309-bfb4-d3d7245d021e\",\n                \"name\": \"user_age\",\n                \"isPii\": true,\n                \"isPrimaryKey\": false,\n                \"isNullable\": true,\n                \"dataType\": \"INTEGER\"\n            }\n        ]\n    }\n}"}],"_postman_id":"1e2aa25b-3ca5-41d6-884e-171a0d8e2d74"},{"name":"Update Column Descriptions","id":"d1389616-481d-4ec0-8bf3-27a4a19de3ed","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"url":"https://api.castordoc.com/public/graphql?op=updateColumnDescriptions","description":"<p><strong>Restricted Access</strong></p>\n<p><code>This endpoint access is restricted. Please reach out to your point of contact at Catalog if you are interested.</code></p>\n<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>mutation</code> will allow you to batch update the external descriptions of any columns (not only those you created). The external description you push will not interact with the manual description entered in Catalog but might overwrite the external description provided by your source of data (e.g. warehouse or dbt)</p>\n<h3 id=\"mutation-input\"><strong>Mutation input</strong></h3>\n<p><code>data</code> (required) is composed of an <strong>array</strong> of table inputs containing the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>yes</td>\n<td><code>uuid</code></td>\n<td>The id of the target column to edit</td>\n</tr>\n<tr>\n<td><code>externalDescription</code></td>\n<td>no</td>\n<td><code>string</code></td>\n<td>A short description of this column’s purpose  <br />  <br />can be <code>null</code> to reset but cannot be an empty string</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"updateColumnDescriptions"}],"variable":[]}},"response":[{"id":"a27b9768-c818-4f5d-9ff3-9f49326135b6","name":"Update Column Descriptions","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=updateColumnDescriptions","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"updateColumnDescriptions"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"updateColumnDescriptions\": [\n            {\n                \"externalDescription\": \"the country of origination of the revenue\",\n                \"externalDescriptionSource\": \"API\",\n                \"id\": \"3f2ab623-2bdc-4314-926c-c5eafae2313a\"\n            },\n            {\n                \"externalDescription\": \"the week of the year in iso format\",\n                \"externalDescriptionSource\": \"API\",\n                \"id\": \"77deca65-8074-4163-88a6-7c97ae2c4abc\"\n            }\n        ]\n    }\n}"},{"id":"e34b28ba-208d-4878-9ecc-a2fea289b1fa","name":"Remove Column Descriptions","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=updateColumnDescriptions","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"updateColumnDescriptions"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"updateColumnDescriptions\": [\n            {\n                \"externalDescription\": null,\n                \"externalDescriptionSource\": null,\n                \"id\": \"3f2ab623-2bdc-4314-926c-c5eafae2313a\"\n            }\n       ]\n    }\n}"}],"_postman_id":"d1389616-481d-4ec0-8bf3-27a4a19de3ed"}],"id":"f4c315fa-d870-43e6-a5ed-3e3de6ff2bb9","description":"<p>This will allow you to interact with the columns among your tables</p>\n","_postman_id":"f4c315fa-d870-43e6-a5ed-3e3de6ff2bb9"},{"name":"Column joins","item":[{"name":"Get column joins","id":"7d82689e-981d-446e-9396-0c2502968e9a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query {\n  getColumnJoins {\n    data {\n        id\n        firstColumnId\n        secondColumnId\n        count\n    }\n  }\n}","variables":""}},"url":"http://api.castordoc.com/public/graphql?op=getColumnJoins","description":"<p>Get all column joins, with optional scoping, sorting and pagination</p>\n<ul>\n<li><p>the <code>scope</code> will help you to filter/narrow down your result</p>\n</li>\n<li><p>the <code>sorting</code> will help you sort out the result in the order you want</p>\n</li>\n<li><p>the <code>pagination</code> will help you navigate through the result when there are too many records</p>\n</li>\n</ul>\n<h3 id=\"query-inputs\"><strong>Query inputs</strong></h3>\n<ul>\n<li><code>scope</code> (<strong>optional</strong>): scope the column joins by the sources, tables and columns they are associated to or their IDs (scopes can be combined and are additives)</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>ids</code></td>\n<td>no</td>\n<td><code>uuid[]</code></td>\n<td>Scope column joins to only retrieve the ones with an id belonging to the provided list.</td>\n</tr>\n<tr>\n<td><code>columnIds</code></td>\n<td>no</td>\n<td><code>uuid[]</code></td>\n<td>Scope column joins to only retrieve the ones related to the provided column IDs.  <br />  <br />Will scope if at least one column from the join match.</td>\n</tr>\n<tr>\n<td><code>tableIds</code></td>\n<td>no</td>\n<td><code>uuid[]</code></td>\n<td>Scope column joins to only retrieve the ones related to the provided table IDs.  <br />  <br />Will scope if at least one column from the join match.</td>\n</tr>\n<tr>\n<td><code>withHidden</code></td>\n<td>no</td>\n<td><code>boolean</code></td>\n<td>Whether you want to include hidden records in the result.  <br />  <br />By default hidden columns will not be included (nor will be columns belonging to hidden entities)</td>\n</tr>\n<tr>\n<td><code>withDeleted</code></td>\n<td>no</td>\n<td><code>boolean</code></td>\n<td>Whether you want to include soft deleted records in the result.  <br />  <br />By default soft deleted columns will not be included (nor will be columns belonging to deleted entities)</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><code>sorting</code> (<strong>optional</strong>): an array of sorting objects</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>sortingKey</code></td>\n<td>yes</td>\n<td><code>enum</code></td>\n<td>Available keys:  <br />- <code>count</code></td>\n</tr>\n<tr>\n<td><code>direction</code></td>\n<td>no</td>\n<td><code>enum</code></td>\n<td><code>ASC</code> (default value) or <code>DESC</code></td>\n</tr>\n<tr>\n<td><code>nullsPriority</code></td>\n<td>no</td>\n<td><code>enum</code></td>\n<td>This defines where you want results with <code>null</code> values on the <code>sortingKey</code> :  <br />- <code>LAST</code> (default value)  <br />- <code>FIRST</code></td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><code>pagination</code> (<strong>optional</strong> and default to 100 first items)</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>nbPerPage</code></td>\n<td>yes</td>\n<td><code>number</code></td>\n<td>Number of entities to return per page (capped to 500 items)</td>\n</tr>\n<tr>\n<td><code>page</code></td>\n<td>yes</td>\n<td><code>number</code></td>\n<td>Fetch entities at this page, start at page 0</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"http","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"getColumnJoins"}],"variable":[]}},"response":[{"id":"06c58932-0998-408c-9813-9baae8205b5d","name":"Get all column joins","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"http://api.castordoc.com/public/graphql?op=getColumnJoins","protocol":"http","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getColumnJoins"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getColumnJoins\": {\n            \"data\": [\n                {\n                    \"id\": \"2c7cd78b-e951-4b8f-9ee0-49a34a2b7375\",\n                    \"firstColumnId\": \"17107b47-b826-4d22-9642-c5bae2e99be2\",\n                    \"secondColumnId\": \"7bcb2a48-3dad-4b24-aa51-443915967ad6\",\n                    \"count\": 5\n                },\n                {\n                    \"id\": \"4bb1699d-ad8e-4965-ac96-dc67b1d13811\",\n                    \"firstColumnId\": \"2c0cd91d-d816-4f4e-97bc-02736b8e744b\",\n                    \"secondColumnId\": \"7bcb2a48-3dad-4b24-aa51-443915967ad6\",\n                    \"count\": 3\n                },\n                {\n                    \"id\": \"befc6020-4ba7-486e-b6fc-f1bafa7bde72\",\n                    \"firstColumnId\": \"1e798e1b-f6ac-47d8-a189-5a52d24ceabf\",\n                    \"secondColumnId\": \"ee557082-a2f1-4165-92e1-70c840998a58\",\n                    \"count\": 4\n                }\n            ]\n        }\n    }\n}"},{"id":"c8a5407a-86b5-4498-926f-9c798c423952","name":"Get column joins with specific ID","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"http://api.castordoc.com/public/graphql?op=getColumnJoins","protocol":"http","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getColumnJoins"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getColumnJoins\": {\n            \"data\": [\n                {\n                    \"id\": \"2c7cd78b-e951-4b8f-9ee0-49a34a2b7375\",\n                    \"firstColumnId\": \"17107b47-b826-4d22-9642-c5bae2e99be2\",\n                    \"secondColumnId\": \"7bcb2a48-3dad-4b24-aa51-443915967ad6\",\n                    \"count\": 5\n                }\n            ]\n        }\n    }\n}"},{"id":"a9427906-7c03-41b4-ab30-44a82bcb7131","name":"Get column joins related to a specific column ID","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"http://api.castordoc.com/public/graphql?op=getColumnJoins","protocol":"http","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getColumnJoins"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getColumnJoins\": {\n            \"data\": [\n                {\n                    \"id\": \"2c7cd78b-e951-4b8f-9ee0-49a34a2b7375\",\n                    \"firstColumn\": {\n                        \"id\": \"17107b47-b826-4d22-9642-c5bae2e99be2\",\n                        \"name\": \"account_source\"\n                    },\n                    \"secondColumn\": {\n                        \"id\": \"7bcb2a48-3dad-4b24-aa51-443915967ad6\",\n                        \"name\": \"id\"\n                    },\n                    \"count\": 5\n                }\n            ]\n        }\n    }\n}"},{"id":"791ba330-96d5-4c43-8702-394a3fdd89fb","name":"Get column joins related to a specific table ID","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"http://api.castordoc.com/public/graphql?op=getColumnJoins","protocol":"http","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getColumnJoins"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getColumnJoins\": {\n            \"data\": [\n                {\n                    \"id\": \"befc6020-4ba7-486e-b6fc-f1bafa7bde72\",\n                    \"firstColumn\": {\n                        \"id\": \"1e798e1b-f6ac-47d8-a189-5a52d24ceabf\",\n                        \"name\": \"customer_id\",\n                        \"table\": {\n                            \"id\": \"3852b774-b93f-4ea6-bcca-71825e486bf6\",\n                            \"name\": \"dm_customers\"\n                        }\n                    },\n                    \"secondColumn\": {\n                        \"id\": \"ee557082-a2f1-4165-92e1-70c840998a58\",\n                        \"name\": \"billing_city\",\n                        \"table\": {\n                            \"id\": \"42bf7abd-10d3-43e3-b594-7ccda7b1f02c\",\n                            \"name\": \"account\"\n                        }\n                    },\n                    \"count\": 4\n                }\n            ]\n        }\n    }\n}"},{"id":"9a395808-bfea-49ce-b703-7cf084be7208","name":"Sort column joins with sorting and pagination","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"http://api.castordoc.com/public/graphql?op=getColumnJoins","protocol":"http","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getColumnJoins"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getColumnJoins\": {\n            \"nbPerPage\": 2,\n            \"page\": 0,\n            \"totalCount\": 3,\n            \"data\": [\n                {\n                    \"id\": \"4bb1699d-ad8e-4965-ac96-dc67b1d13811\",\n                    \"count\": 3\n                },\n                {\n                    \"id\": \"befc6020-4ba7-486e-b6fc-f1bafa7bde72\",\n                    \"count\": 4\n                }\n            ]\n        }\n    }\n}"}],"_postman_id":"7d82689e-981d-446e-9396-0c2502968e9a"}],"id":"5e2a7abf-b74b-48f8-82f5-bd16192c2dce","description":"<p>Column joins feature shows which columns are frequently joined together in SQL queries, using the <code>count</code> attribute. Columns information can be retrieved using the <code>firstColumn</code> and <code>secondColumn</code> relations.</p>\n","_postman_id":"5e2a7abf-b74b-48f8-82f5-bd16192c2dce"},{"name":"Field Lineages","item":[{"name":"Get Field Lineages","id":"1273a444-3ab2-4c7f-bba8-d5fbf18537e7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query {\n  getFieldLineages {\n    data {\n      id\n      childColumnId\n      childDashboardFieldId\n      childDashboardId\n      parentColumnId\n      parentDashboardFieldId\n    }\n  }\n}","variables":""}},"url":"https://api.castordoc.com/public/graphql?op=getFieldLineages","description":"<h3 id=\"description\"><strong>Description</strong></h3>\n<p>Get all lineages, with optional scoping, sorting and pagination</p>\n<ul>\n<li><p>the <code>scope</code> will help you to filter/narrow down your result</p>\n</li>\n<li><p>the <code>sorting</code> will help you sort out the result in the order you want</p>\n</li>\n<li><p>the <code>pagination</code> will help you navigate through the result when there are too many records</p>\n</li>\n</ul>\n<h3 id=\"query-inputs\"><strong>Query inputs</strong></h3>\n<ul>\n<li><code>scope</code> (<strong>optional</strong>): scope the assets (column, dashboard field, dashboard) by references or sources they belong to. Also filter on types of link and type of asset. no scope is required</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Scope Name</th>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>childColumnId</code></td>\n<td>string</td>\n<td>Scope by child column</td>\n</tr>\n<tr>\n<td><code>childDashboardFieldId</code></td>\n<td>string</td>\n<td>Scope by child dashboard field</td>\n</tr>\n<tr>\n<td><code>childDashboardFieldSourceId</code></td>\n<td>string</td>\n<td>Scope by child dashboard field source for either parent or children</td>\n</tr>\n<tr>\n<td><code>childDashboardSourceId</code></td>\n<td>string</td>\n<td>Scope by child dashboard source</td>\n</tr>\n<tr>\n<td><code>columnSourceId</code></td>\n<td>string</td>\n<td>Scope by column source: for both parent and child</td>\n</tr>\n<tr>\n<td><code>hasDashboardChild</code></td>\n<td>boolean</td>\n<td>Scope on lineages with a dashboard child</td>\n</tr>\n<tr>\n<td><code>lineageType</code></td>\n<td>LineageType (see above)</td>\n<td>Scope on lineages type</td>\n</tr>\n<tr>\n<td><code>parentColumnId</code></td>\n<td>string</td>\n<td>Scope by parent column</td>\n</tr>\n<tr>\n<td><code>parentDashboardFieldId</code></td>\n<td>string</td>\n<td>Scope by parent dashboard field</td>\n</tr>\n<tr>\n<td><code>withChildAssetType</code></td>\n<td>LineageAssetType: <code>COLUMN</code>, <code>DASHBOARD</code> or <code>DASHBOARD_FIELD</code></td>\n<td>Scope to filter on child asset type</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><code>sorting</code> (<strong>optional</strong>): an array of sorting objects</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>value</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>sortingKey</code></td>\n<td>yes</td>\n<td><code>enum</code></td>\n<td>Available keys:  <br />- <code>childDashboardPopularity</code>  <br />- <code>id</code>  <br />- <code>popularity</code>  <br />- <code>type</code></td>\n</tr>\n<tr>\n<td><code>direction</code></td>\n<td>no</td>\n<td><code>enum</code></td>\n<td><code>ASC</code> (default value) <code>DESC</code></td>\n</tr>\n<tr>\n<td><code>nullsPriority</code></td>\n<td>no</td>\n<td><code>enum</code></td>\n<td>This defines where you want results with null values on the sortingKey:  <br />- <code>LAST</code> (default value)  <br />- <code>FIRST</code></td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><code>pagination</code> (<strong>optional</strong> and default to 100 first items)</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>nbPerPage</code></td>\n<td>yes</td>\n<td>number</td>\n<td>Number of entities to return per page (capped to 500 items)</td>\n</tr>\n<tr>\n<td><code>page</code></td>\n<td>yes</td>\n<td>number</td>\n<td>Fetch entities at this page, start at page 0</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"getFieldLineages"}],"variable":[]}},"response":[{"id":"e186c687-930b-4090-9295-128aa5f287f8","name":"Get All Field Lineages","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getFieldLineages","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getFieldLineages"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"getFieldLineages\": {\n      \"data\": [\n        {\n          \"parentColumnId\": \"f2866ffa-8187-4c3a-865f-fef263c5c9d8\",\n          \"childColumnId\": \"27f924f6-b702-4f0a-b254-deb1c201929d\",\n          \"parentDashboardFieldId\": null,\n          \"childDashboardFieldId\": null,\n          \"childDashboardId\": null,\n          \"lineageType\": \"AUTOMATIC\"\n        },\n        {\n          \"parentColumnId\": null,\n          \"childColumnId\": null,\n          \"parentDashboardFieldId\": \"20afd581-5672-4b49-b549-69c70e605700\",\n          \"childDashboardFieldId\": \"add006d4-e213-45e8-a4e2-df416b27e046\",\n          \"childDashboardId\": null,\n          \"lineageType\": \"AUTOMATIC\"\n        },\n        {\n          \"parentColumnId\": \"74de041a-0534-4885-88f7-e20268f63e52\",\n          \"childColumnId\": \"27f924f6-b702-4f0a-b254-deb1c201929d\",\n          \"parentDashboardFieldId\": null,\n          \"childDashboardFieldId\": null,\n          \"childDashboardId\": null,\n          \"lineageType\": \"AUTOMATIC\"\n        },\n        {\n          \"parentColumnId\": null,\n          \"childColumnId\": null,\n          \"parentDashboardFieldId\": \"20afd581-5672-4b49-b549-69c70e605700\",\n          \"childDashboardFieldId\": \"8be27aa5-9be5-4f47-9eca-34b09725a108\",\n          \"childDashboardId\": null,\n          \"lineageType\": \"AUTOMATIC\"\n        },\n        {\n          \"parentColumnId\": null,\n          \"childColumnId\": null,\n          \"parentDashboardFieldId\": \"27f924f6-b702-4f0a-b254-deb1c201929d\",\n          \"childDashboardFieldId\": null,\n          \"childDashboardId\": \"add006d4-e213-45e8-a4e2-df416b27e046\",\n          \"lineageType\": \"AUTOMATIC\"\n        }\n      ]\n    }\n  }\n}"},{"id":"b06d9e1c-8a8b-43cb-adb0-849e4e8b3d53","name":"Get Lineages on Source including hidden and deleted relatives","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getFieldLineages","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getFieldLineages"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"getFieldLineages\": {\n            \"data\": [\n                {\n                    \"parentColumnId\": \"f2866ffa-8187-4c3a-865f-fef263c5c9d8\",\n                    \"childColumnId\": \"27f924f6-b702-4f0a-b254-deb1c201929d\",\n                    \"parentDashboardFieldId\": null,\n                    \"childDashboardFieldId\": null,\n                    \"childDashboardId\": null\n                },\n                {\n                    \"parentColumnId\": \"74de041a-0534-4885-88f7-e20268f63e52\",\n                    \"childColumnId\": \"27f924f6-b702-4f0a-b254-deb1c201929d\",\n                    \"parentDashboardFieldId\": null,\n                    \"childDashboardFieldId\": null,\n                    \"childDashboardId\": null\n                }\n            ]\n        }\n    }\n}"}],"_postman_id":"1273a444-3ab2-4c7f-bba8-d5fbf18537e7"}],"id":"a3339c83-1fee-45c3-834e-20737a6128d6","description":"<p>This collect will allow you to interact with the field lineage links between your assets</p>\n<p>There are several links possible and lineage type</p>\n<p><strong>Unicity</strong> lieds upon the 2-uple <code>(link, lineage type)</code></p>\n<h2 id=\"links\">Links</h2>\n<p>The following links exist between resources</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>parent asset</strong></th>\n<th><strong>child asset</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>column</td>\n<td>column</td>\n</tr>\n<tr>\n<td>column</td>\n<td>dashboard field</td>\n</tr>\n<tr>\n<td>dashboard field</td>\n<td>dashboard field</td>\n</tr>\n<tr>\n<td>dashboard field</td>\n<td>dashboard</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"fields\">Fields</h3>\n<p>Only one parent field can be not null on a single row</p>\n<ul>\n<li><p>parentColumnId</p>\n</li>\n<li><p>parentDashboardId</p>\n</li>\n</ul>\n<p>Only one children field be not null on a single row</p>\n<ul>\n<li><p>childrenColumnId</p>\n</li>\n<li><p>childrenDashboardFieldId</p>\n</li>\n<li><p>childrenDashboardId</p>\n</li>\n</ul>\n<h2 id=\"lineage-type\">Lineage type</h2>\n<p>Catalog supports several lineage types <code>LineageType</code></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>lineage type</strong></th>\n<th><strong>description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>AUTOMATIC</code></td>\n<td>Detected automaically by Catalog</td>\n</tr>\n<tr>\n<td><code>MANUAL_CUSTOMER</code></td>\n<td>Created via the public API</td>\n</tr>\n<tr>\n<td><code>MANUAL_OPS</code></td>\n<td>Created by the Catalog operations team</td>\n</tr>\n<tr>\n<td><code>OTHER_TECHNOS</code></td>\n<td>Imported from other technologies</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"a3339c83-1fee-45c3-834e-20737a6128d6"},{"name":"Lineages","item":[{"name":"Get Lineages","id":"ff10018e-a076-47b0-88e0-4fe4bd2becf1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query {\n  getLineages {\n    data {\n      id\n      parentTableId\n      childTableId\n    }\n  }\n}","variables":""}},"url":"https://api.castordoc.com/public/graphql?op=getLineages","description":"<h3 id=\"description\"><strong>Description</strong></h3>\n<p>Get all lineages, with optional scoping, sorting and pagination</p>\n<ul>\n<li>the <code>scope</code> will help you to filter/narrow down your result</li>\n<li>the <code>sorting</code> will help you sort out the result in the order you want</li>\n<li>the <code>pagination</code> will help you navigate through the result when there are too many records</li>\n</ul>\n<h3 id=\"query-inputs\"><strong>Query inputs</strong></h3>\n<ul>\n<li><code>scope</code> (<strong>optional</strong>): scope the columns by the warehouses and tables they are associated to, their names, descriptions, ids, whether or not the column is a primary key and whether you want to include soft deleted and hidden records (scopes can be combined and are additives)</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>lineageIds</code></td>\n<td>no</td>\n<td>uuid[]</td>\n<td>Scope lineage links to only retrieve the ones with an id belonging to the provided list</td>\n</tr>\n<tr>\n<td><code>lineageType</code></td>\n<td>no</td>\n<td><code>enum</code></td>\n<td>Scope lineage links retrieve the ones matching the provided type among:  <br />- <code>AUTOMATIC</code>: generated by Catalog's extraction engine  <br />- <code>MANUAL_CUSTOMER</code>: manually created by you  <br />- <code>MANUAL_OPS</code>: manually created by Catalog’s ops team  <br />- <code>OTHER_TECHNOS</code>: all other lineage links extracted from other sources</td>\n</tr>\n<tr>\n<td><code>withChildAssetType</code></td>\n<td>no</td>\n<td><code>enum</code></td>\n<td>Filter in all lineage links for which the child’s type matches the provided value among:  <br />- <code>TABLE</code>  <br />- <code>DASHBOARD</code></td>\n</tr>\n<tr>\n<td><code>childDashboardId</code></td>\n<td>no</td>\n<td><code>uuid</code></td>\n<td>Filter all lineage links targeting the provided dashboard id as child</td>\n</tr>\n<tr>\n<td><code>parentDashboardId</code></td>\n<td>no</td>\n<td><code>uuid</code></td>\n<td>Filter all lineage links targeting the provided dashboard id as parent</td>\n</tr>\n<tr>\n<td><code>childTableId</code></td>\n<td>no</td>\n<td><code>uuid</code></td>\n<td>Filter all lineage links targeting the provided table id as child</td>\n</tr>\n<tr>\n<td><code>parentTabledId</code></td>\n<td>no</td>\n<td><code>uuid</code></td>\n<td>Filter all lineage links targeting the provided table id as parent</td>\n</tr>\n<tr>\n<td><code>childSourceId</code></td>\n<td>no</td>\n<td><code>uuid</code></td>\n<td>Filter all lineage links targeting an entity which parent source matches the provided id as child</td>\n</tr>\n<tr>\n<td><code>parentSourceId</code></td>\n<td>no</td>\n<td><code>uuid</code></td>\n<td>Filter all lineage links targeting an entity which parent source matches the provided id as parent</td>\n</tr>\n<tr>\n<td><code>withHidden</code></td>\n<td>no</td>\n<td><code>boolean</code></td>\n<td>Whether you want to include hidden records in the result.  <br />  <br />By default lineage links coming from or going to hidden resources will not be included</td>\n</tr>\n<tr>\n<td><code>withDeleted</code></td>\n<td>no</td>\n<td><code>boolean</code></td>\n<td>Whether you want to include soft deleted records in the result.  <br />  <br />By default lineage links coming from or going to soft deleted resources will not be included</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><code>sorting</code> (<strong>optional</strong>): an array of sorting objects</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>value</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>sortingKey</code></td>\n<td>yes</td>\n<td><code>enum</code></td>\n<td>Available keys:  <br />- <code>id</code>  <br />- <code>popularity</code>  <br />- <code>type</code></td>\n</tr>\n<tr>\n<td><code>direction</code></td>\n<td>no</td>\n<td><code>enum</code></td>\n<td><code>ASC</code> (default value) <code>DESC</code></td>\n</tr>\n<tr>\n<td><code>nullsPriority</code></td>\n<td>no</td>\n<td><code>enum</code></td>\n<td>This defines where you want results with null values on the sortingKey:  <br />- <code>LAST</code> (default value)  <br />- <code>FIRST</code></td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><code>pagination</code> (<strong>optional</strong> and default to 100 first items)</li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>nbPerPage</td>\n<td>yes</td>\n<td>number</td>\n<td>Number of entities to return per page (capped to 500 items)</td>\n</tr>\n<tr>\n<td>page</td>\n<td>yes</td>\n<td>number</td>\n<td>Fetch entities at this page, start at page 0</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"getLineages"}],"variable":[]}},"response":[{"id":"830bed3d-0a66-4458-a829-4f74d1370eee","name":"Get All Lineages","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getLineages","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getLineages"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"getLineages\": {\n      \"data\": [\n        {\n          \"parentTableId\": \"f2866ffa-8187-4c3a-865f-fef263c5c9d8\",\n          \"childTableId\": \"27f924f6-b702-4f0a-b254-deb1c201929d\",\n          \"parentDashboardId\": null,\n          \"childDashboardId\": null\n        },\n        {\n          \"parentTableId\": null,\n          \"childTableId\": null,\n          \"parentDashboardId\": \"20afd581-5672-4b49-b549-69c70e605700\",\n          \"childDashboardId\": \"add006d4-e213-45e8-a4e2-df416b27e046\"\n        },\n        {\n          \"parentTableId\": \"74de041a-0534-4885-88f7-e20268f63e52\",\n          \"childTableId\": \"27f924f6-b702-4f0a-b254-deb1c201929d\",\n          \"parentDashboardId\": null,\n          \"childDashboardId\": null\n        },\n        {\n          \"parentTableId\": null,\n          \"childTableId\": null,\n          \"parentDashboardId\": \"20afd581-5672-4b49-b549-69c70e605700\",\n          \"childDashboardId\": \"8be27aa5-9be5-4f47-9eca-34b09725a108\"\n        },\n        {\n          \"parentTableId\": \"27f924f6-b702-4f0a-b254-deb1c201929d\",\n          \"childTableId\": null,\n          \"parentDashboardId\": null,\n          \"childDashboardId\": \"add006d4-e213-45e8-a4e2-df416b27e046\"\n        }\n      ]\n    }\n  }\n}"},{"id":"53669d40-3c69-48c2-9217-4d286f7a61ac","name":"Get Lineages on Source including hidden and deleted relatives","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getLineages","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getLineages"}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"ff10018e-a076-47b0-88e0-4fe4bd2becf1"},{"name":"Upsert Lineages","id":"09c45cf1-d248-4c18-9883-c7d13fdfe829","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($lineages: [UpsertLineageInput!]!) {\n  upsertLineages(data: $lineages) {\n    id\n    childTableId\n    parentTableId\n  }\n}","variables":"{\n  \"lineages\": [{\n    \"childTableId\": \"23a33410-914b-4158-a06b-25243cface4c\",\n    \"parentTableId\": \"2e77bf21-4b82-4c8a-8414-07a828244c51\"    \n  }]\n}"}},"url":"https://api.castordoc.com/public/graphql?op=upsertLineages","description":"<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>mutation</code> will allow you to create or update batches of lineages between your assets.</p>\n<p>Note that while all parents/children are marked not required, you will still need to provide valid child/parent couples.</p>\n<h3 id=\"mutation-input\"><strong>Mutation input</strong></h3>\n<p><code>data</code> (<strong>required</strong>) is composed of an array of lineage inputs containing the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>childDashboardId</code></td>\n<td>no</td>\n<td><code>uuid</code></td>\n<td>The id of the <strong>dashboard</strong> that will act as <strong>child</strong> for the lineage link (only one child must be provided)</td>\n</tr>\n<tr>\n<td><code>parentDashboardId</code></td>\n<td>no</td>\n<td><code>uuid</code></td>\n<td>The id of the <strong>dashboard</strong> that will act as <strong>parent</strong> for the lineage link (only one child must be provided)</td>\n</tr>\n<tr>\n<td><code>childTableId</code></td>\n<td>no</td>\n<td><code>uuid</code></td>\n<td>The id of the <strong>table</strong> that will act as <strong>child</strong> for the lineage link (only one parent must be provided)</td>\n</tr>\n<tr>\n<td><code>parentTabledId</code></td>\n<td>no</td>\n<td><code>uuid</code></td>\n<td>The id of the <strong>table</strong> that will act as <strong>parent</strong> for the lineage link (only one parent must be provided)</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"upsertLineages"}],"variable":[]}},"response":[{"id":"c5201876-0d8f-467c-99af-0abc6fa6cbe0","name":"Upsert Lineages","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=upsertLineages","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"upsertLineages"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"upsertLineages\": [\n            {\n                \"id\": \"7ab257e6-59ff-447e-9dcf-0a36276c656b\",\n                \"childTableId\": \"23a33410-914b-4158-a06b-25243cface4c\",\n                \"parentTableId\": \"2e77bf21-4b82-4c8a-8414-07a828244c51\"\n            }\n        ]\n    }\n}"}],"_postman_id":"09c45cf1-d248-4c18-9883-c7d13fdfe829"},{"name":"Delete Lineages","id":"34954beb-762c-4e52-9e1d-8fb1216c6671","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($lineages: [DeleteLineageInput!]!) {\n  deleteLineages(data: $lineages)\n}","variables":"{\n  \"lineages\": [{\n    \"childTableId\": \"23a33410-914b-4158-a06b-25243cface4c\",\n    \"parentTableId\": \"2e77bf21-4b82-4c8a-8414-07a828244c51\"    \n  }]\n}"}},"url":"https://api.castordoc.com/public/graphql?op=deleteLineages","description":"<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>mutation</code> will allow you to drop batches of lineages between your assets.</p>\n<p>Note that while all parents/children are marked not required, you will still need to provide valid child/parent couples to drop.</p>\n<h3 id=\"mutation-input\"><strong>Mutation input</strong></h3>\n<p><code>data</code> (<strong>required</strong>) is composed of an <strong>array</strong> of lineage inputs containing the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>childDashboardId</code></td>\n<td>no</td>\n<td><code>uuid</code></td>\n<td>The id of the <strong>dashboard</strong> acting as <strong>child</strong> for the lineage link to drop (only one child must be provided)</td>\n</tr>\n<tr>\n<td><code>parentDashboardId</code></td>\n<td>no</td>\n<td><code>uuid</code></td>\n<td>The id of the <strong>dashboard</strong> acting as <strong>parent</strong> for the lineage link to drop (only one child must be provided)</td>\n</tr>\n<tr>\n<td><code>childTableId</code></td>\n<td>no</td>\n<td><code>uuid</code></td>\n<td>The id of the <strong>table</strong> acting as <strong>child</strong> for the lineage link to drop (only one parent must be provided)</td>\n</tr>\n<tr>\n<td><code>parentTabledId</code></td>\n<td>no</td>\n<td><code>uuid</code></td>\n<td>The id of the <strong>table</strong> acting as <strong>parent</strong> for the lineage link to drop (only one parent must be provided)</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"deleteLineages"}],"variable":[]}},"response":[{"id":"2093b720-cafb-4794-92e1-e4541a470f49","name":"Delete Lineages","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=deleteLineages","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"deleteLineages"}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"34954beb-762c-4e52-9e1d-8fb1216c6671"}],"id":"850ea7ab-1402-4b0c-87d3-8aacd70409b0","description":"<p>This will allow you to interact with the lineage links between your assets</p>\n","_postman_id":"850ea7ab-1402-4b0c-87d3-8aacd70409b0"},{"name":"External Links","item":[{"name":"Create External Links","id":"38822456-e8ef-4277-a0b8-4b1c72e42095","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation($externalLinks: [CreateExternalLinkInput!]!) {\n  createExternalLinks(data: $externalLinks) {\n    id\n  }\n}\n","variables":"{\n   \"externalLinks\":[\n      {\n         \"tableId\":\"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\",\n         \"url\":\"https://www.crazygames.com/\",\n         \"technology\":\"AIRFLOW\"\n      },\n      {\n         \"tableId\":\"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\",\n         \"url\":\"https://gitlab.com/castordoc\",\n         \"technology\":\"GITLAB\"\n      }\n   ]\n}"}},"url":"http://api.castordoc.com/public/graphql?op=createExternalLinks","description":"<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>mutation</code> will allow you to create batches of external links to administrate through this API</p>\n<h3 id=\"mutation-input\"><strong>Mutation input</strong></h3>\n<p><code>data</code> (<strong>required</strong>) is composed of an <strong>array</strong> of external link inputs containing the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>tableId</code></td>\n<td>yes</td>\n<td><code>uuid</code></td>\n<td>The custom technical <code>id</code> of the table. You are responsible of crafting and providing those ids.</td>\n</tr>\n<tr>\n<td><code>technology</code></td>\n<td>yes</td>\n<td><code>enum</code></td>\n<td>Restrict external links by their technology (Note that there can only be one technology per type per table):  <br />- <code>AIRFLOW</code>  <br />- <code>GITHUB</code>  <br />- <code>GITLAB</code>  <br />- <code>OTHER</code></td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td>yes</td>\n<td><code>string</code></td>\n<td>The <code>url</code> you want to give to the external link.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"http","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"createExternalLinks"}],"variable":[]}},"response":[{"id":"2bd62604-cc53-48b2-8ec4-a33740f334e6","name":"Create External Links","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"http://api.castordoc.com/public/graphql?op=createExternalLinks","protocol":"http","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"createExternalLinks"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"x-request-id","value":"f02bcda9-b2e8-4316-a23c-ef474b890c18"},{"key":"content-type","value":"application/json"},{"key":"content-length","value":"343"},{"key":"Date","value":"Fri, 10 Nov 2023 10:43:17 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=72"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"createExternalLinks\": [\n            {\n                \"id\": \"8bd0f6f8-64ec-4817-a73d-b2764c170d9e\",\n                \"tableId\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\",\n                \"url\": \"https://www.crazygames.com/\",\n                \"technology\": \"AIRFLOW\"\n            },\n            {\n                \"id\": \"da2c20b3-748a-497a-8fa9-1410f69f9131\",\n                \"tableId\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\",\n                \"url\": \"https://gitlab.com/castordoc\",\n                \"technology\": \"GITLAB\"\n            }\n        ]\n    }\n}"}],"_postman_id":"38822456-e8ef-4277-a0b8-4b1c72e42095"},{"name":"Update External Links","id":"561bffd9-f0eb-4eab-a36c-83dc39edf5af","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation($externalLinks: [UpdateExternalLinkInput!]!) {\n  updateExternalLinks(data: $externalLinks) {\n    id\n  }\n}\n","variables":"{\n   \"externalLinks\":[\n      {\n         \"id\":\"5c849a6d-c1fb-4755-82ad-d00e74b32023\",\n         \"url\":\"https://gitlab.com/castordoc/k8s-deployables/backend/-/merge_requests/1930\"\n      },\n      {\n         \"id\":\"de995ecc-9788-4acb-8205-e1a0a9b95db0\",\n         \"url\":\"https://airflow.apache.org/\"\n      }\n   ]\n}"}},"url":"https://api.castordoc.com/public/graphql?op=updateExternalLinks","description":"<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>mutation</code> will allow you to batch update the external links you created</p>\n<h3 id=\"mutation-input\"><strong>Mutation input</strong></h3>\n<p><code>data</code> (<strong>required</strong>) is composed of an <strong>array</strong> of external link inputs containing the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>yes</td>\n<td><code>uuid</code></td>\n<td>The <code>id</code> of the target external link to edit.</td>\n</tr>\n<tr>\n<td><code>url</code></td>\n<td>yes</td>\n<td><code>string</code></td>\n<td>The <code>url</code> you want to give to the new external link.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"updateExternalLinks"}],"variable":[]}},"response":[{"id":"2df64a24-01c4-446c-9b2f-464bee4405fc","name":"Update External Links","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=updateExternalLinks","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"updateExternalLinks"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"x-request-id","value":"6bba13eb-d977-4789-a3f2-e96e2da8b873"},{"key":"content-type","value":"application/json"},{"key":"content-length","value":"389"},{"key":"Date","value":"Fri, 10 Nov 2023 10:48:37 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=72"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"updateExternalLinks\": [\n            {\n                \"id\": \"8bd0f6f8-64ec-4817-a73d-b2764c170d9e\",\n                \"tableId\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\",\n                \"url\": \"https://airflow.apache.org/\",\n                \"technology\": \"AIRFLOW\"\n            },\n            {\n                \"id\": \"da2c20b3-748a-497a-8fa9-1410f69f9131\",\n                \"tableId\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\",\n                \"url\": \"https://gitlab.com/castordoc/k8s-deployables/backend/-/merge_requests/1930\",\n                \"technology\": \"GITLAB\"\n            }\n        ]\n    }\n}"}],"_postman_id":"561bffd9-f0eb-4eab-a36c-83dc39edf5af"},{"name":"Delete External Links","id":"76897e43-95d4-4e0d-869b-a91855891ec9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation($externalLinks: [DeleteExternalLinkInput!]!) {\n  deleteExternalLinks(data: $externalLinks) {\n    id\n  }\n}\n","variables":"{\n   \"externalLinks\":[\n      {\n         \"id\":\"5c849a6d-c1fb-4755-82ad-d00e74b32023\"\n      }\n   ]\n}"}},"url":"https://api.castordoc.com/public/graphql?op=deleteExternalLinks","description":"<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>mutation</code> will allow you to batch delete the external links you created</p>\n<h3 id=\"mutation-input\"><strong>Mutation input</strong></h3>\n<p><code>data</code> (<strong>required</strong>) is composed of an <strong>array</strong> of external link inputs containing the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>yes</td>\n<td><code>uuid</code></td>\n<td>The <code>id</code> of the target external link to delete.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"deleteExternalLinks"}],"variable":[]}},"response":[{"id":"ab993093-d087-436d-b584-934ea3d93b4a","name":"Delete External Links","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=deleteExternalLinks","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"deleteExternalLinks"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"x-request-id","value":"e513f91f-eea9-49dd-9b70-d7a3c01c6ebf"},{"key":"content-type","value":"application/json"},{"key":"content-length","value":"38"},{"key":"Date","value":"Fri, 10 Nov 2023 11:01:01 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=72"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"deleteExternalLinks\": true\n    }\n}"}],"_postman_id":"76897e43-95d4-4e0d-869b-a91855891ec9"}],"id":"76e4cb49-28d9-4697-b16f-331d1cfb2823","description":"<p>This will allow you to interact with the external links among your tables</p>\n<p><strong>Attach an external link to your table (example)</strong></p>\n<ul>\n<li>find tables with name containing <code>finance</code></li>\n<li>add external links to that table</li>\n</ul>\n<p><a href=\"https://gist.github.com/linafarchado/6b55947a4b7bbac8626a46285f46d0d4\"><strong>Please refer this example code</strong></a></p>\n","_postman_id":"76e4cb49-28d9-4697-b16f-331d1cfb2823"},{"name":"Teams","item":[{"name":"Get teams","id":"24ad1f18-2224-44e2-b214-d0d1e17bca27","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query{\n  getTeams{\n    createdAt\n    description\n    email\n    id\n    memberIds\n    name\n    ownedAssetIds\n    slackGroup\n    slackChannel\n  }\n}","variables":""}},"url":"http://api.castordoc.com/public/graphql?op=getTeams","description":"<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>query</code> will allow you to retrieve all teams and their attributes, with the assets they currently own</p>\n<h3 id=\"query-output\"><strong>Query output</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>createdAt</code></td>\n<td><code>Timestamp</code></td>\n<td>The team creation date</td>\n</tr>\n<tr>\n<td><code>description</code></td>\n<td><code>string</code> or <code>null</code></td>\n<td>The team description</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td><code>string</code> or <code>null</code></td>\n<td>The team email</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td><code>uuid</code></td>\n<td>The unique id of the team</td>\n</tr>\n<tr>\n<td><code>memberIds</code></td>\n<td><code>uuid[]</code></td>\n<td>List of users ids that are members</td>\n</tr>\n<tr>\n<td><code>name</code></td>\n<td><code>string</code></td>\n<td>The team name</td>\n</tr>\n<tr>\n<td><code>ownedAssetIds</code></td>\n<td><code>uuid[]</code></td>\n<td>List of entities ids owned by the team</td>\n</tr>\n<tr>\n<td><code>slackGroup</code></td>\n<td><code>string</code> or <code>null</code></td>\n<td>Team slack group</td>\n</tr>\n<tr>\n<td><code>slackChannel</code></td>\n<td><code>string</code> or <code>null</code></td>\n<td>Team slack channel</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"http","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"getTeams"}],"variable":[]}},"response":[{"id":"9ebc5018-15d6-4e2b-9b40-2cd754ad9a12","name":"Get teams","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"http://api.castordoc.com/public/graphql?op=getTeams","protocol":"http","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getTeams"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"x-request-id","value":"f02bcda9-b2e8-4316-a23c-ef474b890c18"},{"key":"content-type","value":"application/json"},{"key":"content-length","value":"343"},{"key":"Date","value":"Fri, 10 Nov 2023 10:43:17 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=72"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"getTeams\": [\n      {\n        \"createdAt\": 1701276841426,\n        \"description\": null,\n        \"email\": \"test@test.com\",\n        \"id\": \"74329586-f00a-4acf-b0ae-532d6a7fd914\",\n        \"memberIds\": [\n          \"7caf5355-73a0-4c68-b546-63acfab47d10\",\n          \"2133f9d8-8c4b-4f58-9d9e-667c050567b1\"\n        ],\n        \"name\": \"team A\",\n        \"ownedAssetIds\": [],\n        \"slackGroup\": null,\n        \"slackChannel\": \"#tech\"\n      },\n      {\n        \"createdAt\": 1701276841426,\n        \"description\": null,\n        \"email\": \"hello@world.com\",\n        \"id\": \"6ab9078e-849c-4d68-8707-0e014262a1e9\",\n        \"memberIds\": [\n          \"d1542d55-d583-41f3-911d-5632a37c2196\",\n          \"c60b8e30-3abc-4df3-8edc-b7a013fd6ea1\"\n        ],\n        \"name\": \"Hello\",\n        \"ownedAssetIds\": [],\n        \"slackGroup\": null,\n        \"slackChannel\": \"#hello\"\n      }\n\t]}\n}"}],"_postman_id":"24ad1f18-2224-44e2-b214-d0d1e17bca27"},{"name":"Remove team users","id":"a2b698bc-be4f-411b-a129-5564194578c8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($data: TeamUsersInput!) {\n  removeTeamUsers(data: $data)\n}","variables":"{\"data\": {\"id\": \"0fd28bd0-8b34-4917-b6d5-0c6834aaf259\", \"emails\": [\"john@doe.com\"]}}"}},"url":"http://api.castordoc.com/public/graphql?op=removeTeamUsers","description":"<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>mutation</code> will allow you to remove team users from a team.</p>\n<h3 id=\"mutation-input\"><strong>Mutation input</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td><code>uuid</code></td>\n<td>The team id for which we need to remove users</td>\n</tr>\n<tr>\n<td>emails</td>\n<td><code>string[]</code></td>\n<td>The list containing emails that we want to remove from the team</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"mutation-output\"><strong>Mutation output</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td></td>\n<td><code>boolean</code></td>\n<td>True if the remove succeeded</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"http","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"removeTeamUsers"}],"variable":[]}},"response":[{"id":"3b55a4ef-2396-4b73-92d6-3002193bde5f","name":"Remove team users","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"http://api.castordoc.com/public/graphql?op=removeTeamUsers","protocol":"http","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"removeTeamUsers"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"x-request-id","value":"f02bcda9-b2e8-4316-a23c-ef474b890c18"},{"key":"content-type","value":"application/json"},{"key":"content-length","value":"343"},{"key":"Date","value":"Fri, 10 Nov 2023 10:43:17 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=72"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"removeTeamUsers\": true\n  }\n}"}],"_postman_id":"a2b698bc-be4f-411b-a129-5564194578c8"},{"name":"Add team users","id":"104ee8fe-d372-4649-a752-45aab1556aee","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($data: TeamUsersInput!) {\n  addTeamUsers(data: $data)\n}","variables":"{\"data\": {\"id\": \"0fd28bd0-8b34-4917-b6d5-0c6834aaf259\", \"emails\": [\"john@doe.com\"]}}"}},"url":"http://api.castordoc.com/public/graphql?op=addTeamUsers","description":"<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>mutation</code> will allow you to add team users from a team.</p>\n<h3 id=\"mutation-input\"><strong>Mutation input</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td><code>uuid</code></td>\n<td>The team id for which we need to add users</td>\n</tr>\n<tr>\n<td>emails</td>\n<td><code>string[]</code></td>\n<td>The list containing emails that we want to add from the team</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"mutation-output\"><strong>Mutation output</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td></td>\n<td><code>boolean</code></td>\n<td>True if the add succeeded</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"http","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"addTeamUsers"}],"variable":[]}},"response":[{"id":"e8355de8-752d-4eef-b67c-80cd0e6e1d32","name":"Add team users","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"http://api.castordoc.com/public/graphql?op=addTeamUsers","protocol":"http","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"addTeamUsers"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"x-request-id","value":"f02bcda9-b2e8-4316-a23c-ef474b890c18"},{"key":"content-type","value":"application/json"},{"key":"content-length","value":"343"},{"key":"Date","value":"Fri, 10 Nov 2023 10:43:17 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=72"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"addTeamUsers\": true\n  }\n}"}],"_postman_id":"104ee8fe-d372-4649-a752-45aab1556aee"},{"name":"Upsert team","id":"e8ae0352-7752-45ec-b746-26f7ae132434","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($data: UpsertTeamInput!) {\n  upsertTeam(data: $data){\n    id,\n    avatarUrl,\n    description,\n    email,\n    name,\n    slackChannel,\n    privateSlackChannel,\n    slackGroup,\n    source,\n    accountId\n  }\n}","variables":"{\"data\": { \"name\": \"Team A\", \"description\": \"new description\"}}"}},"url":"http://api.castordoc.com/public/graphql?op=upsertTeam","description":"<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>mutation</code> will allow you to create or update a team.</p>\n<p>If the name do not exist, then it will create a new team otherwise it will update the existing team.</p>\n<p>Mutation input</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>description</td>\n<td>false</td>\n<td><code>string</code></td>\n<td>The team description</td>\n</tr>\n<tr>\n<td>email</td>\n<td>false</td>\n<td><code>string</code></td>\n<td>The team email</td>\n</tr>\n<tr>\n<td>name</td>\n<td>true</td>\n<td><code>string</code></td>\n<td>name of the team. The name cannot be empty or undefined. That will determine the exitence of the</td>\n</tr>\n<tr>\n<td>storedPrivateSlackChannel</td>\n<td>false</td>\n<td><code>string</code></td>\n<td>Private slack channel of the team. Used for notifications (only available for admin or service).  <br /><strong>Don't forget to invite the slack bot into this channel!</strong></td>\n</tr>\n<tr>\n<td>slackChannel</td>\n<td>false</td>\n<td><code>string</code></td>\n<td>The slack channel of the team (start with #)</td>\n</tr>\n<tr>\n<td>slackGroup</td>\n<td>false</td>\n<td><code>string</code></td>\n<td>The slack group of the team (start with @)</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"mutation-output\"><strong>Mutation output</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>id</td>\n<td><code>uuid</code></td>\n<td>Te team id</td>\n</tr>\n<tr>\n<td>avatarUrl</td>\n<td><code>string</code></td>\n<td>The url team avatar</td>\n</tr>\n<tr>\n<td>description</td>\n<td><code>string</code></td>\n<td>The team description</td>\n</tr>\n<tr>\n<td>email</td>\n<td><code>string</code></td>\n<td>The team email</td>\n</tr>\n<tr>\n<td>name</td>\n<td><code>string</code></td>\n<td>The team name</td>\n</tr>\n<tr>\n<td>slackChannel</td>\n<td><code>string</code></td>\n<td>The slack channel of the team (start with #)</td>\n</tr>\n<tr>\n<td>storedPrivateSlackChannel</td>\n<td><code>string</code></td>\n<td>Private slack channel of the team. Used for notifications (only available for admin or service)</td>\n</tr>\n<tr>\n<td>slackGroup</td>\n<td><code>string</code></td>\n<td>The slack group of the team (start with @)</td>\n</tr>\n<tr>\n<td>source</td>\n<td><code>string</code></td>\n<td>Indicate where the team come from: HR tool, Slack, Google groups...</td>\n</tr>\n<tr>\n<td>accountId</td>\n<td><code>uuid</code></td>\n<td>Id of the account attached to this team</td>\n</tr>\n<tr>\n<td>createdAt</td>\n<td><code>date</code></td>\n<td></td>\n</tr>\n<tr>\n<td>updatedAt</td>\n<td><code>date</code></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"http","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"upsertTeam"}],"variable":[]}},"response":[{"id":"2802a67c-02a9-4dfc-8cf2-6cdd20a16667","name":"Upsert Team","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"http://api.castordoc.com/public/graphql?op=upsertTeam","protocol":"http","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"upsertTeam"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"x-request-id","value":"f02bcda9-b2e8-4316-a23c-ef474b890c18"},{"key":"content-type","value":"application/json"},{"key":"content-length","value":"343"},{"key":"Date","value":"Fri, 10 Nov 2023 10:43:17 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=72"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"upsertTeam\": {\n      \"id\": \"0fd28bd0-8b34-4917-b6d5-0c6834aaf259\",\n      \"avatarUrl\": null,\n      \"description\": \"new description\",\n      \"email\": null,\n      \"name\": \"Team A\",\n      \"slackChannel\": null,\n      \"privateSlackChannel\": null,\n      \"slackGroup\": null,\n      \"source\": null,\n      \"accountId\": \"d355b296-e2e9-46dc-93b0-5a35cbece16d\"\n    }\n  }\n}"}],"_postman_id":"e8ae0352-7752-45ec-b746-26f7ae132434"}],"id":"c0072ef3-8dc0-479c-9651-921786380728","description":"<p>This will allow you to interact with the team ownership</p>\n<p><strong>Retrieve all teams and their attributes, with the assets they currently own notion</strong></p>\n","_postman_id":"c0072ef3-8dc0-479c-9651-921786380728"},{"name":"Users","item":[{"name":"Get users","id":"181be559-7a76-43d0-b32e-53e21eb1f524","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query{\n  getUsers{\n    email\n    firstName\n    isEmailValidated\n    lastName\n    role\n    status\n    ownedAssetIds\n    teamIds\n    createdAt\n  }\n}","variables":""}},"url":"http://api.castordoc.com/public/graphql?op=getUsers","description":"<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>query</code> will allow you to retrieve all users and their attributes, with the assets they currently own</p>\n<h3 id=\"query-output\"><strong>Query output</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>email</code></td>\n<td><code>string</code></td>\n<td>The user email who owns the current asset</td>\n</tr>\n<tr>\n<td><code>firstName</code></td>\n<td><code>string</code></td>\n<td>The user firstname</td>\n</tr>\n<tr>\n<td><code>id</code></td>\n<td><code>uuid</code></td>\n<td>The user id</td>\n</tr>\n<tr>\n<td><code>isEMailValidated</code></td>\n<td><code>boolean</code></td>\n<td>Check if the user email is validated</td>\n</tr>\n<tr>\n<td><code>lastName</code></td>\n<td><code>stirng</code></td>\n<td>The user lastname</td>\n</tr>\n<tr>\n<td><code>role</code></td>\n<td><code>ADMIN</code> or <code>CONTRIBUTOR</code> or <code>VIEWER</code></td>\n<td>The user role</td>\n</tr>\n<tr>\n<td><code>status</code></td>\n<td><code>ACTIVATED</code> or <code>PENDING</code> or <code>SUSPENDED</code></td>\n<td>The user status</td>\n</tr>\n<tr>\n<td><code>ownedAssetIds</code></td>\n<td><code>uuid[]</code></td>\n<td>List of entities owned by the user</td>\n</tr>\n<tr>\n<td><code>teamIds</code></td>\n<td><code>uuid[]</code></td>\n<td>ids of the teams this user belongs to</td>\n</tr>\n<tr>\n<td><code>createdAt</code></td>\n<td><code>Timestamp</code></td>\n<td>The user date creation</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"http","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"getUsers"}],"variable":[]}},"response":[{"id":"d1d17f40-e190-4b40-82d3-63c0bf3bf1f8","name":"Get users","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"http://api.castordoc.com/public/graphql?op=getUsers","protocol":"http","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getUsers"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"x-request-id","value":"f02bcda9-b2e8-4316-a23c-ef474b890c18"},{"key":"content-type","value":"application/json"},{"key":"content-length","value":"343"},{"key":"Date","value":"Fri, 10 Nov 2023 10:43:17 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=72"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"getUsers\": [\n      {\n        \"email\": \"john@doe.com\",\n        \"firstName\": \"John\",\n        \"isEmailValidated\": true,\n        \"lastName\": \"Doe\",\n        \"role\": \"CONTRIBUTOR\",\n        \"status\": \"ACTIVATED\",\n        \"ownedAssetIds\": [\n          \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\",\n          \"cd3b52ff-a06d-45f3-ad54-f36fe01cfddc\"\n        ],\n        \"teamIds\": [\n          \"aca5e4fa-0c66-49f4-91a4-22fa22c751cf\",\n          \"a0023fbb-56d4-4945-a87e-d87066171b93\"\n        ],\n        \"createdAt\": 1701276840784\n      },\n      {\n        \"email\": \"jean@louis.com\",\n        \"firstName\": \"jean\",\n        \"isEmailValidated\": true,\n        \"lastName\": \"Louis\",\n        \"role\": \"ADMIN\",\n        \"status\": \"ACTIVATED\",\n        \"ownedAssetIds\": [\n          \"63d1f362-ad83-4cca-b071-3a8913901838\"\n        ],\n        \"teamIds\": [\n        ],\n        \"createdAt\": 1701276840784\n      }\n\t]}\n}"}],"_postman_id":"181be559-7a76-43d0-b32e-53e21eb1f524"}],"id":"0061da1e-1e85-4b5a-9f30-aacdd229dfa5","description":"<p>This will allow you to interact with the user ownership</p>\n<p><strong>Retrieve all users and their attributes, with the assets they currently own notion</strong></p>\n","_postman_id":"0061da1e-1e85-4b5a-9f30-aacdd229dfa5"},{"name":"User Owners","item":[{"name":"Remove User Owners","id":"0df876a0-45ee-4aa4-8183-558304ceedc0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($data: OwnerInput!) {\n  removeUserOwners(data: $data)\n}\n","variables":"{\"data\" :{\"userId\": \"257dc948-1a13-4f9e-8e70-68339256a7f3\", \n\"targetEntities\": [\n    {\"entityId\": \"42bf7abd-10d3-43e3-b594-7ccda7b1f02c\", \"entityType\": \"DASHBOARD\"}, \n    {\"entityId\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\", \"entityType\": \"TABLE\"},\n    {\"entityId\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\", \"entityType\": \"TERM\"}\n]}}"}},"url":"http://api.castordoc.com/public/graphql?op=removeUserOwners","description":"<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>query</code> will allow you to remove owner entities for a given user. notionvc: 3fb68f77-7e88-41fb-83bd-be0711240e76</p>\n<h3 id=\"mutation-input\"><strong>Mutation input</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th><strong>required</strong></th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>userId</code></td>\n<td>yes</td>\n<td><code>uuid</code></td>\n<td>The user id for which we need to remove it from the owners</td>\n</tr>\n<tr>\n<td><code>targetEntities</code></td>\n<td>yes</td>\n<td><code>[{entityId: uuid, entityType: TABLE or DASHBOARD or TERM }]</code></td>\n<td>The list containing the entityId entityType pair that we want to remove from the owners entities for the given user</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"mutation-output\"><strong>Mutation Output</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>type</th>\n<th><strong>description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td></td>\n<td><code>boolean</code></td>\n<td>True if the remove succeed</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"http","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"removeUserOwners"}],"variable":[]}},"response":[{"id":"7a02dbdb-8b8e-455d-8883-07e92c27c821","name":"Remove User Owners","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"http://api.castordoc.com/public/graphql?op=removeUserOwners","protocol":"http","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"removeUserOwners"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"x-request-id","value":"f02bcda9-b2e8-4316-a23c-ef474b890c18"},{"key":"content-type","value":"application/json"},{"key":"content-length","value":"343"},{"key":"Date","value":"Fri, 10 Nov 2023 10:43:17 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=72"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"removeUserOwners\": true\n  }\n}"}],"_postman_id":"0df876a0-45ee-4aa4-8183-558304ceedc0"},{"name":"Upsert User Owners","id":"4898625e-5946-444b-aaad-47428e3420cc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($data: OwnerInput!) {\n  upsertUserOwners(data: $data)\n}\n","variables":"{\"data\" :{\"userId\": \"257dc948-1a13-4f9e-8e70-68339256a7f3\", \n\"targetEntities\": [\n    {\"entityId\": \"42bf7abd-10d3-43e3-b594-7ccda7b1f02c\", \"entityType\": \"DASHBOARD\"}, \n    {\"entityId\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\", \"entityType\": \"TABLE\"},\n    {\"entityId\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\", \"entityType\": \"TERM\"}\n]}}"}},"url":"http://api.castordoc.com/public/graphql?op=upsertUserOwners","description":"<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>query</code> will allow you to add owner entities for a given user.</p>\n<h3 id=\"mutation-input\"><strong>Mutation input</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th><strong>required</strong></th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>userId</code></td>\n<td>yes</td>\n<td><code>uuid</code></td>\n<td>The user id for which we need to remove it from the owners</td>\n</tr>\n<tr>\n<td><code>targetEntities</code></td>\n<td>yes</td>\n<td><code>[{entityId: uuid, entityType: TABLE or DASHBOARD or TERM }]</code></td>\n<td>The list containing the entityId entityType pair that we want to remove from the owners entities for the given user</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"mutation-output\"><strong>Mutation Output</strong></h3>\n<p><code>ownerEntity</code> :</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th><strong>type</strong></th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>userId</code></td>\n<td><code>uuid</code></td>\n<td>The user who owns the current asset</td>\n</tr>\n<tr>\n<td><code>dashboardId</code></td>\n<td><code>uuid</code> or <code>null</code></td>\n<td>The owned dashboard id if the asset asset is a dashboard null else</td>\n</tr>\n<tr>\n<td><code>tableId</code></td>\n<td><code>uuid</code> or <code>null</code></td>\n<td>The owned table if the asset asset is a dashboard null else</td>\n</tr>\n<tr>\n<td><code>termId</code></td>\n<td><code>uuid</code> or <code>null</code></td>\n<td>The owned term id if the asset asset is a dashboard null else</td>\n</tr>\n</tbody>\n</table>\n</div><div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>type</th>\n<th><strong>description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>upsertUserOwners</code></td>\n<td><code>ownerEntity[]</code></td>\n<td>The list of user ownership</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"http","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"upsertUserOwners"}],"variable":[]}},"response":[{"id":"54f3743d-8a51-4438-b224-ff469ee06066","name":"Upsert User Owners","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"http://api.castordoc.com/public/graphql?op=upsertUserOwners","protocol":"http","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"upsertUserOwners"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"x-request-id","value":"f02bcda9-b2e8-4316-a23c-ef474b890c18"},{"key":"content-type","value":"application/json"},{"key":"content-length","value":"343"},{"key":"Date","value":"Fri, 10 Nov 2023 10:43:17 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=72"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"upsertUserOwners\": [\n      {\n        \"id\": \"8467b7b4-b40e-4da4-afad-6b58d13026f7\",\n        \"termId\": null,\n        \"tableId\": \"42bf7abd-10d3-43e3-b594-7ccda7b1f02c\",\n        \"dashboardId\": null\n      },\n      {\n        \"id\": \"5506a673-4012-4820-b3af-068b7ff5fce9\",\n        \"termId\": \"42bf7abd-10d3-43e3-b594-7ccda7b1f02c\",\n        \"tableId\": null,\n        \"dashboardId\": null\n      },\n\t\t\t{\n        \"id\": \"8467b7b4-b40e-4da4-afad-6b58d13026f7\",\n        \"termId\": null,\n        \"tableId\": null,\n        \"dashboardId\": \"42bf7abd-10d3-43e3-b594-7ccda7b1f02c\"\n\t    }\n    ]\n  }\n}"}],"_postman_id":"4898625e-5946-444b-aaad-47428e3420cc"}],"id":"6a405d5c-e46e-44a0-8033-0181ebc004a7","description":"<p>This will allow you to interact with user ownership</p>\n<ul>\n<li>Remove user owners</li>\n<li>Upsert user owners</li>\n</ul>\n","_postman_id":"6a405d5c-e46e-44a0-8033-0181ebc004a7"},{"name":"Team Owners","item":[{"name":"Remove Team Owners","id":"4e7f5bf9-ff48-4a4e-8940-772611101c76","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($data: TeamOwnerInput!) {\n  removeTeamOwners(data: $data)\n}\n","variables":"{\"data\": {\"teamId\": \"257dc948-1a13-4f9e-8e70-68339256a7f3\", \n\"targetEntities\": [\n    {\"entityId\": \"42bf7abd-10d3-43e3-b594-7ccda7b1f02c\", \"entityType\": \"DASHBOARD\"}, \n    {\"entityId\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\", \"entityType\": \"TABLE\"},\n    {\"entityId\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\", \"entityType\": \"TERM\"}\n]}}"}},"url":"http://api.castordoc.com/public/graphql?op=removeTeamOwners","description":"<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>query</code> will allow you to remove owner entities for a given team.</p>\n<h3 id=\"mutation-input\"><strong>Mutation input</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th><strong>required</strong></th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>team</code></td>\n<td>yes</td>\n<td><code>uuid</code></td>\n<td>The team id for which we need to remove it from the owners</td>\n</tr>\n<tr>\n<td><code>targetEntities</code></td>\n<td>yes</td>\n<td><code>[{entityId: uuid, entityType: TABLE or DASHBOARD or TERM }]</code></td>\n<td>The list containing the entityId entityType pair that we want to remove from the owners entities for the given team</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"mutation-output\"><strong>Mutation Output</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>type</th>\n<th><strong>description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td></td>\n<td><code>boolean</code></td>\n<td>True if the remove succeed</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"http","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"removeTeamOwners"}],"variable":[]}},"response":[{"id":"1decacbf-96c8-4ff3-98bd-b4f199310a0e","name":"Remove Team Owners","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"http://api.castordoc.com/public/graphql?op=removeUserOwners","protocol":"http","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"removeUserOwners"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"x-request-id","value":"f02bcda9-b2e8-4316-a23c-ef474b890c18"},{"key":"content-type","value":"application/json"},{"key":"content-length","value":"343"},{"key":"Date","value":"Fri, 10 Nov 2023 10:43:17 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=72"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"removeUserOwners\": true\n  }\n}"}],"_postman_id":"4e7f5bf9-ff48-4a4e-8940-772611101c76"},{"name":"Upsert Team Owners","id":"528b2fca-af34-4ba5-a4b7-d3878d286d6e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($data: TeamOwnerInput!) {\n  upsertTeamOwners(data: $data)\n}\n","variables":"{\"data\": {\"teamId\": \"257dc948-1a13-4f9e-8e70-68339256a7f3\", \n\"targetEntities\": [\n    {\"entityId\": \"42bf7abd-10d3-43e3-b594-7ccda7b1f02c\", \"entityType\": \"DASHBOARD\"}, \n    {\"entityId\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\", \"entityType\": \"TABLE\"},\n    {\"entityId\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\", \"entityType\": \"TERM\"}\n]}}"}},"url":"http://api.castordoc.com/public/graphql?op=upsertTeamOwners","description":"<h3 id=\"description\"><strong>Description</strong></h3>\n<p>This <code>query</code> will allow you to add owner entities for a given team.</p>\n<h3 id=\"mutation-input\"><strong>Mutation input</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th><strong>required</strong></th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>userId</code></td>\n<td>yes</td>\n<td><code>uuid</code></td>\n<td>The team id for which we need to remove it from the owners</td>\n</tr>\n<tr>\n<td><code>targetEntities</code></td>\n<td>yes</td>\n<td><code>[{entityId: uuid, entityType: TABLE or DASHBOARD or TERM }]</code></td>\n<td>The list containing the entityId entityType pair that we want to remove from the owners entities for the given team</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"mutation-output\"><strong>Mutation Output</strong></h3>\n<p><code>ownerEntity</code> :</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th><strong>type</strong></th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>teamId</code></td>\n<td><code>uuid</code></td>\n<td>The team who owns the current asset</td>\n</tr>\n<tr>\n<td><code>dashboardId</code></td>\n<td><code>uuid</code> or <code>null</code></td>\n<td>The owned dashboard id if the asset is a dashboard else null</td>\n</tr>\n<tr>\n<td><code>tableId</code></td>\n<td><code>uuid</code> or <code>null</code></td>\n<td>The owned table if the asset asset is a table else null</td>\n</tr>\n<tr>\n<td><code>termId</code></td>\n<td><code>uuid</code> or <code>null</code></td>\n<td>The owned term id if the asset asset is a term else null</td>\n</tr>\n</tbody>\n</table>\n</div><div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>type</th>\n<th><strong>description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>upsertUserOwners</code></td>\n<td><code>ownerEntity[]</code></td>\n<td>The list of user ownership</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"http","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"upsertTeamOwners"}],"variable":[]}},"response":[{"id":"83eee52c-3f0c-4482-83b2-4a777d819b09","name":"Upsert Team Owners","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"http://api.castordoc.com/public/graphql?op=upsertTeamOwners","protocol":"http","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"upsertTeamOwners"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"x-request-id","value":"f02bcda9-b2e8-4316-a23c-ef474b890c18"},{"key":"content-type","value":"application/json"},{"key":"content-length","value":"343"},{"key":"Date","value":"Fri, 10 Nov 2023 10:43:17 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=72"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"upsertTeamOwners\": [\n      {\n        \"id\": \"8467b7b4-b40e-4da4-afad-6b58d13026f7\",\n        \"termId\": null,\n        \"tableId\": \"42bf7abd-10d3-43e3-b594-7ccda7b1f02c\",\n        \"dashboardId\": null\n      },\n      {\n        \"id\": \"5506a673-4012-4820-b3af-068b7ff5fce9\",\n        \"termId\": \"42bf7abd-10d3-43e3-b594-7ccda7b1f02c\",\n        \"tableId\": null,\n        \"dashboardId\": null\n      },\n\t\t\t{\n        \"id\": \"8467b7b4-b40e-4da4-afad-6b58d13026f7\",\n        \"termId\": null,\n        \"tableId\": null,\n        \"dashboardId\": \"42bf7abd-10d3-43e3-b594-7ccda7b1f02c\"\n\t    }\n    ]\n  }\n}"}],"_postman_id":"528b2fca-af34-4ba5-a4b7-d3878d286d6e"}],"id":"6d4a1822-f7b1-4b9f-a504-ff6ddf0bcb71","description":"<p>This will allow you to interact with team ownership</p>\n<ul>\n<li><p>Remove team owners</p>\n</li>\n<li><p>Upsert team owners</p>\n</li>\n</ul>\n","_postman_id":"6d4a1822-f7b1-4b9f-a504-ff6ddf0bcb71"},{"name":"AI Assistant","item":[{"name":"Search Queries","id":"2fc52f89-24c5-4097-93a0-473031c40e72","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query {\n  searchQueries(\n    data: { question: \"How many customer do we have in your base?\" }\n  ) {\n    data {\n      tableIds\n      author {\n        name\n        email\n      }\n    }\n  }\n}\n","variables":""}},"url":"https://api.castordoc.com/public/graphql?op=searchQueries","description":"<h3 id=\"description\">Description</h3>\n<p>Retrieves top 10 queries that semantically match a given question.</p>\n<ul>\n<li><p>You can filter retrieved queries using the <code>scope</code> argument</p>\n</li>\n<li><p>The provided question can be translated to English (improve search accuracy)</p>\n</li>\n</ul>\n<h3 id=\"query-inputs\"><strong>Query inputs</strong></h3>\n<ul>\n<li><code>data</code></li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>question</code></td>\n<td>yes</td>\n<td><code>string</code></td>\n<td>Natural language question used to retrieve queries.  <br />  <br /><strong>Must be</strong>:  <br />- Less than 256 words  <br />- Less than 1024 characters</td>\n</tr>\n<tr>\n<td><code>translateQuestionToEnglish</code></td>\n<td>yenos</td>\n<td><code>boolean</code></td>\n<td>Enforce translation of the provided question to english. Can enhance results precision, however takes more time.  <br />  <br /><strong>When not specified</strong>: the question will be automatically translated if detected language is not English.</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li><code>scope</code></li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>filterMode</code></td>\n<td>no</td>\n<td><code>FilterTablesMode</code></td>\n<td>How filter should capture provided <code>tableIds</code> :  <br />- ALL : (<strong>default</strong>) all IDs must be used by retrieved queries  <br />- ANY : at least one ID must be used by retrieved queries</td>\n</tr>\n<tr>\n<td><code>tableIds</code></td>\n<td>yes</td>\n<td><code>uuid[]</code></td>\n<td>Filter queries which include the provided table IDs  <br /><strong>Max 10 IDs</strong></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"query-output\"><strong>Query output</strong></h3>\n<p>The query return an array of <code>SearchQueryResult</code> (<strong>10 max</strong>) including:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>author</code> (optional)</td>\n<td><code>SearchQueryResultAuthor</code></td>\n<td>Information (name and email) about query’s author</td>\n</tr>\n<tr>\n<td><code>query</code></td>\n<td><code>string</code></td>\n<td>Content of the query matching the question</td>\n</tr>\n<tr>\n<td><code>tableIds</code></td>\n<td><code>uuid[]</code></td>\n<td>Table IDs used by the query</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"searchQueries"}],"variable":[]}},"response":[{"id":"5bfd457e-8386-4813-9b3d-792873fea6ee","name":"Search Queries","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=searchQueries","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"searchQueries"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","name":"Content-Type","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"searchQueries\": {\n            \"data\": [\n                {\n                    \"query\": \"<...>\",\n                    \"tableIds\": [\n                        \"3852b774-b93f-4ea6-bcca-71825e486bf6\",\n                        \"42bf7abd-10d3-43e3-b594-7ccda7b1f02c\"\n                    ],\n                    \"author\": {\n                        \"name\": \"Assia Johnson\",\n                        \"email\": \"assia@timber.dev\"\n                    }\n                },\n                {\n                    \"query\": \"<...>\",\n                    \"tableIds\": [\n                        \"062fa77a-c80b-4d8d-ba46-bb022ba1f2bd\",\n                        \"3852b774-b93f-4ea6-bcca-71825e486bf6\",\n                        \"e93163e0-99ca-4709-a86a-2240e67bbf4d\"\n                    ],\n                    \"author\": null\n                },\n                {\n                    \"query\": \"<...>\",\n                    \"tableIds\": [\n                        \"062fa77a-c80b-4d8d-ba46-bb022ba1f2bd\",\n                        \"3852b774-b93f-4ea6-bcca-71825e486bf6\"\n                    ],\n                    \"author\": null\n                },\n                {\n                    \"query\": \"<...>\",\n                    \"tableIds\": [\n                        \"3852b774-b93f-4ea6-bcca-71825e486bf6\"\n                    ],\n                    \"author\": {\n                        \"name\": \"Assia Johnson\",\n                        \"email\": \"assia@timber.dev\"\n                    }\n                },\n                {\n                    \"query\": \"<...>\",\n                    \"tableIds\": [\n                        \"1e7ce62d-baea-4b2c-8b5a-837ebca2add6\",\n                        \"20c9cb03-46ed-4972-aa42-48d1c24481ee\",\n                        \"3852b774-b93f-4ea6-bcca-71825e486bf6\"\n                    ],\n                    \"author\": {\n                        \"name\": \"Vianney Robinson\",\n                        \"email\": null\n                    }\n                },\n                {\n                    \"query\": \"<...>\",\n                    \"tableIds\": [\n                        \"062fa77a-c80b-4d8d-ba46-bb022ba1f2bd\",\n                        \"1e7ce62d-baea-4b2c-8b5a-837ebca2add6\",\n                        \"20c9cb03-46ed-4972-aa42-48d1c24481ee\",\n                        \"3852b774-b93f-4ea6-bcca-71825e486bf6\",\n                        \"3a2b782e-0d49-4b61-8c21-9186ed8cedd8\"\n                    ],\n                    \"author\": {\n                        \"name\": null,\n                        \"email\": \"pomme@timber.dev\"\n                    }\n                },\n                {\n                    \"query\": \"<...>\",\n                    \"tableIds\": [\n                        \"062fa77a-c80b-4d8d-ba46-bb022ba1f2bd\",\n                        \"1e7ce62d-baea-4b2c-8b5a-837ebca2add6\",\n                        \"20c9cb03-46ed-4972-aa42-48d1c24481ee\",\n                        \"3852b774-b93f-4ea6-bcca-71825e486bf6\",\n                        \"3a2b782e-0d49-4b61-8c21-9186ed8cedd8\"\n                    ],\n                    \"author\": {\n                        \"name\": \"Vianney Robinson\",\n                        \"email\": \"vianney@timber.dev\"\n                    }\n                },\n                {\n                    \"query\": \"<...>\",\n                    \"tableIds\": [\n                        \"062fa77a-c80b-4d8d-ba46-bb022ba1f2bd\",\n                        \"3852b774-b93f-4ea6-bcca-71825e486bf6\",\n                        \"3a2b782e-0d49-4b61-8c21-9186ed8cedd8\"\n                    ],\n                    \"author\": {\n                        \"name\": \"Vianney Robinson\",\n                        \"email\": null\n                    }\n                },\n                {\n                    \"query\": \"<...>\",\n                    \"tableIds\": [\n                        \"1e7ce62d-baea-4b2c-8b5a-837ebca2add6\",\n                        \"3852b774-b93f-4ea6-bcca-71825e486bf6\",\n                        \"3a2b782e-0d49-4b61-8c21-9186ed8cedd8\"\n                    ],\n                    \"author\": {\n                        \"name\": \"Louis Smith\",\n                        \"email\": \"louis@timber.dev\"\n                    }\n                },\n                {\n                    \"query\": \"<...>\",\n                    \"tableIds\": [\n                        \"1e7ce62d-baea-4b2c-8b5a-837ebca2add6\",\n                        \"20c9cb03-46ed-4972-aa42-48d1c24481ee\",\n                        \"3852b774-b93f-4ea6-bcca-71825e486bf6\",\n                        \"5db34e99-5195-4289-9d60-f40f58dafebe\"\n                    ],\n                    \"author\": {\n                        \"name\": \"Thomas Williams\",\n                        \"email\": \"thomas@timber.dev\"\n                    }\n                }\n            ]\n        }\n    }\n}"},{"id":"eb0862e9-2deb-4177-a6b3-91dc2e11ae01","name":"Translate question","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=searchQueries","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"searchQueries"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","name":"Content-Type","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"searchQueries\": {\n            \"data\": [\n                {\n                    \"query\": \"<...>\",\n                    \"tableIds\": [\n                        \"3852b774-b93f-4ea6-bcca-71825e486bf6\",\n                        \"42bf7abd-10d3-43e3-b594-7ccda7b1f02c\"\n                    ],\n                    \"author\": {\n                        \"name\": \"Assia Johnson\",\n                        \"email\": \"assia@timber.dev\"\n                    }\n                },\n                {\n                    \"query\": \"<...>\",\n                    \"tableIds\": [\n                        \"062fa77a-c80b-4d8d-ba46-bb022ba1f2bd\",\n                        \"3852b774-b93f-4ea6-bcca-71825e486bf6\",\n                        \"e93163e0-99ca-4709-a86a-2240e67bbf4d\"\n                    ],\n                    \"author\": null\n                },\n                {\n                    \"query\": \"<...>\",\n                    \"tableIds\": [\n                        \"062fa77a-c80b-4d8d-ba46-bb022ba1f2bd\",\n                        \"3852b774-b93f-4ea6-bcca-71825e486bf6\"\n                    ],\n                    \"author\": null\n                },\n                {\n                    \"query\": \"<...>\",\n                    \"tableIds\": [\n                        \"3852b774-b93f-4ea6-bcca-71825e486bf6\"\n                    ],\n                    \"author\": {\n                        \"name\": \"Assia Johnson\",\n                        \"email\": \"assia@timber.dev\"\n                    }\n                },\n                {\n                    \"query\": \"<...>\",\n                    \"tableIds\": [\n                        \"1e7ce62d-baea-4b2c-8b5a-837ebca2add6\",\n                        \"20c9cb03-46ed-4972-aa42-48d1c24481ee\",\n                        \"3852b774-b93f-4ea6-bcca-71825e486bf6\"\n                    ],\n                    \"author\": {\n                        \"name\": \"Vianney Robinson\",\n                        \"email\": null\n                    }\n                },\n                {\n                    \"query\": \"<...>\",\n                    \"tableIds\": [\n                        \"062fa77a-c80b-4d8d-ba46-bb022ba1f2bd\",\n                        \"1e7ce62d-baea-4b2c-8b5a-837ebca2add6\",\n                        \"20c9cb03-46ed-4972-aa42-48d1c24481ee\",\n                        \"3852b774-b93f-4ea6-bcca-71825e486bf6\",\n                        \"3a2b782e-0d49-4b61-8c21-9186ed8cedd8\"\n                    ],\n                    \"author\": {\n                        \"name\": null,\n                        \"email\": \"pomme@timber.dev\"\n                    }\n                },\n                {\n                    \"query\": \"<...>\",\n                    \"tableIds\": [\n                        \"062fa77a-c80b-4d8d-ba46-bb022ba1f2bd\",\n                        \"1e7ce62d-baea-4b2c-8b5a-837ebca2add6\",\n                        \"20c9cb03-46ed-4972-aa42-48d1c24481ee\",\n                        \"3852b774-b93f-4ea6-bcca-71825e486bf6\",\n                        \"3a2b782e-0d49-4b61-8c21-9186ed8cedd8\"\n                    ],\n                    \"author\": {\n                        \"name\": \"Vianney Robinson\",\n                        \"email\": \"vianney@timber.dev\"\n                    }\n                },\n                {\n                    \"query\": \"<...>\",\n                    \"tableIds\": [\n                        \"062fa77a-c80b-4d8d-ba46-bb022ba1f2bd\",\n                        \"3852b774-b93f-4ea6-bcca-71825e486bf6\",\n                        \"3a2b782e-0d49-4b61-8c21-9186ed8cedd8\"\n                    ],\n                    \"author\": {\n                        \"name\": \"Vianney Robinson\",\n                        \"email\": null\n                    }\n                },\n                {\n                    \"query\": \"<...>\",\n                    \"tableIds\": [\n                        \"1e7ce62d-baea-4b2c-8b5a-837ebca2add6\",\n                        \"3852b774-b93f-4ea6-bcca-71825e486bf6\",\n                        \"3a2b782e-0d49-4b61-8c21-9186ed8cedd8\"\n                    ],\n                    \"author\": {\n                        \"name\": \"Louis Smith\",\n                        \"email\": \"louis@timber.dev\"\n                    }\n                },\n                {\n                    \"query\": \"<...>\",\n                    \"tableIds\": [\n                        \"1e7ce62d-baea-4b2c-8b5a-837ebca2add6\",\n                        \"20c9cb03-46ed-4972-aa42-48d1c24481ee\",\n                        \"3852b774-b93f-4ea6-bcca-71825e486bf6\",\n                        \"5db34e99-5195-4289-9d60-f40f58dafebe\"\n                    ],\n                    \"author\": {\n                        \"name\": \"Thomas Williams\",\n                        \"email\": \"thomas@timber.dev\"\n                    }\n                }\n            ]\n        }\n    }\n}"},{"id":"953fd450-8b5c-4501-a8bc-ec6a07757fdc","name":"Filter table IDs using ALL","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=searchQueries","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"searchQueries"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"searchQueries\": {\n            \"data\": [\n                {\n                    \"tableIds\": [\n                        \"1e7ce62d-baea-4b2c-8b5a-837ebca2add6\",\n                        \"20c9cb03-46ed-4972-aa42-48d1c24481ee\",\n                        \"3852b774-b93f-4ea6-bcca-71825e486bf6\",\n                        \"5db34e99-5195-4289-9d60-f40f58dafebe\"\n                    ],\n                    \"author\": {\n                        \"name\": \"Thomas Williams\",\n                        \"email\": \"thomas@timber.dev\"\n                    }\n                },\n                {\n                    \"tableIds\": [\n                        \"062fa77a-c80b-4d8d-ba46-bb022ba1f2bd\",\n                        \"1e7ce62d-baea-4b2c-8b5a-837ebca2add6\",\n                        \"20c9cb03-46ed-4972-aa42-48d1c24481ee\",\n                        \"3852b774-b93f-4ea6-bcca-71825e486bf6\",\n                        \"3a2b782e-0d49-4b61-8c21-9186ed8cedd8\",\n                        \"42bf7abd-10d3-43e3-b594-7ccda7b1f02c\",\n                        \"5db34e99-5195-4289-9d60-f40f58dafebe\",\n                        \"e93163e0-99ca-4709-a86a-2240e67bbf4d\"\n                    ],\n                    \"author\": {\n                        \"name\": \"Louis Smith\",\n                        \"email\": \"louis@timber.dev\"\n                    }\n                }\n            ]\n        }\n    }\n}"},{"id":"ea30ea39-78d1-475d-9e39-3929056431d8","name":"Filter table IDs using ANY","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=searchQueries","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"searchQueries"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","name":"Content-Type","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"searchQueries\": {\n            \"data\": [\n                {\n                    \"query\": \"<...>\",\n                    \"tableIds\": [\n                        \"1e7ce62d-baea-4b2c-8b5a-837ebca2add6\",\n                        \"20c9cb03-46ed-4972-aa42-48d1c24481ee\",\n                        \"3852b774-b93f-4ea6-bcca-71825e486bf6\",\n                        \"5db34e99-5195-4289-9d60-f40f58dafebe\"\n                    ]\n                },\n                {\n                    \"query\": \"<...>\",\n                    \"tableIds\": [\n                        \"062fa77a-c80b-4d8d-ba46-bb022ba1f2bd\",\n                        \"5db34e99-5195-4289-9d60-f40f58dafebe\"\n                    ]\n                },\n                {\n                    \"query\": \"<...>\",\n                    \"tableIds\": [\n                        \"062fa77a-c80b-4d8d-ba46-bb022ba1f2bd\",\n                        \"1e7ce62d-baea-4b2c-8b5a-837ebca2add6\",\n                        \"20c9cb03-46ed-4972-aa42-48d1c24481ee\",\n                        \"3852b774-b93f-4ea6-bcca-71825e486bf6\",\n                        \"3a2b782e-0d49-4b61-8c21-9186ed8cedd8\",\n                        \"42bf7abd-10d3-43e3-b594-7ccda7b1f02c\",\n                        \"5db34e99-5195-4289-9d60-f40f58dafebe\",\n                        \"e93163e0-99ca-4709-a86a-2240e67bbf4d\"\n                    ]\n                }\n            ]\n        }\n    }\n}"}],"_postman_id":"2fc52f89-24c5-4097-93a0-473031c40e72"},{"name":"Add AI Assistant Job","id":"da04101e-6fb7-4006-9c4f-ba6f15e67cdf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query {\n  addAiAssistantJob (\n    data: {\n      question: \"\"\n      email: \"\"\n      externalConversationId: \"\"\n    }\n  ){\n    data {\n      jobId\n    }\n  }\n}\n","variables":""}},"url":"https://api.castordoc.com/public/graphql?op=addAiAssistantJob","description":"<h3 id=\"description\">Description</h3>\n<p>Create a new AI Assistant job and receive a <code>jobId</code> in response. This <code>jobId</code> will be used later to retrieve the AI Assistant result.</p>\n<h3 id=\"query-inputs\"><strong>Query inputs</strong></h3>\n<ul>\n<li><code>data</code></li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>question</code></td>\n<td>yes</td>\n<td><code>string</code></td>\n<td>The question the user wants the AI Assistant to answer  <br />  <br /><strong>Must be</strong>:  <br />- Less than 10000 characters</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>yes</td>\n<td><code>string</code></td>\n<td>The user's email.  <br />A Catalog account is required to interact with the AI Assistant, if the user doesn't have one, an error will be raised</td>\n</tr>\n<tr>\n<td><code>externalConversationId</code></td>\n<td>yes</td>\n<td><code>string</code></td>\n<td>The external identifier acts as a unique key that links a conversation across multiple messages. This enables the AI Assistant to maintain continuity and reuse context, allowing it to deliver consistent and relevant responses throughout the conversation.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"query-output\"><strong>Query output</strong></h3>\n<p>The query return a job Id</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>jobId</td>\n<td><code>uuid</code></td>\n<td>The jobId to be used later when polling for the AI Assistant result</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"addAiAssistantJob"}],"variable":[]}},"response":[{"id":"82e60c50-33a5-44e4-89f6-886f68b46a76","name":"Add Assistant Job","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=addAiAssistantJob","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"addAiAssistantJob"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 17 Jun 2025 14:21:57 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept-Encoding"},{"key":"x-request-id","value":"b829e796b62c9bc37a9f445c8a4bba3e"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"Content-Encoding","value":"br"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"addAiAssistantJob\": {\n            \"data\": {\n                \"jobId\": \"5167b52d-1ae3-4803-879d-6359da43c4a5\"\n            }\n        }\n    }\n}"}],"_postman_id":"da04101e-6fb7-4006-9c4f-ba6f15e67cdf"},{"name":"Get AI Assistant Job Result","id":"796ba422-e04c-4839-94c0-1a0313c7fef8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query {\n  getAiAssistantJobResult (\n    data: {\n      id: \"6baf6f7e-d30f-4308-99dd-be26d8f9d858\"\n      delaySeconds: 5\n    }\n  ){\n    data {\n      status\n      answer\n      assets {\n        id\n        internalLink\n        name\n        url\n      }\n    }\n  }\n}\n","variables":""}},"url":"https://api.castordoc.com/public/graphql?op=getAiAssistantJobResult","description":"<h3 id=\"description\">Description</h3>\n<p>Retrieves the AI Assistant result using the jobId, including a built-in <code>delay</code> to support polling</p>\n<h3 id=\"query-inputs\"><strong>Query inputs</strong></h3>\n<ul>\n<li><code>data</code></li>\n</ul>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>required</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>id</code></td>\n<td>yes</td>\n<td><code>uuid</code></td>\n<td>The <code>jobId</code></td>\n</tr>\n<tr>\n<td><code>delaySeconds</code></td>\n<td>no</td>\n<td><code>number</code></td>\n<td>The delay (in seconds) before returning a result if the job isn’t finished. This helps simplify polling by adding a built-in <code>delay</code>.  <br />  <br /><strong>Must be:  <br />- max = 5</strong></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"query-output\"><strong>Query output</strong></h3>\n<p>The query return a Job result</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>property</th>\n<th>type</th>\n<th>description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>status</code></td>\n<td><code>JobStatus</code></td>\n<td>The job status:  <br />- added  <br />- active  <br />- completed  <br />- failed</td>\n</tr>\n<tr>\n<td><code>answer</code></td>\n<td><code>string</code></td>\n<td>The <code>answer</code> of the AI Assistant</td>\n</tr>\n<tr>\n<td><code>assets</code></td>\n<td><code>Asset[]</code></td>\n<td>The list of assets referenced to generate the answer. Each asset includes:  <br />- <code>id</code>  <br />- <code>name</code>  <br />- <code>internalLink</code> (link to the Catalog)  <br />- <code>url</code> (link to an the external platform)</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"getAiAssistantJobResult"}],"variable":[]}},"response":[{"id":"46c486e4-3c2c-4d27-9e1d-1c0a4f30e802","name":"Get Assistant Job Result","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getAiAssistantJobResult","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getAiAssistantJobResult"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 17 Jun 2025 14:51:40 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept-Encoding"},{"key":"x-request-id","value":"7a716c61032f17192eb71178482dcdc4"},{"key":"Strict-Transport-Security","value":"max-age=31536000; includeSubDomains"},{"key":"Content-Encoding","value":"br"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"data\": {\n        \"getAiAssistantJobResult\": {\n            \"data\": {\n                \"status\": \"completed\",\n                \"answer\": \"The Average Revenue Per Customer (ARPC) metric measures the average revenue generated per unique customer over a specific period. It is calculated using the formula:\\n\\n```\\nARPC = Total Sales Revenue (USD) / Number of Unique Customers\\n```\\n\\nWhere:\\n- **Total Sales Revenue (USD):** The sum of all sale prices within the selected period.\\n- **Number of Unique Customers:** The count of distinct customer IDs who made a purchase during the same period.\\n\\nThis metric provides insights into customer value, spending habits, and overall revenue efficiency. It is useful for identifying trends and informing strategies like upselling, cross-selling, and loyalty programs.\",\n                \"assets\": [\n                    {\n                        \"id\": \"a7847cbb-444e-4434-9c2e-5d98b8339c37\",\n                        \"internalLink\": \"https://app.castordoc.com/terms/-e9e1292b\",\n                        \"name\": \"Average Revenue Per Customer (ARPC)\",\n                        \"url\": \"\"\n                    }\n                ]\n            }\n        }\n    }\n}"}],"_postman_id":"796ba422-e04c-4839-94c0-1a0313c7fef8"}],"id":"0370b010-71d4-40b1-975b-d7d323316ea2","description":"<p>Catalog offers advanced AI capabilities that enable you to create custom AI tools.</p>\n","_postman_id":"0370b010-71d4-40b1-975b-d7d323316ea2"},{"name":"Data Product","item":[{"name":"Get Data Product","id":"8917c306-c3c8-4169-9a6d-be8ac01f4af3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query ($scope: GetDataProductScope, $sorting: [DataProductSorting!], $pagination: Pagination) {\n  getDataProducts(\n    scope: $scope\n    sorting: $sorting\n    pagination: $pagination\n  ) {\n    data {\n      id\n      coverUrl\n      termId\n      dashboardId\n      tableId\n      dashboard {\n        id\n        name\n        tagEntities{id, tag{id, label}}\n      }\n      term {\n        id\n        name\n        tagEntities{id, tag{id, label}}\n      }\n      table {\n        id\n        name\n        tagEntities{id, tag{id, label}}\n      }\n    }\n  }\n}","variables":"{\n  \"scope\": {\"withTagId\":\"96e5197b-bd17-4ba0-a2c8-51021fe52ec6\", \"entityType\": \"TABLE\" },\n  \"sorting\": {\"sortingKey\": \"tableName\"},\n  \"pagination\": {\"nbPerPage\": 2, \"page\": 0}\n}"}},"url":"https://api.castordoc.com/public/graphql?op=getDataProducts","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"getDataProducts"}],"variable":[]}},"response":[{"id":"e2caf784-e8c0-48f0-ae14-f76f1cd13a59","name":"Get Data Product No Scope","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query {\n  getDataProducts{\n    data {\n      id\n      coverUrl\n      termId\n      dashboardId\n      tableId\n      dashboard {\n        id\n        name\n        tagEntities{id, tag{id, label}}\n      }\n      term {\n        id\n        name\n        tagEntities{id, tag{id, label}}\n      }\n      table {\n        id\n        name\n        tagEntities{id, tag{id, label}}\n      }\n    }\n  }\n}","variables":""}},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getDataProducts","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getDataProducts"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n  \"data\": {\n    \"getDataProducts\": {\n      \"data\": [\n        {\n          \"id\": \"8d1a76df-d949-43de-be27-1fce78811e60\",\n          \"coverUrl\": null,\n          \"termId\": null,\n          \"dashboardId\": null,\n          \"tableId\": \"27f924f6-b702-4f0a-b254-deb1c201929d\",\n          \"dashboard\": null,\n          \"term\": null,\n          \"table\": {\n            \"id\": \"27f924f6-b702-4f0a-b254-deb1c201929d\",\n            \"name\": \"user\",\n            \"tagEntities\": [\n              {\n                \"id\": \"0b599d01-1db4-4303-ab9a-d03a760b40b4\",\n                \"tag\": {\n                  \"id\": \"12c36484-0794-4602-8e61-36734c38bd42\",\n                  \"label\": \"campaign #3\"\n                }\n              },\n              {\n                \"id\": \"4f0f52f9-8a05-49fd-bad1-8d1ca1380b01\",\n                \"tag\": {\n                  \"id\": \"96e5197b-bd17-4ba0-a2c8-51021fe52ec6\",\n                  \"label\": \"domain:marketing\"\n                }\n              }\n            ]\n          }\n        }\n      ]\n    }\n  }\n}"},{"id":"c26cc88a-c265-44fe-b71a-042eb07120b6","name":"Get Data Product With Scope","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query ($scope: GetDataProductScope, $sorting: [DataProductSorting!], $pagination: Pagination) {\n  getDataProducts(\n    scope: $scope\n    sorting: $sorting\n    pagination: $pagination\n  ) {\n    data {\n      id\n      coverUrl\n      termId\n      dashboardId\n      tableId\n      dashboard {\n        id\n        name\n        tagEntities{id, tag{id, label}}\n      }\n      term {\n        id\n        name\n        tagEntities{id, tag{id, label}}\n      }\n      table {\n        id\n        name\n        tagEntities{id, tag{id, label}}\n      }\n    }\n  }\n}","variables":"{\n  \"scope\": {\"withTagId\":\"96e5197b-bd17-4ba0-a2c8-51021fe52ec6\", \"entityType\": \"TABLE\" },\n  \"sorting\": {\"sortingKey\": \"tableName\"},\n  \"pagination\": {\"nbPerPage\": 2, \"page\": 0}\n}"}},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getDataProducts","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getDataProducts"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n  \"data\": {\n    \"getDataProducts\": {\n      \"data\": [\n        {\n          \"id\": \"8d1a76df-d949-43de-be27-1fce78811e60\",\n          \"coverUrl\": null,\n          \"termId\": null,\n          \"dashboardId\": null,\n          \"tableId\": \"27f924f6-b702-4f0a-b254-deb1c201929d\",\n          \"dashboard\": null,\n          \"term\": null,\n          \"table\": {\n            \"id\": \"27f924f6-b702-4f0a-b254-deb1c201929d\",\n            \"name\": \"user\",\n            \"tagEntities\": [\n              {\n                \"id\": \"0b599d01-1db4-4303-ab9a-d03a760b40b4\",\n                \"tag\": {\n                  \"id\": \"12c36484-0794-4602-8e61-36734c38bd42\",\n                  \"label\": \"campaign #3\"\n                }\n              },\n              {\n                \"id\": \"4f0f52f9-8a05-49fd-bad1-8d1ca1380b01\",\n                \"tag\": {\n                  \"id\": \"96e5197b-bd17-4ba0-a2c8-51021fe52ec6\",\n                  \"label\": \"domain:marketing\"\n                }\n              }\n            ]\n          }\n        }\n      ]\n    }\n  }\n}"}],"_postman_id":"8917c306-c3c8-4169-9a6d-be8ac01f4af3"}],"id":"f6999fd1-1554-477c-9b2a-38305a79b9a4","_postman_id":"f6999fd1-1554-477c-9b2a-38305a79b9a4","description":""},{"name":"Pinned Assets","item":[{"name":"Get Pinned Assets","id":"9b8ce3ca-abd2-4ccb-8961-de3c55886da6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query ($scope: GetEntitiesLinksScope, $sorting: [EntitiesLinkSorting!], $pagination: Pagination) {\n  getPinnedAssets(\n    scope: $scope\n    sorting: $sorting\n    pagination: $pagination\n  ) {\n    data {\n      fromDashboardId\n      fromDashboard {\n        id\n        source {\n          id\n        }\n      }\n      fromTableId\n      fromTable {\n        id\n        schema {\n          id\n          database {\n            id\n            warehouse {\n              id\n            }\n          }\n        }\n      }\n      fromTerm {\n        id\n        parentTerm {\n          id\n        }\n      }\n      toTable {\n        id\n        schema {\n          id\n          database {\n            id\n            warehouse {\n              id\n            }\n          }\n        }\n      }\n      toDashboard {\n        id\n        source {\n          id\n        }\n      }\n      toTerm {\n        id\n        name\n        parentTerm {\n          id\n        }\n      }\n      toColumn {\n        id\n        table {\n          schema {\n            database {\n              warehouse {\n                id\n              }\n            }\n          }\n        }\n      }\n      toDashboardField {\n        id\n        name\n        dashboard {\n          source {\n            id\n          }\n        }\n      }\n    }\n  }\n}","variables":"{\n    \"scope\": {\"fromTableId\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\"},\n    \"sorting\": {\"sortingKey\": \"createdAt\"},\n    \"pagination\": {\"nbPerPage\": 2, \"page\": 0}\n}"}},"url":"https://api.castordoc.com/public/graphql?op=getPinnedAssets","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"getPinnedAssets"}],"variable":[]}},"response":[{"id":"cee4b11f-1f92-480d-beba-e8f9cf01fe5f","name":"Get Pinned Assets","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"{\n  getPinnedAssets {\n    data {\n      fromDashboardId\n      fromDashboard {\n        id\n        source {\n          id\n        }\n      }\n      fromTableId\n      fromTable {\n        id\n        schema {\n          id\n          database {\n            id\n            warehouse {\n              id\n            }\n          }\n        }\n      }\n      fromTerm {\n        id\n        parentTerm {\n          id\n        }\n      }\n      toTable {\n        id\n        schema {\n          id\n          database {\n            id\n            warehouse {\n              id\n            }\n          }\n        }\n      }\n      toDashboard {\n        id\n        source {\n          id\n        }\n      }\n      toTerm {\n        id\n        name\n        parentTerm {\n          id\n        }\n      }\n      toColumn {\n        id\n        table {\n          schema {\n            database {\n              warehouse {\n                id\n              }\n            }\n          }\n        }\n      }\n      toDashboardField {\n        id\n        name\n        dashboard {\n          source {\n            id\n          }\n        }\n      }\n    }\n  }\n}","variables":""}},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getPinnedAssets","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getPinnedAssets"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"data\": {\n      \"getPinnedAssets\": {\n        \"data\": [\n          {\n            \"fromDashboardId\": null,\n            \"fromDashboard\": null,\n            \"fromTableId\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\",\n            \"fromTable\": {\n              \"id\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\",\n              \"schema\": {\n                \"id\": \"4b90cde0-e3fb-4aef-b884-37f4ff8c4218\",\n                \"database\": {\n                  \"id\": \"e113f5d2-78a8-47c8-834a-0c066b7ddaaf\",\n                  \"warehouse\": {\n                    \"id\": \"4223a393-3844-4b08-af15-599faa35e4c8\"\n                  }\n                }\n              }\n            },\n            \"fromTerm\": null,\n            \"toTable\": null,\n            \"toDashboard\": null,\n            \"toTerm\": null,\n            \"toColumn\": null,\n            \"toDashboardField\": {\n              \"id\": \"8064715f-d779-492f-8ba4-814266c91aad\",\n              \"name\": \"event_day_of_week_index\",\n              \"dashboard\": {\n                \"source\": {\n                  \"id\": \"524fdff7-b4fa-4f32-a47e-7cfc95847def\"\n                }\n              }\n            }\n          },\n          {\n            \"fromDashboardId\": null,\n            \"fromDashboard\": null,\n            \"fromTableId\": null,\n            \"fromTable\": null,\n            \"fromTerm\": {\n              \"id\": \"94bd596d-5949-4351-beb8-965bbf4f80b2\",\n              \"parentTerm\": null\n            },\n            \"toTable\": {\n              \"id\": \"de79f634-bef4-4d83-a8fe-2fe1daec199c\",\n              \"schema\": {\n                \"id\": \"4b90cde0-e3fb-4aef-b884-37f4ff8c4218\",\n                \"database\": {\n                  \"id\": \"e113f5d2-78a8-47c8-834a-0c066b7ddaaf\",\n                  \"warehouse\": {\n                    \"id\": \"4223a393-3844-4b08-af15-599faa35e4c8\"\n                  }\n                }\n              }\n            },\n            \"toDashboard\": null,\n            \"toTerm\": null,\n            \"toColumn\": null,\n            \"toDashboardField\": null\n          }\n        ]\n      }\n    }\n  }"},{"id":"cd8dae53-c5d6-424a-a5f7-d1399e5b57d3","name":"Get Pinned Assets With Scope","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query ($scope: GetEntitiesLinksScope, $sorting: [EntitiesLinkSorting!], $pagination: Pagination) {\n  getPinnedAssets(\n    scope: $scope\n    sorting: $sorting\n    pagination: $pagination\n  ) {\n    data {\n      fromDashboardId\n      fromDashboard {\n        id\n        source {\n          id\n        }\n      }\n      fromTableId\n      fromTable {\n        id\n        schema {\n          id\n          database {\n            id\n            warehouse {\n              id\n            }\n          }\n        }\n      }\n      fromTerm {\n        id\n        parentTerm {\n          id\n        }\n      }\n      toTable {\n        id\n        schema {\n          id\n          database {\n            id\n            warehouse {\n              id\n            }\n          }\n        }\n      }\n      toDashboard {\n        id\n        source {\n          id\n        }\n      }\n      toTerm {\n        id\n        name\n        parentTerm {\n          id\n        }\n      }\n      toColumn {\n        id\n        table {\n          schema {\n            database {\n              warehouse {\n                id\n              }\n            }\n          }\n        }\n      }\n      toDashboardField {\n        id\n        name\n        dashboard {\n          source {\n            id\n          }\n        }\n      }\n    }\n  }\n}","variables":"{\n    \"scope\": {\"fromTableId\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\"},\n    \"sorting\": {\"sortingKey\": \"createdAt\"},\n    \"pagination\": {\"nbPerPage\": 2, \"page\": 0}\n}"}},"url":{"raw":"https://api.castordoc.com/public/graphql?op=getPinnedAssets","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"getPinnedAssets"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n  \"data\": {\n    \"getPinnedAssets\": {\n      \"data\": [\n        {\n          \"fromDashboardId\": null,\n          \"fromDashboard\": null,\n          \"fromTableId\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\",\n          \"fromTable\": {\n            \"id\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\",\n            \"schema\": {\n              \"id\": \"4b90cde0-e3fb-4aef-b884-37f4ff8c4218\",\n              \"database\": {\n                \"id\": \"e113f5d2-78a8-47c8-834a-0c066b7ddaaf\",\n                \"warehouse\": {\n                  \"id\": \"4223a393-3844-4b08-af15-599faa35e4c8\"\n                }\n              }\n            }\n          },\n          \"fromTerm\": null,\n          \"toTable\": null,\n          \"toDashboard\": {\n            \"id\": \"cb5ef340-fc3f-4099-9bbe-31baeb5b4380\",\n            \"source\": {\n              \"id\": \"fdbe9163-213a-491d-9d08-34145b01e7b6\"\n            }\n          },\n          \"toTerm\": null,\n          \"toColumn\": null,\n          \"toDashboardField\": null\n        }\n      ]\n    }\n  }\n}"}],"_postman_id":"9b8ce3ca-abd2-4ccb-8961-de3c55886da6"},{"name":"Upsert Pinned Assets","id":"9fca9370-1623-41f0-9cc5-6cde99506cf0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($pinnedAsset: [EntitiesLinkInput!]!) {\n  upsertPinnedAssets(data: $pinnedAsset) {\n    fromDashboardId\n    fromDashboard {\n      id\n      source {\n        id\n      }\n    }\n    fromTableId\n    fromTable {\n      id\n      schema {\n        id\n        database {\n          id\n          warehouse {\n            id\n          }\n        }\n      }\n    }\n    fromTerm {\n      id\n      parentTerm {\n        id\n      }\n    }\n    toTable {\n      id\n      schema {\n        id\n        database {\n          id\n          warehouse {\n            id\n          }\n        }\n      }\n    }\n    toDashboard {\n      id\n      source {\n        id\n      }\n    }\n    toTerm {\n      id\n      name\n      parentTerm {\n        id\n      }\n    }\n    toColumn {\n      id\n      table {\n        schema {\n          database {\n            warehouse {\n              id\n            }\n          }\n        }\n      }\n    }\n    toDashboardField {\n      id\n      name\n      dashboard {\n        source {\n          id\n        }\n      }\n    }\n  }\n}","variables":"{\n  \"pinnedAsset\": [\n    {\"from\": {\"id\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\", \"type\": \"TABLE\"}, \"to\": {\"id\": \"74de041a-0534-4885-88f7-e20268f63e52\", \"type\": \"TABLE\"}},\n    {\"from\": {\"id\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\", \"type\": \"TABLE\"}, \"to\": {\"id\": \"cb5ef340-fc3f-4099-9bbe-31baeb5b4380\", \"type\": \"DASHBOARD\"}}\n    ]\n}"}},"url":"https://api.castordoc.com/public/graphql?op=upsertPinnedAssets","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"upsertPinnedAssets"}],"variable":[]}},"response":[{"id":"f99dcba6-79cf-4aff-a2e3-2db6f974c480","name":"Upsert Pinned Assets","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($pinnedAsset: [EntitiesLinkInput!]!) {\n  upsertPinnedAssets(data: $pinnedAsset) {\n    fromDashboardId\n    fromDashboard {\n      id\n      source {\n        id\n      }\n    }\n    fromTableId\n    fromTable {\n      id\n      schema {\n        id\n        database {\n          id\n          warehouse {\n            id\n          }\n        }\n      }\n    }\n    fromTerm {\n      id\n      parentTerm {\n        id\n      }\n    }\n    toTable {\n      id\n      schema {\n        id\n        database {\n          id\n          warehouse {\n            id\n          }\n        }\n      }\n    }\n    toDashboard {\n      id\n      source {\n        id\n      }\n    }\n    toTerm {\n      id\n      name\n      parentTerm {\n        id\n      }\n    }\n    toColumn {\n      id\n      table {\n        schema {\n          database {\n            warehouse {\n              id\n            }\n          }\n        }\n      }\n    }\n    toDashboardField {\n      id\n      name\n      dashboard {\n        source {\n          id\n        }\n      }\n    }\n  }\n}","variables":"{\n  \"pinnedAsset\": [\n    {\"from\": {\"id\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\", \"type\": \"TABLE\"}, \"to\": {\"id\": \"74de041a-0534-4885-88f7-e20268f63e52\", \"type\": \"TABLE\"}},\n    {\"from\": {\"id\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\", \"type\": \"TABLE\"}, \"to\": {\"id\": \"cb5ef340-fc3f-4099-9bbe-31baeb5b4380\", \"type\": \"DASHBOARD\"}}\n    ]\n}"}},"url":{"raw":"https://api.castordoc.com/public/graphql?op=upsertPinnedAssets","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"upsertPinnedAssets"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n  \"data\": {\n    \"upsertPinnedAssets\": [\n      {\n        \"fromDashboardId\": null,\n        \"fromDashboard\": null,\n        \"fromTableId\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\",\n        \"fromTable\": {\n          \"id\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\",\n          \"schema\": {\n            \"id\": \"4b90cde0-e3fb-4aef-b884-37f4ff8c4218\",\n            \"database\": {\n              \"id\": \"e113f5d2-78a8-47c8-834a-0c066b7ddaaf\",\n              \"warehouse\": {\n                \"id\": \"4223a393-3844-4b08-af15-599faa35e4c8\"\n              }\n            }\n          }\n        },\n        \"fromTerm\": null,\n        \"toTable\": {\n          \"id\": \"74de041a-0534-4885-88f7-e20268f63e52\",\n          \"schema\": {\n            \"id\": \"4b90cde0-e3fb-4aef-b884-37f4ff8c4218\",\n            \"database\": {\n              \"id\": \"e113f5d2-78a8-47c8-834a-0c066b7ddaaf\",\n              \"warehouse\": {\n                \"id\": \"4223a393-3844-4b08-af15-599faa35e4c8\"\n              }\n            }\n          }\n        },\n        \"toDashboard\": null,\n        \"toTerm\": null,\n        \"toColumn\": null,\n        \"toDashboardField\": null\n      },\n      {\n        \"fromDashboardId\": null,\n        \"fromDashboard\": null,\n        \"fromTableId\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\",\n        \"fromTable\": {\n          \"id\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\",\n          \"schema\": {\n            \"id\": \"4b90cde0-e3fb-4aef-b884-37f4ff8c4218\",\n            \"database\": {\n              \"id\": \"e113f5d2-78a8-47c8-834a-0c066b7ddaaf\",\n              \"warehouse\": {\n                \"id\": \"4223a393-3844-4b08-af15-599faa35e4c8\"\n              }\n            }\n          }\n        },\n        \"fromTerm\": null,\n        \"toTable\": null,\n        \"toDashboard\": {\n          \"id\": \"cb5ef340-fc3f-4099-9bbe-31baeb5b4380\",\n          \"source\": {\n            \"id\": \"fdbe9163-213a-491d-9d08-34145b01e7b6\"\n          }\n        },\n        \"toTerm\": null,\n        \"toColumn\": null,\n        \"toDashboardField\": null\n      }\n    ]\n  }\n}"}],"_postman_id":"9fca9370-1623-41f0-9cc5-6cde99506cf0"},{"name":"Remove Pinned Assets","id":"40dccd05-f1b8-4d24-8595-7cea64b2f87f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($pinnedAsset: [EntitiesLinkInput!]!) {\n  removePinnedAssets(data: $pinnedAsset)\n}","variables":"{\n  \"pinnedAsset\": [\n    {\"from\": {\"id\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\", \"type\": \"TABLE\"}, \"to\": {\"id\": \"74de041a-0534-4885-88f7-e20268f63e52\", \"type\": \"TABLE\"}},\n    {\"from\": {\"id\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\", \"type\": \"TABLE\"}, \"to\": {\"id\": \"cb5ef340-fc3f-4099-9bbe-31baeb5b4380\", \"type\": \"DASHBOARD\"}}\n    ]\n}"}},"url":"https://api.castordoc.com/public/graphql?op=removePinnedAssets","urlObject":{"protocol":"https","path":["public","graphql"],"host":["api","castordoc","com"],"query":[{"key":"op","value":"removePinnedAssets"}],"variable":[]}},"response":[{"id":"e2c284f7-a807-4000-b2e7-a1e5ac764ffa","name":"Remove Pinned Assets","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token <API_TOKEN>","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation ($pinnedAsset: [EntitiesLinkInput!]!) {\n  removePinnedAssets(data: $pinnedAsset)\n}","variables":"{\n  \"pinnedAsset\": [\n    {\"from\": {\"id\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\", \"type\": \"TABLE\"}, \"to\": {\"id\": \"74de041a-0534-4885-88f7-e20268f63e52\", \"type\": \"TABLE\"}},\n    {\"from\": {\"id\": \"a9c201aa-d8c2-4b12-aad5-dc4043ab7590\", \"type\": \"TABLE\"}, \"to\": {\"id\": \"cb5ef340-fc3f-4099-9bbe-31baeb5b4380\", \"type\": \"DASHBOARD\"}}\n    ]\n}"}},"url":{"raw":"https://api.castordoc.com/public/graphql?op=removePinnedAssets","protocol":"https","host":["api","castordoc","com"],"path":["public","graphql"],"query":[{"key":"op","value":"removePinnedAssets"}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n  \"data\": {\n    \"removePinnedAssets\": true\n  }\n}"}],"_postman_id":"40dccd05-f1b8-4d24-8595-7cea64b2f87f"}],"id":"9cd23ab5-26ca-4c2d-a42c-de663f0dabe9","_postman_id":"9cd23ab5-26ca-4c2d-a42c-de663f0dabe9","description":""}],"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":[""],"id":"33ece9e3-0371-43cf-8590-5e54713c0cd0"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"aaffb4f5-b3bd-4fa6-ba9a-65d0ad23986e"}}]}