Skip to content

Run a catalog report

GET
/reports/{slug}
curl --request GET \
--url 'https://app.buildworkpro.com/api/v1/reports/ar-aging?compare=false&limit=500' \
--header 'Authorization: Bearer <token>'

KPIs, series and up to 500 rows for one report. Money values are decimal strings. groupBy must be one of the catalog entry’s groupBys.

slug
required
string
Allowed values: ar-aging billed-vs-collected bid-performance pipeline wip
dateFrom
string format: date-time
dateTo
string format: date-time
date
string
/^\d{4}-\d{2}-\d{2}$/
tz
string
<= 64 characters
preset
string
<= 32 characters
compare
boolean
groupBy
string
<= 32 characters
customerId
integer
> 0
projectId
integer
> 0
estimatorId
integer
> 0
source
string
<= 64 characters
status
string
<= 32 characters
projectType
string
<= 32 characters
includeCompleted
boolean
limit
integer
default: 500 >= 1 <= 500
sort
string
<= 64 characters

Report payload

Media type application/json
object
data
required
object
slug
required
string
Allowed values: ar-aging billed-vs-collected bid-performance pipeline wip
window
required
object
from
required
string
to
required
string
label
required
string
compareWindow
object
from
required
string
to
required
string
label
required
string
kpis
required
Array<object>
object
key
required
string
label
required
string
definition
required
string
value
required
string
kind
required
string
Allowed values: money count percent days
detail
string
linkTo
string
delta
object
kind
required
string
Allowed values: percent money
value
required
string
direction
required
string
Allowed values: up down flat
goodWhen
required
string
Allowed values: up down
series
Array<object>
object
bucket
required
string
label
required
string
values
required
object
key
additional properties
string
compareValues
object
key
additional properties
string
rows
required
Array<object>
object
key
additional properties
totals
object
key
additional properties
hasMore
required
boolean
meta
required
object
scope
required
string
Allowed values: tenant own assigned
definitions
required
object
key
additional properties
string
groupBy
required
string
meta
required
object
request_id

Server-generated request identifier

string
pagination
object
cursor
required

Opaque cursor for the next page; null when no more results

string | null
has_more
required

Whether more pages are available after this one

boolean
count
required

Items in this page

integer
Example
{
"data": {
"slug": "ar-aging",
"kpis": [
{
"kind": "money",
"delta": {
"kind": "percent",
"direction": "up",
"goodWhen": "up"
}
}
],
"meta": {
"scope": "tenant"
}
}
}

Error

Media type application/problem+json
object
type
required

URL identifying the problem type

string format: uri
title
required

Short human-readable summary

string
status
required

HTTP status code

integer
detail

Human-readable explanation

string
request_id

Server-generated request identifier

string
errors

Validation error array (422 only)

Array<object>
object
field
required

Field path that failed validation

string
code
required

Validation error code

string
message
required

Human-readable validation message

string
Example generated
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Error

Media type application/problem+json
object
type
required

URL identifying the problem type

string format: uri
title
required

Short human-readable summary

string
status
required

HTTP status code

integer
detail

Human-readable explanation

string
request_id

Server-generated request identifier

string
errors

Validation error array (422 only)

Array<object>
object
field
required

Field path that failed validation

string
code
required

Validation error code

string
message
required

Human-readable validation message

string
Example generated
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}

Error

Media type application/problem+json
object
type
required

URL identifying the problem type

string format: uri
title
required

Short human-readable summary

string
status
required

HTTP status code

integer
detail

Human-readable explanation

string
request_id

Server-generated request identifier

string
errors

Validation error array (422 only)

Array<object>
object
field
required

Field path that failed validation

string
code
required

Validation error code

string
message
required

Human-readable validation message

string
Example generated
{
"type": "https://example.com",
"title": "example",
"status": 1,
"detail": "example",
"request_id": "example",
"errors": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}