Page API

Page API Reference

The page object is a screen where you can view a “collection” of data, which is typically displayed in cards. You use a page to organize, manage, and share content to other users in Domo. Pages allow you to send external reports, create holistic filters across all metrics within the page, or have conversations in Domo’s Buzz tool about the data associated to the entire page.  The Page API allows you to create, delete,  retrieve a page or a list of pages, and update page information and content within a page.

The page object

Attributes

Property Name Type Description
name String The name of the page
id String The ID of the page
parentId Long The ID of the page that is higher in organizational hierarchy
ownerId Long The ID of the page owner
locked Boolean Determines whether users (besides the page owner) can make updates to page or its content - the default value is false
collectionIds Long The IDs of collections within a page
cardIds Long The ID of all cards contained within the page
children Object All pages that are considered "sub pages" in organizational hierarchy
visibility Object Determines the access given to both individual users or groups within Domo
userIds Long The ID of the page
groupIds Long The ID of the page

Retrieve a page

Retrieves the details of an existing page.

Definition

https://api.domo.com/v1/pages/{PAGE_ID}

Arguments

Property Name Type Required Description
page_id string Required The ID of the page

Sample Request

See it in your language

See this sample request in Java, Python, and Node.
GET https://api.domo.com/v1/pages/876655018 HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: bearer <your-valid-oauth-access-token>

Returns

Returns a page object if valid page ID was provided.

Sample Response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8

{
    "id": 2125343,
    "name": "Sales",
    "children": [
        "id": "2243923",
        "name": "Sales Operations",
        "id": "234534",
        "name": "Sales Engineering",
     ]
}

Create a page

Creates a new page in your Domo instance.

Definition

POST https://api.domo.com/v1/pages

Arguments

Property Name Type Required Description
name String Required The name of the page
parentId Long - If provided, the page will be created as a subpage to the page provided
locked Boolean - will restrict other users the ability to make edits to page or its content - the default value is false
cardIds Long - The IDs of all cards to be added to the page
visibility Object - Determines the access given to both individual users or groups within Domo
userIds Long - The IDs of users that will be given access to view the page
groupIds Long - The IDs of groups that will be given access to view the page

Sample Request

See it in your language

See this sample request in Java, Python, and Node.
POST https://api.domo.com/v1/pages 
Content-Type: application/json
Accept: application/json
Authorization: bearer <your-valid-oauth-access-token>

{
  "name": "Supply Chain",
   "parentId": 23,
   "locked": "TRUE",
   "cardIds": [12,2535,233,694], 
   "visibility": {
        "userIds": [793,20,993,19234],
        "groupIds": [32,25,17,74]
    }
}

Returns

Returns a page object when successful.

Sample Response

HTTP/1.1 201 Created
Content-Type: application/json;charset=UTF-8

{
   "id": 3242,
   "parentId": 23,
   "ownerId": 88,
   "name": "Supply Chain",
   "locked": TRUE,
   "cardIds": [12,2535,233,694], 
   "visibility": {
        "userIds": [793,20,993,19234],
        "groupIds": [32,25,17,74]
    }
}

Update a page

NOTE: Updates the specified page by providing values to parameters passed. Any parameter left out of the request will cause the specific page’s attribute to remain unchanged.

Also, collections cannot be added or removed via this endpoint, only reordered. Giving access to a user or group will also cause that user or group to have access to the parent page (if the page is a subpage). Moving a page by updating the parentId will also cause everyone with access to the page to have access to the new parent page.

Definition

PUT https://api.domo.com/v1/pages/{PAGE_ID}

Arguments

Property Name Type Required Description
page_id Long Required ID of page that needs to be updated
name String - Will update the name of the page
parentId Long - If provided, will either make the page a subpage or simply move the subpage to become a child of a different parent page
locked Boolean - Will restrict access to edit page
collectionIds Long - Collections cannot be added or removed but the order can be updated based on the order of IDs provided in the argument
cardIds Long - IDs provided will add or remove cards that are not a part of a page collection
visibility Object - Shares pages with users or groups
userIds Long - IDs provided will share page with associated users
groupIds Long - IDs provided will share page with associated groups

Sample Request

See it in your language

See this sample request in Java, Python, and Node.
PUT https://api.domo.com/v1/pages/3242
Content-Type: application/json
Accept: application/json
Authorization: bearer <your-valid-oauth-access-token>

{
  "name": "Supply Chain Management",
   "parentId": 84,
   "locked": FALSE,
   "collectionIds": [2,4,3,1]
   "cardIds": [2535,233,12,9932,694], 
   "visibility": {
        "userIds": [993,19234],
        "groupIds": [2,28,17,24]
    }
}

Returns

Returns the parameter of success or error based on the page ID being valid.

Sample Response

HTTP/1.1 200 OK

Delete a page

Permanently deletes a page from your Domo instance.

Warning
This is destructive and cannot be reversed.

Definition

DELETE https://api.domo.com/v1/pages/{PAGE_ID}

Arguments

