curl --request GET \
--url https://{instance}.domo.com/api/datastores/v2/collections/{collectionId}/documents \
--header 'X-DOMO-Developer-Token: <api-key>'import requests
url = "https://{instance}.domo.com/api/datastores/v2/collections/{collectionId}/documents"
headers = {"X-DOMO-Developer-Token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-DOMO-Developer-Token': '<api-key>'}};
fetch('https://{instance}.domo.com/api/datastores/v2/collections/{collectionId}/documents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{instance}.domo.com/api/datastores/v2/collections/{collectionId}/documents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-DOMO-Developer-Token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{instance}.domo.com/api/datastores/v2/collections/{collectionId}/documents"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-DOMO-Developer-Token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{instance}.domo.com/api/datastores/v2/collections/{collectionId}/documents")
.header("X-DOMO-Developer-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{instance}.domo.com/api/datastores/v2/collections/{collectionId}/documents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-DOMO-Developer-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"id": "a8428d64-a01d-49b2-9144-ddeec001acf8",
"datastoreId": "39b88a97-8247-4c0d-ba1d-8ed78d1a6680",
"collectionId": "232e6d6c-46e9-49b6-a137-8933f0f05999",
"syncRequired": true,
"owner": "870010733",
"createdBy": "870010733",
"createdOn": "2026-06-23T20:58:06.567Z",
"updatedOn": "2026-06-23T23:36:13.177Z",
"updatedBy": "870010733",
"content": {
"campaignName": "Q2 Campaign",
"region": "West",
"status": "Active"
}
}
]{
"message": "Cannot find permission from source [USER:870010733] to target [MAGNUM_COLLECTION:a3f7d891-bc24-4e56-9a12-c7e3b0f845d2]. Permission Service reports that one or both does not exist",
"status": 404,
"statusReason": "Not Found",
"toe": "RG3808D5LS-DHKE4-TG5EB"
}List Documents
Retrieve documents from a specified collection. There is an upper limit of 10,000 documents per request. Use limit and offset to paginate through large collections.
curl --request GET \
--url https://{instance}.domo.com/api/datastores/v2/collections/{collectionId}/documents \
--header 'X-DOMO-Developer-Token: <api-key>'import requests
url = "https://{instance}.domo.com/api/datastores/v2/collections/{collectionId}/documents"
headers = {"X-DOMO-Developer-Token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-DOMO-Developer-Token': '<api-key>'}};
fetch('https://{instance}.domo.com/api/datastores/v2/collections/{collectionId}/documents', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{instance}.domo.com/api/datastores/v2/collections/{collectionId}/documents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-DOMO-Developer-Token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{instance}.domo.com/api/datastores/v2/collections/{collectionId}/documents"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-DOMO-Developer-Token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{instance}.domo.com/api/datastores/v2/collections/{collectionId}/documents")
.header("X-DOMO-Developer-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{instance}.domo.com/api/datastores/v2/collections/{collectionId}/documents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-DOMO-Developer-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"id": "a8428d64-a01d-49b2-9144-ddeec001acf8",
"datastoreId": "39b88a97-8247-4c0d-ba1d-8ed78d1a6680",
"collectionId": "232e6d6c-46e9-49b6-a137-8933f0f05999",
"syncRequired": true,
"owner": "870010733",
"createdBy": "870010733",
"createdOn": "2026-06-23T20:58:06.567Z",
"updatedOn": "2026-06-23T23:36:13.177Z",
"updatedBy": "870010733",
"content": {
"campaignName": "Q2 Campaign",
"region": "West",
"status": "Active"
}
}
]{
"message": "Cannot find permission from source [USER:870010733] to target [MAGNUM_COLLECTION:a3f7d891-bc24-4e56-9a12-c7e3b0f845d2]. Permission Service reports that one or both does not exist",
"status": 404,
"statusReason": "Not Found",
"toe": "RG3808D5LS-DHKE4-TG5EB"
}Authorizations
Domo Developer Token for authentication.
Path Parameters
The ID of the collection.
Query Parameters
Maximum number of documents to return.
Number of documents to skip before returning. Default is 0.
Response
OK
Unique identifier for the document.
ID of the datastore the document belongs to.
ID of the collection the document belongs to.
Whether the document is pending a sync to the underlying dataset.
User ID of the document owner. v2 endpoints return this as a string; v1 endpoints (List, Get, Query, Update) return it as a numeric integer. This differs from Collection and Datastore owner fields, which are always integers.
User ID of the user who created the document. v2 endpoints always return this field. v1 endpoints return it only from Create Document; all other v1 endpoints (List, Get, Query, Update) omit it.
ISO 8601 timestamp when the document was created.
ISO 8601 timestamp when the document was last updated.
User ID of the user who last updated the document. v2 endpoints return this as a string; v1 endpoints return it as a numeric integer.
Arbitrary JSON content of the document.

