Skip to main content

Overview

The Reports API provides programmatic access to Pond3r’s automated crypto intelligence reports. Use this API to:
  • Create scheduled reports using natural language prompts
  • List and discover available reports
  • Access historical report executions
  • Retrieve report content in both markdown and structured JSON formats
All API endpoints require authentication via API key in the x-api-key header.

Endpoints

Create Report

POST /v1/api/reports - Create a new scheduled report
Schedule Frequencies:
  • on_demand (default) - Report runs once immediately upon creation. Perfect for one-time analysis or API-only reports.
  • daily - Report runs automatically every day
  • weekly - Report runs automatically every week
  • monthly - Report runs automatically every month
API-Only Reports: You can create reports without email recipients by omitting the recipients field and setting:
  • emailEnabled: false - Disable email delivery
  • deliveryApiRetention: true - Enable API access to report data
  • refId: "your-reference" - Use your own reference ID to easily find the report later

List User Reports

GET /v1/api/reports - List all reports created by the authenticated user

Get Report Status

GET /v1/api/reports/{reportId}/status - Get current processing status of a report

List Reports by Reference ID

GET /v1/api/reports/by-ref/{refId} - List all reports with a specific reference ID Multiple reports can share the same refId. This endpoint returns all matching reports with pagination support.
Query Parameters:
  • page - Page number (default: 1)
  • limit - Items per page (default: 10)
Access Control: Only returns reports you created. Returns empty array if no reports found.

Delete Report

DELETE /v1/api/reports/{reportId} - Delete a scheduled report
Access Control:
  • Only the report owner can delete a report
  • Returns 403 Forbidden if you don’t own the report
  • Returns 404 Not Found if the report doesn’t exist

Get Dataset Catalog

GET /v1/api/reports/dataset-catalog - List available datasets for creating reports

Discover Reports

GET /v1/api/reports/discover - List available API-enabled reports (owned by you or public)

List Report Executions

GET /v1/api/reports/{reportId}/executions - Get execution history for a report
Query Parameters:
  • page - Page number (default: 1)
  • limit - Items per page (default: 10)
  • contentType - Filter by content type: markdown, json, or both (default: both)

Get Markdown Content

GET /v1/api/reports/executions/{executionId}/markdown - Retrieve markdown report content

Get JSON Content

GET /v1/api/reports/executions/{executionId}/json - Retrieve structured JSON report content

Workflow

The typical workflow for using the Reports API:
  1. Get Datasets - Use /dataset-catalog to see available data sources
  2. Create Report - Submit a new report with your prompt and dataset
  3. Check Status - Monitor report generation via /reports/{reportId}/status
  4. Discover Reports - Use /discover to find API-enabled reports
  5. Access Executions - List historical runs with /reports/{reportId}/executions
  6. Retrieve Content - Get report data in markdown or JSON format

Example: Create and Access a Report

Authentication

All endpoints require API key authentication via the x-api-key header:

Response Status Codes

  • 200 - Success
  • 201 - Created (for new reports)
  • 400 - Bad Request (invalid parameters)
  • 401 - Unauthorized (invalid or missing API key)
  • 403 - Forbidden (insufficient permissions)
  • 404 - Not Found (report or execution doesn’t exist)
  • 429 - Rate Limited
  • 500 - Internal Server Error

Rate Limits

  • Report creation: 10 requests per hour
  • Data access: 1000 requests per hour

Access Control

Reports have two access levels:
  • Private (default): Only accessible to the creator via their API key
  • Public (isPublic: true): Accessible to all authenticated users via the discover endpoint
To enable API access to execution data, set deliveryApiRetention: true when creating the report.
Need help getting started? Join our Discord community or reach out via Twitter.