<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Knowledge base Archives | XOAP</title>
	<atom:link href="https://dev.xoap.io/docs-category/knowledge-base/feed/" rel="self" type="application/rss+xml" />
	<link>https://dev.xoap.io/docs-category/knowledge-base/</link>
	<description>Platform for IT infrastructure and workplace automation</description>
	<lastBuildDate>Thu, 27 Nov 2025 08:58:21 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://dev.xoap.io/wp-content/uploads/2023/11/cropped-favicon-32x32.png</url>
	<title>Knowledge base Archives | XOAP</title>
	<link>https://dev.xoap.io/docs-category/knowledge-base/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>GraphQL UI</title>
		<link>https://dev.xoap.io/docs/graphql-ui/</link>
					<comments>https://dev.xoap.io/docs/graphql-ui/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Wed, 16 Jul 2025 09:21:51 +0000</pubDate>
				<guid isPermaLink="false">https://dev.xoap.io/?post_type=docs&#038;p=24578</guid>

					<description><![CDATA[<p>What is GraphQL UI? GraphQL UI&#160;is a powerful web-based interface (Banana Cake Pop, Nitro) for exploring and interacting with GraphQL APIs. It allows users to browse schemas, write queries, and test them live — all in a clean, developer-friendly environment. GraphQL UI URLs You can access the GraphQL UI for each environment here: https://api.dev.xoap.io/graphql/ui Create [&#8230;]</p>
<p>The post <a href="https://dev.xoap.io/docs/graphql-ui/">GraphQL UI</a> appeared first on <a href="https://dev.xoap.io">XOAP</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 class="wp-block-heading">What is GraphQL UI?</h1>



<p><strong>GraphQL UI</strong>&nbsp;is a powerful web-based interface (Banana Cake Pop, Nitro) for exploring and interacting with GraphQL APIs. It allows users to browse schemas, write queries, and test them live — all in a clean, developer-friendly environment.</p>



<h2 class="wp-block-heading">GraphQL UI URLs</h2>



<p>You can access the GraphQL UI for each environment here:</p>



<p><a href="https://api.dev.xoap.io/graphql/ui" target="_blank" rel="noreferrer noopener">https://api.dev.xoap.io/graphql/ui</a></p>



<h2 class="wp-block-heading">Create a New Document</h2>



<p>Once the GraphQL UI loads, click on the&nbsp;<strong>“Create Document”</strong>&nbsp;button to begin.</p>



<p>Note: If your browser blocks pop-ups, be sure to allow them when prompted.</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="742" height="693" src="https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-1.png" alt="Create document " class="wp-image-24579" srcset="https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-1.png 742w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-1-300x280.png 300w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-1-13x12.png 13w" sizes="(max-width: 742px) 100vw, 742px" /></figure>



<h2 class="wp-block-heading">Configure Authentication</h2>



<p>Before you can query the API, you’ll need to authenticate your session.</p>



<h2 class="wp-block-heading">Open Settings</h2>



<p>Click the&nbsp;<strong>Settings</strong>&nbsp;icon in the top-right corner to configure the connection. You’ll set both the endpoint and OAuth2 credentials.</p>



<h2 class="wp-block-heading">HTTP Endpoint</h2>



<p>Under the&nbsp;<strong>&#8220;HTTP Endpoint&#8221;</strong>&nbsp;section, enter the correct URL for your environment:</p>



<p><a href="https://api.dev.xoap.io/graphql" target="_blank" rel="noreferrer noopener">https://api.dev.xoap.io/graphql</a></p>



<figure class="wp-block-image size-full"><img decoding="async" width="527" height="435" src="https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-2.png" alt="Add HTTP endpoint" class="wp-image-24580" srcset="https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-2.png 527w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-2-300x248.png 300w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-2-15x12.png 15w" sizes="(max-width: 527px) 100vw, 527px" /></figure>



<h2 class="wp-block-heading">Authorization Setup (OAuth2)</h2>



<p>Under the&nbsp;<strong>&#8220;Authorization&#8221;</strong>&nbsp;section, configure the following:</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td>Field</td><td>Value</td></tr><tr><td>Type</td><td>OAuth 2</td></tr><tr><td>Grant Type</td><td>Authorization Code</td></tr><tr><td>Authorization URL</td><td><a href="https://auth.dev.xoap.io/auth/realms/my.dev.dev.xoap.io/protocol/openid-connect/auth" target="_blank" rel="noreferrer noopener">https://auth.dev.xoap.io/auth/realms/my.dev.xoap.io/protocol/openid-connect/auth</a></td></tr><tr><td>Access Token URL</td><td><a href="https://auth.dev.xoap.io/auth/realms/my.dev.xoap.io/protocol/openid-connect/token">https://auth.dev.xoap.io/auth/realms/my.dev.xoap.io/protocol/openid-connect/token</a></td></tr><tr><td>Client ID</td><td>graphql</td></tr><tr><td>Use PKCE</td><td><img src="https://s.w.org/images/core/emoji/15.0.3/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Yes</td></tr><tr><td>Code Challenge Method</td><td>SHA-256</td></tr><tr><td>Redirect URL</td><td><a href="https://api.dev.xoap.io/graphql/ui/" target="_blank" rel="noreferrer noopener">https://api.dev.xoap.io/graphql/ui/</a></td></tr><tr><td>Scope</td><td>email profile roles web-origins</td></tr><tr><td>Credentials</td><td>As Basic Auth Header (default)&nbsp;</td></tr></tbody></table></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="514" height="437" src="https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-3.png" alt="Authorization, part one" class="wp-image-24581" srcset="https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-3.png 514w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-3-300x255.png 300w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-3-14x12.png 14w" sizes="(max-width: 514px) 100vw, 514px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="515" height="436" src="https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-4.png" alt="Authorization, part two" class="wp-image-24582" srcset="https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-4.png 515w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-4-300x254.png 300w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-4-14x12.png 14w" sizes="(max-width: 515px) 100vw, 515px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="518" height="433" src="https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-5.png" alt="Authorization, part three" class="wp-image-24583" srcset="https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-5.png 518w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-5-300x251.png 300w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-5-14x12.png 14w" sizes="(max-width: 518px) 100vw, 518px" /></figure>



<h2 class="wp-block-heading">Authenticate &amp; Apply</h2>



<ol class="wp-block-list">
<li>Click the&nbsp;<strong>Fetch</strong>&nbsp;button.</li>



<li>You will be redirected to the&nbsp;<strong>XOAP login page</strong>.</li>



<li>Enter your credentials.</li>



<li>Once authenticated, you’ll be redirected back to the GraphQL UI.</li>



<li>Click&nbsp;<strong>“Apply”</strong>&nbsp;to confirm the token — it will be added to your request headers.</li>
</ol>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="94" src="https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-6-1024x94.png" alt="HTTP headers" class="wp-image-24584" srcset="https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-6-1024x94.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-6-300x28.png 300w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-6-768x70.png 768w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-6-18x2.png 18w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-6.png 1264w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">Add Tenant Header</h2>



<p>As with Swagger, the API requires a&nbsp;<strong>Tenant ID</strong>&nbsp;to be passed in the headers.</p>



<p>We’ll cover how to set this header next.</p>



<h2 class="wp-block-heading">Add the Tenant Header</h2>



<p>In order for your API calls to be accepted, you must include a valid&nbsp;<strong>Tenant ID</strong>&nbsp;in the request headers.</p>



<p>This step is required — our API uses the&nbsp;Tenant&nbsp;header to identify the workspace making the request. Tenant ID (also referenced as Workspace ID in some cases) can be obtained from&nbsp;<a href="http://app.dev.xoap.io/" target="_blank" rel="noreferrer noopener">app.dev.xoap.io</a>&nbsp;&nbsp;dashboard as shown here:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="513" src="https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-7-1024x513.png" alt="Tenant ID in XOAP" class="wp-image-24585" srcset="https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-7-1024x513.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-7-300x150.png 300w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-7-768x385.png 768w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-7-1536x769.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-7-18x9.png 18w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-7.png 1757w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>To do this:</p>



<ol class="wp-block-list">
<li>Scroll to the&nbsp;<strong>bottom-left</strong>&nbsp;HTTP Headers area of the GraphQL UI (below the authentication token section).</li>



<li>Click on&nbsp;<strong>“Header”</strong>.</li>



<li>Enter the following values:</li>
</ol>



<ul class="wp-block-list">
<li><strong>Name</strong>:&nbsp;Tenant</li>



<li><strong>Value</strong>:&nbsp;<em>Your Tenant ID</em></li>
</ul>



<p>This header is required for all authenticated requests to be valid.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="135" src="https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-8-1024x135.png" alt="Enable tenant" class="wp-image-24586" srcset="https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-8-1024x135.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-8-300x40.png 300w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-8-768x101.png 768w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-8-18x2.png 18w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-8.png 1249w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Once added, the&nbsp;Tenant&nbsp;header will be included in all future GraphQL requests sent from the UI.</p>



<h2 class="wp-block-heading">Load the Schema</h2>



<p>Once authenticated and the headers are set, you need to&nbsp;<strong>load the schema</strong>&nbsp;so the UI can provide query assistance and autocompletion.</p>



<p>You can do this by either:</p>



<ul class="wp-block-list">
<li>Pressing&nbsp;Ctrl + Alt + R</li>



<li>Clicking the&nbsp;<strong>Reload Schema</strong>&nbsp;button in the UI</li>
</ul>



<p>This will fetch the full schema from the server and enable features like field suggestions, type info, and validation.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="243" src="https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-9-1024x243.png" alt="Load schema" class="wp-image-24587" srcset="https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-9-1024x243.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-9-300x71.png 300w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-9-768x182.png 768w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-9-1536x365.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-9-2048x486.png 2048w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-9-18x4.png 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>After the schema loads, try typing a query — the UI will provide IntelliSense-style suggestions based on the available types and fields.</p>



<h2 class="wp-block-heading">Run a Test Query</h2>



<p>Now you’re ready to write and execute GraphQL queries.</p>



<ul class="wp-block-list">
<li>Use the editor panel to enter your query.</li>



<li>Click the&nbsp;<strong>Run</strong>&nbsp;(<img src="https://s.w.org/images/core/emoji/15.0.3/72x72/25b6.png" alt="▶" class="wp-smiley" style="height: 1em; max-height: 1em;" />) button or press&nbsp;Ctrl + Enter&nbsp;to execute.</li>



<li>The response will be shown in the right-hand panel.</li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="590" src="https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-10-1024x590.png" alt="Run test query" class="wp-image-24588" srcset="https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-10-1024x590.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-10-300x173.png 300w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-10-768x442.png 768w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-10-1536x885.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-10-2048x1180.png 2048w, https://dev.xoap.io/wp-content/uploads/2025/07/graphql-ui-10-18x10.png 18w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>This is a great way to:</p>



<ul class="wp-block-list">
<li>Explore the API without needing frontend access</li>



<li>Quickly test custom queries or troubleshoot issues</li>



<li>Copy working queries into your own scripts or tools</li>
</ul>



<p>You’ve now completed setup and successfully tested the XOAP GraphQL API.</p>



<p><em>Optional: You can now combine this with <a href="https://dev.xoap.io/docs/api-access-documentation-swagger/" target="_blank" rel="noreferrer noopener">Swagger UI </a>for complete REST + GraphQL coverage in your development or automation setup.</em></p>
<p>The post <a href="https://dev.xoap.io/docs/graphql-ui/">GraphQL UI</a> appeared first on <a href="https://dev.xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dev.xoap.io/docs/graphql-ui/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>API access documentation (Swagger)</title>
		<link>https://dev.xoap.io/docs/api-access-documentation-swagger/</link>
					<comments>https://dev.xoap.io/docs/api-access-documentation-swagger/#respond</comments>
		
		<dc:creator><![CDATA[Stella]]></dc:creator>
		<pubDate>Wed, 16 Jul 2025 08:54:58 +0000</pubDate>
				<guid isPermaLink="false">https://dev.xoap.io/?post_type=docs&#038;p=24567</guid>

					<description><![CDATA[<p>What is Swagger? Swagger UI is an interactive documentation tool for REST APIs. It allows users to explore available endpoints, see required parameters, and test API calls directly from the browser — without writing any code.What is it used for? Why is it useful? Swagger URLs You can access the Swagger UI below:https://api.dev.xoap.io/swagger/index.html Authenticating in [&#8230;]</p>
<p>The post <a href="https://dev.xoap.io/docs/api-access-documentation-swagger/">API access documentation (Swagger)</a> appeared first on <a href="https://dev.xoap.io">XOAP</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">What is Swagger?</h2>



<p>Swagger UI is an interactive documentation tool for REST APIs. It allows users to explore available endpoints, see required parameters, and test API calls directly from the browser — without writing any code.<br>What is it used for?</p>



<ul class="wp-block-list">
<li>Viewing available API endpoints and their request/response structures</li>



<li>Understanding how to call the API (e.g., required headers, query params)</li>



<li>Testing endpoints in real-time with actual data</li>



<li>Getting auto-generated curl and request examples</li>
</ul>



<h2 class="wp-block-heading">Why is it useful?</h2>



<ul class="wp-block-list">
<li>No frontend required: Backend developers, QA engineers, or integration partners can test APIs even if the frontend isn’t available yet.</li>



<li>Script-friendly: You can test an API call in Swagger, then use the same request format in tools like Postman, curl, or scripts (e.g., Python, PowerShell).</li>
</ul>



<h2 class="wp-block-heading">Swagger URLs</h2>



<p>You can access the Swagger UI below:<br><a href="https://api.dev.xoap.io/swagger/index.html" target="_blank" rel="noreferrer noopener">https://api.dev.xoap.io/swagger/index.html</a></p>



<h2 class="wp-block-heading">Authenticating in Swagger UI</h2>



<p>Once you&#8217;re on the Swagger UI page, follow these steps to authenticate and gain access to protected endpoints.</p>



<h2 class="wp-block-heading">Select the API Server</h2>



<p>At the top of the Swagger UI, there’s a dropdown menu to select the API server.<br>Choose the option usually labeled: XOAP API SSL</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="344" src="https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-1-1024x344.png" alt="Select API server" class="wp-image-24569" srcset="https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-1-1024x344.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-1-300x101.png 300w, https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-1-768x258.png 768w, https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-1-1536x515.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-1-18x6.png 18w, https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-1.png 1538w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Click the&nbsp;<strong>Authorize</strong>&nbsp;button near the top right of the page. This opens a popup containing two sections:</p>



<ul class="wp-block-list">
<li><strong>OAuth2 Authorization</strong></li>



<li><strong>Tenant (apiKey) Header</strong></li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="162" src="https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-2-1024x162.png" alt="" class="wp-image-24570" srcset="https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-2-1024x162.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-2-300x47.png 300w, https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-2-768x121.png 768w, https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-2-18x3.png 18w, https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-2.png 1363w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Under the&nbsp;<strong>OAuth2</strong>&nbsp;section:</p>



<ol class="wp-block-list">
<li>Click the&nbsp;Authorize&nbsp;button.</li>



<li>You’ll be redirected to the&nbsp;<strong>XOAP login page</strong>.</li>



<li>Enter your&nbsp;<strong>username and password</strong>.</li>



<li>Upon successful login, you’ll be redirected back to Swagger, and the&nbsp;<strong>Authorization header</strong>&nbsp;will be automatically included in all requests.</li>
</ol>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="672" src="https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-3-1024x672.png" alt="Authorize header" class="wp-image-24571" srcset="https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-3-1024x672.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-3-300x197.png 300w, https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-3-768x504.png 768w, https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-3-18x12.png 18w, https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-3.png 1499w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Below the OAuth2 section, there&#8217;s a field for setting the&nbsp;Tenant&nbsp;header:</p>



<ul class="wp-block-list">
<li>Paste your&nbsp;<strong>Tenant ID</strong>&nbsp;into the input box.</li>



<li>Click the&nbsp;<strong>Authorize</strong>&nbsp;button next to it.</li>
</ul>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="622" height="612" src="https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-4.png" alt="Paste Tenant ID" class="wp-image-24572" style="width:1200px;height:auto" srcset="https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-4.png 622w, https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-4-300x295.png 300w, https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-4-12x12.png 12w" sizes="(max-width: 622px) 100vw, 622px" /></figure>



<p>This step is required — our API uses the Tenant header to identify the workspace making the request. Tenant ID (also referenced as Workspace ID in some cases) can be obtained from <a href="http://app.dev.xoap.io/">app.dev.xoap.io</a>  dashboard as shown here:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="513" src="https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-5-1024x513.png" alt="Workspace ID in XOAP" class="wp-image-24573" srcset="https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-5-1024x513.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-5-300x150.png 300w, https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-5-768x385.png 768w, https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-5-1536x769.png 1536w, https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-5-18x9.png 18w, https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-5.png 1757w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>Once both authorizations are complete:</p>



<ul class="wp-block-list">
<li>The UI will show&nbsp;<strong>green checkmarks</strong>.</li>



<li>You can now&nbsp;<strong>click &#8220;Close&#8221;</strong>&nbsp;on the authorization dialog.</li>



<li>All your requests will now include the correct&nbsp;Authorization&nbsp;and&nbsp;Tenant&nbsp;headers.</li>
</ul>



<p>You’re now ready to start using the authenticated API in Swagger!</p>



<h2 class="wp-block-heading">Testing an API Endpoint</h2>



<p>Once authenticated, you&#8217;re ready to start exploring and testing the API. Find any available endpoint from the list (e.g., under a tag like&nbsp;Devices,&nbsp;Users, etc.), expand it, and click the&nbsp;<strong>&#8220;Try it out&#8221;</strong>&nbsp;button. After entering any required parameters (path, query, or body), click&nbsp;<strong>&#8220;Execute&#8221;</strong>.</p>



<p>Swagger will show both the&nbsp;<strong>request</strong>&nbsp;sent and the&nbsp;<strong>response</strong>&nbsp;received from the server.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="858" src="https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-6-1024x858.png" alt="Test endpoints" class="wp-image-24574" srcset="https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-6-1024x858.png 1024w, https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-6-300x251.png 300w, https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-6-768x644.png 768w, https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-6-14x12.png 14w, https://dev.xoap.io/wp-content/uploads/2025/07/swagger-ui-6.png 1458w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">What you’ll see:</h2>



<ul class="wp-block-list">
<li>The full request URL</li>



<li>Headers (including Authorization and Tenant)</li>



<li>Request body (if applicable)</li>



<li>HTTP response status (e.g., 200 OK, 401 Unauthorized)</li>



<li>JSON response body from the API</li>
</ul>



<p>This is a great way to verify that your credentials are working and to understand the structure of requests and responses before integrating into a script or application.</p>



<p>Now that you’ve tested the REST API in Swagger UI, you’re ready to integrate those calls into your own tools and workflows — whether via Postman,&nbsp;curl, or custom scripts.</p>



<p>This enables advanced users to experiment, test, and build their own automation or integration scripts using both API styles as needed.</p>
<p>The post <a href="https://dev.xoap.io/docs/api-access-documentation-swagger/">API access documentation (Swagger)</a> appeared first on <a href="https://dev.xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dev.xoap.io/docs/api-access-documentation-swagger/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>What you can do with GraphQL</title>
		<link>https://dev.xoap.io/docs/what-you-can-do-with-graphql/</link>
					<comments>https://dev.xoap.io/docs/what-you-can-do-with-graphql/#respond</comments>
		
		<dc:creator><![CDATA[Dora]]></dc:creator>
		<pubDate>Tue, 25 Nov 2025 12:43:11 +0000</pubDate>
				<guid isPermaLink="false">https://dev.xoap.io/?post_type=docs&#038;p=27229</guid>

					<description><![CDATA[<p>Once the GraphQL schema is successfully loaded and an API connection is established, you can execute various queries to retrieve data from your environment. One practical use case is retrieving a full list of installed applications across all managed systems. This list includes applications installed via XOAP or by other means. Get a list of [&#8230;]</p>
<p>The post <a href="https://dev.xoap.io/docs/what-you-can-do-with-graphql/">What you can do with GraphQL</a> appeared first on <a href="https://dev.xoap.io">XOAP</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Once the <strong><a href="https://dev.xoap.io/docs/graphql-ui/" target="_blank" rel="noreferrer noopener">GraphQL schema</a></strong> is successfully loaded and an <strong><a href="https://dev.xoap.io/docs/api-access-documentation-swagger/" target="_blank" rel="noreferrer noopener">API connection</a></strong> is established, you can <strong>execute various queries to retrieve data from your environment</strong>. One practical use case is retrieving <strong>a</strong> <strong>full list of installed applications </strong>across all managed systems. This list includes applications installed via XOAP or by other means.</p>



<h2 class="wp-block-heading">Get a list of all applications installed on your nodes</h2>



<p>The following GraphQL query returns a<strong> list of all applications</strong> installed across all nodes (systems) in your environment:</p>



<pre class="wp-block-code"><code><code>query NodesWithSoftware($skip: Int = 0, $take: Int = 500) {
  configMngt_Nodes(skip: $skip, take: $take) {
    totalCount
    pageInfo { hasNextPage }
    items {
      id
      nodeName
      lastSystem {
        software {
          displayName
          displayVersion
          publisher
        }
      }
    }
  }}</code></code></pre>



<figure class="wp-block-image size-full"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2025/11/graphql-what-you-can-do-xoap-example.png" alt="GraphQL | XOAP | What you can do | Example | Get a list of all installed applications on your systems" class="wp-image-27230"/></figure>



<p><strong>Notes:</strong> <br>• If you are managing more than 500 nodes, increase the value of <code>$take</code> accordingly. <br>• Pagination is supported using <code>skip</code> and <code>hasNextPage</code>.</p>



<h2 class="wp-block-heading">Get a list of all applications available in XOAP&#8217;s Application Management module</h2>



<p>This is useful for <strong>reporting</strong>, <strong>validation</strong>, or automation tasks involving <strong>application definitions</strong>. You can use the following GraphQL query for this:</p>



<pre class="wp-block-code"><code>query ListAllApplications($skip: Int = 0, $take: Int = 100) {
  appMngt_Applications(skip: $skip, take: $take) {
    totalCount
    pageInfo { hasNextPage }
    items {
      id
      name
      vendor
      version
      packageName
      operatingSystem
      architecture
      language
      createdAt
      updatedAt
    }
  }
}</code></pre>



<p>This query also returns the <strong>metadata</strong> for all applications, including details like vendor, version, target OS, and architecture.</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2025/11/graphql-what-you-can-do-xoap-example-2.png" alt="GraphQL | XOAP | What you can do | Example | Get a list of all applications available in Application Management" class="wp-image-27231"/></figure>



<p><strong>Notes:</strong> <br>• You can increase the <code>$take</code> value if more than 100 applications are expected. <br>• Use the <code>hasNextPage</code> field to implement pagination if needed.</p>



<h2 class="wp-block-heading">Get a list of all systems from a specific hardware manufacturer</h2>



<p>This query allows you to retrieve all nodes from a specific manufacturer (<strong>e.g., Lenovo</strong>) registered within your XOAP workspace. <br><br>This can be useful for<strong> inventory audits</strong>, <strong>hardware lifecycle management</strong>, or <strong>vendor-specific patching and compliance activities</strong>. Use the following GraphQL query:</p>



<pre class="wp-block-code"><code><code>query LenovoFlatNodes($skip: Int = 0, $take: Int = 5) {
  configMngt_FlatNodes(
    skip: $skip
    take: $take
    where: { csManufacturer: { eq: "LENOVO" } }
    order: &#91;{ nodeName: ASC }]
  ) {
    totalCount
    pageInfo { hasNextPage }
    items {
      id
      nodeName
      csManufacturer
      csModel
      osName
      osVersion
    }
  }
}</code></code></pre>



<figure class="wp-block-image size-full"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2025/11/graphql-what-you-can-do-xoap-example-3.png" alt="GraphQL | XOAP | What you can do | Example | Get a list of all systems from a specific hardware manufacturer" class="wp-image-27233"/></figure>



<p><strong>Notes: </strong><br>• Manufacturer Name is case-sensitive. <br>• To filter for a different vendor (e.g., HP, DELL), change the value of <code>csManufacturer: { eq: "..." }</code> accordingly. <br>• Increase the <code>$take</code> value to retrieve more records or implement pagination using the <code>hasNextPage</code> field. <br>• This example sorts results by <code>nodeName</code> in ascending order.</p>



<h2 class="wp-block-heading">How to know what you can query</h2>



<p>XOAP collects a vast amount of data from your nodes, along with additional metadata from your workspace. With such a large data set, it can be difficult to determine which fields are available for querying.</p>



<p>The most effective way to explore available query options is by reviewing the <strong>SDL (Schema Definition Language)</strong>. The SDL provides a complete overview of all objects, fields, and types that can be queried via GraphQL.</p>



<p><strong>By inspecting the SDL, you can:</strong></p>



<ul class="wp-block-list">
<li>Discover all available data structures</li>



<li>Identify relationships between entities</li>



<li>Understand the full potential of GraphQL queries within XOAP</li>
</ul>



<p>This approach ensures you&#8217;re not limited by predefined queries and can fully leverage the data collected in your environment.</p>



<figure class="wp-block-image size-full"><img decoding="async" src="https://dev.xoap.io/wp-content/uploads/2025/11/graphql-what-you-can-do-xoap-example-4.png" alt="GraphQL | XOAP | What you can do | Example | How to know what you can query" class="wp-image-27235"/></figure>



<h2 class="wp-block-heading">Need more queries or want to add your own?</h2>



<p>The <a href="https://github.com/xoap-io/queries" target="_blank" rel="noreferrer noopener">github.com/xoap-io/queries</a> repository is your <strong>go‑to collection of reusable GraphQL queries</strong> tailored for hardware and application management within XOAP and related platforms. <br><br><strong>How to use it:</strong><br><br>1. Navigate to the <code>applications/</code> or <code>hardware/</code> folders.<br>2. Copy the relevant <code>.graphql</code> file into your API or GraphQL client.<br>3. Adjust parameters as needed to fit your environment.</p>



<p><em>Under the MIT License and with zero stars or forks so far, this project is still blossoming. We highly welcome your contributions—whether it’s by submitting issues, enhancing queries, or opening pull requests to enrich this shared resource. Let’s grow together! <img src="https://s.w.org/images/core/emoji/15.0.3/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" /></em></p>



<p></p>
<p>The post <a href="https://dev.xoap.io/docs/what-you-can-do-with-graphql/">What you can do with GraphQL</a> appeared first on <a href="https://dev.xoap.io">XOAP</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dev.xoap.io/docs/what-you-can-do-with-graphql/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
