AerScheduler

Reports

The reporting engine and saved views.

9 endpoints · base URL https://api.aerscheduler.com

get/reports/catalog

List available reports

Every report you may run, with its id and category. Start here: the ids returned are what POST /reports/run and POST /reports/export take, and the catalog is filtered to what your roles allow, so you never see a report you cannot run.

Responses

200OKSuccess.{ data: object }
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl https://api.aerscheduler.com/reports/catalog \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"
post/reports/export

Export a report as CSV

Same inputs as run, but the response is text/csv rather than the usual JSON envelope.

Request body

Which report, over what window.

reportIdrequiredstring
startDatestring
endDatestring
format"csv"

Responses

200OKThe report as CSV.
400Bad RequestUnknown report id.
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl -X POST https://api.aerscheduler.com/reports/export \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"reportId":"…"}'
get/reports/overview

Organization overview

The headline numbers for a window — the figures behind the dashboard.

Query parameters

startDatestringStart of the window, ISO 8601. Include an offset or Z.
endDatestringEnd of the window, ISO 8601.

Responses

200OKSuccess.{ data: object }
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl https://api.aerscheduler.com/reports/overview \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"
post/reports/run

Run a report

Runs one report from the catalog and returns columns, rows, and totals.

Request body

Which report, over what window.

reportIdrequiredstring
startDatestring
endDatestring
configobject

Responses

200OKSuccess.{ data: ReportResult }
400Bad RequestUnknown report id, or an unparseable window.
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl -X POST https://api.aerscheduler.com/reports/run \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"reportId":"revenue"}'
get/reports/views

List saved report views

Every saved report view in your organization.

Responses

200OKThe saved report views.{ data: ReportDefinition[] }
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl https://api.aerscheduler.com/reports/views \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"
post/reports/views

Create a saved report view

Adds a saved report view to your organization.

Request body

The saved view.

reportIdrequiredstring
namerequiredstring
configobject
isSharedboolean

Responses

201CreatedThe saved report view that was created.{ data: ReportDefinition }
400Bad RequestThe body failed validation. message says which field.
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl -X POST https://api.aerscheduler.com/reports/views \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"reportId":"…","name":"…"}'
get/reports/views/{viewId}

Get a saved report view

Fetches one saved report view by id.

Path parameters

viewIdrequiredintegerThe saved view id.

Responses

200OKSuccess.{ data: ReportDefinition }
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
404Not FoundNo such saved report view, or it belongs to another organization.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl https://api.aerscheduler.com/reports/views/:viewId \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"
patch/reports/views/{viewId}

Update a saved report view

Changes the fields you send and leaves the rest alone.

Path parameters

viewIdrequiredintegerThe saved view id.

Request body

Fields to change.

namestring
configobject
isSharedboolean

Responses

200OKThe updated saved report view.{ data: ReportDefinition }
400Bad RequestThe body failed validation.
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl -X PATCH https://api.aerscheduler.com/reports/views/:viewId \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"…","config":{}}'
delete/reports/views/{viewId}

Delete a saved report view

Removes the saved report view.

Path parameters

viewIdrequiredintegerThe saved view id.

Responses

204No ContentSuccess. No body.
400Bad RequestThe saved report view could not be deleted — usually because something still references it.
401UnauthorizedNo token, an expired token, or a malformed one. Sign in again.
403ForbiddenAuthenticated, but not allowed to do this.
429Too Many RequestsRate limited. Retry-After says how long to wait.
Example request
curl -X DELETE https://api.aerscheduler.com/reports/views/:viewId \
  -H "Authorization: Bearer $AERSCHEDULER_TOKEN"