This section explains the different permissions required to use the Developer Console and the OSDK. These roles and permissions can be managed in the Roles section of Foundry Settings.
Compass-managed user permissions are in the beta phase of development. This feature is available on enrollments with classification-based access controls (CBAC) and may also be available for other enrollments.
See User permissions [Legacy] if Compass-managed user permissions are not available on your enrollment.
Applications you create in Developer Console automatically inherit permissions, such as those enforced by roles, markings, or organizations, from their parent project or folder.
If your project uses the default role set, then a Developer Console application user could have one of the following roles below, which are fully configurable:
Viewer cannot edit the application information, add or modify entities, or generate new versions of the OSDK.Editor, and can share the application with other developers.An application will appear in the Developer Console home page list only if the user has at least the View application configuration (third-party-application:view-application-config) operation on it, granted through the Viewer role by default.
For OSDK front-end applications that invoke logic functions backed by Language Model Service (LMS) through actions, the logged-in user must have at least Viewer permissions on the Developer Console application. Without this permission, the LanguageModelService returns a PERMISSION_DENIED or missing can:attribute error. This requirement is specific to OSDK front-end applications—the same actions may work when executed from Object Explorer or Workshop where different permission flows apply.
Developer Console always links a custom application to an OAuth client, which you can manage at the organization level in Control Panel. To change the OAuth client's authentication settings, you must have access to workflows such as Enable third-party applications and Manage third-party application secret, typically granted under the Third-party application administrator role in Control Panel's Organization permissions extension. This role also grants you the ability to create linked OAuth clients, which is required to create custom applications in Developer Console.
You can also manage OAuth clients on a per-client basis in the Sharing & tokens section of your Developer Console application using the OAuth2 client role context. For example, you can configure a custom role with only the Rotate third-party application client secret (multipass:rotate-client-secret) operation, and grant it to users who should only have the ability to rotate the client secret for a specific application.

Use the Manage OAuth client tab of the Sharing & tokens section when editing your application to share the client with organizations, users, and groups.

Linked OAuth client permissions may be converged with application permissions in the future.
You may want to allow users to create and manage their own Developer Console applications without granting them broad third-party application admin rights over all OAuth clients in the organization. To achieve this:
third-party-application:create-application and third-party-application:view-application-config) while withholding broader OAuth client administration permissions such as Manage OAuth 2.0 clients.To create a new application, you need the:
third-party-application:create-application) operation on the selected folder, granted through Owner or Editor roles by default.Third-party application administrator role in Control Panel as outlined above.To view a website hosted on Foundry, you must have the View application website (third-party-application:view-application-website) operation on the Developer Console application, granted through the Viewer role by default. If you want users to view the website without being able to access the application configuration in Developer Console, you can create a custom project role that only grants this operation.
To deploy a website on Foundry, you must have the Deploy application website (third-party-application:deploy-application-website) operation on the Developer Console application, granted through the Editor role by default.
A Foundry user with the Information Security Officer role may approve or decline a domain creation request.
Learn more about hosting an OSDK application on Foundry.
The Developer Console supports two types of applications:
The same application could include both a client-facing and backend type. The type of application you create will determine which permission type and OAuth workflow may be used, as explained below.
When creating an application, you must choose the permission type used to access the application data. Two permission types are available:
Authorization code grant OAuth workflow.Client credentials grant OAuth workflow.Client-facing applications must use the user permissions option and the Authorization code grant OAuth workflow.
Suppose you are building an application that displays vehicle data.
If you want users to only view Cars they have permission to access, choose to apply User permissions. If you want users to be able to view all Bikes, regardless of user permissions, choose to apply Application permissions to grant separate permissions for the application using a generated service user.
If you want users to view all Cars they have access to view AND all Bikes, choose to use both permissions options.
As you add resources to your application's SDK, those resources and their dependents will be automatically added to the application's resource access restrictions. While users must have relevant permissions for the resources, the resource access restrictions ensure that users can only access the resources that are approved for this application through the given OAuth token.
For example, when adding new object types, link types, action types, or functions to your SDK configuration, any required underlying datasets or related resources will be added to the resource access restrictions.
For your application to function correctly, you may need to manually manage the restrictions when dependencies change or when removing resources.
If the required dependencies for the resources in your application's SDK change after you added them, you should update your application's resource access restrictions to include the changed dependencies. You can do this via the Developer Console where you can view a warning if an application's restrictions are outdated and a guided workflow for correcting them. For example, this may be required if a new backing dataset is configured for an object type that is already included in your application SDK.

Example warning shown on the Application SDK page when outdated dependencies are detected.

Example correction workflow for outdated dependencies, in this case showing a missing dataset for an object type.
If you create a new version of your application SDK that removes previously included resources, usage of the current version of your application will break if these resources are immediately removed from the resource access restrictions. To prevent this from happening, you must remove previously included resources from the SDK but keep these resources in the resource access restrictions until you have upgraded all your clients to the new version of the application, after which it will be safe to remove the previously included resources from the restrictions as well.
When you remove a resource from the SDK, the Developer Console application will display a warning confirming whether you also want to remove them from the restrictions or keep them in. You can clean up old resources later from the OAuth & restrictions page.

Example warning shown on the Application SDK page when a resource is being removed.

Example clean-up workflow for old resources present on the resource access restrictions from previous SDK versions.
As of February 2026, Compass-managed user permissions are in the beta phase of development. If your enrollment does not have this feature enabled, then you can refer to the legacy user permissions section below. As Compass-managed user permissions progress toward general availability, you should refer to the migration steps below to migrate to Compass-managed user permissions.
Instead of applications inheriting project permissions, Developer Console users are automatically set as the Owner of the applications they create. The application owner must then share the application with other developers and grant permissions to given users from the Sharing & tokens section of their application.

You can delete Developer Console applications in the Danger zone panel of the Overview section of a given application. Unlike a Compass resource's trashing workflow, deleted applications cannot be restored.

Follow the migration steps below to ensure your Developer Console applications are managed by Compass.
When migrating a Developer Console application to be project-scoped, the application's existing permission structure is not carried over. After migration, the application's resource permissions are inherited from the destination project, just like any other project resource. You can preview the resulting permissions in the migration dialog before confirming. Website viewers will be determined by the project's permissions, not by any custom roles that previously existed on the standalone application. This can result in more or fewer people being able to see the website depending on the project's permission configuration.
The Migrate legacy application to Compass (third-party-application:migrate-application-to-compass) operation is required to migrate an application, granted through the Owner role by default.



After migration, your application will appear in the selected location. You can now perform actions on the application like those on any other Compass resource, such as moving, sharing, and trashing.
Previously, you could use the Sharing & tokens section of the application to grant users permission to view the hosted website, but not view the application's configuration.

While this is no longer available by default for Compass-managed applications, you can create a custom project role to maintain separate viewing permissions. To prevent breaks to existing workflows, assign this role on the project or folder prior to migration. This ensures the desired group of users can access the website but not view the application's configuration in Developer Console.
Developer Console applications deployed through Marketplace were previously not created in the same location as other installation resources. With the migration to Compass-managed user permissions, new applications that are installed through Marketplace will also be created in the location you provide.
Migrating a packaged application from a Marketplace product will not automatically migrate its previously deployed installations. Each installation must also be migrated independently using the migration steps. If the installation is locked, you may be prompted to unlock it beforehand so that you can move the application to that location.
Existing pre-migration installations are not blocked if their state does not match the migrated source application. Instead, a warning is displayed. You can manually migrate those installations using the migration steps above.
