This page will walk you through the process of adding an OSDK package to an existing application. If you do not have an existing application, view the documentation on bootstrapping a new OSDK application.
This guide covers adding OSDK to client-facing applications that use public OAuth. For a backend service that uses a service user, see Bootstrap a new OSDK TypeScript application with a service user.
Follow the steps listed in the create a new Developer Console application page.
Export your token in your local environment. Below is an example using a sample personal access token, but you can generate a longer-lived one in the Developer Console. This token should not be checked into source control because it is your personal access token.
Copied!1export FOUNDRY_TOKEN=<YOUR-TOKEN-FROM-GETTING-STARTED-PAGE>
The Typescript SDK requires Node 18 or higher to work. To check what version of Node you are on, use the command below.
Copied!1node --version
Add the following code to your repository or user .npmrc file, replacing any < > with an application-specific value:
//<REGISTRY-URL-FROM-OVERVIEW-PAGE>:_authToken=${FOUNDRY_TOKEN}
<PACKAGE-NAME>:registry=https://<REGISTRY-URL-FROM-OVERVIEW-PAGE>
If you receive a 404 error when installing packages, npm may be using a different registry instead of the Foundry registry. Check for and remove any overriding npm registry configurations:
npm config delete registry to remove any globally configured npm registry that may override your project settings..npmrc file in your project or user directory is setting a different registry URL..npmrc matches the URL on the Overview page for the SDK in Developer Console.FOUNDRY_TOKEN environment variable is set to a valid token.If your organization requires certificates for network traffic, you may need to tell Node where that certificate lives.
Copied!1export NODE_EXTRA_CA_CERTS="/path/to/my.crt"
Run the following command to install your SDK package:
Copied!1 2 3npm install <PACKAGE-NAME>@latest npm install @osdk/client@latest npm install @osdk/oauth@latest
Add the following code to your application, replacing any < > with the specifics of your package:
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24import { createPublicOauthClient } from "@osdk/oauth"; import { createClient } from "@osdk/client"; import { <ANY-OBJECT-NAME> } from "<PACKAGE-NAME>"; import React, { useEffect } from "react"; const auth = createPublicOauthClient("<YOUR-CLIENT-ID>", "<YOUR-FOUNDRY-URL>", "<YOUR-REDIRECT-URL>"); const client: Client = createClient("<YOUR-FOUNDRY-URL>", "<YOUR-ONTOLOGY-RID>", auth); export default function SimpleReactComponent() { useEffect(() => { if (auth.getTokenOrUndefined()) { auth.refresh().catch(() => /** If we cannot refresh the token (for example, if the user is not logged in) we initiate the login flow in Foundry Once login is complete, the user will be redirected back to http://localhost:8080/auth/callback **/ auth.signIn()) } else { client(<ANY-OBJECT-NAME>).fetchPage({ $pageSize: 10 }).then((object) => { console.log(object.data); }); } }, []); };
If your application uses React, you can use the following libraries:
@osdk/reactUse @osdk/react for typed hooks, shared caching, actions, functions, and custom data-driven interfaces.
Install the latest version of @osdk/react:
Copied!1npm install @osdk/react@latest
@osdk/react-componentsUse @osdk/react-components for pre-built, Ontology-aware interface elements. This library builds on @osdk/react.
Install the latest version of @osdk/react-components:
Copied!1npm install @osdk/react-components@latest