Property Name Type Required Description
page_id String Required The ID of the page to delete

Sample Request

See it in your language

See this sample request in Java, Python, and Node.
DELETE https://api.domo.com/v1/pages/234212
Content-Type: application/json
Accept: application/json
Authorization: bearer <your-valid-oauth-access-token>

Returns

Returns the parameter of success or error based on the page ID being valid.

Sample Response

HTTP/1.1 204 No Content

List pages

Get a list of all pages in your Domo instance.

Definition

GET https://api.domo.com/v1/pages

Arguments

Property Name Type Required Description
limit long optional The amount of pages to return in the list. The default is 50 and the maximum is 500.
offset long optional The offset of the page ID to begin list of pages within the response.

Sample Request

See it in your language

See this sample request in Java, Python, and Node.
GET https://api.domo.com/v1/pages?offset=20&limit=10
Content-Type: application/json
Accept: application/json
Authorization: bearer <your-valid-oauth-access-token>

Returns

Returns all page objects that meet argument criteria from original request.

Sample Response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8

[
    {
        "id": 12272,
        "name": "Sales Team Goals"
    },
    {
        "id": 982,
        "name": "Product Operations"
    },
    {
        "id": 636,
        "name": "Customer Retention"
        "children":    [
              "id": 32,
              "name": "Customers At Risk"
               ]
    },
]

Retrieve a page collection

Definition

GET https://api.domo.com/v1/pages/{PAGE_ID}/collections

Arguments

Property Name Type Required Description
page_id Long Required ID of page that contains the page collection

Sample Request

See it in your language

See this sample request in Java, Python, and Node.
GET https://api.domo.com/v1/pages/345/collections?offset=20&limit=10
Content-Type: application/json
Accept: application/json
Authorization: bearer <your-valid-oauth-access-token>

Returns

Returns the parameter of success or error based on the page ID being valid.

Sample Response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8

[
    {
  "title": "West Sales",
  "description": "West Region team's KPIs for current quarter.",
   "cardIds": [2535,233,694], 
    },
    {
  "title": "Central Sales",
  "description": "Central Region team's KPIs for current quarter.",
   "cardIds": [40,583,779,3], 
    },
    {
  "title": "South Sales",
  "description": "South Region team's KPIs for current quarter",
   "cardIds": [34,604,889,142], 
    },
]

Create a page collection

Definition

POST https://api.domo.com/v1/pages/{PAGE_ID}/collections

Arguments

Property Name Type Required Description
page_id Long Required ID of page that contains the page collection
title String - Page collection's name displayed above the set of cards
description String - Additional text within the page collection
cardIds Long - IDs provided will add or remove cards that are not a part of a page collection

Sample Request

See it in your language

See this sample request in Java, Python, and Node.
POST https://api.domo.com/v1/pages/3242/collections
Content-Type: application/json
Accept: application/json
Authorization: bearer <your-valid-oauth-access-token>

{
  "title": "East Sales",
  "description": "East Region team  includes all Eastern states.",
   "cardIds": [2535,233,694], 
}

Returns

Returns the parameter of success or error based on the page ID being valid.

Sample Response

HTTP/1.1 200 OK

Update a page collection

Definition

PUT https://api.domo.com/v1/pages/{PAGE_ID}/collections/{PAGE_COLLECTION_ID}

Arguments

Property Name Type Required Description
page_id Long Required ID of page that contains the page collection
page_collection_id Long Required ID of page collection that needs to be updated
title String - Page collection's name displayed above the set of cards
description String - Additional text within the page collection
cardIds Long - IDs provided will add or remove cards that are not a part of a page collection

Sample Request

See it in your language

See this sample request in Java, Python, and Node.
PUT https://api.domo.com/v1/pages/3242/collections/8
Content-Type: application/json
Accept: application/json
Authorization: bearer <your-valid-oauth-access-token>

{
  "title": "East Region Sales Team Funnel",
  "description": "East Region team  includes all the following states: Maine, New Hampshire, Massachusetts, Rhode Island, Connecticut, New York, New Jersey, Delaware, Maryland, Virginia, North Carolina, South Carolina, Georgia, and Florida.",
   "cardIds": [2535,233,12,884,694], 
}

Returns

Returns the parameter of success or error based on the page collection ID being valid.

Sample Response

HTTP/1.1 200 OK

Delete a page collection

Permanently deletes a page collection from your Domo instance.

Warning
This is destructive and cannot be reversed.

Definition

DELETE https://api.domo.com/v1/pages/{PAGE_ID}/collections/{COLLECTION_ID}

Arguments

Property Name Type Required Description
page_id String Required The ID of the page to delete
page_collection_id String Required The ID of the page collection to delete

Sample Request

See it in your language

See this sample request in Java, Python, and Node.
DELETE https://api.domo.com/v1/pages/234212/collections/5
Content-Type: application/json
Accept: application/json
Authorization: bearer <your-valid-oauth-access-token>

Returns

Returns the parameter of success or error based on the page collection ID being valid.

Sample Response

HTTP/1.1 204 No Content