Generated Reports

Generated reports represent completed report generation jobs. A job produces PDF output for the portfolios associated with a report, either from a manual run or a schedule trigger. This API provides read-only access to job metadata and file downloads.

Use this API to list completed report jobs, check status, identify failures, and download the resulting archive.

Overview

Base route/v1/generated_reports
ProducesJSON
PaginationYes
Available methodsGET only (read-only)
OAuth scopesFILES (plus USERS for creator endpoint)

📘

Access requirements

Access to all tools and portfolios.

Resource attributes

AttributeTypeDescription
idUUIDUnique job identifier.
report_idIntegerID of the report definition this job ran.
report_nameStringName of the report.
statusStringFINISHED, ERROR, or CANCELED.
started_atStringUTC timestamp when the job started.
completed_atStringUTC timestamp when the job finished.
job_typeStringSCHEDULED (triggered by schedule) or AD_HOC (manual run).
generated_portfoliosArraySuccessfully generated portfolios. Each object: portfolio_type, portfolio_id, portfolio_name, file_id, has_been_published.
failed_portfoliosArrayPortfolios that failed. Each object: portfolio_type, portfolio_id, portfolio_name.

Relationships

RelationshipTypeDescription
creatorusersUser who initiated the job.
zipped_filefilesZip archive containing all generated PDFs.

Access these via:

  • GET /v1/generated_reports/:id/creator or /v1/generated_reports/:id/zipped_file for full resource details.
  • GET /v1/generated_reports/:id/relationships/creator (or zipped_file) for ID-only linkage.
  • GET /v1/generated_reports/:id/zipped_file/download for binary file download.

Filter parameters

All filters apply to the list endpoint (GET /v1/generated_reports).

ParameterDescription
filter[completed_after]Jobs completed after this UTC timestamp. Example: 2021-05-14T12:03:39Z
filter[completed_before]Jobs completed before this UTC timestamp.
filter[status]Comma-separated statuses. Example: FINISHED,ERROR
filter[entityId]Jobs for a specific entity portfolio.
filter[groupId]Jobs for a specific group portfolio.

Get all generated reports

Returns all accessible report jobs, sorted by completion time (most recent first).

GET /v1/generated_reports

curl -X GET "https://{firm}.addepar.com/api/v1/generated_reports?filter[status]=FINISHED&page[size]=50" \
  -H "Authorization: Basic {credentials}" \
  -H "Addepar-Firm: 1" \
  -H "Accept: application/vnd.api+json"
{
  "data": [
    {
      "type": "generated_reports",
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "attributes": {
        "report_id": 42,
        "report_name": "Quarterly Performance Report",
        "status": "FINISHED",
        "started_at": "2021-02-14T10:15:30.00Z",
        "completed_at": "2021-02-14T14:25:45.00Z",
        "job_type": "AD_HOC",
        "generated_portfolios": [
          {
            "portfolio_type": "entity",
            "portfolio_id": 21,
            "portfolio_name": "Tony Stark",
            "file_id": 101,
            "has_been_published": false
          }
        ],
        "failed_portfolios": []
      },
      "relationships": {
        "creator": {
          "data": {"type": "users", "id": "84"},
          "links": {
            "self": "/v1/generated_reports/a1b2c3d4-e5f6-7890-abcd-ef1234567890/relationships/creator",
            "related": "/v1/generated_reports/a1b2c3d4-e5f6-7890-abcd-ef1234567890/creator"
          }
        },
        "zipped_file": {
          "data": {"type": "files", "id": "61"},
          "links": {
            "self": "/v1/generated_reports/a1b2c3d4-e5f6-7890-abcd-ef1234567890/relationships/zipped_file",
            "related": "/v1/generated_reports/a1b2c3d4-e5f6-7890-abcd-ef1234567890/zipped_file"
          }
        }
      }
    }
  ],
  "included": [],
  "links": { "next": "/v1/generated_reports?page[number]=1&page[size]=50" }
}

Response codes:

  • 200 OK -- Success
  • 400 Bad Request -- Invalid filter parameters
  • 403 Forbidden -- Insufficient permissions

Get a generated report

Returns a single report job by UUID.

GET /v1/generated_reports/:id

curl -X GET "https://{firm}.addepar.com/api/v1/generated_reports/a1b2c3d4-e5f6-7890-abcd-ef1234567890" \
  -H "Authorization: Basic {credentials}" \
  -H "Addepar-Firm: 1" \
  -H "Accept: application/vnd.api+json"
{
  "data": {
    "type": "generated_reports",
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "attributes": {
      "report_id": 42,
      "report_name": "Quarterly Performance Report",
      "status": "ERROR",
      "started_at": "2021-02-14T10:15:30.00Z",
      "completed_at": "2021-02-14T14:25:45.00Z",
      "job_type": "AD_HOC",
      "generated_portfolios": [
        {
          "portfolio_type": "entity",
          "portfolio_id": 21,
          "portfolio_name": "Tony Stark",
          "file_id": 101,
          "has_been_published": false
        }
      ],
      "failed_portfolios": [
        {
          "portfolio_type": "entity",
          "portfolio_id": 22,
          "portfolio_name": "Thanos"
        }
      ]
    }
  }
}

Response codes:

  • 200 OK -- Success
  • 403 Forbidden -- Insufficient permissions
  • 404 Not Found -- Report does not exist or is still generating

Download the zip archive

Returns the binary zip file containing all generated PDFs for a completed job.

GET /v1/generated_reports/:id/zipped_file/download

curl -X GET "https://{firm}.addepar.com/api/v1/generated_reports/a1b2c3d4-e5f6-7890-abcd-ef1234567890/zipped_file/download" \
  -H "Authorization: Basic {credentials}" \
  -H "Addepar-Firm: 1" \
  -o "report.zip"

Returns Content-Type: application/binary with a Content-Disposition attachment header.

Response codes:

  • 200 OK -- Binary file returned
  • 403 Forbidden -- Insufficient permissions
  • 404 Not Found -- Report does not exist or has no archive

📘

Related

  • Report Schedules -- Manage automated report generation schedules
  • Report List -- Discover report IDs for use with reporting endpoints
  • Files -- Download individual generated files via GET /v1/files/:id/download

Did this page help you?