Custom pivots API

The custom pivots API allows you to take existing list and pivot reports and represent them as JSON. This enables developers to pull related data from multiple types of records in a single API query.

There are two types of reports that you can pull via this API: list or pivot. See the documentation below for a full explanation of their formats.

The :report_id parameter is the ID of a saved view in Aha! To find the ID of an existing report, choose the report from the Views -> Saved views dropdown in Aha! Then take the large number at the end of the URL with the term custom_pivots in it. For example, /bookmarks/custom_pivots/6434552458299516367 has a :report_id of 6434552458299516367.

Get the list view of a saved report

GET /api/v1/bookmarks/custom_pivots/:report_id

The list view responds with a JSON object with three attributes: pagination, columns, and rows.

The columns attribute is an array of objects that give detailed information about the columns of the list. The objects include the name of the table, the field, and a human readable title attribute.

The rows attribute is an of array of arrays. Each object within the inner array contains the value of that for a specific column. Each object contains attributes for various representations of the data. The fields are:

  • id: The unique id of the object
  • plain_value: A string representation of the object
  • html_value: An HTML representation of the object. This is the same HTML that is used in Aha! to represent the value in our reports.
  • rich_value: If the object is a reference to another object (such as a tag), the, this will be the object representation. For instance, a tag would be representated as:
  id: "6013053275679792248",
  name: "API"

The third attribute is pagination. This works like everywhere else in the Aha! API and is documented here.


The ID of the saved report in Aha!


The type of API response you want: list (default) or pivot

Example request

GET /api/v1/bookmarks/custom_pivots/801750833?view=list

Example CURL command

curl -g "" -X GET \
	-H "Authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab" \
	-H "Content-Type: application/json" \
	-H "Accept: application/json"


authorization: Bearer 15b60d42d4bc417284a246ced6877b0bf13fb4aca415f7b55f7006bc3694a8ab
contentType: application/json
accept: application/json


Status: 200 OK
contentType: application/json; charset=utf-8

Response body