Every Developer Console application corresponds to an OAuth client that is responsible for handling Foundry authorization. During OAuth authorization, third-party applications are granted tokens that are restricted by scopes to only permit certain operations and resources. The scopes applied to a given token depend on the following:
All tokens must have scopes restricted either at the OAuth client level (through the maximum scope) or at authorization time (through the token request). Attempting to request a token with no scope restrictions will generate a token with no permissions.
You can control the maximum scope that an application’s OAuth client is allowed to request using the Resources panel in Developer Console. This configuration provides all users the ability to limit the actions an application may take or the data an application may read from Foundry.
From the Resources tab, choose to configure Ontology SDK resources or Platform SDK resources.
If your application should interact with the Ontology (typically using the OSDK), use the Ontology SDK resources tab to add object types, interfaces, actions, and functions to the list of application resources. Adding Ontology resources will change a Developer Console application in two ways:
If your application should interact with platform APIs (typically using platform SDKs, use the Platform SDK resources tab to add Foundry projects and operational API namespaces to the application scope.
/admin/
API namespace includes all endpoints with the path /api/{the api version number}/admin/
. More details on API namespaces can be found in the API documentation.As of Spring 2025, new Developer Console applications enforce API-level security for scoped applications, ensuring that every endpoint called by these applications must be explicitly added to the client-allowed operations list in the Platform SDK resources panel. Unscoped applications are not affected by these changes and will continue to be able to call endpoints to which the user has the necessary permissions. Note that unscoped applications should generally only be used for programmatic, platform-wide workflows.
Foundry provides a migration path to upgrade your existing applications to use this new security model. Review the section below for more details.
Unscoped applications have the potential to interact with resources not explicitly defined by application builders or administrators. This may result in unanticipated, and often insecure, reading and writing of data. Only create unscoped applications with trusted code.
Unlike scoped applications, unscoped applications only consider the application user's permissions when determining access. We recommend only using unscoped applications for cases where defining necessary resources or operation access in advance is impossible or impractical. For example:
Generally, most applications that have a user interface or use authorization code grants should use a scope to provide strict access guarantees that are not subject to individual user permissions.
To create an unscoped application, select No, I will not use an Ontology SDK when setting up a new application in Developer Console.
The created unscoped application will not support some Developer Console capabilities, including SDK generation, metrics, and subdomain hosting. However, support for unscoped applications may improve in the future.
As explained above, as of Spring 2025, new Developer Console applications enforce API-level security to ensure that every endpoint called by a scoped third-party application must be individually added to the list of client-allowed operations.
Any new or migrated applications will now restrict two types of application access that were previously allowed: underlying service endpoints and implicit operation grants.
Scoped applications are not allowed to call underlying service APIs, which are endpoints that are not explicitly documented or exposed to users.
The scopes used by Developer Console application clients now contain the prefix use-
; for example: api:use-ontologies-read
instead of api:ontologies-read
. These new permissions allow you to only call Foundry platform APIs and are blocked from hitting underlying service endpoints.
An important exception to API-security is a set of adminstrative endpoints designed to always be accessible to users for the purpose of identification, authorization, or access debugging. These endpoints are not designed for broad public usage and are thefore not included in the public Foundry API documentation or the Platform SDK resources panel. Such endpoints include the following:
* OAuth2: /multipass/api/oauth2/...
* User information: multipass/api/me/...
* Resource access information: /multipass/api/authz/...
* Token TTL: /multipass/api/token/...
* Organizations: /multipass/api/organizations/...
These endpoints may always be called by scoped applications.
With the addition of advanced API-level security, each API namespace is strictly isolated. Prior to these changes, granting an API namespace scope gave an application access to endpoints in that namespace as well as any dependent endpoints within other namespaces. The new, more secure API scopes (with the prefix use-
) provide access only to the directly granted API namespaces. This ensures that application administrators can firmly control the actions applications may take within their organization.
For example, a legacy application that is granted /ontologies/
API namespace permissions (api:use-ontologies-read
) may query the basic user identity information with the /api/v2/admin/users/getCurrent
endpoint in the /admin/
namespace, since several Ontology endpoints require these operations for authentication purposes. Once migrated to our improved security protocols, if an application is only granted the api:use-ontologies-read
and api:use-ontologies-write
scopes, the application will be prevented from accessing this user information and receive an ApiUsageDenied
error.
By default, all Developer Console applications created after the security update or migrated to use the advanced API-level protection will be configured with the api:use-ontologies-read
and api:use-ontologies-write
scopes.
Follow the steps below to migrate your Developer Console application to use advanced API security:
.