Skip to main content
POST
Portfolio Report
Generate a PDF or HTML portfolio report from the output of the /v1/portfolio/analyze endpoint.

How It Works

This endpoint uses async job processing:
  1. Run Analysis First: POST your portfolio to /v1/portfolio/analyze and wait for completion
  2. Submit Report Request: POST the analysis result to /v1/portfolioreport
  3. Receive Job ID: Get a job ID and polling URL immediately
  4. Poll for Status: Check /v1/jobs/{job_id} until status is completed
  5. Get Report URLs: The completed job contains download URLs for the generated report
Report generation typically takes 30-60 seconds. Report URLs expire after 24 hours.

Request Body

The portfolio_data field must contain the full analysis result object — the result field from a completed /v1/portfolio/analyze job.

Response (202 Accepted)

Completed Response

When the job completes, GET /v1/jobs/{job_id} returns:

Result Fields

Report Contents

The generated report includes:

Example: Full Workflow

Authorizations

Authorization
string
header
required

API key passed as Bearer token

Body

application/json
portfolio_data
object
required

The complete result from the /v1/portfolio/analyze endpoint

format
enum<string>
default:pdf

Output format: pdf, html, or both

Available options:
pdf,
html,
both

Response

Job created successfully. Poll the check_url for results.

job_id
string

Unique job identifier

status
enum<string>

Initial job status

Available options:
pending
format
string

Requested output format

check_url
string

URL to poll for job status

estimated_duration_seconds
integer

Estimated processing time in seconds

message
string

Human-readable status message