Skip to main content
Domo’s APIs provide programmatic access to the powerful features of the Domo platform, enabling developers and data professionals to automate workflows, integrate external systems, and build custom data applications. Depending on the specific API and the tools you’re using, authentication methods may vary — but in every case, your data’s security is our top priority. Whether you’re pulling data, pushing updates, or managing Users and DataSets, Domo’s APIs offer the flexibility and control you need to extend the value of your data.

Which APIs should I use?


Domo offers several authentication methods, and the APIs available to you will vary based on the context in which you’re developing.
  1. App Framework APIs: APIs available within the Domo App context.
  2. Platform APIs: APIs that use an OAuth 2.0 authorization and authentication pattern which allows you to define clients with a variety of scopes.
  3. Product APIs: APIs that allow you to do anything you can do in the Domo UI. Tokens generated for these APIs provide access to all resources the user has in Domo.
APIAuth ApproachAuth InstructionsEndpoint Coverage
App FrameworkApp Session TokenApp Sessions GuideLimited to endpoints explicitly allowed by the App Framework.
PlatformAPI ClientCreating a Developer Client and Auth TokenLimited to a subset of all Product endpoints that can be given scopes.
ProductAccess TokenManaging Access TokensAccess to all APIs corresponding to an action that can be taken in the Domo UI.
If you’re developing in the context of the Domo App Framework, then you should use the App Framework APIs. This use-case includes both: If you’re developing against Domo outside of the Domo App context, you’ll want to use either the Platform (OAuth) APIs or the Product APIs. This use-case may include: The Platform APIs require using a client to regularly generate a refreshed access token, while the Product APIs only require a single access token. In general, Platform APIs are preferred because they allow for scoping clients to particular resources (e.g. Data, User, Dashboard, etc.) and their access tokens regularly expire and refresh. This reduces risk if you mistakenly leak your token. The Product APIs are much more expansive in what they enable you to do, but you’ll need to be more careful managing access to them. In either case, admins have the ability to revoke clients for the Platform APIs or tokens for the Product APIs at any time.

App Framework APIs


Typically, authentication for the App Framework APIs is handled automatically when developing with the Domo Apps CLI through the domo login command or is inherited by virtue of developing from within your Domo Instance (e.g. building Domo Bricks). Please note that some of the App Framework APIs share (or have a similar) name as related Platform (OAuth) APIs. This can cause confusion, so it’s worth clarifying that the App Framework APIs are for use within the Domo App context and the Platform (OAuth) APIs are more generally accessible.

Platform (OAuth) APIs


The Domo Platform APIs leverage the OAuth 2.0 authorization and authentication pattern. This means these APIs require creating and managing clients (which include a client id, client secret, and scopes to limit access). These clients can then be used to generate the access token passed in each subsequent API call. See the OAuth API Authentication Quickstart below for a walkthrough on how to generate clients.

Product APIs


Product APIs allow you to programmatically do anything you could do as your user in the Domo UI. It requires generating an access token in Domo that you pass to each request via the X-DOMO-Developer-Token header, which simulates the same request that the Domo product makes.

Server-side only

These APIs are CORS restricted, so they should only be called server-side when scripting against Domo. Due to this restriction, the “Try It” functionality in this documentation will not work, but the code snippet it generates (e.g. the curl request) should, provided that you replace YOUR_INSTANCE and YOUR_TOKEN with the appropriate values.
Documentation of many of the Product endpoints is underway. If you’d like to request documentation for a particular piece of functionality, please reach out to your CSM.