One page of a shared view, for the signed-in customer
curl --request GET \
--url https://app.hookie.ai/portal/api/views/{id}/records \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.hookie.ai/portal/api/views/{id}/records', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.hookie.ai/portal/api/views/{id}/records"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"view": {},
"columns": [
{
"key": "<string>",
"label": "<string>"
}
],
"rows": [
{}
],
"count": 123,
"total": 123,
"total_capped": true,
"limit": 123,
"offset": 123
}Customer Portal
One page of a shared view, for the signed-in customer
Read-only (#376). Returns the project’s rows of the view’s dataset, shaped to the view’s columns (no record id, no other fields), sorted by the view. At most 100 rows per page (default 25); total is capped at 10,000 (total_capped). 404 for a view that is unknown, not shared, or whose dataset the portal does not expose.
GET
/
portal
/
api
/
views
/
{id}
/
records
One page of a shared view, for the signed-in customer
curl --request GET \
--url https://app.hookie.ai/portal/api/views/{id}/records \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.hookie.ai/portal/api/views/{id}/records', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.hookie.ai/portal/api/views/{id}/records"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"view": {},
"columns": [
{
"key": "<string>",
"label": "<string>"
}
],
"rows": [
{}
],
"count": 123,
"total": 123,
"total_capped": true,
"limit": 123,
"offset": 123
}Authorizations
portalTokenHeaderportalSession
A hpt_… customer portal token, as Authorization: Bearer. Stored hashed and looked up by its full SHA-256 hash; shown once at issue. The query string (?token=) is not accepted: a token there ends up in request logs and traces. A browser page trades the token for a portalSession cookie with POST /portal/api/session.
Path Parameters
Query Parameters
Required range:
1 <= x <= 100Required range:
x >= 0