Skip to content
Last updated

Every time you request data from the Grid API, you must specify which columns to include in the results.

Each entity type has its own columns you can choose from. For convenience, many entities share the same columns. For example, Cookies and Tags include columns about the configurations for the audits that found the data and columns that describe the Pages where the Cookies and Tags were found. Think of these columns as SQL JOINs to the other entity types, so you don't have to perform a join explicitly.

The Grid API is self documenting, meaning you can query the API to see the list of available columns for each entity.

To see the list of available columns for each entity do a GET request to the entity's schema endpoint. For example, for the pages entity, you can do a GET request to /v3/reports/grid/pages/schema, which will return a JSON description of each column:

Example GET to https://api.observepoint.com/v3/reports/grid/pages/schema
{
  "columns": [
    {
      "columnId": "PAGE_TITLE",
      "type": "string",
      ...
    },
    {
      "columnId": "FINAL_PAGE_URL",
      "type": "string",
      ...
    },
    ...
}

Column Types

Every column has a "type" that tells you what kind of data to expect:

Column TypeDescriptionExamples
stringTextAudit names, URLs, tag vendor names
numberAn integer or decimal number12345, 12.345
timestampA date and time as an ISO-8601 string"2025-01-02T03:04:05.000+00:00"
booleanA yes/no value represented as a 1 or 01 or 0
entity_referenceA value that refers to another object, usually consisting of multiple propertiesAn audit: [1234, "My Audit Name"]

A tag: ["Google Analytics", 1234]

An array of cookie names: ["cookie1", "cookie2"]

A folder: [1234, "My Folder Name"]

A web journey run status: 1
idA unique identifier for an entityAn audit ID, a tag ID, etc.

Units

You can assume certain units for certain kinds of number columns:

Number TypeUnitNotes
DurationsMillisecondsAll durations are returned in milliseconds
SizesBytesAll sizes are returned in bytes

Entity References

Entity references are a special type of column whose format varies from column to column. The schema endpoint describes what you can expect for entity_reference columns, with the following properties:

PropertyDescription
referenceTypeFor entity_reference columns that refer to other objects, this property contains a string that tells you what kind of object it is.

Example values: "audit", "location", "label", "user", "tag_vendor", "country", and many others.
isEnumtrue or false: Tells you whether the entity_reference is an enum.

Enum values are numbers that represent a status or state numerically.
isListWhen true, this means the column contains a list of other entity references.
fieldsAn array of objects that describe each element to expect in the entity reference data.

Examples:

Here are some common examples of entity references:

Example: Folders

The FOLDER column is a reference to a folder. The FOLDER columns contains an array of values that tell you know about the folder.

Example FOLDER value: [1234, "My Folder Name"]

The first value is the folder ID, and the second value is the folder name.

The schema endpoint describes the FOLDER column as follows:

Example FOLDER column schema
{
    "columnId": "FOLDER",
    "type": "entity_reference",
    ... // other properties omitted for brevity

    // The "referenceType" property tells you what kind of entity this is:
    "referenceType": "folder",

    // This entity_reference is not an enum or a list:
    "isEnum": false,
    "isList": false

    // The "fields" property describes each element to expect in the entity reference data,
    // which refer to other column IDs:
    "fields": [
        {
            "fieldName": "id",
            "columnId": "FOLDER_ID"
        },
        {
            "fieldName": "name",
            "columnId": "FOLDER_NAME"
        }
    ]
}

Example: Labels

The LABELS column contains a list of label IDs.

Example LABELS value: [1234, 5678]

Each value is a label ID. You can use the /v2/labels API endpoint to map label IDs to label names.

Example LABELS column schema
{
    "columnId": "LABELS",
    "type": "entity_reference",
    ... // other properties omitted for brevity

    // Tells you that the IDs in this field refer to labels:
    "referenceType": "label",

    // This is not an enum value:
    "isEnum": false,

    // This field returns a list of values (rather than a single value) 
    "isList": true

    // This tells you that each element in the list consists of a label ID:
    "fields": [
        {
            "fieldName": "id"
        }
    ],
}