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.
- App Framework APIs: APIs available within the Domo App context.
- Platform APIs: APIs that use an OAuth 2.0 authorization and authentication pattern which allows you to define clients with a variety of scopes.
- 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.
| API | Auth Approach | Auth Instructions | Endpoint Coverage |
|---|---|---|---|
| App Framework | App Session Token | App Sessions Guide | Limited to endpoints explicitly allowed by the App Framework. |
| Platform | API Client | Creating a Developer Client and Auth Token | Limited to a subset of all Product endpoints that can be given scopes. |
| Product | Access Token | Managing Access Tokens | Access to all APIs corresponding to an action that can be taken in the Domo UI. |
- Writing Code Engine Functions
- Scripting in Jupyter Workspaces
- Scripting from outside of Domo
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.
- AI Service Layer API
- AppDB API
- Code Engine API
- Data API
- Files API
- Filesets API
- Groups API
- Task Center API
- User API
- Workflows API
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.
- Account API
- Activity Log API
- Cards API
- DataSet API
- Embed Token API
- Group API
- Page API
- Projects and Tasks API
- Simple API
- Stream API
- User API
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 replaceYOUR_INSTANCE and YOUR_TOKEN with the appropriate values.