Report Generation

Running a report generates a PDF for each stated portfolio for a given time period. Use the Report Generation API to run reports from outside of Addepar, publish reports to the Client Portal, and notify clients when their report is available.

You can get report ID via the Report List API. After you run a report, you can access a portfolio's report PDF from its Generated PDFs tab in Addepar, or via the Generated Reports API.

Base route/v1/report_generation_job
EndpointsPOST
ProducesJSON
PaginationYes
OAuth scopesREPORTS_WRITE
Application permissions required"Access to all tools and portfolios."

Resource overview

The Report Generation API returns a resource object containing the Report Job ID in successful POST responses.

AttributesDescriptionExample
job_idThe unique id of the report generation job. String."b37e4e27-14b8-486c-b2c9-d0d6c9991fcb"

Parameters

Required parameters

You can request a report generation job by providing the below resource object attributes.

AttributeDescriptionExampleValidation
report_idThe ID of the report that you want to run. Integer.

You can find a report's ID in its Addepar web application URL.
4 400 bad requestreturned if missing report_id.

404 not found returned if you don't have access to the report, or the report was deleted.
portfoliosThe list of entities or groups that you want to run reports for. The provided portfolios can be associated with the report, but don't need to be. JSON object.

For each portfolio, provide both:

- portfolio_type, either "entity" or "group. String.

- portfolio_id, the portfolio's Entity ID or Group ID. String.
[ {"portfolio_type": "entity", "portfolio_id": "22"}, {"portfolio_type": "group", "portfolio_id": "3"} ]400 bad requestreturned if missing portfolio type, missing portfolio ID, or if the types for the request are not supported.

400 bad request returned if you don't have permission to access them, or if some portfolio IDs don't exist.
start_dateThe report's start date. String, formatted as YYYY-MM-DD.

Can't be later than end_date.
"2023-07-01"400 bad requestreturned if start_date is on or after end_date.
end_dateThe report's end date. String, formatted as YYYY-MM-DD.

Can't be earlier than start_date.
"2023-08-01"400 bad request returned if end_date is on or before start_date.

Optional parameters

AttributeDescriptionExampleValidation
portal_publishingDetermines if the report should also be published to Portal. The value for this field should be:

- PUBLISH
- DO_NOT_PUBLISH
- USE_CONTACT_PREFERENCEYou must specify a contact_notification when publishing to Portal.
"portal_publishing": "PUBLISH" 400 bad request returned if portal_publishing is set to PUBLISH or USE_CONTACT_PREFERENCE and contact_notification isn't provided.

400 bad request returned if portal_publishing is DO_NOT_PUBLISH and contact_notification is NOTIFY or USE_CONTACT_PREFERENCE. Because the report isn't being published, there's no need to contact the client.

400 Bad Request returned if the value is invalid.
contact_notificationWhen the report is published to the Portal, this determines if the contact is notified. The value for this field should be:

- NOTIFY
- `DO_NOT_NOTIFY
- USE_CONTACT_PREFERENCE`You must specify portal_publishing when notifying a contact.
[ {"portfolio_type": "entity", "portfolio_id": "22"}, {"portfolio_type": "group", "portfolio_id": "3"} ]400 bad request returned if the value is invalid or if the request is missing theportal_publishing attribute.
labelList the label IDs you'd like to attach to the generated pdf. Labels must already exist in Addepar."label": [1,2,3]400 bad request returned if the label doesn't exist in Addepar, if the label is invalid.

Run a report

Requests to generate a report PDF for each associated and specified portfolio.

POST /v1/report_generation_job

Example:

POST: https://examplefirm.addepar.com/api/v1/report_generation_job

{
    "data": {
        "type": "report_generation_job",
        "attributes": {
            "report_id": "5",
            "portfolios": [
                {
                "portfolio_type": "entity",
                "portfolio_id": "22"
                }
            ],
            "start_date": "2023-07-01",
            "end_date": "2023-08-01",
            "portal_publishing": "PUBLISH",
            "contact_notification": "NOTIFY",
            "label": [1,2,3]
            }
    }
}
HTTP/1.1 200

{
    "data": {
        "id": "b37e4e27-14b8-486c-b2c9-d0d6c9991fcb",
        "type": "report_generation_job_id",
        "links": {
            "self": "/v1/report_generation_job_id/b37e4e27-14b8-486c-b2c9-d0d6c9991fcb"
        }
    },
    "included": []
}

Response Codes

  • 200 OK: Success

  • 400 Bad Request : Incorrect or missing parameters. See parameter tables for more information.

  • 403 Forbidden: You don't have the correct reporting or Portal permission to complete a certain action in Addepar. Reach out to your Addepar firm administrator.

  • 404 Not Found : The requested report was not found.