{"title":"Getting Started with DX Portal and APIs","html":"<p>This guide provides an overview of how to access, authenticate, and consume APIs through the DXM<br>platform.</p><h2 id=\"overview\">Overview</h2><p>The DXM platform provides a centralized interface for working with APIs across Digital Realty<br>services. The <strong>DX Portal</strong> serves as the primary entry point to:</p><ul><li>Discover available APIs</li><li>Review API documentation</li><li>Test endpoints using Swagger UI</li><li>Retrieve credentials for integration</li></ul><p>All API requests are executed through the <strong>DXM Gateway</strong>, which enforces authentication and<br>authorization.</p><hr><h2 id=\"step-1-explore-apis-in-dx-portal\">Step 1: Explore APIs in DX Portal</h2><p>The <strong>API section in the DX Portal</strong> provides access to all available APIs. It enables:</p><ul><li>Browsing APIs and their specifications (OpenAPI)</li><li>Reviewing endpoints, parameters, and request/response formats</li><li>Identifying required authentication methods</li><li>Testing endpoints directly via Swagger UI</li></ul><p>Each API specification includes details about required credentials and supported environments.</p><h3 id=\"testing-apis-via-swagger-ui\">Testing APIs via Swagger UI</h3><p>Each API can be tested directly from the portal using the built-in <strong>Swagger UI</strong>, without any<br>external tooling.</p><p>The presence of an <strong>Authorize</strong> button in Swagger UI indicates whether the API requires<br>authentication:</p><ul><li><strong>Authorize button is present</strong>: The API is protected. Click <strong>Authorize</strong>, paste your access<br>token, and all subsequent requests made from Swagger UI will include it automatically.</li><li><strong>No Authorize button</strong>: The API is publicly accessible and does not require a token. This<br>applies to certain endpoints such as the token exchange endpoints used to obtain access tokens<br>from your client credentials.</li></ul><h3 id=\"client-credentials-tab-api-level\">Client Credentials Tab (API-Level)</h3><p>Each API in the portal includes a <strong>Client Credentials</strong> tab at the API level. This tab contains a<br>helper note that specifies exactly which credentials are required for that particular API and<br>environment.</p><blockquote><strong>Always check the Client Credentials tab before authenticating.</strong> The required credential set<br>varies by API and environment.</blockquote><p>The note lists which credentials are available for that specific API, for example:</p><blockquote>API is available on the following environments:Global SSO QAGlobal SSO Production<br><br>Client Secret and Client ID are available in Settings -&gt; <strong>Client Credentials</strong>.</blockquote><p>This tells you which credential sets are available for the API. Use the credentials associated<br>with the environment you are accessing. Since DXM uses a 1:1 environment mapping, credentials<br>are only valid for their corresponding environment. Using credentials from a different environment<br>will result in authentication failures.</p><hr><h2 id=\"step-2-retrieve-client-credentials\">Step 2: Retrieve Client Credentials</h2><p>Client credentials are available in <strong>DX Portal -&gt; Settings</strong>.</p><p>These include:</p><ul><li><strong>Client ID</strong>: Public identifier associated with an application</li><li><strong>Client Secret</strong>: Confidential credential used for authentication</li></ul><p>These credentials are required to obtain access tokens.</p><blockquote><strong>Security considerations</strong><br><br>Client Secrets must be handled securely. They must not be exposed in client-side code, logs, or<br>version control systems.</blockquote><hr><h2 id=\"step-3-obtain-an-access-token\">Step 3: Obtain an Access Token</h2><p>Most APIs require an access token for authentication. The correct token endpoint to use is<br>determined by the <strong>Client Credentials</strong> tab of the specific API. The same note that lists<br>available environments also tells you which credential type is in use:</p><ul><li>If the note lists <strong>Global SSO</strong> environments, use the <strong>Global SSO Access Token</strong> endpoint<br>(<em>DX Portal -&gt; API -&gt; Global SSO Access Token</em>).</li><li>If the note lists <strong>DXM</strong> environments, use the <strong>DXM Access Token</strong> endpoint<br>(<em>DX Portal -&gt; API -&gt; DXM Access Token</em>).</li></ul><p>If required credentials or access are not available, they can be requested via the <strong>Contact Us</strong><br>form.</p><h3 id=\"access-token-flow\">Access Token Flow</h3><p>Authentication follows a client credentials flow:</p><ol><li>Check the API's <strong>Client Credentials</strong> tab to identify the correct token endpoint.</li><li>Submit your Client ID and Client Secret to that endpoint.</li><li>Receive an access token (JWT).</li><li>Use the token in API requests.</li></ol><hr><h2 id=\"step-4-execute-api-requests\">Step 4: Execute API Requests</h2><p>APIs can be consumed in several ways. Use whichever best fits your workflow. All protected API<br>requests must include the access token in the Authorization header:</p><pre><code class=\"language-text\">Authorization: Bearer &lt;access_token&gt;\n</code></pre><h3 id=\"swagger-ui-in-dx-portal\">Swagger UI (in DX Portal)</h3><p>This is the quickest way to explore and test without leaving the portal.</p><p>Swagger UI automatically uses the server URL associated with the environment you are accessing.<br>No additional server selection or environment configuration is required.</p><h3 id=\"curl\">cURL</h3><p>Suitable for quick command-line testing or scripting:</p><pre><code class=\"language-bash\">curl -X GET \"https://gateway.digitalrealty.com/accounts/v1/example\" \\\n  -H \"Authorization: Bearer &lt;access_token&gt;\" \\\n  -H \"Content-Type: application/json\"\n</code></pre><h3 id=\"api-clients-postman-insomnia-etc\">API Clients (Postman, Insomnia, etc.)</h3><p>Any HTTP client can be used. Configure the <code>Authorization</code> header with<br><code>Bearer &lt;access_token&gt;</code> and use the base URL corresponding to your target environment.</p><h3 id=\"programmatic-sdk-usage\">Programmatic / SDK Usage</h3><p>APIs can be called from any language or framework.</p>","publishedAt":"2026-09-03T17:10:11.000+00:00","updatedAt":"2026-09-25T09:50:46.000+00:00","audience":"external"}